一種基于半雙工通信系統(tǒng)的通信控制協(xié)議設(shè)計(jì)
時(shí)間:
孫健1由 分享
摘要:在許多控制系統(tǒng)中需要一個(gè)高效、簡(jiǎn)單、可靠的通信控制協(xié)議,用以保證設(shè)備將控制信息準(zhǔn)確的發(fā)往目標(biāo)設(shè)備。由于控制信息數(shù)據(jù)量小不需要進(jìn)行雙工通信,因此本文提出的通信控制協(xié)議只針對(duì)于半雙工通信控制系統(tǒng)。此外本協(xié)議具有通用性,可方便的移植到其他半雙工系統(tǒng)。
關(guān)鍵詞:控制、通信、協(xié)議、半雙工
Abstract:Need in many control systems a efficiently, simple, dependable correspondence control agreement, in order to promise that the equipments will control an information to accurately send to a target equipments.The control information amount of data's ising small doesn't need to carry on a pair of works correspondence, so this text put forward of the correspondence control agreement aim at work correspondence to control system at the half double.In addition this agreement has in general use, can conveniently transplant an other half double work system.
Keyword:Control, communication, negotiate, half double work
當(dāng)系統(tǒng)中的各個(gè)設(shè)備通過(guò)某種物理鏈路相互聯(lián)接起來(lái)以后,并不意味著它們之間就能夠立刻進(jìn)行數(shù)據(jù)交換了。設(shè)備之間要進(jìn)行通行還需要有通信的規(guī)則即通信協(xié)議。通信協(xié)議通常要規(guī)定通信的開(kāi)始與結(jié)束,數(shù)據(jù)的接受者,所傳送數(shù)據(jù)的校驗(yàn)方式以及鏈路的電氣接口參數(shù)等。
目前常見(jiàn)的協(xié)議有基于以太網(wǎng)的IEEE 802.3協(xié)議,基于CAN-BUS總線的CANopen協(xié)議等等。這些協(xié)議通常都比較成熟,它們或通信速度快、或通信可靠性高或抗干擾能力強(qiáng),因而得到了廣泛的應(yīng)用。但是在一些要求比較特殊的場(chǎng)合這些協(xié)議就不一定適用了。本文針對(duì)于對(duì)通信速度要求不高、對(duì)價(jià)格控制比較嚴(yán)格系統(tǒng),特別是控制系統(tǒng)設(shè)計(jì)了一種協(xié)議。這種協(xié)議基于半雙工通信系統(tǒng),具有通用性。
硬件系統(tǒng)參考模型如:圖1-1:系統(tǒng)是由一個(gè)總線控制器與若干個(gè)設(shè)備之間通過(guò)同一通信總線連接。總線控制器與設(shè)備,設(shè)備與設(shè)備之間能進(jìn)行半雙工通信。
圖 1-1
由于采用的是總線連接方式可以使得系統(tǒng)的成本大大降低,但是由于總線的特點(diǎn)不允許同時(shí)有兩個(gè)或以上的設(shè)備發(fā)送數(shù)據(jù)。因此需要總線控制器對(duì)總線的控制權(quán)進(jìn)行分配。
具體的通信過(guò)程類(lèi)似于令牌環(huán)網(wǎng),首先總線控制器會(huì)登記在總線上的設(shè)備地址,然后按照一定的算法發(fā)出某一設(shè)備的總線控制允許信號(hào)。設(shè)備在沒(méi)有得到總線控制允許信號(hào)時(shí)都時(shí)處于聽(tīng)者狀態(tài)的,一旦收到屬于自己的總線控制信號(hào)后則將數(shù)據(jù)發(fā)送到總線上。設(shè)備發(fā)送數(shù)據(jù)時(shí)總線控制器處于聽(tīng)者狀態(tài)一旦受到設(shè)備數(shù)據(jù)發(fā)送完畢信號(hào)立即將下一設(shè)備的總線允許控制信號(hào)發(fā)出,從而將總線控制權(quán)交給下一個(gè)設(shè)備。
在通信系統(tǒng)中通常把要傳輸?shù)男畔⒎殖扇舾蓚€(gè)塊來(lái)傳送,每個(gè)塊加上控制信息成為一幀。同樣在本協(xié)議的參考模型中數(shù)據(jù)的傳送也是以幀為單位的,并且設(shè)備在一次總周期中只能發(fā)送一幀。本協(xié)議采用組幀技術(shù)[1]。規(guī)定幀的正常開(kāi)始與結(jié)束用二進(jìn)制串01n0(n取6表示6個(gè)連續(xù)的1)稱(chēng)為Flag。當(dāng)設(shè)備接收到6個(gè)連續(xù)的‘1’時(shí)表示一幀的正常開(kāi)始,再接收到連續(xù)的劉個(gè)‘1’時(shí)表示一幀的正常結(jié)束。如設(shè)備接收到連續(xù)的7個(gè)或以上時(shí)表示非正常開(kāi)始或結(jié)束。如幀中的數(shù)據(jù)有連續(xù)的6個(gè)‘1’時(shí),則在連續(xù)的5個(gè)‘1’后插入一個(gè)‘0’來(lái)解決與Flag的沖突。設(shè)備在接收到連續(xù)的5個(gè)‘1’后自動(dòng)將其后的‘0’刪除,如在其后的時(shí)‘1’則表示一幀的結(jié)束。
考慮到低速系統(tǒng)采用處理器多為8位數(shù)據(jù),且本協(xié)議傳送的數(shù)據(jù)主要為控制信息。規(guī)定一幀的長(zhǎng)度位32個(gè)二進(jìn)制位,其中高八位與低八位為幀開(kāi)始與結(jié)束的Flag,中間16位為數(shù)據(jù)位。
如同信數(shù)據(jù)為控制信息這可規(guī)定數(shù)據(jù)位中高8位為地址數(shù)據(jù)如出現(xiàn)又連續(xù)6個(gè)‘1’的情況,則使用數(shù)據(jù)位中低8位的最高位擴(kuò)展。數(shù)據(jù)位中低8位的次高位固定為‘0’緊接的4位為控制信息稱(chēng)為C_flag,其后一位固定為‘0’再后一位為奇校驗(yàn)位。C_Flag的0H與fH保留用于總線控制器。0H用于總線控制權(quán)移交,fH用于登記地址。
典型應(yīng)用:
系統(tǒng)采用圖1-1所示模型,共有三個(gè)設(shè)備地址分別為00H、0fH、ffH。首先由總線控制器發(fā)出地址登記命令,如有該地址設(shè)備則該設(shè)備發(fā)出與總線控制器先前發(fā)處信號(hào)相同信號(hào),總線控制器登記該地址。如總線控制器發(fā)出7e003d7eH登記00H設(shè)備,受到信號(hào)后00H設(shè)備也發(fā)出7e003d7eH用以登記地址,登記一個(gè)設(shè)備地址以后總線控制器將按自然數(shù)遞增的方法一直登記到最后一個(gè)地址。最后一個(gè)地址登記的信號(hào)為:7efbbd7eH。
登記完地址以后總線控制器只發(fā)出登記了地址的設(shè)備總線控制允許信號(hào),這樣可以減少浪費(fèi)的時(shí)間。如發(fā)出的ffH設(shè)備總線控制允許信號(hào)應(yīng)為7efb817eH。
以上介紹了本協(xié)議適用的范圍與產(chǎn)生背景,由于具有一定的普遍意義可以很方便的引用到單片及控制系統(tǒng)中。當(dāng)然在開(kāi)發(fā)中還有較多的注意事項(xiàng),例如設(shè)備失靈時(shí)總線控制器的等待只能在一定的時(shí)間內(nèi),否則的會(huì)引起假死狀態(tài)。因此本協(xié)議的適用可跟據(jù)具體的系統(tǒng)做一些適當(dāng)?shù)难a(bǔ)充規(guī)定。
參考文獻(xiàn):
[1]李建東,盛敏編著.通信網(wǎng)絡(luò)基礎(chǔ)[M].北京:高等教育出版社,2004.8
注釋?zhuān)?br/> ?、夙?xiàng)目基金:貴陽(yáng)學(xué)院2008院級(jí)課題。
?、谧髡吆?jiǎn)介:孫?。?979-)貴陽(yáng)學(xué)院物理與電子信息科學(xué)系講師;貴州大學(xué)2006級(jí)在讀研究生,主要研究通信與自動(dòng)控制。
關(guān)鍵詞:控制、通信、協(xié)議、半雙工
Abstract:Need in many control systems a efficiently, simple, dependable correspondence control agreement, in order to promise that the equipments will control an information to accurately send to a target equipments.The control information amount of data's ising small doesn't need to carry on a pair of works correspondence, so this text put forward of the correspondence control agreement aim at work correspondence to control system at the half double.In addition this agreement has in general use, can conveniently transplant an other half double work system.
Keyword:Control, communication, negotiate, half double work
當(dāng)系統(tǒng)中的各個(gè)設(shè)備通過(guò)某種物理鏈路相互聯(lián)接起來(lái)以后,并不意味著它們之間就能夠立刻進(jìn)行數(shù)據(jù)交換了。設(shè)備之間要進(jìn)行通行還需要有通信的規(guī)則即通信協(xié)議。通信協(xié)議通常要規(guī)定通信的開(kāi)始與結(jié)束,數(shù)據(jù)的接受者,所傳送數(shù)據(jù)的校驗(yàn)方式以及鏈路的電氣接口參數(shù)等。
目前常見(jiàn)的協(xié)議有基于以太網(wǎng)的IEEE 802.3協(xié)議,基于CAN-BUS總線的CANopen協(xié)議等等。這些協(xié)議通常都比較成熟,它們或通信速度快、或通信可靠性高或抗干擾能力強(qiáng),因而得到了廣泛的應(yīng)用。但是在一些要求比較特殊的場(chǎng)合這些協(xié)議就不一定適用了。本文針對(duì)于對(duì)通信速度要求不高、對(duì)價(jià)格控制比較嚴(yán)格系統(tǒng),特別是控制系統(tǒng)設(shè)計(jì)了一種協(xié)議。這種協(xié)議基于半雙工通信系統(tǒng),具有通用性。
硬件系統(tǒng)參考模型如:圖1-1:系統(tǒng)是由一個(gè)總線控制器與若干個(gè)設(shè)備之間通過(guò)同一通信總線連接。總線控制器與設(shè)備,設(shè)備與設(shè)備之間能進(jìn)行半雙工通信。
圖 1-1
由于采用的是總線連接方式可以使得系統(tǒng)的成本大大降低,但是由于總線的特點(diǎn)不允許同時(shí)有兩個(gè)或以上的設(shè)備發(fā)送數(shù)據(jù)。因此需要總線控制器對(duì)總線的控制權(quán)進(jìn)行分配。
具體的通信過(guò)程類(lèi)似于令牌環(huán)網(wǎng),首先總線控制器會(huì)登記在總線上的設(shè)備地址,然后按照一定的算法發(fā)出某一設(shè)備的總線控制允許信號(hào)。設(shè)備在沒(méi)有得到總線控制允許信號(hào)時(shí)都時(shí)處于聽(tīng)者狀態(tài)的,一旦收到屬于自己的總線控制信號(hào)后則將數(shù)據(jù)發(fā)送到總線上。設(shè)備發(fā)送數(shù)據(jù)時(shí)總線控制器處于聽(tīng)者狀態(tài)一旦受到設(shè)備數(shù)據(jù)發(fā)送完畢信號(hào)立即將下一設(shè)備的總線允許控制信號(hào)發(fā)出,從而將總線控制權(quán)交給下一個(gè)設(shè)備。
在通信系統(tǒng)中通常把要傳輸?shù)男畔⒎殖扇舾蓚€(gè)塊來(lái)傳送,每個(gè)塊加上控制信息成為一幀。同樣在本協(xié)議的參考模型中數(shù)據(jù)的傳送也是以幀為單位的,并且設(shè)備在一次總周期中只能發(fā)送一幀。本協(xié)議采用組幀技術(shù)[1]。規(guī)定幀的正常開(kāi)始與結(jié)束用二進(jìn)制串01n0(n取6表示6個(gè)連續(xù)的1)稱(chēng)為Flag。當(dāng)設(shè)備接收到6個(gè)連續(xù)的‘1’時(shí)表示一幀的正常開(kāi)始,再接收到連續(xù)的劉個(gè)‘1’時(shí)表示一幀的正常結(jié)束。如設(shè)備接收到連續(xù)的7個(gè)或以上時(shí)表示非正常開(kāi)始或結(jié)束。如幀中的數(shù)據(jù)有連續(xù)的6個(gè)‘1’時(shí),則在連續(xù)的5個(gè)‘1’后插入一個(gè)‘0’來(lái)解決與Flag的沖突。設(shè)備在接收到連續(xù)的5個(gè)‘1’后自動(dòng)將其后的‘0’刪除,如在其后的時(shí)‘1’則表示一幀的結(jié)束。
考慮到低速系統(tǒng)采用處理器多為8位數(shù)據(jù),且本協(xié)議傳送的數(shù)據(jù)主要為控制信息。規(guī)定一幀的長(zhǎng)度位32個(gè)二進(jìn)制位,其中高八位與低八位為幀開(kāi)始與結(jié)束的Flag,中間16位為數(shù)據(jù)位。
如同信數(shù)據(jù)為控制信息這可規(guī)定數(shù)據(jù)位中高8位為地址數(shù)據(jù)如出現(xiàn)又連續(xù)6個(gè)‘1’的情況,則使用數(shù)據(jù)位中低8位的最高位擴(kuò)展。數(shù)據(jù)位中低8位的次高位固定為‘0’緊接的4位為控制信息稱(chēng)為C_flag,其后一位固定為‘0’再后一位為奇校驗(yàn)位。C_Flag的0H與fH保留用于總線控制器。0H用于總線控制權(quán)移交,fH用于登記地址。
典型應(yīng)用:
系統(tǒng)采用圖1-1所示模型,共有三個(gè)設(shè)備地址分別為00H、0fH、ffH。首先由總線控制器發(fā)出地址登記命令,如有該地址設(shè)備則該設(shè)備發(fā)出與總線控制器先前發(fā)處信號(hào)相同信號(hào),總線控制器登記該地址。如總線控制器發(fā)出7e003d7eH登記00H設(shè)備,受到信號(hào)后00H設(shè)備也發(fā)出7e003d7eH用以登記地址,登記一個(gè)設(shè)備地址以后總線控制器將按自然數(shù)遞增的方法一直登記到最后一個(gè)地址。最后一個(gè)地址登記的信號(hào)為:7efbbd7eH。
登記完地址以后總線控制器只發(fā)出登記了地址的設(shè)備總線控制允許信號(hào),這樣可以減少浪費(fèi)的時(shí)間。如發(fā)出的ffH設(shè)備總線控制允許信號(hào)應(yīng)為7efb817eH。
以上介紹了本協(xié)議適用的范圍與產(chǎn)生背景,由于具有一定的普遍意義可以很方便的引用到單片及控制系統(tǒng)中。當(dāng)然在開(kāi)發(fā)中還有較多的注意事項(xiàng),例如設(shè)備失靈時(shí)總線控制器的等待只能在一定的時(shí)間內(nèi),否則的會(huì)引起假死狀態(tài)。因此本協(xié)議的適用可跟據(jù)具體的系統(tǒng)做一些適當(dāng)?shù)难a(bǔ)充規(guī)定。
參考文獻(xiàn):
[1]李建東,盛敏編著.通信網(wǎng)絡(luò)基礎(chǔ)[M].北京:高等教育出版社,2004.8
注釋?zhuān)?br/> ?、夙?xiàng)目基金:貴陽(yáng)學(xué)院2008院級(jí)課題。
?、谧髡吆?jiǎn)介:孫?。?979-)貴陽(yáng)學(xué)院物理與電子信息科學(xué)系講師;貴州大學(xué)2006級(jí)在讀研究生,主要研究通信與自動(dòng)控制。