注:文章内容为本人学习笔记,若有错误欢迎指正或补充。
1,RS485
串口常用的另一种接口RS485,它是双向半双工通信协议,信号采用差分传输方式。
差分传输是一种数据传输模式,它有两个信号线,它们振幅相同相位相反,由两个信号的电位差决定输出的逻辑。与之相对的是单端信号,上期的RS232的信号传输就采用这种传输方式,它只有一个信号线,其逻辑值为与地之间的电位差。差分信号具有良好的抗干扰能力,因为在信号传输过程中如果遇到干扰,差分传输的两个信号同时受到干扰,受到干扰后他们的电位差还是原来的数值,所以他们抗干扰能力强。
RS485比RS232多了两使能信号RE与DE和两个收发端A,B。RE为接收使能低电平有效,在接收模式下差分信号由AB传入内部,RE低电平使能,接收信号转换为单端信号从RXD传到FPGA。DE发送使能信号,高电平有效,一般与RE串联,由一个信号控制,在发送模式下,FPGA把单端信号传到TXD端口,DE使能发送,单端信号转换为差分信号,从AB端口发送出去。RS485与RS232使用相同的通信协议,所以它们的针结构也相同。
2,频率计
频率计是频率计数器,用来测量频率。
常用的频率测量法有,频率测量法,周期测量法,等精度测量法。
频率测量法(计频法):在 T 时间内对被测时钟周期计数为N,求出单位时间内的时钟周期,从而得到所测时钟的频率公式为,被测时钟频率=N/T。缺点:在T时间内所测的时钟周期计数不一定是整数倍会有1个周期的误差。
周期测量法(计时法):取被测时钟相邻的两个时钟周期的上升沿或下降沿,计算它们的时间差值为T,被测时钟频率=1/T。用于被测时钟频率较低的时候,若要测量高频时,则要取多个时钟周期进行计时。
等精度测量法:在频率测量法上进行改良得到,选取T时间,对被测信号进行同步,得到新的信号Tx,用Tx对被测时钟周期进行计数为X,这样就不会出现计数周期不完整的现象。然后在用Tx对系统时钟周期进行计数为Y,(这样会产生新的误差,可以增加T来减小误差)得到被测时钟频率=XF/Y。
3,DDS信号发生器
DDS直接式频率合成器,与传统的信号合成器相比,DDS具有低成本,低功耗,高分辨率和快速转换时间等优点。
DDS的基本机构如下图所示。
有三个输入信号和一个输出信号,输入信号有时钟,频率字输入与相位字输入。
FWORD是用来调节输出信号的频率。PWORD是用来调节输出频率的相位。
波形数据表ROM中存放着我们要使用的波形数据,深度为波形的横轴,位宽为波形的纵轴。
图中还有两个比较重要的变量N和M。M等于ROM的深度。
在系统时钟下每个周期N加FWORD,然后N把数据传给M,若N的位宽大于M则把N的高位传给M,若N位宽小于M位宽则在N后补0传给M。M读取ROM中的数据,M的值为ROM的地址,经过N的累加最终得到完整的波形,经过D/A转换器输出。
当N位宽=M位宽时,FWORD=1,输出的波形为ROM中存储的波形。
当N位宽=M位宽时,FWORD=2,M每次加2,ROM中没隔2个地址读取一次,所以频率为ROM的一半。FWORD只能取整数。
当N位宽>M位宽时,M等于N的高位字节,N每个时钟单位一样自加FWORD,但是要加X次,使得N的高位进1,M的数值才会发生变化,然后在读取ROM中的数据。
输出的频率=时钟频率xFWORD/2的N次方
输出的相位=PWORDx2π/2的N次方