微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 应用VHDL设计通信编码波形

应用VHDL设计通信编码波形

时间:06-05 来源:互联网 点击:

具体VHDL模块图如图12所示。

图12 RZ(单极性归零码)的模块图

程序在QUARTUSII环境中编译仿真波形如图13所示。

图13 RZ码波形

积分曼彻斯特码

曼彻斯特编码是一种双相码。除了中间发生跳变外,当为“0”时相邻码元电平极性改变,“1”时相邻码元电极性不改变,由于要将输入datain信号中间跳变,故需两个时钟clk1、clk2,且clk1是4分频,clk2是2分频,都在两时钟上升沿遇“0”跳变,遇“1”保持,输出信号encoder-out。

其具体VHDL模块图如图14所示。

图14 积分曼彻斯特码的模块图

程序在QUARTUSII环境中编译仿真波形如图15所示。

图15 积分曼彻斯特码波形

双相-M码

双相-M码:除了相邻码元电平极性发生跳变外,当为“1”时中间发生跳变,当为“0”时中间不发生跳变,即时钟clk1为4分频,输入信号datain相邻码元极性跳变,遇“1”时在时钟clk1的上升、下降沿跳变,输出信号encoder-out。

具体VHDL模块图如图16所示。

图16 双相-M码的模块图

程序在QUARTUSII环境中编译仿真波形如图17所示。

图17 双相-M码波形

双相-L码

双相-L码,除了中间发生跳变外,当为“1”时相邻码元电平极性改变,“0”时相邻码元电极性不改变,即需要2分频时钟clk1,datain信号中间遇时钟clk1上升沿跳变外,且遇“1”相邻码元极性改变,“0”时不变,输出信号encoder-out。

具体VHDL模块图如图18所示。

图18 双相-L

程序在QUARTUSII环境中编译仿真波形如图19所示。

图19 双相-L码波形

双相-S码

双相-S码,除了相邻码元电平极性发生跳变外,当为“0”时中间发生跳变,当为“1”时中间不发生跳变,即与双相-L码相反,clk1为4分频。

具体VHDL模块图如图20所示。

图20 双相-S码的模块图码的模块图

程序在QUARTUSII环境中编译仿真波形如图21所示。

图21 双相-S码波形

整体程序调试

整体程序在MAX-plusII环境中的编译仿真波形如图22所示。

图22 八种编码波形

总结

1) 运用VHDL编写以上八种编码是可行的。

2) 经过观察各模块的仿真波形,符合各个编码的特性。

3) 通过整体程序的调试仿真,并在FPGA上实现了波形的键选。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top