<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[programmer_guan的博客]]></title><description><![CDATA[日常记录]]></description><link>https://blog.youkuaiyun.com/programmer_guan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; programmer_guan]]></copyright><item><title><![CDATA[Proportion Integration Differentiation]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/84891848</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/84891848</guid><author>programmer_guan</author><pubDate>Sat, 15 Jan 2022 18:34:10 +0800</pubDate><description><![CDATA[PID]]></description><category></category></item><item><title><![CDATA[DS1302]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/85239038</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/85239038</guid><author>programmer_guan</author><pubDate>Sat, 15 Jan 2022 18:33:07 +0800</pubDate><description><![CDATA[ds1302时序

 写数据时序	
第二个字节是“写数据”，在写数据时，SCLK都是“上升沿有效”。

 读数据时序
第二个字节是“读数据”，在读数据时，SCLK信号都是“下降沿有效” 
 命令格式
不论是读操作还是写操作，在时序图中，第一个字节都是“访问寄存器的地址”格式如下：

BIT 7 固定。
BIT 6 表示是访问寄存器本身，还是访问 RAM 空间。
BIT 5 … 1 表示是寄存器|R...]]></description><category></category></item><item><title><![CDATA[AMBA总线应用的详解（二）]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/105453261</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/105453261</guid><author>programmer_guan</author><pubDate>Sat, 15 Jan 2022 18:31:06 +0800</pubDate><description><![CDATA[XILINX AXI总线]]></description><category></category></item><item><title><![CDATA[光纤通信的详解]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/105467141</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/105467141</guid><author>programmer_guan</author><pubDate>Sat, 15 Jan 2022 18:24:31 +0800</pubDate><description><![CDATA[浅谈光纤

]]></description><category></category></item><item><title><![CDATA[PYQT组件的应用详解]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/106011807</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/106011807</guid><author>programmer_guan</author><pubDate>Sat, 15 Jan 2022 18:20:46 +0800</pubDate><description><![CDATA[PyQt5]]></description><category></category></item><item><title><![CDATA[Git之远程仓库(GitHub与Coding)的应用]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/116210846</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/116210846</guid><author>programmer_guan</author><pubDate>Wed, 28 Apr 2021 09:32:02 +0800</pubDate><description><![CDATA[最近通过Git将代码在远程仓库进行了备份，现在记录一下通过Git实现远程仓库（GitHub 与 Coding）的管理。


Git的使用
首先在官网下载Git-2.31.1-64-bit.exe安装Git；然后进行TortoiseGit-2.7.0.0-64bit.msi的安装；安装比较简单直接默认下一步即可。
接下来不同电脑可能会出现TortoiseGit文件夹和文件图标不显示的现象，主要原因有以下几点：


Coding远程仓库的使用
首先在Coding上




...]]></description><category></category></item><item><title><![CDATA[System Verilog 验证环境的搭建2]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/115975907</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/115975907</guid><author>programmer_guan</author><pubDate>Fri, 23 Apr 2021 21:34:32 +0800</pubDate><description><![CDATA[接着上一篇博客，继续进行System Verilog验证环境的搭建。
首先依据DUT的具体功能来制定测试功能点与测试标准，具体如表所示。




测试类名
测试功能点
测试内容
测试标准




reg_write_read_test
寄存器读写测试
所有控制器/状态寄存器的读写测试
读写值是否正确


reg_illegal_access_test
寄存器稳定性测试
非法地址读写，对控制寄存器的保留域进行读写，对状态寄存器进行写操作
通过写入和读出确定寄存器的值是不是预期值，而不是絮乱值，同时非法寄存器操]]></description><category></category></item><item><title><![CDATA[System Verilog 验证环境的搭建1]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/115960556</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/115960556</guid><author>programmer_guan</author><pubDate>Wed, 21 Apr 2021 18:35:56 +0800</pubDate><description><![CDATA[数字IC验证的工具安装完成后，最近也终于开始学习芯片验证的内容。个人推荐小白从路科验证的视频开始学习。接下来以路科验证的案例为例，开始总结System Verilog 验证环境的搭建。

MCDF验证案例介绍
多通道数据整形器（MCDF，multi-channel data formatter），将上行多个通道数据经过内部的FIFO，最终以数据包的形式送出；此外，MCDF也拥有寄存器的读写接口，能够支持更多的控制功能。
MCDF的设计结构如下:

MCDF的接口时序：
channel slave接口时序

]]></description><category></category></item><item><title><![CDATA[GVIM编辑器的使用]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/113735475</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/113735475</guid><author>programmer_guan</author><pubDate>Sun, 07 Feb 2021 10:10:54 +0800</pubDate><description><![CDATA[Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富，在程序员中被广泛使用。]]></description><category></category></item><item><title><![CDATA[FPGA与DSP/ARM通信方式详解]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/105391923</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/105391923</guid><author>programmer_guan</author><pubDate>Sat, 06 Feb 2021 15:26:10 +0800</pubDate><description><![CDATA[FPGA/DSP/ARM各所所长，在日常项目中，由于设计成本、性能等多方面因素的影响，经常会遇到多种编程芯片出现在同一项目中，此时不同编程芯片之间指令与信息的交互就显得非常重要。
FPGA与DSP的通信方式
FPGA与ARM的通信方式

...]]></description><category></category></item><item><title><![CDATA[KEIL之Options for Target]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/106413892</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/106413892</guid><author>programmer_guan</author><pubDate>Sat, 06 Feb 2021 15:23:09 +0800</pubDate><description><![CDATA[工程目标选项配置

Device设备（器件）
新建工程第一个就是选择设备（器件）。强调一点就是：器件可以通过输入查找，也可以通过列表查找。

Target目标
从内容可以看得出来是工程目标的调试晶振频率、选择的编译器、RAM和ROM分配的地址空间等。
第1处：晶振频率
这个值主要用于仿真调试用，一般我们使用硬件调试可以不用管这个值。
第2处：操作系统
是否选择Keil自带的RTX操作系统，一般我们都不选。
第3处：系统预览文件
这里我们一般是默认使用系统自带，不选择自己定义的。
第4处：生成代码所选择的编译]]></description><category></category></item><item><title><![CDATA[ubuntu下UVM的编译及首个程序的验证]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/113573252</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/113573252</guid><author>programmer_guan</author><pubDate>Tue, 02 Feb 2021 21:04:40 +0800</pubDate><description><![CDATA[最近开始自学数字IC验证的内容，验证平台的环境安装、配置并不是很难，但是对于小白来说，独自摸索还真不容易。接下来我将步骤单独列出，供后续学习者参考。

准备UVM标准库文件，网上版本较多，我们以uvm-1.1d版本为例进行说明。UVM标准库文件已上传到优快云中。
把uvm-1.1d.tar.gz放在linux系统中进行解压。也可以在window系统下解压后上传到linux系统中。
打开.bashrc进行环境变量的配置gvim .bashrc#打开.bashrc
export UVM_HOME=/home/]]></description><category></category></item><item><title><![CDATA[校招IC/FPGA系列之编程题合集]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/108196427</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/108196427</guid><author>programmer_guan</author><pubDate>Tue, 08 Dec 2020 12:57:16 +0800</pubDate><description><![CDATA[校园招聘即将开始，是时候回顾一下FPGA的编程基础。

]]></description><category></category></item><item><title><![CDATA[校招IC/FPGA系列之简答题合集]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/106966200</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/106966200</guid><author>programmer_guan</author><pubDate>Tue, 08 Dec 2020 12:56:25 +0800</pubDate><description><![CDATA[校园招聘即将开始，是时候回顾一下FPGA设计基础，顺便记录一下求职期间的一些经历。

线与逻辑
线与逻辑：即两个输出端(包括两个以上)直接互连就可以实现"AND"的逻辑功能。在总线传输等实际应用中需要多个门的输出端并联连接使用，而一般TTL门输出端并不能直接并接使用，否则这些门的输出管之间由于低阻抗形成很大的短路电流(灌电流)，而烧坏器件。在硬件上，可用集电极开路门(OC门)或三态门(TS门)来实现。
OC门实现线与，应同时在输出端口加一个上拉电阻；三态门(TS门)主要应用于多个门输出共享数据总线，为避免多]]></description><category></category></item><item><title><![CDATA[ROV采集与通信系统之上位机设计]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/106708624</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/106708624</guid><author>programmer_guan</author><pubDate>Fri, 12 Jun 2020 18:04:15 +0800</pubDate><description><![CDATA[前言
时间一晃，我已经是一名即将步入研三的老学长，趁着这个假期抓紧时间把毕业设计的大体框架完成，后续细节的优化工作再慢慢处理。毕设的课题是ROV采集与通信系统，简单来说就是ROV水下实时采集高清图像信息及各种传感器数据，通过光纤传输至水上经DDR3进行缓存，最后通过千兆以太网上传至上位机进行数据的可视化操作。整体的工作量相对来说还是比较大的，硬件部分设计会在之后的博客进行更新，今天主要来谈一下上位机设计，主要介绍udp数据的接收、图像数据的显示、传感器数据的可视化分析三部分。
UDP数据的接收
udp—–数]]></description><category></category></item><item><title><![CDATA[IIC通信方式的详解]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/85267174</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/85267174</guid><author>programmer_guan</author><pubDate>Sat, 30 May 2020 10:11:32 +0800</pubDate><description><![CDATA[IIC

 IIC的物理层
典型电路如下：

 IIC协议层

 数据的有效性
在时钟的高电平周期内，SDA线上的数据必须保持稳定，数据线仅可以在时钟SCL为低电平时改变。	
 起始和结束条件
起始条件：当SCL为高电平的时候，SDA线上由高到低的跳变
停止条件：当SCL为高电平的时候，SDA线上由低到高的跳变

 应答

每当主机向从机发送完一个字节的数据，主机总是需要等待从机给出一个应答信号，...]]></description><category></category></item><item><title><![CDATA[Altium Designer快捷键和规则]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/84790197</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/84790197</guid><author>programmer_guan</author><pubDate>Fri, 29 May 2020 17:49:04 +0800</pubDate><description><![CDATA[快捷键
测距：“Ctrl+M”
单位切换：“Ctrl+Q”
封装库设置原点：“Edit-Set Peference-Location”
PCB中设置原点：“Edit-Origin-Set”
定位孔制作：先在Keep-Out layer放置一个需要大小的圆，然后按快捷键T-V-T，这时候如果单击圆的里面，可以看到圆的里面有一灰影，双击圆里面的双影，选择“板件切块（cutout）”再按确定。
以左边沿对齐器件（以上器件为准） Shift+Ctrl+L
以右边沿对齐器件（以上器件为准） Shift+Ctrl+R
]]></description><category></category></item><item><title><![CDATA[AGV项目底层总结二]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/106422068</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/106422068</guid><author>programmer_guan</author><pubDate>Fri, 29 May 2020 12:06:13 +0800</pubDate><description><![CDATA[接着《AGV项目底层总结一》这篇博客，就AGV项目底层的代码设计技巧来进行讲解。
串口数据接收处理
串口指令的接收所用中断的方式，同时在中断里进行数据帧的识别，接收完整一帧数据后标志位置1，在main函数中通过标志位的判断来进行接收到指令的相应处理。
//串口1中断服务程序
void USART1_IRQHandler(void)                	
{
	u8 Res;
	static u8 reci_step = 0;								//数据接收状态机
	static u8 length ]]></description><category></category></item><item><title><![CDATA[数字二倍频电路]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/106412475</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/106412475</guid><author>programmer_guan</author><pubDate>Thu, 28 May 2020 20:25:09 +0800</pubDate><description><![CDATA[常用数字二倍频电路介绍

由一个同或门与一个时钟上升沿有效的D触发器（连接成翻转器）组成，其中clk_in为外部输入时钟周期信号，clk_out为二倍频输出信号。下图为其输入输出波形。

在t0时刻：(稳定状态)
clk_in为低电平，D触发器为复位状态（即Q=0、Q#=1），这样Q#与clk_in经"同或门"后为低电平（异出为0），此时为初始稳定状态，如下图所示：
当t1时刻到来时：（并非稳定状态）
clk_in时钟变为高电平，此时D触发器尚未翻转，“同或门"另一输入引脚亦仍为高电平，则"同或门"输出转变]]></description><category></category></item><item><title><![CDATA[Modbus RTU协议实现]]></title><link>https://blog.youkuaiyun.com/programmer_guan/article/details/106412169</link><guid>https://blog.youkuaiyun.com/programmer_guan/article/details/106412169</guid><author>programmer_guan</author><pubDate>Thu, 28 May 2020 20:12:11 +0800</pubDate><description><![CDATA[Modbus协议简介
Modbus串行链路系统可以使用不同的物理接口(RS 485，RS 232)，最常用的是RS 485两线制接口。为了提高通信模块在工业应用中的抗干扰性和稳定性，接口芯片和FPGA核心模块之间应加入高速光耦进行隔离，总线两端处放置线路终端电阻，采用屏蔽双绞线作为通信线等。
在串行链路上，Modbus RTU(Remote Terminal Unit)模式报文中每8个位字节含有两个4位十六进制字符，这种模式的主要优点是较高的数据密度，在相同的波特率下比ASCII模式有更高的吞吐率。RTU模]]></description><category></category></item></channel></rss>