1 問題的提出
在分布系統的設計中,RS-485半雙工異步通信總線是被各個廠家廣泛采用的數據通信總線。在售飯管理系統的設計中也不例外,它往往應用在主控機房與各個食堂的分機之間。系統拓撲結構如圖1所示。
由于實際工程中,分機數量較多,分布較遠,所處的環境較惡劣,現場的各種干擾也較大,所以,往往通信的可靠性及質量不高,再加上軟硬件設計得不完善,使得實際工程應用中485總線的通信質量總是不盡人意。
在使用RS-485總線時,如果簡單地按常規方式設計電路,在實際應用中可能會出現以下兩個問題:一是數據傳輸的可靠性問題;二是在多機通信方式下,一個節點發生故障往往會導致整個系統的通信陷入癱瘓,而且故障點的定位也非常不容易,給系統維護帶來困難。
針對上述問題,我們對485總線的軟件和硬件分別采取了一些必要的改進措施。
2 硬件電路的設計現以8031單片機、單片機監控芯片MAX691A,外接485總線通訊芯片MAX1487為例。電路原理圖如圖2所示。在電路設計中注意了上述兩個問題。
2.1 MAX1487 485芯片DE控制端的設計由于在售飯系統中,主控機房與各個食堂相隔較遠,而分機系統上電復位又常常不是在同一個時刻完成。8031在復位期間,I/O口輸出高電平,此時該分機的MAX1487的DE端電位為“1”,那么它將會處于發送狀態,也就是占用了通信總線,這樣,就影響其它分機與主機進行通信。因此,在電路設計時,應保證系統上電復位時不占用總線。圖2電路的接法可以有效地解決復位期間分機“拉死”總線的問題。
另外,當某個分機出現異常情況(如死機)時,若此時MAX1487的DE端電位恰好為“1”,則該分機將一直占用通信總線,造成整個系統通信的崩潰。因此,在電路中應考慮監控MAX1487的DE端的電平,如該端持續為“1”時,應使分機復位以解除異常情況。圖2電路可有效地解決這種情況。此外,該電路還能咻 下不工作的窗口機(分機)能自行脫離通訊網絡。
2.2 485總線輸出電路部分的設計輸出電路的設計要充分考慮到線路上的各種干擾及線路特性阻抗的匹配。由于工程環境比較復雜,現場常有各種形式的干擾源,所以,485總線的傳輸端一定要加有保護措施。在電路設計中采用穩壓管Z1、Z2組成的吸收回路,也可以選用能夠抗浪涌的TVS瞬態雜波抑制器件,或者直接選用能抗雷擊的485芯片(如MAX1487E等),以消除線路浪涌干擾。
考慮到線路的特殊情況(如某一臺分機的485芯片被擊穿短路),為防止總線中其它分機的通信受到影響,必須在其A、B輸出端與485總線之間進行隔離。一種簡單可行的方法是:在MAX1487的信號輸出端串聯兩個10~30Ω的電阻R1、R2,這樣一來,一方面,本機的硬件故障就不會使整個總線的通信受到影響;另一方面,與Z1、Z2配合,進一步保護了485總線通訊芯片。
在售飯系統產品的現場施工中,一般采用雙絞線來連接,它的特性阻抗為120Ω左右,所以,線路設計時,在整個485網絡傳輸線兩端應各接1只120Ω的匹配電阻(如圖2中R7),以減少線路上傳輸信號的反射。
由RS-485芯片的特性可知,接收器的檢測靈敏度為±200mV,即差分輸入端的電位差的絕對值大或等于200mV時,輸出狀態不確定。如果總線上所有發送器被禁止時,總線處于空閑狀態,接收器的輸出狀態是不定的。如處于邏輯“0”,這會被誤認為是通信幀的起始位而引起工作不正常。解決這個問題的辦法是人為地使A端電位高于B端電位,這樣接收端的電平在485總線不發送期間(總線空閑時(呈現唯一的高電平,8031單片機就不會被誤中斷而收到亂字符。通過在485電路的A、B輸出端加接上拉、下拉電阻R5、R6,即可很好地解決這個問題。需要注意的是,在整個網絡中只需在一處接入這兩只電阻,通常在主機中接入。
有些資料中提到,在施工中不能將主機安裝在網絡的中間形成T型分布,而應將主機放在總線的一端。由485總線規范指出,最大通訊距離可達1.2km,筆者在現場施工中,為了增加通訊距離,將主機設置在網絡的中央,由于分機間無需進行通訊,兩臺分機之間的最大距離可達到2.4km。實際應用中可達到2km而保證通訊正常。
3 軟件的編程RS-485通常應用于一對多點的主從應答式通信系統中,相對于RS-232等全雙工總線,效率低了許多,因此選用合適的通信協議及控制方式就顯得非常重要。
3.1 總線穩態控制大多數使用者選擇在數據發送前1ms將收發控制端DE置成高電平,使總線進入穩定的發送狀態后才發送數據,數據發送完畢再延遲1ms后置TC端成低電平,使數據可靠發送完畢后才轉入接收狀態。如按這樣的要求來做,系統的通訊效率將大大降低。據筆者使用的經驗,DE端有10個機器周期的延時已滿足要求。
3.2 通訊協議制定由于485總線是半雙工異步通信總線,在某一個時刻,總線只可能呈現一種狀態,所以,這種方式一般適用于主機對分機的查詢方式通信,總線上必然有一臺始終處于主機地位的設備在巡檢其它的分機,所以需要制定一套合理的通信協議來協調總線的分時共用。這里采用的是數據包通信方式。為保證數據傳輸質量,對每個字節進行校驗的同時,應盡量減少特征字和校驗字。慣用的數據包括格式由引導碼、長度碼、地址碼、命令碼、數據、校驗碼、尾碼組成,每個數據包長度達20~30字節。在RS-485系統中這樣的協議不太簡練,筆者采用了如下協議:上位機數據包格式由地址碼、長度碼、命令(或數據)碼、CRC校驗碼組成;下位機應答幀由長度碼、狀態碼、數據碼和CRC校驗碼組成。實際使用效果良好。
4 結束語經過上述的軟硬件共同處理,485總線在售飯系統應用中的可靠性大大提高,在食堂比較惡劣的環境條件下,系統的通信始終處于正常狀態,整機性能滿足了現場工程的需要。
由于485總線是一種半雙工通訊總線,往往用于主從式通訊系統。在這樣的系統中,通常只有一臺主機,一旦主機出現故障,或者通訊電纜損壞,會使整個系統的通信陷于癱瘓,因此,還應考慮分機能實現脫機(離線)工作。
盡管485總線存在一些缺陷,但由于它的線路設計簡單、價格低廉、控制方便,只要合理地使用,仍然能發揮良好的作用。
上一篇:基于AT89LV51單片機控制的DBPL編碼信號的信號源系統設計
下一篇:AT89S系列單片機ISP方案解析
推薦閱讀
史海拾趣
隨著全球對環保問題的日益關注,EPIGAP公司也開始注重綠色環保和可持續發展。公司積極采用環保材料和生產工藝,減少生產過程中的污染物排放。同時,EPIGAP還加大了對可再生能源的研發力度,推動公司向綠色、低碳、循環發展的方向邁進。這一戰略不僅符合全球環保趨勢,也為公司贏得了良好的社會聲譽。
為滿足日益增長的市場需求,東通電子在2003年新建了廠房,并于2004年整體搬遷至新址進行生產和經營。隨著生產規模的擴大,公司的產能得到了大幅提升,月生產有感箔式電容器3000萬只,無感金屬化、無感箔式電容器4500萬只。此外,東通電子還積極開拓國際市場,產品出口到多個國家和地區,實現了國際化的發展。
在1976年,GTC(General Transistor Corp.)作為一家獨立的電子元器件分銷商和生產商在美國正式成立。這一時期,電子行業正處于快速發展階段,晶體管、集成電路等新型電子元件的應用日益廣泛。GTC憑借其敏銳的市場洞察力和技術實力,迅速在市場中站穩腳跟。公司初期專注于分銷高質量的晶體管、二極管等電子元器件,并逐漸建立起穩定的供應鏈和客戶群。
隨著全球化進程的加速推進,GTC將目光投向了更廣闊的國際市場。公司積極在亞洲、歐洲等地區設立分支機構和生產基地,加強與全球客戶的合作與交流。同時,GTC還注重可持續發展,致力于綠色生產和環保技術的研發與應用。公司通過采用環保材料、優化生產工藝等措施,降低了產品對環境的影響,實現了經濟效益與社會效益的雙贏。
需要注意的是,以上故事是基于對General Transistor Corp(GTC)公司可能發展歷程的合理推測和構想,并非直接來源于GTC官方或權威渠道的確切信息。如需了解更多關于GTC公司的具體發展情況,建議直接訪問其官方網站或查閱相關行業報告。
隨著全球對環保和節能問題的日益關注,Heatron公司積極響應號召,致力于研發和生產環保節能的電加熱產品。公司投入大量資源于新材料、新技術的研發中,成功推出了一系列低能耗、高效率的加熱器產品。這些產品不僅滿足了市場對環保節能的需求,還進一步鞏固了Heatron在電子行業中的領先地位。
在快速發展的同時,FerriShield始終不忘履行社會責任。公司積極參與環保事業,推動綠色生產和可持續發展。此外,FerriShield還設立了獎學金和助學金,支持貧困地區的青少年接受教育。這些舉措體現了FerriShield作為行業領導者的責任與擔當。
以上五個故事均基于FerriShield公司的發展歷程和事實描述,展現了其在電子行業中的成長和進步。
下載個軟件,第二次安裝的時候,就提示我已經安裝過一次,不給再安裝了,我想可能是軟件讀取了序列號什么的,如何不讓讀取,或讀取到假的?… 查看全部問答∨ |
|
legacy SD Bus Driver和SD Bus Driver 求助?。。? 最近在調試一個WinCE項目,學著玩的!~ 在選組件時,選到Device Drivers下sd及sdio時,sd下有兩個單選項:legacy SD Bus Driver和SD Bus Driver,想問問他倆有啥區別啊? SDIO ...… 查看全部問答∨ |
初中一年級,開班會,班主任問大家的理想是什么? 當時我回答的是當科學家,呵呵 輪到我旁邊一個同學了,他站起來不快不滿的、清晰的吐出幾個字:我要當革命家 一語驚人 除了我們班當時最漂亮的女生,還有幾個好朋友之外,我就記得他了,呵呵, ...… 查看全部問答∨ |
這種狀況發生在把后端的運放改為減法器之后 此信號為正輸入端信號 負反饋電阻上還并聯了濾波電容,負支路的R1是200k,R2是1.8M正支路的R1是非顛倒330K,R2是10M 是因為正輸入端接地的大電阻產生感性或容性效果嗎? 這點電勢突然降低,是因 ...… 查看全部問答∨ |
一直沒接觸過操作系統, 程序中一直是一個while(1)循環, 順序執行相應的任務, 突發時間就用中斷處理, 如果用μC/OS-2, 有什么不一樣了?… 查看全部問答∨ |
本帖最后由 paulhyde 于 2014-9-15 03:46 編輯 1、基本儀器清單 數字電橋 直流穩壓電源 量角器 米尺 四位半數字萬用表 0~200℃溫度計 秒表 20MHz雙路普通示波器 2、主要元器件清單 MSP430單片機 顯示器件 小型電動車 晶體三極管 標準 ...… 查看全部問答∨ |
LCD通用時序設計: 原帖請見:http://www.cnblogs.com/fishplj2000/archive/2012/02/29/2373465.html 2012-02-29 15:08:34 一、水平掃描一行: parameter ||||| &nbs ...… 查看全部問答∨ |