| 系統(tǒng)設計師轉向串行通信策略,以提高條件惡劣的工廠或工業(yè)環(huán)境下自動化設備設計的可靠性,延長其服務壽命。 為工廠車間設計自動化控制系統(tǒng)是一件繁雜的工作。你必須考慮環(huán)境問題:熱、塵土、輻射、電氣噪聲,以及對所有電子電路(或人類)有害的問題。大多數(shù) PLC(可編程邏輯控制器)系統(tǒng)都含有一個中心控制器和外圍 I/O 模塊。這些模塊包括連接傳感器和真實世界的 ADC、DAC、通信模塊、數(shù)字輸入和輸出、繼電器等等。所有這些模塊都需要通過一個信號總線與中心控制器通信。設計師只需簡單地去掉設備間的互連,就可以提高某個系統(tǒng)的可靠性。現(xiàn)在有多種方法可以采用,但最簡單的方法是使數(shù)據(jù)串行化,并使用較少的連接。這些技術要用幾個物理層和幾種拓撲以及數(shù)據(jù)包格式,直接實現(xiàn)這些總線。無論是用煙霧信號還是激光,通信都需要一種物理介質,除了從源點至目標點的傳播時間之外。可選的方法有很多種,包括無線、電纜、光纖和聲學方法。所有這些物理介質都能承載智能,但在不良條件下,某些介質的性能要比另一些更好一些。
有線類連接中,標準包括 TTL(晶體管-晶體管邏輯)、ECL(射極耦合邏輯)、RS232、RS422、RS485、LVDS(低壓差分信號傳輸),以及以太網(wǎng),它們都可以用于網(wǎng)絡、底板和總線。老式的 TTL 標準采用對地電平約為 5V 的慢速單端信號,易受接地噪聲干擾。RS232 增加了一個雙極電壓擺幅,有助提高抗噪聲能力,但缺乏差分信號在電噪聲環(huán)境中傳輸?shù)膬?yōu)點。RS422、RS485 和 LVDS 標準都采用差分線對,在接收機端去除兩根線上的共模噪聲。LVDS 用電流代替了電壓,并通過降低信號擺幅而大大加快了信號傳輸速度。這一方案解決了線路的很多問題,包括電纜阻抗問題。
在一個對電路有害的環(huán)境中(如鋼鐵廠),大電流可能會從距離控制系統(tǒng)只有幾英寸的地方流過。這些電流會在導體中產(chǎn)生噪聲,尤其是在設備間長長的互連線上。抑制這種噪聲的標準技術是采用差分信號傳輸方法。RS422 和 RS485 都是長距互連的很好選擇,但它們?nèi)狈τ糜诰植靠偩的速度。LVDS 是局部總線的一個較好選擇,例如那些安裝于 DIN 軌上的設備之間的通信。另外,設計師正在開始將以太網(wǎng)用作底板的互連。以太網(wǎng)有很多優(yōu)點。它是一種標準,采用定義良好的 MAC(媒體訪問控制器),很多處理器都采用它;并且大多數(shù)操作系統(tǒng)都有以太網(wǎng)的標準驅動程序。本文的重點是用串行式 LVDS 方法保持良好的抗噪聲能力,并提供 100 MHz ~ 400 MHz 的速度。 拓撲
哪種拓撲最好?可選的包括多分支總線、冗余多分支總線、點對點總線,甚至曾經(jīng)很流行的環(huán)形拓撲。多分支或多點總線是很多底板的流行技術,也非常適合于單處理器系統(tǒng)和多處理器系統(tǒng)。如果選擇了 LVDS,則要在每個電路板的 LVDS 收發(fā)器上采用雙端傳輸線。采用獨立收發(fā)器的好處有兩點。首先,可以將收發(fā)器盡量靠近連接器放置,從而限制由于連接中斷導致的近端反射。其次,這些收發(fā)器也比 FPGA 中集成的驅動器更加牢靠。當出現(xiàn)故障時,它們的更換成本也遠低于價值 100 美元的 FPGA。在這種拓撲中,一個信令就可啟動電路板上的驅動器,將串行數(shù)據(jù)包發(fā)送至底板。所有其它設備都是監(jiān)聽方,用于接收傳輸?shù)臄?shù)據(jù)包。大多數(shù)共享式總線拓撲都需要某種形式的流量控制技術。簡單的辦法是用一個公共訪問線路,它用附加線向所有設備指出某臺設備在請求總線,其它設備則不準通話。另外,還可以實現(xiàn)一種主/從機構,只有主控制器提出要求時才允許通信(圖 1)。  多分支總線易于實現(xiàn),但是,一個故障就會導致整個總線失效,如一個短路、終端連接器丟失、或總線驅動器掛起等。在工業(yè)環(huán)境中,這種故障可能是災難性的,例如石油冶煉廠就決不允許發(fā)生這種故障。解決這一問題的簡單方法是使用兩個總線。如果一個總線失效,另一個還能保持工作。除了增加冗余以外,系統(tǒng)還在原生模式(正常工作)下獲得兩倍帶寬。使用兩個總線后,損失一個總線只會使可用帶寬減半,而系統(tǒng)還能在降級模式下繼續(xù)自己的功能。這種方法的缺點是增加了成本和復雜性(圖 2)。  另一種避免總線故障的方法是采用點對點拓撲,如使用以太網(wǎng)絡。每個設備都使自己的總線與控制器通信。如果某個設備或總線失效,所有其它設備還能繼續(xù)工作。但對一個局部底板來說,不利因素是機械互連問題。一個設備要插入其它設備之中時(如 DIN 軌安裝),需要有穿通式連接,因而增加了而不是減少了互連的數(shù)量。連接線數(shù)量的增加抵消了底板中采用點對點拓撲的優(yōu)點。  另一方面,環(huán)形拓撲是可自愈的,可以自動進行分隔自己。令牌環(huán)網(wǎng)和其它類似網(wǎng)絡就采用這種方法。在一個底板實現(xiàn)方案中,系統(tǒng)控制著這個環(huán)路。這一拓撲亦能夠實現(xiàn)模塊在 DIN 軌上緊挨的插入(圖 3)。如果有任何設備或互連線故障,環(huán)路 可以自我折回,將故障設備分隔開或將連接斷開(圖 4)。除了接口以外,環(huán)形拓撲的物理實現(xiàn)也像雙路多分支總線結構一樣有高成本的問題。環(huán)路只使用驅動器和接收器,而沒有收發(fā)器。然而,完成整個環(huán)路還需要兩個附加的無源總線。驅動器總是處于使用/選擇狀態(tài),但由于設備可以在兩個接收器總線中選擇一個,必須使用能選擇需要的總線。另外,FPGA 上的兩個數(shù)字輸入也可以選擇總線。這種方案的樣品部件有美國國家半導體公司的 DSLV049(使用數(shù)字選擇接收器)、DS90LV027 和 28,或者兩個 DS90LV019 收發(fā)器。  環(huán)形拓撲的一個有意思的好處是偽點至點連接。這種方案無需總線接入,因為數(shù)據(jù)包的傳輸是單向的。缺點是每個模塊都需要處理所有數(shù)據(jù)包。設計師可以在接口控制邏輯上使用一個短緩沖器,實現(xiàn)一種存儲轉發(fā)方法,從而略微提高這個過程的自動化。設備無需存儲整個數(shù)據(jù)包,但必須存儲報頭供檢查。
協(xié)議
在可靠的硬件實現(xiàn)下,需要有一種通過協(xié)議訪問物理介質的方法。不同拓撲其協(xié)議也各不相同。在多分支拓撲中,某個設備必須在信號溝通了所有設備后,才能開始傳輸數(shù)據(jù),以減少或避免在共享介質上的沖突。碰撞總會發(fā)生,因此必須用一個校驗來驗證數(shù)據(jù)包中信息的完整性。重新傳輸時間的隨機性有助于減少總線上的碰撞。根據(jù)總線位置或地址確定的設備優(yōu)先權也可能有所幫助。使用優(yōu)先訪問方法,最高優(yōu)先級的設備只需最短的等待時間即可發(fā)送數(shù)據(jù)包。你可以建立一種固定優(yōu)先級,或者用一種循環(huán)式方法,即最后一個傳輸設備有最低的優(yōu)先權。當其它設備傳送消息時,等待設備的優(yōu)先權上升,等待時間減少。這種方法為每個設備分配相等的總線時間來傳送消息。高度優(yōu)先權的消息可以有固定的最小延遲時間,或對緊急消息取消延遲時間,如“緊急停機。”
在一個串行/解串系統(tǒng)中,當總線未用時,就會連續(xù)發(fā)送空消息,使解串器中的恢復電路能與數(shù)據(jù)同步。在一個共享總線拓撲中,系統(tǒng)不能用空消息來同步接收器,因此需要數(shù)據(jù)包格式中的報頭。報頭長度要根據(jù)接收器同步電路鎖定進入數(shù)據(jù)的快慢而決定。接收器較快的鎖定時間意味著報頭會較短,數(shù)據(jù)流量會更有效。
在環(huán)路拓撲中,持續(xù)傳輸空閑數(shù)據(jù)而總是保持串行器/解串器接收器的鎖定是一種優(yōu)點。但是,當每個設備都希望在數(shù)據(jù)包流中置入信息時必須存在一種控制方法,使之不會與其它設備發(fā)生沖突。環(huán)路拓撲采用令牌傳遞方法,它提供何時傳輸數(shù)據(jù)的提示。令牌是一個特殊的報頭,用以識別當前的令牌屬主,以及網(wǎng)絡上的其它數(shù)據(jù)。令牌后連接的數(shù)據(jù)像貨車掛在車頭上一樣。在路上的每個車站處,只要令牌空閑,該處設備都可以在令牌后追加數(shù)據(jù)。
最簡單的環(huán)狀形式是某個時間只有一個設備能使用令牌。這種方法簡化了連續(xù)流中攜帶的數(shù)據(jù)包。因此,每當一個設備收到令牌,它都在令牌中置一個位,表示它已經(jīng)從數(shù)據(jù)包流中獲取了令牌,而所有上游設備(除目標以外)都簡單地讓其通過。這種方法省略了存儲轉發(fā)過程。目標設備只需在收到令牌時卸掉數(shù)據(jù)包,并釋放令牌,除非它有要外發(fā)的數(shù)據(jù)包。此時的缺點在于總線效率。如果令牌正在使用,則其它設備必須等待它空閑下來才能發(fā)送數(shù)據(jù)。
有很多方法可以為基于令牌的系統(tǒng)提供優(yōu)先級設置。簡單的方法是實現(xiàn)一個令牌計數(shù)的循環(huán)式方法。如果某個系統(tǒng)有3位的優(yōu)先級(七級),當某個設備使用令牌時,其優(yōu)先級降至第七級和最低水平。當系統(tǒng)通過空閑令牌時,每次令牌通過一個設備,優(yōu)先級計數(shù)增加1,直至到達零水平,或“可傳送”狀態(tài)。如果該設備有一個待傳數(shù)據(jù)包,又有一個空閑令牌傳到,則設備會抓住該令牌。當出現(xiàn)緊急情況時,系統(tǒng)可以忽略優(yōu)先級,而立即使用下一個到達的空閑令牌。
令牌協(xié)議有其復雜性。例如,如果某個擁有令牌的設備死機了怎么辦?另外,當用戶起動系統(tǒng)時,哪個設備來發(fā)起令牌?除了這些問題以外,令牌傳遞均可以正常運行,并為高可靠性底板提供一個可自愈的系統(tǒng)。
設計實例
今天的很多微控制器都有內(nèi)置以太網(wǎng) MAC,它使用一個 MII(介質獨立接口)連接到 PHY(物理)層芯片,如 Zilog EZ80 Acclaim 和 Freescale MCF523x。MII 有一個 4 b 數(shù)據(jù)、半字節(jié)的模式接口,以及一個簡單的串行總線,可用于 PHY 的配置?梢栽 FPGA 中建立一個定制的總線控制器,它有一個仿真以太網(wǎng) PHY 的 MII; FPGA 的控制器處理總線訪問或令牌管理、串行與解串行、環(huán)路管理、痊愈,以及時鐘生成與恢復。
本設計可以讓一個系統(tǒng)傳輸以太網(wǎng)數(shù)據(jù)包,就如同底板是以太網(wǎng)一樣。另外,以太網(wǎng)上的 TCP/IP 是一個定義完備的協(xié)議,提供了實現(xiàn)可接互聯(lián)網(wǎng)底板的簡單方法(圖 5)。FPGA 仿真以太網(wǎng) PHY,使微控制器中的 MAC 像連接標稱以太網(wǎng)時一樣運行。  使用 LVDS 可以消除工
|