FPGA--串口通信基础知识
Posted PDF同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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接口:https://baike.baidu.com/item/RS-232/2022036?fr=aladdin&fromid=3555506&fromtitle=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接口。
①接口电平标准:
②连接器的机械特性:
③ 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接口:https://baike.baidu.com/item/USB%E6%8E%A5%E5%8F%A3/493294?fr=aladdin
通用串行总线(英语: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的特点和比较
三、几种电平标准:
(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
四、几种电平之间的转换
单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平,只有这样给单片机下载程序才有可能成功!
其中CP2102、CH340、PL2303等芯片是直接将USB信号转换为TTL电平或者TTL电平转换为USB信号,而MAX232等芯片是将TTL转换为RS232信号或者将RS232信号转换为TTL.
以上是关于FPGA--串口通信基础知识的主要内容,如果未能解决你的问题,请参考以下文章