FPGA串口通信技术指南

一、串口、并口、USB接口

1、串口叫做串行通信接口,它是指数据一位一位的顺序传输,最少只需要一根传输线即可完成,成本低但传输速度慢。串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通信可以进一步分为单工、半双工和全双工三种。串口的出现是在1980年前后,最初是用来连接鼠标等设备,也可用于两台计算机之间的互连及数据传输。由于串口不支持热插拔及传输速率低,目前电脑的主板已经开始不再使用串口,多用于工控和测量设备以及部分通信设备中。

2、并口又称为并行接口。目前,并行接口主要作为打印机端口,采用的是25 针D 形接头。所谓“并行”,是指8 位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错。目前计算机基本上都配有并口。

3、USB(Universal Serial Bus),一般称为通用串行总线,从广义上来说也是串口的一种。它是为了解决接口设备各自为政的连接方式与易于使用而设计。许多的计算机使用者在计算机前面使用可能没有什么问题,因为眼不见为净,最多只看到与键盘连接线。但是一旦到了计算机的背后,看到那么多种线可能就傻眼了,最少有电源线、显示讯号线、印表机连接线、调制解调器与喇叭等,除了连接时需要花点时间去辨别外,将计算机背后的这些杂七杂八的线整理起来也是相当累人,不管怎么整理,看起来还是很难看,有时就会想,若只有电源线就好了,全部改用无线方式那该有多好!当然那是未来最好的情况,目前最好的方式,便是将所有连接线加以简化,让使用者能够轻松使用。

USB最初设计的目的,只是要连接各种不同的接口设备,并且针对中、低速的接口设备,所以 USB 的传输速度并不高。USB有二种传输速率,第一种是全速模式,最高的传输率可达到12Mbps,第二种则是低速模式,传输速率有 1.5Mbps。低速模式只有少数的周边会使用,而它唯一的好处是电磁干扰(EMI) 较低。所以 USB全速的传输速度比起现有的串行埠 (标准是115200bps)可算是相当的高,不过当周边连接很多时,整体的效能可能会下降。另外,USB在使用上还有一点很方便,就是支持热插拔,若操作系统已经安装过装置的驱动程序,就可以在系统运行时,直接安装或移除,不像许多设备必须将系统电源关闭,或是操作系统重开才能使用,让使用方便性增加不少。

二、几种串行接口:

(1)RS232接口

个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。

RS-232C 标准(协议)的全称是 EIA-RS-232C 标准,其中EIA (Electronic Industry Association)代表美国电子工业协会,RS(recommended standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有EIARS-422A、EIA RS-423A、EIARS-485。这里只介绍EIA RS-232C(简称232,RS232)。例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。

①接口电平标准:

EIA-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并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。下面分别介绍两种连接器。
a、DB-25:PC和XT机采用DB-25型连接器。DB-25连接器定义了25根信号线,分为4组:
①异步通信的9个电压信号(含信号地SG)2,3,4,5,6,7,8,20,22
②20mA电流环信号 9个(12,13,14,15,16,17,19,23,24)
③空6个(9,10,11,18,21,25)
④保护地(PE)1个,作为设备接地端(1脚)
注意,20mA电流环信号仅IBM PC和IBM PC/XT机提供,至AT机及以后,已不支持。
b、DB-9:
在AT机及以后,不支持20mA电流环接口,使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。DB-9型连接器的引脚分配与DB-25型引脚信号完全不同。因此,若与配接DB-25型连接器的DCE设备连接,必须使用专门的电缆线。
电缆长度:在通信速率低于20kb/s时,RS-232C 所直接连接的最大物理距离为15m(50英尺)。
最大直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码元畸变小于4%的前提下给出的。为了保证码元畸变小于4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500pF

FPGA串口通信_数据


③ RS-232C 与TTL转换:

EIA RS-232C 是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA RS-232C 与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。MAX232芯片可完成TTL←→EIA双向电平转换。

(2)USB接口:
通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等其它相关领域。最新一代是USB 3.1,传输速度为10Gbit/s,三段式电压5V/12V/20V,最大供电100W ,新型Type C插型不再分正反。[1]

USB是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。USB接口即插即用和热插拔功能。USB接口可连接127种外设,如鼠标和键盘等。USB是在1994年底由英特尔等多家公司联合在1996年推出后,已成功替代串口和并口,已成为当今电脑与大量智能设备的必配接口。USB版本经历了多年的发展,到如今已经发展为3.0版本。[2] 对于大多数工程师来说,开发USB2.0 接口产品主要障碍在于:要面对复杂的USB2.0协议、自己编写USB设备的驱动程序、熟悉单片机的编程。这不仅要求有相当的VC编程经验、还能够编写USB接口的硬件(固件)程序。所以大多数人放弃了自己开发USB产品。为了将复杂的问题简单化,西安达泰电子特别设计了USB2.0协议转换模块。USB20D模块可以被看作是一个USB2.0协议的转换器,将电脑的USB2.0接口转换为一个透明的并行总线,就象单片机总线一样。从而几天之内就可以完成USB2.0产品的设计。[2]

(3)RS232 与USB的特点和比较

RS-232与USB都是串行通信,但无论是底层信号、电平定义、机械连接方式,还是数据格式、通信协议等,两者完全不同。 RS-232是一个流行的接口。在MS-DOS中,四个串行接口称为COM1、COM2、COM3和COM4,而绝大部分windows应用程序最多可以有4个外设,但是如果用户要扩充更多外设时,就必须要用插入式串行卡或者外部开关盒实现。 RS-232点对点连接,一个串口只能连接一个外设。

而USB是一种多点、高速的连接方式,采用集线器能实现更多的连接。USB接口的基本部分是串行接口引擎SIE,SIE从USB收发器中接收数据位,转化为有效字节传送给SIE接口;反之,SIE接口也可以接收字节转化为串行位送到总线。由于PC机串口的最高速率仅为115.2kbps,会形成一个速度瓶颈。RS-232系统包括2个串行信号路径,其方向相反,分别用于传输命令和数据,而命令和状态必须与数据交织在一起;而USB支持分离的命令和数据通道并允许独立的状态报告。 USB是一种方便、灵活、简单、高速的总线结构,与传统的RS-232接口相比,主要有以下特点:
(1) USB采用单一形式的连接头和连接电缆,实现了单一的数据通用接口。USB统一的4针插头,取代了PC机箱后种类繁多的串/并插头,实现了将计算机常规I/O设备、多媒体设备(部分)、通信设备(电话、网络)以及家用电器统一为一种接口的愿望。
(2) USB采用的是一种易于扩展的树状结构,通过使用USB Hub扩展,可连接多达127个外设。USB免除所有系统资源的要求,避免了安装硬件时发生端口冲突的问题,为其它设备空出硬件资源。
(3) USB外设能自动进行设置,支持即插即用与热插拔。
(4) 灵活供电。USB电缆具有传送电源的功能,支持节约能源模式,耗电低。USB总线可以提供电压+5v、最大电流500mA的电源,供低功耗的设备作电源使用,不需要额外的电源。
(5) USB可以支持四种传输模式:控制传输、同步传输、中断传输、批量传输,可以适用于很多类型的外设。
(6)通信速度快。USB支持三种总线速度,低速1.5Mbps、全速12Mbps和高速480Mbps。
(7)数据传送的可靠性。USB采用差分传输方式,且具有检错和纠错功能,保证了数据的正确传输。
(8)低成本。USB简化了外设的连接和配置的方法,有效地减少了系统的总体成本,是一种廉价的简单实用的解决方案,具有较高的性能价格比。

RS-232应用范围广泛、价格便宜、编程容易并且可以比其它接口使用更长的导线,随着USB端口的越来越普遍,将会出现更多的把USB转换成RS-232或其它接口的转换装置。但是RS-232和类似的接口仍将在诸如监视和控制系统这样的应用中得到普遍的应用。对习惯使用RS-232的开发者和产品可以考虑设计USB/RS-232转换器,通过USB总线传输RS-232数据,即PC端的应用软件依然是针对RS-232串行端口编程的,外设也是以RS-232为数据通信通道,但从PC到外设之间的物理连接却是USB总线,其上的数据通信也是USB数据格式。采用这种方式的好处在于:一方面保护原有的软件开发投入,已开发成功的针对RS-232外设的应用软件可以不加修改地继续使用;另一方面充分利用了USB总线的优点,通过USB接口可连接更多的RS-232设备,不仅可获得更高的传输速度,实现真正的即插即用,同时解决了USB接口不能远距离传输的缺点(USB通讯距离在5米内。

三、几种电平标准:

(1)TTL

TTL:Transistor-Transistor Logic 三极管结构。
Vcc:5V;VOH>=2.4V;VOL<=0.5V;VIH>=2V;VIL<=0.8V。
因为2.4V与5V之间还有很大空闲,对改善噪声容限并没什么好处,又会白白增大系统功耗,还会影响速度。所以后来就把一部分“砍”掉了。也就是后面的LVTTL。
LVTTL又分3.3V、2.5V以及更低电压的LVTTL(Low Voltage TTL)。

3.3V LVTTL:
Vcc:3.3V;VOH>=2.4V;VOL<=0.4V;VIH>=2V;VIL<=0.8V。

2.5V LVTTL:
Vcc:2.5V;VOH>=2.0V;VOL<=0.2V;VIH>=1.7V;VIL<=0.7V。
更低的LVTTL不常用就先不讲了。多用在处理器等高速芯片,使用时查看芯片手册就OK了。
TTL使用注意:TTL电平一般过冲都会比较严重,可能在始端串22欧或33欧电阻;
TTL电平输入脚悬空时是内部认为是高电平。要下拉的话应用1k以下电阻下拉。TTL输出不能驱动CMOS输入。

(2)CMOS
CMOS:Complementary Metal Oxide Semiconductor PMOS+NMOS。
Vcc:5V;VOH>=4.45V;VOL<=0.5V;VIH>=3.5V;VIL<=1.5V。
相对TTL有了更大的噪声容限,输入阻抗远大于TTL输入阻抗。对应3.3V LVTTL,出现了LVCMOS,可以与3.3V的LVTTL直接相互驱动。
3.3V LVCMOS:
Vcc:3.3V;VOH>=3.2V;VOL<=0.1V;VIH>=2.0V;VIL<=0.7V。
2.5V LVCMOS:
Vcc:2.5V;VOH>=2V;VOL<=0.1V;VIH>=1.7V;VIL<=0.7V。
CMOS使用注意:CMOS结构内部寄生有可控硅结构,当输入或输入管脚高于VCC一定值(比如一些芯片是0.7V)时,电流足够大的话,可能引起闩锁效应,导致芯片的烧毁。

(3)USB

对于USB2.0,除去屏蔽层,有4根线,分别是VCC、GND和D+、D-两根信号线。5V是USB的电源电压,给USB device供电用的。信号线对于USB2.0,D+比D-大200mV时为1,D-比D+大200mV时为0,属差分信号,与TTL电平不兼容,信号传输时需要电平转换电路。

(4)RS232

EIA-RS-232C对电气特性、逻辑电平和各种信号线功能都作了规定。

在TxD和RxD上:

逻辑1(MARK)=-3V~-15V

逻辑0(SPACE)=+3~+15V

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

信号有效(接通,ON状态,正电压)=+3V~+15V

信号无效(断开,OFF状态,负电压)=-3V~-15V

FPGA串口通信_串口_02


FPGA串口通信_串口_03


四、几种电平之间的转换

单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平,只有这样给单片机下载程序才有可能成功!

其中CP2102、CH340、PL2303等芯片是直接将USB信号转换为TTL电平或者TTL电平转换为USB信号,而MAX232等芯片是将TTL转换为RS232信号或者将RS232信号转换为TTL.

计算机和MCU通信:
①PC机(RS232)<–>交叉串口线<–>MAX232芯片<–>MCU(TTL)
②PC机(USB)<–>USB数据线<–>PL2303或CH340或CP2102<–>MCU(TTL)
③PC机(USB)<–>USB转串口线(得到RS232)<–>MAX232芯片<–>MCU(TTL)

(1)交叉串口线原理:信号线交叉,导线作用
(2)USB转串口线原理:USB接口<–>PL2303或CH340或CP2102<–>MAX232<–>RS232接口
(3)USB数据线原理:信号线直连,导线作用

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空