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