- 1
- 2
- 3
- 4
- 5
FPGA CPLD设计Verilog例程串口通信实验工程文件源码+说明文档
资料介绍
FPGA CPLD设计Verilog例程串口通信实验工程文件源码+说明文档
先简单说说串口通信(UART),该实验只针对RS232 标准。如图5.11 所示,该接口电路
使用了MAX3232CSE 作为电平转换芯片。典型的RS232 信号在正负电平之间摆动,在发送数
据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V 电平。接收器典型的工作电
平在+3~+12V 与-3~-12V 之间。由于发送电平与接收电平的差仅为2V 至3V 左右,所以其
共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15 米,最高速率为
20kb/s。RS232 是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3~7kΩ。
该实验要实现的功能是CPLD 实时监测RS232_RX 信号是否有数据,若接收到数据,则
把接收到的数据通过RS232_TX 发回给对方。上位机用的是串口调试助手。
在代码设计中,发送数据的波特率是可选的,可以是9600bps,19200bps,38400bps,57600bps
或115200bps。这部分在模块speed_select 里,用户可以根据需要进行配置。发送的数据帧
格式为:1bit 起始位(保持一个传输位周期的低电平),8bit 数据,无校验位,1bit 停止位。
如图5.14 所示,该设计分为4 个模块实现,4 个模块的划分主要是依据数据流的方向。
my_uart_rx 模块主要是完成数据的接收,speed_select(speed_rx)模块主要响应my_uart_rx
模块发出的使能信号进行波特率计数,并且回送一个数据采样使能信号。my_uart_tx 模块在
my_uart_rx 模块接收好一个完整的数据帧后启动,将接收到的数据返回给对方,它的波特率
控制是由speed_select(speed_tx)模块产生。
部分文件列表
文件名 | 大小 |
uartverilog/ | |
uartverilog/db/ | |
uartverilog/db/.cmp.kpt | |
uartverilog/db/logic_util_heursitic.dat | 5KB |
uartverilog/db/my_uart_top.(0).cnf.cdb | 2KB |
uartverilog/db/my_uart_top.(0).cnf.hdb | 1KB |
uartverilog/db/my_uart_top.(1).cnf.cdb | 2KB |
uartverilog/db/my_uart_top.(1).cnf.hdb | 1KB |
uartverilog/db/my_uart_top.(2).cnf.cdb | 5KB |
uartverilog/db/my_uart_top.(2).cnf.hdb | 1KB |
uartverilog/db/my_uart_top.(3).cnf.cdb | 3KB |
... |
全部评论(0)