您的位置 首页 模拟

使用FPGA完成外设通讯接口之:使用FPGA完成RS-232C串行接口

RS-232C标准最初是为远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。因此

10.2运用FPGA完结RS-232C串行接口

10.2.1RS-232C接口概述

RS-232C规范开始是为长途通讯衔接数据终端设备DTE(DataTerminalEquipment)与数据通讯设备DCE(DataCommunicationEquipment)而拟定的。因而这个规范的拟定,并未考虑计算机体系的运用要求。

现在,RS-232C又广泛地运用于计算机与终端或外设之间的近端衔接规范。明显,这个规范的有些规则和计算机体系是不一致的,乃至是相对立的。

RS-232C规范中所说到的“发送”和“接纳”,都是站在DTE态度上,而不是站在DCE的态度来界说的。因为在计算机体系中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因而两边都能发送和接纳。

RS-232C规范(协议)的全称是EIA-RS-232C规范,其间EIA(ElectronicIndustryAssociation)代表美国电子工业协会,RS(Recommendedstandard)代表引荐规范,232是标识号,C代表RS232的最新一次修正(1969年)。

10.2.2RS-232C接口的电气规范

RS-232C选用的不是TTL电平的接口规范,而是负逻辑,即逻辑“1”为−3V~−15V,逻辑“0”为+3V~+15V。

RS-232C对电器特性、逻辑电平缓各种信号线功用都作了规则。

在TxD和RxD上:逻辑1(MARK)为3V~−15V,逻辑0(SPACE)为+3~+15V。

在RTS、CTS、DSR、DTR和DCD等操控线上:

信号有用(接通,ON状况,正电压)为+3V~+15V;

信号无效(断开,OFF状况,负电压)为−3V~−15V。

RS-232C是用正负电压来表明逻辑状况,与TTL以凹凸电平表明逻辑状况的规则不同。因而,为了能够同计算机接口或终端的TTL器材衔接,有必要在RS-232C与TTL电路之间进行电平缓逻辑关系的改换。

10.2.3RS-232C的通讯协议

所谓“串行通讯”是指外设和计算机间运用一根数据信号线(别的需求地线,或许还需求操控线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占有一个固定的时刻长度,如图10.1所示。

图10.1RS-232C接口的数据通讯方法

这种通讯方法运用的数据线少,在远距离通讯中能够节省通讯本钱,当然,其传输速度比并行传输慢。

因为FPGA与接口之间按并行方法传输,接口与外设之间按串行方法传输,因而,在串行接口中,有必要要有“接纳移位寄存器”(串→并)和“发送移位寄存器”(并→串)。典型的串行接口的结构如图10.2所示。

图10.2串行接口模块的结构示意图

在数据输入过程中,数据一位一位地从外设进入接口的“接纳移位寄存器”,当“接纳移位寄存器”中已接纳完1个字符的各位后,数据就从“接纳移位寄存器”进入“数据输入寄存器”。

FPGA从“数据输入寄存器”中读取接纳到的字符,并行读取,即D7~D0一起被读至累加器中;“接纳移位寄存器”的移位速度由“接纳时钟”确认。

在数据输出过程中,FPGA把要输出的字符(并行地)送入“数据输出寄存器”,“数据输出寄存器”的内容传输到“发送移位寄存器”,然后由“发送移位寄存器”移位,把数据一位一位地送到外设。“发送移位寄存器”的移位速度由“发送时钟”确认。

接口中的“操控寄存器”用来包容FPGA送给此接口的各种操控信息,这些操控信息决议接口的工作方法。

能够完结上述串并转化功用的电路,一般称为“通用异步收发器”(UART:UniversalAsynchronousReceiverandTransmitter),包含:双缓存发送数据寄存器、并行转串行设备、双缓存输入数据寄存器、串行转并行设备。

RS232通讯协议根本结构如图10.3所示,开始位低,中止位高。波特率规模是300~115200bit/s;8位数据位;一位或两位中止位;奇校验、偶校验或无校验位。

图10.3RS232通讯协议根本结构

10.2.4RS-232C接口的典型运用

RS-232C不只能够用来完结FPGA体系与PC之间的低速率数据传递,并且能够广泛运用到工业操控和自动化仪器仪表范畴。RS-485和RS-422等规范与RS-232C规范相同,协议部分也选用了UART协议,因而FPGA的完结逻辑是相同的,仅仅接口电平不同。

在FPGA上,能够完结多个UART单元。也就是说,单片FPGA能够支撑多个RS-232C接口,比较合适需求多个串口的场合。传统的单片机(MCU)或许ARM处理器一般只能支撑2~3个UART接口,在这样场合就需求外围芯片来扩展UART。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/199815.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部