基于FPGA异步串行通信接口模块设计与实现.docx
《基于FPGA异步串行通信接口模块设计与实现.docx》由会员分享,可在线阅读,更多相关《基于FPGA异步串行通信接口模块设计与实现.docx(5页珍藏版)》请在第一文库网上搜索。
1、基于FPGA异步串行通信接口模块设计与实现摘要:在基于FPGA芯片的工程实践中,经常需要FPGA与上位机或其他处理器进行通信,为此设计了用于短距离通信的UART接口模块。该模块的程序采用VHD1语言编写,模块的核心发送和接收子模块均采用有限状态机设计,详述了各子模块的设计思路和方法,给出了它们的位真时序图。综合实现后,将程序下载到FPGA芯片中,运行正确无误。又经长时间发送和接收测试,运行稳定可靠。相对参数固定的设计,该UART的波特率、数据位宽、停止位宽、校验位使能及校验模式选择均可以在线设置,为FPGA与其他设备的通信提供了一种可靠途径,具备较强的实用价值。O引言通用异步收发器(unive
2、rsa1asynchronousreceivertransmitter,UART)尽管自20世纪70年代就己出现,但因其简单可靠,目前仍是一种使用广泛的串行通信接口。各种微处理器,不论是单片机,还是DSP、ARM,UART都是基本外围模块。许多场合如系统监控、数据采集都要用到串口通信甚至要用多个串口,如开发串口服务器46。此时通常采用专用芯片,如16C554、VK3224等扩展串口。专用芯片使用简单,然而缺乏灵活性,同时专用芯片集成的串口数量也有限,有时需使用多个芯片才能满足要求5,增加了系统的复杂度,降低了可靠性。FPGA(fie1dprogrammab1egatearray)作为一种可编程
3、芯片,其资源丰富、工作效率高,常用于高速数据采集、算法的高速并行执行78。用户可通过硬件描述语言或电路原理图,设计出个性化的高性能电路模块,具有设计灵活,升级方便的优点。在基于FPGA的工程实践中,常需要其与串口设备通信,但在Xi1inX现有的开发环境ISE中没有相关的IP核。目前也有使用FPGA设计UART的例子9-13后,但有的参数固定,缺乏通用性。本文设计和实现了参数可在线配置的UART接口模块,为FPGA与其他设备通信提供了一种可靠途径。1UART串行通信简介标准的RS232接口常采用DB9连接器,其有2根数据线,6根控制线,1根信号地线。本文设计的UART符合RS232串行通信标准,
4、但在实际中,RS232标准中诸多控制信号使用较少,故文中的UART只使用其中的3根信号线,即TXD、RXD和信号地,这也是很多微处理器UART模块所采用的信号线。UART属于异步通信接口,通信双方需约定好波特率。国际上规定了一系列标准的波特率,如9600b/s、19200b/s.1152OOb/s等。UART每一数据帧,依次由起始位(1位)、数据位(58位),奇偶校验位(可选的1位)以及停止位(12位)组成。其中数据位部分是从最低位先开始传送的;奇偶校验位是对1帧数据中的数据部分和校验位计算,使1的个数满足奇数个或偶数个。当UART空闲时,收发引脚RXD与TXD均是高电平。一旦需要发送数据,则
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 异步 串行 通信 接口 模块 设计 实现
