赞
踩
1、总体概述
串口通信是一种常见的通信方式。在FPGA中也是比不可少,本专题实现FPGA的串口收发字符串,属于Uart通信,通信方式:串行、异步、全双工的。用verilog实现,包括以下几个模块:串口发送模块、串口接收模块、波特率发生器模块、字符串接收与发送调度模块(可以独立于串口接收模块,这里的输入数据位并行的,主要是为了将要待发送字符串(来自其他模块)进行数据重组(本次的通信外部设备为HMI,其字符串控制指令具有特定的字符串格式))、按键发送字符模块(包含按键消抖模块),以下从各模块及书写和调试中遇到的问题进行详细说明。本次实例实现FPGA控制HMI屏(串口屏),在屏幕上显示相应的字符串数据。
NOTE:异步通信指的是通信的发送与接收方使用各自的时钟控制数据的发送和接收过程,具体就是:以字符(一帧数据)为单位进行传输,字符与字符见的间隙是任意的,但字符内部各bit位是一固定时间传送的(即在固定波特率的控制下进行)。通信的传输方向为全双工,指的时数据可以同时双向传输(实际上感觉这一点的作用并不是太大,因为很多时候不需要同时双向,一般是当接收到某个特定数据时,再向外发送某个数据,这已经暗含了非同时的特点,但它一定有特殊的应用场合)。
2 USART_Send模块
本次收发模块采用的是10bit为一帧数据的传输方式,串口发送模块的数据输入为8位并行数据(数据收入一个时钟周期就完成,速度很快),故需要将接收到的数据进行重组(即加上起始位0和停止位1),随后在波特率的控制
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。