<font color="#FD8900">作者:鹏哥DIY</font>
来源:CSDN
在<a href="http://xilinx.eetrend.com/content/2019/100045171.html">ZYNQ进阶之路2</a>中我们…,本节我们讲解PL端实现串口UART的发送设计;
首先新建一个串口发送的工程,工程建立在ZYNQ进阶之路1中已经讲述,这里不再累述;
下面主要是uart发送模块的编码讲述,uart发送模块设计主要分为波特率控制计数逻辑和按位发送逻辑,其具体编码如下所示:
波特率控制计数逻辑:
<center><img width="600" src="http://xilinx.eetrend.com/files/2019-09/wen_zhang_/100045239-80802-1.pn…; alt=""></center><br>
其中BAUD = 434是根据主时钟频率为50Mhz,这里我们去波特率为115200,所以计数值BAUD = 50000000/115200 =434;
按位发送逻辑如下所示:
<center><img width="600" src="http://xilinx.eetrend.com/files/2019-09/wen_zhang_/100045239-80803-2.pn…; alt=""></center><br>
开始发送检测逻辑(检测开始信号上升沿)如下所示:
<center><img width="600" src="http://xilinx.eetrend.com/files/2019-09/wen_zhang_/100045239-80804-3.pn…; alt=""></center><br>
然后我们需要一个顶层文件,让串口按照每秒钟发送一个秒计时数据出去(BCD码),器逻辑代码如下所示:
<center><img width="600" src="http://xilinx.eetrend.com/files/2019-09/wen_zhang_/100045239-80805-4.pn…; alt=""></center><br>
最后约束引脚和时钟,综合生成bit文件就可以实现串口秒计数的功能呐。
版权声明:本文为CSDN博主「鹏哥DIY」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/WP_FD/article/details/86563795