基于FPGA的RS232异步串行口IP核设计
2.5 接收模块设计
接收模块也分为空闲、检测起始位、移位等3种模式。如图4所示。首先捕捉起始位,在 mclkx16时钟下不断检测从rx端输入数据的起始位,当检测到起始位后,接收模块由空闲模式转换为移位模式,并且16分频mclkx16产生 rxclk波特率时钟。此时rxclk时钟的上升沿位于串行数据每一位的中间,这样接下来的数据在每一位的中点采样。然后由rxclk控制在上升沿将数据位写入移位寄存器rgr的rsr[7]位,并且rsr右移1位,依次将8位数据全部写入rsr,并且停止产生rxclk波特率时钟。判断奇偶校验、帧结构和溢出标志正确后,rsr寄存器中的数据写入rhr数据锁存寄存器中,最后由8位数据总线输出转换完成的数据。
接收模块部分VHDL程序如下:
3 硬件电路设计
UART IP核设计完成后需要嵌入FPGA系统中才能运行,该系统选用Xilinx公司Spartan-IIE XC2S50型FPGA和与其配套的EPROM XC18V01组成,如图5所示。该系统已实现设计要求的功能,实现IP核的验证。
4 结果分析
程序经仿真验证后,须综合生成IP核并嵌人FPGA中。使用Xilinx公司的Xilinx ISE工具综合UART模块,FPGA选用Xilinx公司Spartan-IIE XC2S50,系统时钟40 MHz。经Xil-inx ISE后,资源使用结果如表1所示。表明使用少量FPGA的Slice和LUT单元就可生成UART核,节省资源UART核可灵活分成接收和发送两部分,可根据需要选择使用。节省系统资源;一些控制标志字也可根据需要自行删减和扩充。最后将集成有UART核的FPGA数据采集系统与测试台进行异步串行通信实验,检测通信数据表明使用UART核传输数据稳定可靠。
5 结束语
数据采集系统经常采用UART异步串行通信接口作为系统的短距离串行通信。相对于传统的UART器件来说,把具有UART功能的IP核集成在FPGA中的更有利于提高数据采集系统的可靠性和稳定性,减小电路板面积。该系统设计的UART IP核通过仿真验证,经综合、编译、嵌入FPGA,成功实现系统通信。
评论