串口通信其实简单实用,这里我就不多说(如果有朋友还对串口通信的协议不是很了解,建议到google输入“串口通信协议”补补)。 我们的实验要实现的功能如题,就是FPGA里实现从PC接收数据,然后把接收到的数据发回去。使用的是串口UART协议进行收发数据。上位机用的是串口调试助手。 在FPGA设计中,FPGA端发送数据的波特率是可选的,有以下几种:9600bps,19200bps,38400bps,57600bps,115200bps等,这部分在模块speed_select里,可以根据需要进行设置。发送的数据帧格式为:1bit起始位(从高电平到低电平保持一个bit周期),8bit数据,1bit停止位,无校验位。以下的代码有比较详细的注释,经过下载验证!此外可参考同目录下的myuartverilog里的工程,打开编译后下载到开发板即可观看实验效果。具体的实现过程有待大家慢慢消化verilog代码。 (下载本工程代码后,打开串口调试助手,设置好波特率和FPGA中的一致,无校验位,8个数据位,1个停止位,然后在发送的字符/数据后的空白栏内输入2位16进制数据,点击手动发送即可看到上方的数据接收区内返回了刚才发送过来的数据)。
|