信½息
产
业
科赫
½忠½
朱志亮
基于FPGA的串口通信设计与实现
王利民
屠玲刚
(温州大学物理与电子信息3-程学院,浙江温州325035)
摘要:介绍了一种利用FPGA来实现RS232串行数据通信的方案。,基于FPGA的方案既实现了UART模块化设计,且避免了常用UART芯
片复杂与移植性差的缺点。
关键词:FPGA:UART:RS232
引言
串行接口的应用非常广泛,为实现串口通
信功½一般½用专用串行接口芯片,½是这种
接口芯片存在½积较大、接口复杂以及成本较
高的缺点,½得硬件设计更加复杂,并且结构与
功½相对固定,无法根据设计的需要对其逻辑
控制进行灵活的修改。介绍了一种采用FPGA
实现串口通信的方法。
1串口通信协议
对一个设备的处理器来说,要接收和发送
串行通信的数据,需要一个器件将串行的数据
½换为并行的数据以便于处理器进行处理,这
种器件就是UART(U½½½½½½½½
A½½½½½½½½½½½ R½—
½½½½½½/T½½½½½½½½½½)通用异步收发器。½为接½S½的
一部分,UART提供以下功½:
1.1将由计算机内部传送过来的并行数据
½换为输出的串行数据流;
1.2将计算机外部来的串行数据½换为字
节,供计算机内部½用并行数据的器件½用;
1.3在输出的串行数据流中加入奇偶校验
½,并对从外部接收的数据流进行奇偶校验:
1.4在输出数据流中加入启停标记,并从
接收数据流中删除启停标记。
2
UART模块设计
½和输人数据计算出响应
的奇偶校验½,它是通过
纯组合逻辑来实现的。
2.6总线选择模块
总线选择模块用于
选择奇偶校验器的输入是
数据发送总线还是数据接
收总线。
2.7计数器模块
计数器模块的功½
是记½串行数据发送或者
接收的数日,在计数到某
数值时通知UART内核模
块。
3
UART程序设计
图1
UART实现原理图
UART完整的工½流程可以分为接收过程
和发送过程两部分。
接收过程是指UART监测到RS一232总线
上的数据,顺序读取串行数据并将其输出给
CPU的过程。½信号监测到新的数据(RS一232
输入逻辑变为0,即RS一232传输协议的起始
½)就会触发接收流程。首先UART内核会重½
波特率发生器和移½寄存器,并且设½移½寄
存器的工½模式为波特率模式,以准备接收数
据。其次,移½寄存器在波特率时钟的驱动下工
½,不断渎取RS一232串行总线的输入数据,并
且将数据保存在内部的寄存器内。接收完成后,
UART内核会对已接收的数据进行奇偶校验并
且输出校验结果。最后,UAR½½内核会重½信号
检测器,以准备进行下一次数据接收。
发送过程是由加½½和发送两个步骤组成。
加½½步骤是UART内核按RS一232串行发送的
顺序将起始½、数据½、奇偶校验½和停止½加
½½到移½寄存器内,这个过程工½在系统时钟
方案也是未来电子产品开发的发展趋势。
参考文献
『11韩德红.基于FPGA的串口控制器设计与实
现[J½.空军雷达学院学报,2008,6(02):113—116.
[2½蒋璇,臧春华.数字系统设计与PLD应用[M】.
北京:电子工业出版社,2005.
[3½李广弟,朱月秀,王秀山.单片机基础[M½.北
京:北京航天航空大学出版社,2003.
½者简介:王利民(1986½),男,温州大学物
理与电子信息工程学院,学生,研究方向:嵌入
式设计。
½忠½½1986½),男,温州大学物理与电子
信息工程学院,学生,研究方向:嵌入式设计。
屠玲刚(1988½),男,温州大学物理与电子
信息工程学院,学生,研究方向:嵌入式设计。
朱志亮(1982½),男,温州大学物理与电子
信息工程学院,助教,研究方向:通信信号处理。
UART主要由UART内核、信号检测器、移
½寄存器、波特率发生器、计数器、总线选择器
和奇偶校验器7个模块组成。(见图1)
2.1
UART内核模块
UART内核模块是整个设计的核心。在数
据接收时,UART内核模块负责控制波特率发
生器和移½寄存器同步的接收并且保存
RS一232接收端口上的串行数据。在数据发送
时,UART内核模块首先产生完整的发送序列,
之后控制移½寄存器将序列加½½到移½寄存器
的内部寄存器里,最后再控制波特率发生器驱
动移½寄存器将数据串行输出。
2_2信号检测模块
信号检测器用于对RS一232的输入信号进
行实时检测,一旦发现新的数据则立即通知
UART内核。需要注意的是,这里所说的
RS一232输入输出信号½指经过电平½换后的
逻辑信号,而不是RS一232总线上的电平信号。
2_3移½寄存器模块
移½寄存器的½用是存储输入或者输出
的数据。
2.4波特率发生器模块
由于RS一232传输必定是工½在某种波特
率下,比如9600,为了便于和RS一232总线进行
同步,需要产生符合RS一232传输波特率的时
钟。
2.5奇偶校验器模块
奇偶校验器的功½是根据奇偶校验的设
下,相对于RS一232传输速度来说非常快。完成
加½½步骤后,UART内核会重½波特率发生器,
并且设½移½寄存器工½在波特率模式下,于
是移½寄存器便在波特率时钟的驱动下依次将
加½½的数据发送到RS一232的发送端TXD,这
样就产生了RS一232的数据发送时序。
4
FPGA实现
(上接303页)
汛和优化调度提供了可靠的
保障,提高了水库的防洪效益和经济效益。同时,也
为周围地区推广建立水隋自动测报系统探索了一
条新的途径,积累了一迪!成功的经验。
参考文献
『11黑龙江省八五三农场清河水库大坝安全自动监
把实验板上电,’下½½完成后在PC上打开
串口调试助手,在上方接收区的串【_:½选择
COM½,波特率选择1 15200,校验½选择无校验
½,8个数据½1个停止½。每按下½½½½½,可以
在接收区看到FPGA通过串口向PC发送的一
个字符串“½½½½½½½
序的准确性。
5结论
采用FPGA实现串口通信功½将给产品
设计研发带来极大方便,并且可以降½成本,这
种采用可编程逻辑器件代替硬件实现协议功½
½½
测系统和水文自动测报系统方案.黑龙江省农垦勘
测设计研究院2005.
[2½张建云等.水文自动测报系统应用技术哪北京:
中½½..½½½水电出版社,2005.
『31
SMO_94土石坝安全监测技术规范½M½北京:中
½者简介:刘福林(1969--),男,吉林省榆树^,
WZII”。测试结果验证了程
½水利水电出版社,1
999.
工程师,从事水利设计、½工管>I二½-½。
许兴权(1958--),男,山东省成武人,助理工程
师,从事水利½工、运行管理工½。
万方数据
一89—
基于FPGA的串口通信设计与实现
½者:
½者单½:
刊名:
英文刊名:
年,卷(期):
被引用次数:
王利民, 屠玲刚, ½忠½, 朱志亮
温州大学物理与电子信息工程学院,浙江,温州,325035
黑龙江科技信息
HEILONGJIANG SCIENCE AND TECHNOLOGY INFORMATION
2010,""(21)
0次
参考文献(3条)
1.蒋璇.臧春华
数字系统设计与PLD应用
2005
2.李广弟.朱月秀.王秀山
单片机基础
2003
3.韩德红.张显才.李向东
基于FPGA的串口控制器设计与实现
2008(2)
相似文献(10条)
1.期刊论文
½燕 51单片机与FPGA的UART通信模式研究
-电脑知识与技术2009,5(21)
UAKT通信模式以其简单连接方式,可靠的传输效率广泛应用于现代化工业生产的各个方面,本文讨论的是51单片机与FPGA芯片的之间的UART通信模式
.从二者的硬件连接,通信编程和½件仿真三个方面分析该模式的实现方式,并仿真了其实际通信效果,阐明了其实际可行性和½用可靠性.
2.期刊论文
高军建.苗志英.Gao Junjian.Miao Zhiying 基于FPGA的UART模块化设计
-价值工程2010,29(19)
UART 因其可靠性高,传输距离远,线路简单而成为比较广泛的串行数据通信电路,而现在大部分集成电路通信用的UART芯片,存在成本高,电路复杂,移
植性较差等缺点,本文提出了一种基于FPGA的嵌入式 UART模块化设计方法,将UART模块集成到FPGA上,而这些模块功½全部基于verilogHDL硬件描述语言
,并通过有限状态机来实现,增强了设计的灵活性,降½了成本,并可以½为一个IP核,移植到其它FPGA嵌入式系统中,可移植性增强.
3.期刊论文
聂涛.许世宏.NIE Tao.XU Shihong 基于FPGA的UART设计
-现代电子技术2006,29(2)
UART是一种广泛应用于短距离、½速、½成本通信的串行传输接口.由于常用UART芯片比较复杂且移植性差,提出一种采用可编程器件FPGA实现
UART的方法, 实现了对UART的模块化设计.首先简要介绍UART的基本特点,然后依据其系统组成设计顶层模块,再采用有限状态机设计接收器模块和发送器
模块,所有功½的实现全部采用VHDL进行描述,并用Modelsim½件对所有模块仿真实现.最后将UART的核心功½集成到FPGA上,½整½设计紧凑,小巧,实现
的UART功½稳定、可靠.
4.期刊论文
王敬美.杨春玲.WANG Jing-mei.YANG Chun-ling 基于FPGA和UART的数据采集器设计
-电子器件
2009,32(2)
设计一种基于FPGA和UART串口传输技术的数据采集器.设计中采用12½、20 Msample/s的ADS805高速A/D芯片和Altera公司的Cyclone系列FPGA芯片
.整个设计完全采用硬件逻辑,集成在一片FPGA内,不需要微处理器,实现了数据的采集、缓存和UART串口的发送与接收,设计电路简单,具有较高的采集速
度,传输接口通用性强,便于互联;FPGA的重构性和通用性,也便于设计功½的升级.
5.期刊论文
郑争兵.Zheng Zhengbing 一种基于FPGA的UART电路设计
-½外电子测量技术2010,29(7)
介绍了一种基于FPGA的UART电路实现方法,采用有限状态机设计了发送模块和接收模块,给出了系统的功½仿真结果,验证了系统设计的正确性.整个
UART接口电路结构简单、功½升级方便、工½稳定可靠,可应用于各种具有UART接口的硬件电路系统.
6.期刊论文
郑宝华.程德福.ZHENG Bao-hua.CHENG De-fu 基于FPGA的UART模块设计与实现
-吉林化工学院学报
2009,26(4)
介绍了 UART 的基本特点,提出了一种UART 收发器的FPGA实现方法,实现了FPGA 与其他数字系统的直接通信,测试结果表明用该UART模块实现的串行
通信高速、稳定、可靠.
7.期刊论文
马游春.王文杰.李锦明 基于FPGA和UART接口的多路数据采集系统的实现
-火力与指挥控制2010,35(9)
为了满足对采集后的数据进行快速、远距离的串行传输、并实时储存的需求,研制了一种基于FPGA和UART接口的多路数据采集系统.采用FPGA实现数
据的采集模块、模拟信号路数选择以及数字信号的并串½换等功½;同时利用RS-422接口实现了数字信号远距离的串行传输.功½仿真和实际测量验证了
设计的可行性.
8.期刊论文
周灿荣.陈禾.Zhou Can-rong.Chen He UART通信的FPGA实现设计
-山西电子技术2006,""(3)
阐述了UART异步串行通信原理,介绍了实现UART异步串行通信的硬件接口电路及各部分硬件模块,介绍了用硬件描述语言Verilog来开发UART通信接口
电路的FPGA实现.本设计½用Xilinx的FPGA器件,将UART的核心功½嵌入到FPGA内部,不½实现了电路的异步通讯的主要功½,而且½电路更加紧凑、稳定
、可靠.
9.期刊论文
姜宁.范多旺.JIANG Ning.FAN Duo-wang 基于FPGA/CPLD的通用异步通信接口UART的设计
-信息技术与
信息化2006,""(1)
UART(通用异步接收发送设备)是一种短距离串行传输接口.在数字通信和控制系统中得到广泛应用.FPGA/CPLD是大规模集成电路技术发展的产物,是
一种半定制的集成电路.结合计算机½件技术(EDA技术)可以快速、方便地构建数字系统.本文介绍一种采用可编程逻辑器件FPGA/CPLD实现UART的方法,将
UART的核心功½集成到FPGA/CPLD上,本设计包含UART的发送模块、接收模块和波特率发生器,所有功½的实现全部采用VHDL硬件描述语言来进行描述.设
计、综合、仿真在 QUARTUSII½件开发环境下实现.
10.期刊论文
李赓.张长森.苏玉娜 基于FPGA的光端机UART接口设计与实现
-通信技术2009,42(12)
通用异步收发器(UART)是一种短距离串行传输接口,在光通信和控制系统中得到了广泛的应用.现场可编程门阵列(FPGA)是一种半定制的集成电路,结
合计算机½件技术(EDA.技术)可以快速、方便地构建数字系统.提出了一种基于FPGA的光端机UART的设计方法,实现了对UART的模块化设计.首先简要介绍
了UART的基本特点,然后采用有限状态机(FSM)设计接收器模块和发送器模块,所有功½的实现全部采用VHDL进行描述.最后给出仿真结果,验证了整个设计
的正确性和可靠性.
本文链接:http://d.g.wanfangdata.com.cn/Periodical_hljkjxx201021092.aspx
授权½用:北京理工大学(北京理工大学),授权号:6c9c70ae-8d9b-448d-940e-9e37010af539
下½½时间:2010年11月23日
评论