FPGA第十篇:RS422电气标准、通信协议及实现(1)

FPGA第⼗篇:RS422电⽓标准、通信协议及实现(1)版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。 /qq_30866297/article/details/51492041
这作为⼀项任务已经布置下来了,那么我是⼀定会完成的,毫⽆疑问地。
基本认识:
(1)RS-422标准全称是“平衡电压数字接⼝电路的电⽓特性”;
(2)RS-422⽀持点对多的双向通信(⼀主最多10从);
(3)RS-422是差模传输,抗⼲扰能⼒强,能传1200⽶,RS232最多传输15⽶。
(4)RS-422平衡双绞线的长度与传输速率成反⽐,最⼤传输距离为4000英尺(约1219⽶),最⼤传输速率为10Mb/s。在 100kb/s速率以下,才可能达到最⼤传输距离。只有在很短的距离下才能获得最⾼速率传输。⼀般100⽶长的双绞线上所能获得的最⼤传输速率仅为 1Mb/s。
--------------------------------------------------------------------2015.5.25更新-----------------------------------------------------------------------------
改性沥青稳定剂
想要搞懂RS422,还是得从RS232开始。既然⽹上不到⼀篇特别好的,那我就⾃⼰从⽹上查资料,边查边问边做,希望能够整理出⼀份尽可能完善的⽂章。
⼀、RS-232/422/485继承关系
都是串⾏数据通信接⼝标准,都是由电⼦⼯业协会(EIA)制订和发布的,其中RS232是在1962年发布,RS422由RS232发展⽽来,它是为了弥补RS232通讯距离短、速率低的缺点⽽提出的,RS422定义了⼀中平衡传输⽅式,将传输速率提⾼到10Mbps,传输距离延长到4000英尺(速度低于100kb/s时),并允许在⼀条平衡总线上连接最多10个接收器。RS422是⼀种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为了扩展应⽤范围,EIA⼜于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能⼒,即允许多个发送器连接到同⼀条总线上,同时增加了发送器的驱动能⼒和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。由于EIA提出的建议标准都是以“RS”作为前缀的,所以在通讯⼯业领域,仍然习惯将上述标准以RS作前缀称谓。
RS-232、RS-422、RS-485标准只对接⼝的电⽓特性做出规定,⽽不涉及接插件、电缆或协议,因此⽤户可以在此基础上建⽴⾃⼰的⾼层通讯协议。
可知,后⼀个的发展都是为了弥补前者的不⾜。
⼆、RS-232串⾏接⼝标准
⽬前RS-232是PC机与通信⼯业中应⽤最⼴泛的⼀种串⾏接⼝。RS-232被定义为⼀种在低速率串⾏通讯中增加通讯距离的单端标准。RS-232采取不平衡传输⽅式,即所谓单端通讯。收、发端的数据信号是相对于信号地。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V电平。当⽆数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平(**********为什么要这样呢?**********)。接收器典型的⼯作电平在+3~+12V与-3~-12V。由于发送电平与接收电平的差仅为2V⾄3V左右,所以其共模抑制能⼒差,再加上双绞线上的分布电容,其传送距离最⼤为约15⽶,最⾼速率为20Kbps。RS-232是为点对点(即只⽤⼀对收、发设备)通讯⽽设计的,其驱动器负载为3kΩ~7kΩ。所以RS-232适合本地设备之间的通信。
名词解释:
(1)单端标准=不平衡传输⽅式=单端通讯:收发端的数据信号是相对于信号地。
(2)TTL电平:
输出 L: <0.8V ; H:>2.4V。
输⼊ L: <1.2V ; H:>2.0V
vga连接器TTL器件输出低电平要⼩于0.8V,⾼电平要⼤于2.4V。输⼊,低于1.2V就认为是0,⾼于2V就认为是1。于是TTL电平的输⼊低电平的噪声容限就只有(0.8-0)/2=0.4V,⾼电平的噪声容限为(5-2.4)/2=1.3V。
(3)RS-232电平:
发端:逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V,注意电平的定义反相了⼀次。
收端:逻辑1的电平为-3~  -12V,逻辑0的电平为+3~+12V。
(4)共模抑制能⼒:如何去衡量共模抑制能⼒?这个问题,我想先放下在这⾥,后续另辟⼀篇。
三、RS-422与RS-485串⾏接⼝标准
1)平衡传输
RS-422、RS-485与RS-232不⼀样,数据信号采⽤差分传输⽅式,也称作平衡传输,它使⽤⼀对双绞线,将其中⼀线定义为A,另⼀线定义为B。通常情况下,发送驱动器A、B之间的正电平在+2~+6V,是⼀个逻辑状态,负电平在-2V~6V,是另⼀个逻辑状态。另有⼀个信号地C,在RS-485中还有⼀“使能”端,⽽在RS-422中这是可⽤可不⽤的。“使能”端是⽤于控制发送驱动器与传输线的切断与连接。当
“使能”端起作⽤时,发送驱动器处于⾼阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。
2)RS-422电⽓规定
由于接收器采⽤⾼输⼊阻抗和发送驱动器⽐RS232更强的驱动能⼒,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即⼀个主设备(Master),其余为从设 备(Salve),从设备之间不能通信,所以RS-422⽀持点对多的双向通信。RS-422四线接⼝由于采⽤单独的发送和接收通道,因此不必控制数据⽅向,各装置之间任何必须的信号交换均
可以按软件⽅式(XON/XOFF握⼿)或硬件⽅式(⼀对单独的双绞线)实现。RS-422的最⼤传输距离为4000英尺(约1219⽶),最⼤传输速率为10Mbps。其平衡双绞线的长度与传输速率成反⽐,在100Kbps速率以下,才可能达到最⼤传输距离。只有在很短的距离下才能获得最⾼速率传输。⼀般100⽶长的双绞线上所能获得的最⼤传输速率仅为1Mbps。RS-422需要⼀终接电阻,要求其阻值约等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即⼀般在300⽶以下不需终接电阻。终接电阻接在传输电缆的最远端。
3)RS-485电⽓规定
由于RS-485是从RS-422基础上发展⽽来的,所以RS-485许多电⽓规定与RS-422相仿。如都采⽤平
衡传输⽅式、都需要在传输线上接终接电阻等。RS-485可以采⽤⼆线与四线⽅式,⼆线制可实现真正的多点双向通信(*****************why?*****************)。RS-485总线,在要求通信距离为⼏⼗⽶到上千⽶时,⼴泛采⽤RS-485 串⾏总线标准。RS-485采⽤平衡发送和差分接收,因此具有抑制共模⼲扰的能⼒。加上总线收发器具有⾼灵敏度,能检测低⾄200mV的电压,故传输信号能在千⽶以外得到恢复。RS-485采⽤半双⼯⼯作⽅式,任何时候只能有⼀点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485⽤于多点互连时⾮常⽅便,可以省掉许多信号线。应⽤RS-485 可以联⽹构成分布式系统,其允许最多并联32台驱动器和32台接收器。RS-485与RS-422的不同还在于其共模输出电压是不同的,RS-485是-7V⾄+12V之间,⽽RS-422在-7V⾄+7V之间,RS-485满⾜所有RS-422的规范,所以RS-485的驱动器可以⽤在RS-422⽹络中应⽤。RS-485与RS-422⼀样,其最⼤传输距离约为1219⽶,最⼤传输速率为10Mbps。平衡双绞线的长度与传输速率成反⽐,在100Kbps速率以下,才可能使⽤规定最长的电缆长度。只有在很短的距离下才能获得最⾼速率传输。⼀般100⽶长双绞线最⼤传输速率仅为1Mbps。
年代1vH1三、串⼝插⼝种类及转换
串⼝是⼀种接⼝标准,它规定了接⼝的电⽓标准,简单说只是物理层的⼀个标准。没有规定接⼝插件电缆以及使⽤的协议,所以只要我们使⽤的接⼝插件电缆符合串⼝标准就可以在实际中灵活使⽤,在串⼝接⼝标准上使⽤各种协议进⾏通讯及设备控制。以上我们了解了串⼝的协议,⽽我们⽇常⼯作中
接触最多的是实际的⼀些设备的外部接⼝,我们如何从外形上就知道它是那种接⼝呢?制作线缆各针脚如何定义?上⾯我们知道了串⼝RS-232、RS-422与RS-485标准只对接⼝的电⽓特性做出规定,⽽不涉及接插件、电缆或协议,在此基础上⽤户可以建⽴⾃⼰的⾼层通信协议。从我们实际⼯作中碰到的使⽤最多的插⼝有三种DB9、DB25、RJ45,上⾯三种插⼝插件都可以⽤作串⼝插⼝插件,也可以通过线缆进⾏插⼝之间的转换。下⾯我们就三种插⼝的针脚定义分别说明,三个插⼝之间的转换也只要按照插⼝定义的线缆跳接即可。
PC机常⽤的RS232串⼝DB9(公型插座)和DB25(母型插座)接头如下所⽰:拼接墙
其中DB25很少使⽤,DB9各信号定义如下:
DCD:Carrier Detect  载波检测
RXD:Receive Data  接收数据
TXD:Transmit Data  发送数据
DTR:Data Terminal Ready  数据终端准备完成
SG:System Ground  信号地
DSR:Data Set Ready  数据准备完成
RTS:Request to Send  发送请求
CTS:Clear to Send  发送清除
RI:Ring Indicator  振铃指⽰
四、RS-422怎么实现?
我:我看了下RS-422的电⽓标准,但是对于RS-422
PM说:你看那个⼲啥?你要看RS422的时序,跟485的时序差不多。你现在要做的是:把RS-232的程序整理成模块,然后在板⼦上运⾏。
液晶显示器反光
ok,PM怎么说,我就怎么做呗。所以我还是要先把RS-232在板⼦上运⾏起来。
---------------------------------------------------2015.05.27-----------------------------------------------------
已经完成了串⼝的环回调试,其中的关键步骤有:
(1)顶层模块的编写(栋哥帮助)
(2)TX_Data的保持(⼩⽩)
(3)TX_En_Sig的产⽣(晓辉学长)
具体实现⽅法以及代码在⼯作机中保存。
-------------------------------------------------2015.05.27---------------------------------------------------今天取得了⼀下进展:
电子防盗门(1)将波特率有4Mbps改为9600bps,以及做了相关的修改(2)⽤RX_Done_Sig信号空RX_En_Sig
信号(栋哥帮助)
(3)运⾏结果完全没有问题,仿真已经完成了,结果正确
我的疑问是:两个信号互相制约是可以的吗?
⽼⽩:FPGA中本来就是这样的啊,不同的信号相互制约,已完成正确的逻辑。
下⼀步任务是,写ucf⽂件进⾏管脚分配

本文发布于:2024-09-22 17:37:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/115073.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:传输   发送   标准   电平   距离   驱动器   信号
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议