當(dāng)前位置:首頁 > 電源 > 功率器件
[導(dǎo)讀]智能儀表和現(xiàn)場總線的出現(xiàn)標(biāo)志著工業(yè)控制領(lǐng)域網(wǎng)絡(luò)時(shí)代的到來,成為工業(yè)控制的主流。目前國際上已經(jīng)出現(xiàn)了多種現(xiàn)場總線和相應(yīng)的通信協(xié)議,但是其系統(tǒng)造價(jià)對于許多中小型應(yīng)用

智能儀表和現(xiàn)場總線的出現(xiàn)標(biāo)志著工業(yè)控制領(lǐng)域網(wǎng)絡(luò)時(shí)代的到來,成為工業(yè)控制的主流。目前國際上已經(jīng)出現(xiàn)了多種現(xiàn)場總線和相應(yīng)的通信協(xié)議,但是其系統(tǒng)造價(jià)對于許多中小型應(yīng)用仍顯過高。而RS485總線以其構(gòu)造簡單、造價(jià)低廉、可選芯片多、便于維護(hù)等特點(diǎn)在眾多工業(yè)控制系統(tǒng)中得到應(yīng)用。

1 RS485總線及現(xiàn)有工作方式的特點(diǎn)

RS485總線以雙絞線為物理介質(zhì),工作在半雙工的通信狀態(tài)下[1],即同一時(shí)刻,總線上只能有一個(gè)節(jié)點(diǎn)成為主節(jié)點(diǎn)而處于發(fā)送狀態(tài),其他所有節(jié)點(diǎn)必須處于接收狀態(tài)。如果同一時(shí)刻有兩個(gè)以上的節(jié)點(diǎn)處于發(fā)送狀態(tài),將導(dǎo)致所有發(fā)送方的數(shù)據(jù)發(fā)送失敗,即所謂總線沖突。為了避免總線沖突,RS485總線具有以下特點(diǎn):

以工作模式來說,一般的RS485總線工作在主從模式下。整個(gè)通信總線系統(tǒng)由一個(gè)主節(jié)點(diǎn)、若干個(gè)從節(jié)點(diǎn)組成,由主節(jié)點(diǎn)不斷地輪流查詢從節(jié)點(diǎn)是否有通信需求。如果有則將總線控制權(quán)交給某一從節(jié)點(diǎn),從節(jié)點(diǎn)發(fā)送完畢后立刻交還總線控制權(quán)。另外還有一種“輪主輪從”的工作方式,即讓總線控制權(quán)在各個(gè)節(jié)點(diǎn)間以類似令牌環(huán)的方式傳遞[3],得到控制權(quán)的節(jié)點(diǎn)成為主節(jié)點(diǎn),其它節(jié)點(diǎn)成為從節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)在發(fā)送完數(shù)據(jù)的同時(shí),將總線控制權(quán)交給相鄰的節(jié)點(diǎn),而這個(gè)節(jié)點(diǎn)在處理完本節(jié)點(diǎn)的通信需求后再把控制權(quán)向下傳遞。令牌環(huán)式的RS485工作方式如圖1所示。

從通信節(jié)點(diǎn)來講,RS485總線上的節(jié)點(diǎn)必須具備將自己的驅(qū)動器切換到高阻態(tài)的功能?眼1?演,以便在發(fā)送完數(shù)據(jù)后不會對總線狀態(tài)造成影響。這種驅(qū)動器實(shí)行發(fā)送態(tài)—高阻態(tài)切換的一個(gè)影響是?押從發(fā)送數(shù)據(jù)完畢到設(shè)備切換為高阻態(tài),需要一個(gè)轉(zhuǎn)換延遲。這個(gè)轉(zhuǎn)換延遲是2線制通信中一個(gè)很重要的參數(shù)。這個(gè)時(shí)間不能太短,否則發(fā)出的字符的最后一部分因?yàn)樯形丛诳偩€上建立起來而導(dǎo)致丟失。同時(shí)這個(gè)時(shí)間也不能太長,否則在發(fā)送端還未轉(zhuǎn)為高阻態(tài)時(shí)其他設(shè)備已經(jīng)開始發(fā)送數(shù)據(jù),會導(dǎo)致總線沖突。因此2線制RS485總線上的主設(shè)備必須知道所有從設(shè)備的反應(yīng)時(shí)間,并保證在從設(shè)備反應(yīng)之前把驅(qū)動器設(shè)為高阻態(tài),以接收從設(shè)備的數(shù)據(jù)。常用設(shè)備的轉(zhuǎn)換延遲是當(dāng)前波特率發(fā)送一個(gè)字節(jié)的時(shí)間。

以上為適應(yīng)RS485總線的特殊之處而采用的工作方式也引入了一些不足。首先,上面提到的兩種總線工作方式在很多對實(shí)時(shí)性、可靠性要求高的工業(yè)控制場合有較大的局限性。主要原因是主從式總線的從節(jié)點(diǎn)無發(fā)起通信的權(quán)利,相互之間的通信需要通過主節(jié)點(diǎn)中轉(zhuǎn)。而“輪主輪從”總線上的各個(gè)節(jié)點(diǎn)由于等待總線控制權(quán)的時(shí)間未知,實(shí)時(shí)性也無法保證。同時(shí),如果主從式的主節(jié)點(diǎn)或者是“輪主輪從”式的獲取令牌的節(jié)點(diǎn)出現(xiàn)故障,整個(gè)總線的工作將癱瘓,風(fēng)險(xiǎn)過于集中。其次,對驅(qū)動器實(shí)行“發(fā)送態(tài)—高阻態(tài)”切換以及考慮切換延遲等要求使編程變得復(fù)雜。在上電瞬間、CPU損壞或者是程序跑飛的情況下,還需要考慮復(fù)雜的故障保護(hù)等問題[2],否則將容易引起總線故障。

2 RS485總線上CSMA/CD的實(shí)現(xiàn)

為了解決各個(gè)節(jié)點(diǎn)主動獲取總線控制權(quán)的問題,人們想到了利用監(jiān)聽總線狀態(tài)的方式實(shí)現(xiàn)總線控制權(quán)的本地判斷和獲取,也就是CSMA/CD協(xié)議實(shí)際上做的工作[3]。即所有節(jié)點(diǎn)在發(fā)送前監(jiān)聽總線上是否有其他節(jié)點(diǎn)在發(fā)送數(shù)據(jù),如果有,就暫時(shí)不發(fā)送。另外在發(fā)送數(shù)據(jù)的同時(shí),邊發(fā)送邊監(jiān)聽,如果監(jiān)聽到?jīng)_突則沖突雙方都停止發(fā)送。這樣做,既能保證每一個(gè)節(jié)點(diǎn)都具有發(fā)起通信的權(quán)利,又能盡量減少發(fā)生總線沖突的機(jī)會,提高整個(gè)系統(tǒng)的吞吐量。

已有的一種實(shí)現(xiàn)方法[4]是將總線接收器的輸出端反相后接到CPU的外部中斷管腳,如圖2所示。用觸發(fā)中斷的方式判斷總線上是否有數(shù)據(jù)傳輸,同時(shí)結(jié)合定時(shí)器中斷判斷總線是否空閑。如果總線空閑,就獲得總線控制權(quán),發(fā)送數(shù)據(jù);然后用監(jiān)聽自己發(fā)送數(shù)據(jù)的辦法判斷是否發(fā)生總線沖突。該方法解決了總線控制權(quán)分配的時(shí)延問題,但是需要使用至少4個(gè)管腳(INT0、RXD、TXD、驅(qū)動器使能管腳),并且占用外部中斷和內(nèi)部定時(shí)器中斷,需要利用軟件監(jiān)聽發(fā)送的數(shù)據(jù)避免總線沖突。系統(tǒng)資源耗費(fèi)較多,編程復(fù)雜,在一些場合的應(yīng)用也有局限性。本文在以上方法的基礎(chǔ)上提出了一種利用硬件監(jiān)聽總線狀態(tài)的方法,真正實(shí)現(xiàn)CSMA/CD協(xié)議。同時(shí)減少了系統(tǒng)資源的占用率,簡化了總線沖突的判斷。另外實(shí)現(xiàn)了驅(qū)動器的無延遲自動切換,進(jìn)一步提高了系統(tǒng)的實(shí)時(shí)性。該系統(tǒng)工作穩(wěn)定、可靠,并且大大提高了通信的實(shí)時(shí)性,特別適合實(shí)時(shí)分布式控制的場合。

2.1 系統(tǒng)框圖
 
系統(tǒng)由總線狀態(tài)判斷邏輯、驅(qū)動器自動切換邏輯兩部分組成,如圖3所示。系統(tǒng)資源只占用CPU的3個(gè)管腳:RXD、TXD、總線狀態(tài)指示腳,不占用任何中斷。在軟件實(shí)現(xiàn)方面由于采用了硬件判斷總線狀態(tài)而變得非常簡單,只需要對標(biāo)準(zhǔn)的232通信程序做微小修改即可。

2.2 總線狀態(tài)判斷邏輯

該電路由雙RS485總線接收器構(gòu)成,兩個(gè)接收器的輸出相與后得到總線狀態(tài)信號。偏置電阻網(wǎng)絡(luò)的對稱形式使得在總線沒有被驅(qū)動的情況下,兩條總線的電平相等??偩€狀態(tài)判斷邏輯如圖4所示。由于接收器的兩個(gè)接入點(diǎn)電平不同,所以當(dāng)總線處于高阻狀態(tài)或者總線被短路時(shí),兩個(gè)接收器都是高電平輸出,總線狀態(tài)為高電平。因?yàn)椋?、B線通過6.8kΩ電阻分別接入兩個(gè)接收器的不同接收端,所以當(dāng)總線出現(xiàn)任何一個(gè)確定的邏輯狀態(tài)時(shí),都將引起其中一個(gè)接收器的輸出變?yōu)榈碗娖剑@樣總線狀態(tài)就變?yōu)榈碗娖?,表明總線被占用。經(jīng)過理論計(jì)算和EWB仿真,該網(wǎng)絡(luò)從A、B點(diǎn)看接入阻抗為12.2kΩ,恰好滿足RS485協(xié)議的接收器輸入阻抗要求。

2.3 驅(qū)動器無延遲自動切換邏輯

為了實(shí)現(xiàn)驅(qū)動器的無延遲自動切換,TXD信號反相后接到驅(qū)動器使能,而驅(qū)動器輸入直接接地,如圖5所示。這樣處理使驅(qū)動器只在數(shù)據(jù)為0時(shí)打開,把數(shù)據(jù)0發(fā)出去。而當(dāng)數(shù)據(jù)為1或者無數(shù)據(jù)時(shí)立刻關(guān)閉,縮短了切換時(shí)間。但是這樣做,使得數(shù)據(jù)1無法被正常發(fā)送出去。為使串行數(shù)據(jù)能被正確地接收,有兩個(gè)辦法產(chǎn)生數(shù)據(jù)中的1。第一個(gè)辦法,使用總線判斷電路中的正向接收器的輸出端?穴OUT+?雪作為RXD信號,該信號在總線空閑、開路和短路時(shí)輸出邏輯1,并且與RXD信號同相。第二個(gè)辦法,使用類似MAX3080自帶故障保護(hù)(fail-safe)功能的芯片作為接收器。MAX3080將接收器的觸發(fā)門限電壓從-200mv~+200mv調(diào)整為-200mv~-50mv,也能夠在總線空閑、開路和短路時(shí)輸出邏輯1。如果總線上的每一個(gè)節(jié)點(diǎn)都使用這些方法,那么所有節(jié)點(diǎn)都可以實(shí)現(xiàn)驅(qū)動器無延遲自動切換而不必?fù)?dān)心數(shù)據(jù)中的1不能被正確接收。

2.4 軟件的實(shí)現(xiàn)

發(fā)送數(shù)據(jù)方面,只需將標(biāo)準(zhǔn)串口函數(shù)putc()封裝成一個(gè)函數(shù)RS485PutString()發(fā)送數(shù)據(jù)即可。在RS485PutString()函數(shù)中,能夠方便地實(shí)現(xiàn)各種總線狀態(tài)判斷策略,甚至是CSMA/CD協(xié)議,實(shí)現(xiàn)載波監(jiān)聽,邊發(fā)送邊監(jiān)聽。也可以在此函數(shù)的基礎(chǔ)上進(jìn)行諸如定義不同數(shù)據(jù)包的實(shí)時(shí)性級別、定義總線超時(shí)判斷等高級編程。

該函數(shù)的主要流程如圖6。

判斷總線狀態(tài)就是簡單地讀取總線狀態(tài)判斷電路的輸出,高為空閑,低為總線已被占用。為了減少誤判,通常在判斷總線狀態(tài)為空閑后還要繼續(xù)判斷一段時(shí)間,具體的總線狀態(tài)判斷策略要根據(jù)通信協(xié)議進(jìn)行調(diào)整。

如果判斷總線空閑,即可進(jìn)行數(shù)據(jù)發(fā)送。在發(fā)送過程中可以方便地繼續(xù)讀取總線狀態(tài)以進(jìn)行邊發(fā)送邊監(jiān)聽的沖突檢測。一旦發(fā)現(xiàn)沖突發(fā)生,發(fā)送方放棄本次數(shù)據(jù)傳輸而轉(zhuǎn)入強(qiáng)化沖突流程(繼續(xù)發(fā)送幾個(gè)0x00以使各方都確認(rèn)發(fā)生了總線沖突),然后再進(jìn)入總線偵聽流程。以往的RS485總線沖突檢測處理機(jī)制是通過對自己所發(fā)送的數(shù)據(jù)進(jìn)行監(jiān)聽接收,然后比較接收到的數(shù)據(jù)與發(fā)送的數(shù)據(jù)是否相符,判斷是否發(fā)生總線沖突,在軟件實(shí)現(xiàn)上比較復(fù)雜。而本系統(tǒng)的沖突檢測非常簡單:發(fā)送完一個(gè)字節(jié)就讀取一次總線狀態(tài)指示管腳的狀態(tài),如果發(fā)現(xiàn)總線被占用,就是發(fā)生了總線沖突。

接收程序方面,因?yàn)榻邮掌鞒i_,所以仍然可以使用串行接收器的中斷服務(wù)程序,將接收到的數(shù)據(jù)放入緩沖區(qū),然后由命令解釋程序處理接收到的命令。本質(zhì)上與RS232的串口通信程序完全一樣,只是如果接收器是常開的話,在自己發(fā)送數(shù)據(jù)時(shí),要記住將串行接收器中斷關(guān)閉,發(fā)送完畢后再打開,以避免運(yùn)行不必要的中斷服務(wù)程序。

另外,還可以結(jié)合驅(qū)動器和總線狀態(tài)判斷邏輯對總線進(jìn)行開路和短路的檢測/報(bào)警。具體說就是某一個(gè)節(jié)點(diǎn)使能總線驅(qū)動器,然后判斷總線狀態(tài),如果仍然顯示總線空閑,說明總線短路或者總線到總線狀態(tài)判斷邏輯之間開路了。


2.5 存在的不足之處

該方法中的總線狀態(tài)判斷邏輯對邏輯0狀態(tài)的要求比較高,需要B線電平比A線高約1.1V才能得到低電平。如果采用總線判斷電路中的正向接收器的輸出端(OUT+)作為RXD信號,就會因?yàn)閷壿嫞暗囊蠖粷M足RS485的-200mV門限電平標(biāo)準(zhǔn)。若采用另一個(gè)具有故障保護(hù)功能的接收器并聯(lián)的話,固然能滿足-200mV門限電平標(biāo)準(zhǔn),但整個(gè)節(jié)點(diǎn)的輸入阻抗將降低到6kΩ。

以上不足之處都在于無法完全滿足標(biāo)準(zhǔn)RS485總線標(biāo)準(zhǔn),但在特定條件下是不會影響工作效果的。例如阻抗雖然降低了,但是當(dāng)節(jié)點(diǎn)數(shù)不超過16時(shí),是能夠很好地工作的。

實(shí)驗(yàn)表明,這種實(shí)現(xiàn)了CSMA/CD的多主式RS485總線工作穩(wěn)定,可靠性高,大大提高了實(shí)時(shí)性。特別適合于強(qiáng)調(diào)實(shí)時(shí)性的分布式控制系統(tǒng),能夠方便地實(shí)現(xiàn)點(diǎn)與點(diǎn)之間的控制信息實(shí)時(shí)交換。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉