摘要:論述設(shè)計(jì)通信規(guī)約管理平臺的必要性與可行性;借鑒操作系統(tǒng)的PCB思想,結(jié)合面向?qū)ο蟮姆椒▽W(xué)提出通信規(guī)約管理平臺設(shè)計(jì)的核心思想——用戶填寫靜態(tài)規(guī)約說明書。規(guī)約管理平臺根據(jù)規(guī)約書生成通信規(guī)約控制塊,由規(guī)約控制塊控制、管理并適應(yīng)千差萬別規(guī)約程序的運(yùn)行。 關(guān)鍵詞:平臺 規(guī)約說明書 CPCB 動(dòng)態(tài)描述靜態(tài)描述 邏輯描述 引言 眾所周知,通信的雙方必須遵守相同的協(xié)議,報(bào)文才能互相識別。目前,不同行業(yè)間的通信協(xié)議千差萬別。為解決不同通信協(xié)議間的計(jì)算機(jī)系統(tǒng)通信問題,人們普遍采用的措施是一個(gè)具體規(guī)約對應(yīng)一段程序。如果出現(xiàn)新規(guī)約,只能由通信雙方共同配合,由一方按另一方的標(biāo)準(zhǔn)修改或增加通信規(guī)約來解決問題。這種解決措施使得通信系統(tǒng)的適應(yīng)能力不強(qiáng)、可維護(hù)性差,難以兼容不同規(guī)約的設(shè)備。 筆者借鑒操作系統(tǒng)進(jìn)程控制塊PCB的思想,通過對各種通信規(guī)約的認(rèn)真分析研究,提出了自己的通信規(guī)約管理平臺的核心設(shè)計(jì)思想——用戶填寫指定格式的靜態(tài)規(guī)約說明書。規(guī)約管理平臺根據(jù)規(guī)約書生成通信規(guī)約控制塊,由規(guī)約控制塊統(tǒng)一控制、管理,并適應(yīng)千差萬別規(guī)約程序的運(yùn)行。 該平臺的設(shè)計(jì)使得系統(tǒng)能夠適應(yīng)千差萬別的通信規(guī)約,不用修改程序就能夠保證通信系統(tǒng)在線運(yùn)行情況下,接入各種新設(shè)備,以不變的程序應(yīng)對萬變的規(guī)約,維護(hù)真正做到傻瓜化、智能化。 1 設(shè)計(jì)通信規(guī)約管理平臺的可行性 1.1 統(tǒng)一的通信模型 任何兩臺計(jì)算機(jī)上的兩個(gè)應(yīng)用程序通信,都遵從如圖1所示的通信模型。數(shù)據(jù)流動(dòng)可以用收到發(fā)兩個(gè)動(dòng)作來描述。把提出數(shù)據(jù)請求服務(wù)的應(yīng)用程序稱為控制方向、即命令的下行;把提供數(shù)據(jù)服務(wù)的應(yīng)用程序稱為監(jiān)測方向,即數(shù)據(jù)的上行。這樣,一個(gè)完整的規(guī)約有控制方和監(jiān)測方兩個(gè)方面。控制方向下發(fā)送命令,并解析監(jiān)測方發(fā)來的應(yīng)答或主動(dòng)上報(bào)的數(shù)據(jù)或狀態(tài)指示報(bào)文;監(jiān)測方解析命令,根據(jù)請求命令組織應(yīng)答報(bào)文并上傳。 1.2 通信規(guī)約的共性 任何通信規(guī)約都具有如下共同特征;幀結(jié)構(gòu)的相似性、數(shù)據(jù)對象種類和報(bào)文長度的有限性、報(bào)文流的粒子性、邏輯過程的有窮性、傳送原因的可分類性。 (1)幀結(jié)構(gòu)的相似性 每幀報(bào)文都有圖2所示的傳輸控制部分。 傳輸控制部分的目的之一是保證要傳輸?shù)臄?shù)據(jù)最終能夠正確到達(dá)目的地。傳輸控制部分包括同步字對象、長度對象、傳輸方向?qū)ο?、源地址對象、目的地址對象、幀號對象、功能符對象、結(jié)束符對象、其它對象及校驗(yàn)碼十種對象構(gòu)成。任何具體的規(guī)約都是上述對象的全部或基子集的一個(gè)具體排列。 數(shù)據(jù)部分就是用傳輸控制元素封裝起來的傳輸數(shù)據(jù)。 (2)數(shù)據(jù)對象種類和報(bào)文長度的有限性 數(shù)據(jù)對象是通信規(guī)約真正要傳輸?shù)膶ο?。任何一個(gè)具體應(yīng)用,要傳輸數(shù)據(jù)對象的種類是有限的,因而人們能夠通過具體的通信規(guī)約將其進(jìn)行描述。通信規(guī)允管理平臺同樣也能被描述出來。 任何規(guī)約一幀報(bào)文的最大長度都是有限的,這樣不但可以遏制通信線路上長期被個(gè)別設(shè)備獨(dú)占,也減少了錯(cuò)誤傳的次數(shù)與重傳時(shí)間。一旦要傳輸?shù)臄?shù)據(jù)超過規(guī)定幀長,要分幀發(fā)送,接收方根據(jù)幀號來組裝源數(shù)據(jù)。 (3)報(bào)文流的粒子性 更重要的是任何報(bào)文流的最小單位都是一個(gè)二進(jìn)制位,相應(yīng)報(bào)文的最小定義單元也是一個(gè)二進(jìn)制位,這是所有通信規(guī)約的共性,不同的是各位間含義不同。任何規(guī)約的不同定義都在報(bào)文流有不同的確定位置(對位而言),數(shù)據(jù)發(fā)送是以字節(jié)為單位的。所以,引入順序號的概念來描述并指示定義在不同報(bào)文中的起始位置(相對于合法報(bào)文的第一個(gè)同步字)和位數(shù),順序號屬性就成了所有對象的共同屬性。描述如下: *字節(jié)序號——定義在一個(gè)以字節(jié)為單位,合法幀中數(shù)據(jù)成員占有的邏輯序號,第一個(gè)起始符為邏輯序號0(C、C++下標(biāo)從0開始),根據(jù)在數(shù)據(jù)流中出現(xiàn)的先后順序遞增; *字節(jié)內(nèi)的起始位號——字節(jié)內(nèi)的開始位號,取值范圍0~7; *位數(shù)——用幾位表示。 struct CommSerial {unsigned int SerialByte; unsigned char ByteStartBit,ByteEndBit}my={2,0,8}; 字節(jié)順序號為2,字節(jié)內(nèi)起始位號為0,位數(shù)為8,說明是幀中的第三個(gè)字節(jié)。如果規(guī)約用已有定義的字節(jié)的空位來定義,順序號可以重復(fù),但位號不能重復(fù),用累加實(shí)現(xiàn)。 (4)邏輯規(guī)則的有窮性 邏輯規(guī)則包含以下四個(gè)方面。 ①命令應(yīng)答關(guān)系規(guī)則:包括通信雙方中,控制方發(fā)送的命令和監(jiān)測方的應(yīng)答數(shù)據(jù)對應(yīng)關(guān)系,以及監(jiān)測方的狀態(tài)指示和控制方的發(fā)送命令關(guān)系兩個(gè)方面。這種對應(yīng)關(guān)系是確定的、有限的和可描述的。 ②雙方數(shù)據(jù)發(fā)送的時(shí)間規(guī)則:控制方的自動(dòng)輪詢時(shí)間規(guī)則、監(jiān)視方主動(dòng)上報(bào)的時(shí)間規(guī)則及人工隨機(jī)干預(yù)的控制命令,以上都是有限的與確定的。 ③優(yōu)先級規(guī)則:控制方同時(shí)出現(xiàn)多種要發(fā)送的命令,應(yīng)按優(yōu)先級規(guī)則進(jìn)行傳送。 ④在幀結(jié)構(gòu)的各控制元素一級封裝下,數(shù)據(jù)對象本身又進(jìn)行了二級封裝。這種二級封可按一級封裝的方式解決。 (5)傳送原因的可分類性 控制方的傳輸原因有自動(dòng)輪詢、人工隨機(jī)干預(yù)、監(jiān)視方出現(xiàn)需優(yōu)先處理的狀態(tài)或指示;監(jiān)視方向的傳輸原因有受召喚與主動(dòng)上報(bào)兩種。 綜上所述,通信規(guī)約管理平臺的設(shè)計(jì)是完全可行的。 管理平臺組織方式是將規(guī)約按照統(tǒng)一格式分解,以形成規(guī)約說明書或規(guī)約描述文件,將之放在外存,啟動(dòng)注冊命令,管理平臺將規(guī)約說明書進(jìn)行系統(tǒng)注冊,填入規(guī)約注冊控制表。運(yùn)行時(shí),管理平臺從規(guī)約注意表中提取指定的規(guī)約說明書,并找到一個(gè)空白規(guī)約控制塊CPCB,根據(jù)規(guī)約說明文件填寫CPCB,再由CPCB控制管理這個(gè)具體規(guī)約的運(yùn)行。空白規(guī)約控制塊的個(gè)數(shù)是有限的。一個(gè)進(jìn)程按照CPCB的內(nèi)容來運(yùn)行,同時(shí)一個(gè)進(jìn)程管理一個(gè)硬件通信端口資源,即通信端口的數(shù)量決定通信進(jìn)程的數(shù)量。平臺可根據(jù)運(yùn)行各規(guī)約的實(shí)現(xiàn)性要求,來安排一個(gè)進(jìn)程運(yùn)行CPCB的數(shù)量。當(dāng)然,一個(gè)進(jìn)程依照一個(gè)CPCB運(yùn)行是容易實(shí)現(xiàn)的。 2.1 規(guī)約說明書 規(guī)約說明書由基本情況表、靜態(tài)描述表、動(dòng)態(tài)描述表、邏輯規(guī)則表構(gòu)成。靜態(tài)描述表由控制元素對象中不隨時(shí)間變化而變化的屬性信息及其它信息組成;動(dòng)態(tài)描述表用于描述隨時(shí)間不斷變化的控制元素和數(shù)據(jù)元素信息及其它信息;邏輯描述表由命令應(yīng)答關(guān)系表、應(yīng)答命令表、時(shí)間規(guī)則表、優(yōu)先級規(guī)則表、篩選規(guī)則表和二級封裝規(guī)則表組成。 (1)基本情況表 包括規(guī)約名稱、最大幀長、數(shù)據(jù)對象個(gè)數(shù)、命令對象個(gè)數(shù)和狀態(tài)指示對象個(gè)數(shù),如圖3(a)所示。 (2)靜態(tài)描述 由同步字、傳輸方向、源地址、結(jié)束符及其它6種數(shù)據(jù)對象構(gòu)成,如圖3(b)所示。同步字標(biāo)志一幀數(shù)據(jù)的開始;傳輸方向說明當(dāng)前是工作在控制方向還是標(biāo)志測方向;源地址說明報(bào)文的發(fā)送設(shè)備地址;結(jié)束符標(biāo)志一幀報(bào)文的尾;其它對象指向所有不在上述靜態(tài)描述之中的控制元素對象鏈的隊(duì)首。靜態(tài)描述中的每個(gè)控制元素對象都有本規(guī)約內(nèi)全局統(tǒng)一的標(biāo)識號(ID)。 (3)動(dòng)態(tài)描述 用于描述隨時(shí)間具體因素控制而不斷變化的信息,它包括幀號對象、校驗(yàn)碼對象、報(bào)文長度對象、數(shù)據(jù)對象、請求命令對象、應(yīng)答命令對象、目的地址對象及其它對象,如圖3(c)所示。幀號是完整報(bào)文的分幀傳送,規(guī)約規(guī)定的報(bào)文幀的幀長是有限的;超限時(shí)分幀傳送,發(fā)送方指明幀號,接受方按幀號重新組裝。校驗(yàn)碼對象用于傳輸差錯(cuò)控制,檢驗(yàn)一幀報(bào)文的合法性。報(bào)文長度對象管理并指明有效數(shù)據(jù)的長度。數(shù)據(jù)對象按應(yīng)答命令對象指明的類型組織該類數(shù)據(jù)。目的地址對于控制方向,指明服務(wù)的設(shè)備地址,它可能向多個(gè)設(shè)備輪流請求;對于監(jiān)測方向,指明請求服務(wù)的設(shè)備地址。數(shù)據(jù)對象取決于具體規(guī)約的定義。應(yīng)答命令對換快捷指明應(yīng)答數(shù)據(jù)對象的類型。請求命令對象指明控制方向,向目的設(shè)備下發(fā)請求數(shù)據(jù)狀態(tài)對象命令,并組織報(bào)文幀。應(yīng)答命令對象和請求命令對象管理的措施與數(shù)據(jù)狀態(tài)對象相同。當(dāng)然,應(yīng)答數(shù)據(jù)狀態(tài)表和請求命令表是靜態(tài)的,在此便于說明;而數(shù)據(jù)狀態(tài)對象表是動(dòng)態(tài)的。 動(dòng)態(tài)描述中的控制元素對象和數(shù)據(jù)元素對象也都由本規(guī)約內(nèi)全局統(tǒng)一的ID號來識別;ID號由ID注冊管理程序生成,填寫規(guī)約自己所賂的ID注冊表。 (4)靜態(tài)對象和動(dòng)態(tài)對象公有的屬性 ①順序號對象:如前所述,它指明某一元素對象在報(bào)文流中的起始位置和所占的連續(xù)二進(jìn)制位數(shù)。 ②ID號對象是全局統(tǒng)一的,它由六段依次連接而成,即一段、二段、三段、四段、五段、六段。根據(jù)ID可以識別提取不同的元素對象,它是各控制元素和數(shù)據(jù)元素的唯一標(biāo)識。 一段是注冊后的規(guī)約ID號,高段的位數(shù)由規(guī)約ID號位數(shù)決定。二段是區(qū)分上行與下行,用一位二進(jìn)制位就可區(qū)分。三段用于說明具體的規(guī)約是否含有對應(yīng)的元素對象,它說明的是有與無。四段用于區(qū)分源地址、目的地址、傳輸方向、同步字、其它靜態(tài)對象、幀號、校驗(yàn)碼、報(bào)文長度、請求命令符、應(yīng)答命令符、其它動(dòng)態(tài)對象和數(shù)據(jù)對象,共12種,用4位二進(jìn)制位就可區(qū)分。五段用于說明四段之中的每一種是否具有原子性,比如同步字就具有原子性。當(dāng)子種類多于一個(gè)同步字時(shí),也相當(dāng)于一個(gè),要發(fā)就全發(fā),不可分割;而請求命令符就不具有原子性,只能發(fā)出其子種類之中的一種。原子性是個(gè)布爾量,一位二進(jìn)制就可描述。六段用于說明當(dāng)上述12種之中任一種超過一個(gè)時(shí),就可用第5段描述,比如同步字6個(gè),就得用三位,選取上述12種之中子種類最多的一個(gè)和為第五段的位數(shù)。 ③拷貝、賦值、被拷貝:在報(bào)文流中的其它類元素對象中,當(dāng)出現(xiàn)與已有定義的控制元素對象表示值重復(fù)時(shí),引進(jìn)對象的拷貝與被拷貝屬性。賦值屬性說明該元素指的是已獨(dú)立的定義值。相應(yīng)的,引入拷貝與賦值操作。 邏輯描述信息由下列表構(gòu)成: ①控制方發(fā)送的命令被監(jiān)測方收到后,監(jiān)測方予以應(yīng)答的數(shù)據(jù)對象ID對應(yīng)關(guān)系表; ②控制方收到監(jiān)測方的狀態(tài)指示后,控制方應(yīng)響應(yīng)的發(fā)送命令I(lǐng)D對應(yīng)關(guān)系表; ③控制方發(fā)送輪詢命令I(lǐng)D時(shí)間間隔表; ④控制方的人工干預(yù)控制命令I(lǐng)D表; ⑤監(jiān)測方的主動(dòng)上報(bào)數(shù)據(jù)表、狀態(tài)ID表; ⑥控制方發(fā)送命令I(lǐng)D優(yōu)先級的規(guī)則表; ⑦監(jiān)測方應(yīng)答數(shù)據(jù)與主動(dòng)上報(bào)的ID優(yōu)先級規(guī)則表; ⑧二級封裝規(guī)則表。 2.2 規(guī)約控制埠CPCB 通信平臺的某一通信進(jìn)程在運(yùn)行時(shí),如未匹配通信規(guī)約,則運(yùn)行空規(guī)約。如收到控制臺發(fā)來的匹配命令,則從規(guī)約注冊表中提取規(guī)約說明書,并從空白CPCB鏈表中摘下一個(gè),將它鏈入運(yùn)行CPCB鏈表,按照規(guī)約說明書的內(nèi)容填寫該CPCB,填寫完畢即投入運(yùn)行。這樣,在邏輯規(guī)則的控制下,各靜態(tài)對象和動(dòng)態(tài)對象各司其職而又發(fā)送消息協(xié)同工作,整個(gè)平臺就會(huì)有條不紊地動(dòng)作。 |
- 嵌入式系(13927)
- 平臺設(shè)計(jì)(5848)
相關(guān)推薦
嵌入式系統(tǒng)串行設(shè)備管理怎么實(shí)現(xiàn)?
嵌入式系統(tǒng)內(nèi)存管理
嵌入式系統(tǒng)原理(簡介與入門)+嵌入式系統(tǒng)開發(fā)的模式與流程
嵌入式系統(tǒng)復(fù)習(xí)資料
嵌入式系統(tǒng)學(xué)習(xí)步驟
嵌入式系統(tǒng)學(xué)習(xí)步驟
嵌入式系統(tǒng)學(xué)習(xí)步驟,帶你輕松入門??!
嵌入式系統(tǒng)手機(jī)編程開發(fā)平臺實(shí)現(xiàn)什么功能?
嵌入式系統(tǒng)是什么 什么叫嵌入式系統(tǒng)
嵌入式系統(tǒng)是由哪些部分組成的?實(shí)時(shí)嵌入式系統(tǒng)特征有哪些
嵌入式系統(tǒng)測試教學(xué)實(shí)訓(xùn)平臺由哪幾部分組成
嵌入式系統(tǒng)測試教學(xué)實(shí)訓(xùn)平臺的用途
嵌入式系統(tǒng)電子的實(shí)時(shí)性是什么?
嵌入式系統(tǒng)的平臺化趨勢是什么?
嵌入式系統(tǒng)的通信規(guī)約管理平臺該怎么設(shè)計(jì)?
嵌入式系統(tǒng)的發(fā)展歷史
嵌入式系統(tǒng)的知識體系
嵌入式系統(tǒng)的硬件平臺組成
嵌入式系統(tǒng)組件的設(shè)計(jì)原則是什么
嵌入式通信
嵌入式通信
嵌入式通信控制系統(tǒng)有什么設(shè)計(jì)關(guān)鍵點(diǎn)?
嵌入式Linux系統(tǒng)的設(shè)計(jì)與應(yīng)用
嵌入式Linux應(yīng)用開發(fā)詳解 光盤
嵌入式Socket通信怎么實(shí)現(xiàn)?
嵌入式學(xué)習(xí)步驟
嵌入式學(xué)習(xí)步驟
嵌入式學(xué)習(xí)路線 嵌入式學(xué)習(xí)路線詳解
嵌入式實(shí)時(shí)操作系統(tǒng)如何簡化應(yīng)用軟件的設(shè)計(jì)
嵌入式開發(fā)需掌握的技能有哪些
嵌入式開發(fā)需掌握的技能有哪些
嵌入式手持終端電源管理系統(tǒng)有什么功能?
嵌入式操作系統(tǒng)的通用硬件抽象層設(shè)計(jì)
嵌入式設(shè)計(jì)應(yīng)具備的基本技能
Linux嵌入式系統(tǒng)與硬件平臺的關(guān)系
Linux嵌入式系統(tǒng)與硬件平臺的關(guān)系是什么
RIO嵌入式控制平臺怎么助力機(jī)器人應(yīng)用?
RTOS是嵌入式系統(tǒng)的軟件開發(fā)平臺
了解嵌入式系統(tǒng)學(xué)習(xí)的步驟
什么是嵌入式系統(tǒng)復(fù)合通信模式?
什么是嵌入式操作系統(tǒng)內(nèi)存管理技術(shù)?
什么是嵌入式操作系統(tǒng)?嵌入式操作系統(tǒng)有何功能
你對嵌入式平臺有什么誤解 ?
使用Java平臺怎么實(shí)現(xiàn)可編程嵌入式系統(tǒng)?
便攜式嵌入式系統(tǒng)半實(shí)物測試平臺的相關(guān)資料分享
分享Linux嵌入式系統(tǒng)與硬件平臺的關(guān)系
初學(xué)者嵌入式linux系統(tǒng)的學(xué)習(xí)步驟
在嵌入式Linux平臺下的功耗管理技術(shù)
基于嵌入式系統(tǒng)硬件平臺的軟件PLC實(shí)現(xiàn)設(shè)計(jì)
基于嵌入式操作系統(tǒng)的開發(fā)方法有哪些?
基于嵌入式計(jì)算平臺去設(shè)計(jì)虛擬儀器系統(tǒng)有何意義?
基于Java平臺的可編程嵌入式系統(tǒng)設(shè)計(jì)
基于NiosII的嵌入式網(wǎng)絡(luò)通信系統(tǒng)該如何去設(shè)計(jì)?
基于SPB怎么實(shí)現(xiàn)嵌入式音頻處理系統(tǒng)設(shè)計(jì)?
基于Web的嵌入式設(shè)備該怎么管理?
基于uCliunx的嵌入式Socket通信該如何去設(shè)計(jì)?
多核嵌入式系統(tǒng)存在的局限性?怎么解決這些問題?
如何系統(tǒng)的學(xué)習(xí)嵌入式?
如何使用PCS進(jìn)行嵌入式Linux研究?
如何利用嵌入式開發(fā)設(shè)計(jì)汽車電子OSEK配置器?
如何去設(shè)計(jì)嵌入式Windows CE多媒體操作系統(tǒng)的硬件平臺?
如何在手持信息終端嵌入式系統(tǒng)平臺上實(shí)現(xiàn)MIDI的播放?
如何實(shí)現(xiàn)嵌入式操作系統(tǒng)電源管理?
如何開發(fā)基于OSEK/VDX平臺的汽車嵌入式系統(tǒng)?
如何構(gòu)建嵌入式系統(tǒng)平臺
如何設(shè)計(jì)嵌入式系統(tǒng)中電源管理電路?
對嵌入式系統(tǒng)的功耗管理技術(shù)有哪些研究?
工業(yè)嵌入式計(jì)算平臺開發(fā)招聘
怎么設(shè)計(jì)嵌入式系統(tǒng)的內(nèi)存管理
怎么設(shè)計(jì)開源嵌入式操作系統(tǒng)學(xué)習(xí)平臺?
怎樣運(yùn)用Altium Designer平臺實(shí)現(xiàn)FPGA的嵌入式系統(tǒng)設(shè)計(jì)?
教你如何學(xué)習(xí)嵌入式
汽車嵌入式系統(tǒng)的發(fā)展如何?
淺析嵌入式系統(tǒng)的定義及其應(yīng)用
物聯(lián)網(wǎng)嵌入式系統(tǒng)
請問如何使用UML來設(shè)計(jì)嵌入式系統(tǒng)?
請問怎樣去設(shè)計(jì)嵌入式軟件構(gòu)件平臺?
通用嵌入式系統(tǒng)測試平臺架構(gòu)類型是什么
通用嵌入式操作系統(tǒng)有什么區(qū)別?
采用嵌入式系統(tǒng)實(shí)現(xiàn)手機(jī)編程開發(fā)平臺
嵌入式系統(tǒng)的通信規(guī)約管理平臺設(shè)計(jì)

嵌入式實(shí)時(shí)系統(tǒng)中跨平臺通信的實(shí)現(xiàn)

評論