DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1288|回复: 0
打印 上一主题 下一主题

[待整理] FPGA与GPS_OEM板的UART设计

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-12 17:05:50 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
引言

UART(标准异步接收器/发射器)得到了相当广泛的应用,它允许串行链路上进行全双工通信。一般使用通用的UART接口芯片,但这种芯片存在电路复杂、成本高,降低了系统的可靠性和稳定度,由于结构和功能的相对固定,因而我们不能根据自己的设计需要去进行剪裁和移植。而日益成熟的SOPC(Silicon on Programmable Chip,系统可编程芯片)技术要求将整个设计功能集成到一块或几块芯片中,本文通过对UART功能的分析,提出了在FPGA上集成UART功能模块,增强了设计的灵活性,简化了电路,并通过有限状态机来描述核心功能控制逻辑,从而提高了整个系统的稳定性和可靠度。基于这种思想,本文提出了一种使用VHDL[1]语言开发UART核心功能的方法,将UART模块嵌入到FPGA芯片,实现了FPGA与GPS_OEM板之间的数据通信,为FPGA采集并处理GPS_OEM板数据提供基础。UART所有功能的实现全部采用VHDL硬件描述语言来进行描述。设计、综合、仿真在QUARTUS II9.0软件开发环境下实现。

  系统设计

由于FPGA接口采用TTL电平,而OEM[2]板的串行通信采用RS-232标准电平,故需电平转换,电平转换接口可以通过MAX202[3]片来实现。GPS25LP[4]两个串行口,其端口1可用来输入差分修正信息和输出卫星的原始测量信息,而端口2则用来输入设定语句和输出定位语句,因此,只需将FPGA接口与GPS25LP串行口2对应连接即可。其接口电路如图1所示。FPGA的全局时钟Global_clk由24 MHz的晶振产生。

UART电路由波特率发生器、发送模块和接收模块3部分组成。UART的RTL(寄存器传输级)模块组合电路如图2。波特率发生器为发送模块和接收模块提供时钟信号,以实现数据的异步可靠传输。

假定本方案设计的UART数据格式为:数据位为8位、波特率可选、不设奇偶校验位、1位停止位,异步通信的过程如下:GPS_OEM板产生发送串行数据,由MAX202的TXD端输入,经过MAX202进行电平转换由FPGA串口接收模块的RXD端进入,进行串并转换得到8位位宽数据总线,该数据由FPGA的其他模块进行处理;FPGA产生发送的8位并行数据,数据由8位数据线进入FPGA串口发送模块,进行并串转换后由TXD输出到MAX202的,经过MAX202电平转换发送至GPS_OEM板。

FPGA与GPS_OEM板的UART设计.part1.rar
FPGA与GPS_OEM板的UART设计.part2.rar
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-30 02:26 , 耗时 0.093514 秒, 23 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表