基于SDLC協(xié)議的同步RS 485總線(xiàn)控制器的設計
1 SDLC協(xié)議和RS 485總線(xiàn)協(xié)議介紹
1.1 SDLC協(xié)議簡(jiǎn)介
同步數據鏈路控制(SDLC)是19世紀70年代IBM公司開(kāi)發(fā)的傳輸協(xié)議,它取代了二進(jìn)制同步(BSC)協(xié)議。SDLC等價(jià)于網(wǎng)絡(luò )通信中的開(kāi)放系統互連(0SI)模型的第二層。這一層協(xié)議保證數據單元從一個(gè)網(wǎng)絡(luò )端點(diǎn)成功到達下一個(gè),流到正確位置。
SDLC使用通信初級站一次級站模型。在IBM大型機網(wǎng)絡(luò )中,主機通常是初級站和工作站,其他設備為次級站,各個(gè)次級站有自身的地址。多個(gè)設備或次級站使用多點(diǎn)排列連接到一條公共線(xiàn)。SDLC也可用于點(diǎn)到點(diǎn)通信,它主要用在寬域網(wǎng)(WAN)的遠程通信。
SDLC是國際標準化組織(ISO)的標準數據鏈協(xié)議高層次數據鏈控制(HDLC)的基礎。它成為IBM的系統網(wǎng)絡(luò )結構(SNA)和系統應用結構(ASS)的一部分,現在仍然廣泛應用于大型機數據鏈控制中。
1.2 RS 485總線(xiàn)協(xié)議簡(jiǎn)介
電子工業(yè)協(xié)會(huì )EIA于1983年制訂并發(fā)布RS 485標準,并經(jīng)TIA通信工業(yè)協(xié)會(huì )修訂后命名為T(mén)IA/EIA一485一A,習慣地稱(chēng)之為RS 485。RS 485是為彌補Rs 232通信距離短、速率低等缺點(diǎn)而產(chǎn)生的。其只規定了平衡驅動(dòng)器和接收器的電特性,而沒(méi)有規定接插件、傳輸電纜和應用層通信協(xié)議。因而在當時(shí)看來(lái)是一種相對經(jīng)濟,具有相當高噪聲抑制,相對高的傳輸速率,傳輸距離遠和寬的通信平臺。
RS 485接口大多連接成半雙工通信方式,其主要特點(diǎn)有:平衡差分傳輸,多點(diǎn)通信;雙絞線(xiàn)傳輸。理想情況下最大輸入電流為0.18~110 mA(一7~+12 V);最大總線(xiàn)負載為32個(gè)單位負載(UL);最大傳輸速率為10 Mb/s;最大電纜長(cháng)度為121 912 m(4 000 ft);差分輸入范圍為一7~+12 V。RS 485總線(xiàn)在通信距離為幾十米到上千米時(shí),廣泛采用RS 485串行總線(xiàn)標準。RS 485采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。加上總線(xiàn)收發(fā)器具有高靈敏度,能檢測低至200 mV的電壓,故傳輸信號能在千米以外得到恢復。RS 485采用半雙工工作方式,任何時(shí)候只能有一點(diǎn)處于發(fā)送狀態(tài),因此,發(fā)送電路需由使能信號加以控制。RS 485用于多點(diǎn)互連時(shí)非常方便,可以省掉許多信號線(xiàn)。應用RS 485可以聯(lián)網(wǎng)構成分布式系統,其允許最多并聯(lián)32臺驅動(dòng)器和32臺接收器。
2 設計思想及原理
眾所周知,經(jīng)常接觸的網(wǎng)絡(luò )拓撲結構有星型、環(huán)型和總線(xiàn)型3種結構。但是RS 485有其特殊的性能限制了該設計只能采用總線(xiàn)型結構,如圖1所示。
在該設計中,采用多站點(diǎn)通信方式,它與一般的通信方式不同,這里采用的是主從結構式,也就是說(shuō)在這多點(diǎn)通信過(guò)程中,只設一個(gè)主站,其他都為從站。在通信過(guò)程中,從站只能與主站之間進(jìn)行數據交換,而從站與從站之間要進(jìn)行數據交z只能通過(guò)主站進(jìn)行中轉。每一個(gè)站都有他自身的站地址.通信開(kāi)始所有從站處于接收狀態(tài),等待主站的呼叫。當主站以命令包的形式向
鏈路上某一從站發(fā)出命令時(shí),所有從站接收命令幀中的站地址信息,并與自己站地址相比較,如果相符,說(shuō)明主站在呼叫自己,從而接收并解析和執行命令;之后從站應向主站發(fā)回應答信息數據后以結束本次通信,否則不予理睬,繼續等待接收。在通信結束后,從站繼續處于接收狀態(tài),等待命令。
3 多站點(diǎn)實(shí)現方式
3.1 工作方式
常見(jiàn)的RS 485站點(diǎn)多為2個(gè)站點(diǎn),這里給出多站點(diǎn)下RS 485的工作方式。RS 485多站通信方式一般分為正常模式、監聽(tīng)模式和廣播模式。
RS 485多站通信過(guò)程中,主站與從站之間進(jìn)行數據交換,根據通信協(xié)議規定,每一個(gè)站都有自己的站地址。主站在發(fā)送數據時(shí)幀頭是從站的站地址,在正常模式下,從站只能接受到跟自己地址相匹配的一對一數據,如果跟自己地址不匹配則只能等待,直到等到跟自己地址匹配再開(kāi)始接收數據。而監聽(tīng)模式則是從站地址為0XFF,不管主站的地址是什么,從站都能收到數據,這也就是所謂的監聽(tīng)。相對于監聽(tīng)來(lái)說(shuō)廣播模式則相反,廣播模式是主站設置為0XFF,不管從站的地址是什么,從站都能收到主站發(fā)過(guò)來(lái)的數據。通過(guò)以上3種方式,Rs 485多站點(diǎn)通信方式的測試具有有效性與合理性。
3.2 工作流程
為了使通信協(xié)議簡(jiǎn)單,通信可靠,在通信系統中常采用“主一從”及“命令一應答”方式。即每次通信工作均由“主站”發(fā)出命令幀,由“從站”返回響應幀。在定義通信協(xié)議時(shí),還應明確:明確幀的最大長(cháng)度和最小長(cháng)度;明確幀是周期或非周期傳輸;若為周期性,明確發(fā)送方周期時(shí)間及幀間最大時(shí)間間隔。另外,協(xié)議中還需定義通信失敗的處理方法,如:本幀通信出錯要求重試和重試的次數;重試仍然出錯,則采用重新初始化通信接口或切換通信通道;如果上述兩點(diǎn)措施后仍然出錯,則報告通信故障,停止。為此該系統的工作流程如圖2所示。
評論