這作為一項(xiàng)任務(wù)已經(jīng)布置下來(lái)了,那么我是一定會(huì)完成的,毫無(wú)疑問(wèn)地。
基本認(rèn)識(shí):
(1)RS-422標(biāo)準(zhǔn)全稱是“平衡電壓數(shù)字接口電路的電氣特性”;
(2)RS-422支持點(diǎn)對(duì)多的雙向通信(一主最多10從);
(3)RS-422是差模傳輸,抗干擾能力強(qiáng),能傳1200米,RS232最多傳輸15米。
(4)RS-422平衡雙絞線的長(zhǎng)度與傳輸速率成反比,最大傳輸距離為4000英尺(約1219米),最大傳輸速率為10Mb/s。在 100kb/s速率以下,才可能達(dá)到最大傳輸距離。只有在很短的距離下才能獲得最高速率傳輸。一般100米長(zhǎng)的雙絞線上所能獲得的最大傳輸速率僅為 1Mb/s。
--------------------------------------------------------------------2015.5.25更新-----------------------------------------------------------------------------
想要搞懂RS422,還是得從RS232開(kāi)始。既然網(wǎng)上找不到一篇特別好的,那我就自己從網(wǎng)上查資料,邊查邊問(wèn)邊做,希望能夠整理出一份盡可能完善的文章。
一、RS-232/422/485繼承關(guān)系
都是串行數(shù)據(jù)通信接口標(biāo)準(zhǔn),都是由電子工業(yè)協(xié)會(huì)(EIA)制訂和發(fā)布的,其中RS232是在1962年發(fā)布,RS422由RS232發(fā)展而來(lái),它是為了彌補(bǔ)RS232通訊距離短、速率低的缺點(diǎn)而提出的,RS422定義了一中平衡傳輸方式,將傳輸速率提高到10Mbps,傳輸距離延長(zhǎng)到4000英尺(速度低于100kb/s時(shí)),并允許在一條平衡總線上連接最多10個(gè)接收器。RS422是一種單機(jī)發(fā)送、多機(jī)接收的單向、平衡傳輸規(guī)范,被命名為TIA/EIA-422-A標(biāo)準(zhǔn)。為了擴(kuò)展應(yīng)用范圍,EIA又于1983年在RS-422基礎(chǔ)上制定了RS-485標(biāo)準(zhǔn),增加了多點(diǎn)、雙向通信能力,即允許多個(gè)發(fā)送器連接到同一條總線上,同時(shí)增加了發(fā)送器的驅(qū)動(dòng)能力和沖突保護(hù)特性,擴(kuò)展了總線共模范圍,后命名為TIA/EIA-485-A標(biāo)準(zhǔn)。由于EIA提出的建議標(biāo)準(zhǔn)都是以“RS”作為前綴的,所以在通訊工業(yè)領(lǐng)域,仍然習(xí)慣將上述標(biāo)準(zhǔn)以RS作前綴稱謂。
RS-232、RS-422、RS-485標(biāo)準(zhǔn)只對(duì)接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,因此用戶可以在此基礎(chǔ)上建立自己的高層通訊協(xié)議。
可知,后一個(gè)的發(fā)展都是為了彌補(bǔ)前者的不足。
(3)RS-232電平:
發(fā)端:邏輯1的電平為-3~-15V,邏輯0的電平為 3~ 15V,注意電平的定義反相了一次。
收端:邏輯1的電平為-3~ -12V,邏輯0的電平為 3~ 12V。
(4)共模抑制能力:如何去衡量共模抑制能力?這個(gè)問(wèn)題,我想先放下在這里,后續(xù)另辟一篇。
差模信號(hào)、共模信號(hào)、共模抑制比的概念 參考這個(gè)網(wǎng)址http://wenku.baidu.com/linkurl=TWazWrBTgLdtVenUFUFcRlGB7_oG0_0QFXa_Y-exQbkeVPEic6Jj96N1x9YXb3HGcZavN3y2cZf2AFOPe7MdPD5LsVDDgwMpyHtDs_1Jv8C
三、RS-422與RS-485串行接口標(biāo)準(zhǔn)
1)平衡傳輸
RS-422、RS-485與RS-232不一樣,數(shù)據(jù)信號(hào)采用差分傳輸方式,也稱作平衡傳輸,它使用一對(duì)雙絞線,將其中一線定義為A,另一線定義為B。通常情況下,發(fā)送驅(qū)動(dòng)器A、B之間的正電平在 2~ 6V,是一個(gè)邏輯狀態(tài),負(fù)電平在-2V~6V,是另一個(gè)邏輯狀態(tài)。另有一個(gè)信號(hào)地C,在RS-485中還有一“使能”端,而在RS-422中這是可用可不用的?!笆鼓堋倍耸怯糜诳刂瓢l(fā)送驅(qū)動(dòng)器與傳輸線的切斷與連接。當(dāng)“使能”端起作用時(shí),發(fā)送驅(qū)動(dòng)器處于高阻狀態(tài),稱作“第三態(tài)”,即它是有別于邏輯“1”與“0”的第三態(tài)。
2)RS-422電氣規(guī)定
由于接收器采用高輸入阻抗和發(fā)送驅(qū)動(dòng)器比RS232更強(qiáng)的驅(qū)動(dòng)能力,故允許在相同傳輸線上連接多個(gè)接收節(jié)點(diǎn),最多可接10個(gè)節(jié)點(diǎn)。即一個(gè)主設(shè)備(Master),其余為從設(shè) 備(Salve),從設(shè)備之間不能通信,所以RS-422支持點(diǎn)對(duì)多的雙向通信。RS-422四線接口由于采用單獨(dú)的發(fā)送和接收通道,因此不必控制數(shù)據(jù)方向,各裝置之間任何必須的信號(hào)交換均可以按軟件方式(XON/XOFF握手)或硬件方式(一對(duì)單獨(dú)的雙絞線)實(shí)現(xiàn)。RS-422的最大傳輸距離為4000英尺(約1219米),最大傳輸速率為10Mbps。其平衡雙絞線的長(zhǎng)度與傳輸速率成反比,在100Kbps速率以下,才可能達(dá)到最大傳輸距離。只有在很短的距離下才能獲得最高速率傳輸。一般100米長(zhǎng)的雙絞線上所能獲得的最大傳輸速率僅為1Mbps。RS-422需要一終接電阻,要求其阻值約等于傳輸電纜的特性阻抗。在矩距離傳輸時(shí)可不需終接電阻,即一般在300米以下不需終接電阻。終接電阻接在傳輸電纜的最遠(yuǎn)端。
3)RS-485電氣規(guī)定
由于RS-485是從RS-422基礎(chǔ)上發(fā)展而來(lái)的,所以RS-485許多電氣規(guī)定與RS-422相仿。如都采用平衡傳輸方式、都需要在傳輸線上接終接電阻等。RS-485可以采用二線與四線方式,二線制可實(shí)現(xiàn)真正的多點(diǎn)雙向通信(*****************why?*****************)。RS-485總線,在要求通信距離為幾十米到上千米時(shí),廣泛采用RS-485 串行總線標(biāo)準(zhǔn)。RS-485采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。加上總線收發(fā)器具有高靈敏度,能檢測(cè)低至200mV的電壓,故傳輸信號(hào)能在千米以外得到恢復(fù)。RS-485采用半雙工工作方式,任何時(shí)候只能有一點(diǎn)處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號(hào)加以控制。RS-485用于多點(diǎn)互連時(shí)非常方便,可以省掉許多信號(hào)線。應(yīng)用RS-485 可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32臺(tái)驅(qū)動(dòng)器和32臺(tái)接收器。RS-485與RS-422的不同還在于其共模輸出電壓是不同的,RS-485是-7V至 12V之間,而RS-422在-7V至 7V之間,RS-485滿足所有RS-422的規(guī)范,所以RS-485的驅(qū)動(dòng)器可以用在RS-422網(wǎng)絡(luò)中應(yīng)用。RS-485與RS-422一樣,其最大傳輸距離約為1219米,最大傳輸速率為10Mbps。平衡雙絞線的長(zhǎng)度與傳輸速率成反比,在100Kbps速率以下,才可能使用規(guī)定最長(zhǎng)的電纜長(zhǎng)度。只有在很短的距離下才能獲得最高速率傳輸。一般100米長(zhǎng)雙絞線最大傳輸速率僅為1Mbps。
三、串口插口種類及轉(zhuǎn)換
串口是一種接口標(biāo)準(zhǔn),它規(guī)定了接口的電氣標(biāo)準(zhǔn),簡(jiǎn)單說(shuō)只是物理層的一個(gè)標(biāo)準(zhǔn)。沒(méi)有規(guī)定接口插件電纜以及使用的協(xié)議,所以只要我們使用的接口插件電纜符合串口標(biāo)準(zhǔn)就可以在實(shí)際中靈活使用,在串口接口標(biāo)準(zhǔn)上使用各種協(xié)議進(jìn)行通訊及設(shè)備控制。以上我們了解了串口的協(xié)議,而我們?nèi)粘9ぷ髦薪佑|最多的是實(shí)際的一些設(shè)備的外部接口,我們?nèi)绾螐耐庑紊暇椭浪悄欠N接口呢?制作線纜各針腳如何定義?上面我們知道了串口RS-232、RS-422與RS-485標(biāo)準(zhǔn)只對(duì)接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,在此基礎(chǔ)上用戶可以建立自己的高層通信協(xié)議。從我們實(shí)際工作中碰到的使用最多的插口有三種DB9、DB25、RJ45,上面三種插口插件都可以用作串口插口插件,也可以通過(guò)線纜進(jìn)行插口之間的轉(zhuǎn)換。下面我們就三種插口的針腳定義分別說(shuō)明,三個(gè)插口之間的轉(zhuǎn)換也只要按照插口定義的線纜跳接即可。
PC機(jī)常用的RS232串口DB9(公型插座)和DB25(母型插座)接頭如下所示:
其中DB25很少使用,DB9各信號(hào)定義如下:
DCD:Carrier Detect 載波檢測(cè)
RXD:Receive Data 接收數(shù)據(jù)
TXD:Transmit Data 發(fā)送數(shù)據(jù)
DTR:Data Terminal Ready 數(shù)據(jù)終端準(zhǔn)備完成
SG:System Ground 信號(hào)地
DSR:Data Set Ready 數(shù)據(jù)準(zhǔn)備完成
RTS:Request to Send 發(fā)送請(qǐng)求
CTS:Clear to Send 發(fā)送清除
RI:Ring Indicator 振鈴指示
四、RS-422怎么實(shí)現(xiàn)?
我:我看了下RS-422的電氣標(biāo)準(zhǔn),但是對(duì)于RS-422
PM說(shuō):你看那個(gè)干啥?你要看RS422的時(shí)序,跟485的時(shí)序差不多。你現(xiàn)在要做的是:把RS-232的程序整理成模塊,然后在板子上運(yùn)行。
ok,PM怎么說(shuō),我就怎么做唄。所以我還是要先把RS-232在板子上運(yùn)行起來(lái)。
---------------------------------------------------2015.05.27-----------------------------------------------------
已經(jīng)完成了串口的環(huán)回調(diào)試,其中的關(guān)鍵步驟有:
(1)頂層模塊的編寫(棟哥幫助)
(2)TX_Data的保持(小白)
(3)TX_En_Sig的產(chǎn)生(曉輝學(xué)長(zhǎng))
具體實(shí)現(xiàn)方法以及代碼在工作機(jī)中保存。
-------------------------------------------------2015.05.27---------------------------------------------------
今天取得了一下進(jìn)展:
(1)將波特率有4Mbps改為9600bps,以及做了相關(guān)的修改
(2)用RX_Done_Sig信號(hào)空RX_En_Sig信號(hào)(棟哥幫助)
(3)運(yùn)行結(jié)果完全沒(méi)有問(wèn)題,仿真已經(jīng)完成了,結(jié)果正確
我的疑問(wèn)是:兩個(gè)信號(hào)互相制約是可以的嗎?
老白:FPGA中本來(lái)就是這樣的啊,不同的信號(hào)相互制約,已完成正確的邏輯。
下一步任務(wù)是,寫ucf文件進(jìn)行管腳分配
??
聯(lián)系客服