UART通信是最基础的,我们按照RS232的标准来编写相应模块,其中有起始位,结束位以及8位数据位。
因为RS232是异步收发器,我们还需要对信号进行同步处理,否则会出现亚稳态的问题,影响仿真。
首先产生分频时钟以及波特率计数器,只有当波特率时钟为1时,才会发送相应的数据位
然后编写状态机逐步输出每一位数据,最后使用issp以及串口助手来验证发送功能,
将程序写入fpga中后,在issp中编写相对应的数据都会在串口助手中显示出来。
然后编写接收模块,接收模块我们每一个数据位将其划分为16位,然后接收最中间的6位,对他们的值进行判断,取绝大多数的值为想要的,如果接受到的数据是55开的,则判断无效。
定义8个地址的3位