![6fa9a8e9ff16ab94907c22d10fd54223.png](https://i-blog.csdnimg.cn/blog_migrate/43f46e5619cb28860113420dd7892ba8.jpeg)
今天我们开始FPGA最初的小工程:如何使用板卡实现简单的UART通信。(结尾送源码)
这次我们用最白话来讲,首先来看UART是什么。他并不是一个实际的物体,而是一种协议。就好比两个人说话,必须要以一种两个人都能懂的方式来交流,这种方式也就是协议。UART是一种串行发送协议。一位一位的发送数据就需要一个控制发送节拍的,例如我们在踢正步的时候需要喊“121”,而在我们的FPGA设计中这个喊121的不再是教官,而是时钟。
![0ad21ef69d4933818e56118f980954ce.png](https://i-blog.csdnimg.cn/blog_migrate/92408ba00ee3f3b339ff795a06d7cd09.png)
时钟信号就是像这样的脉冲信号,我们在时钟的每个上升沿时发送数据,接收时也使用同样用相同的频率的时钟接收,收发就可以解决。在发送时我们常说波特率,波特率就是一秒钟发送多少个数据,也就是波特率就是波特率的频率。常用的波特率就是9600/115200等。
但是我们如何确定发送部分开始发送了呢?我们规定在未发送时数据位置于高位,当数据开始发送(数据有效)我们先将数据位拉低,再来接收数据位。这样接收端就可以检测下降沿来判断是否开始发送。
检测下降沿可