在线免费观看成年人视频-在线免费观看国产-在线免费观看国产精品-在线免费观看黄网站-在线免费观看精品

產品分類

當前位置: 首頁 > 傳感測量產品 > 工業傳感器 > 濁度傳感器

類型分類:
科普知識
數據分類:
濁度傳感器

基于VxWorks實時操作系統的通信模型設計

發布日期:2022-04-17 點擊率:67

軟件設計中模塊化的思想已日益普遍,模塊化的設計能夠使程序結構清晰,便于維護,開發起來也更加高效。大型軟件通常由多個功能模塊構成,模塊的功能實現又是由多個線程所支撐的。諸如windows,Linux類型的操作系統自身能夠對線程間的通信進行較好的管理,不需要過多的關心底層。而VxWorks是一個多任務系統,任務是系統最基本的執行單元。功能模塊間的通信也就是任務間的通信,VxWorks對任務間通信的管理遠沒有windows的完善。在模塊數量多,通信業務大的情況下VxWorks提供的任務間通信機制不能很好的滿足實時性與資源利用的要求。本文提出了一種任務間的通信模型,將用于網絡通信的UDP方式引進到任務間的通信中,使通信更加靈活和便于管理,改善了整個系統的性能。

多任務實時操作系統VxWorks簡介
  VxWorks操作系統是一種嵌入式實時操作系統(RTOS),是嵌入式開發環境的關鍵組成部分,具有可靠高、實時性強、可裁減性的特點。 VxWorks為程序員提供了高效的實時任務調度、中斷管理、實時的系統資源以及任務間通信。應用程序員可以將精力放在應用程序本身,而不必關心系統資源的管理。VxWorks可以支持多達256個任務,支持二進制信號量、互斥信號量、消息郵箱等資源共享方式。高效實時的多任務內核使得VxWorks能同時面對多個系列的MPU、MCU、DSP提供類同的API接口,其良好的移植性在跨處理器平臺上只需要修改1%~5%的代碼。
  良好的持續發展能力、高性能的內核以及友好的用戶開發環境,使VxWorks在嵌入式實時操作系統領域占據一席之地。它以良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通信、軍事演習、彈道制導、飛機導航等。

傳統模塊間通信方式存在的問題
  嵌入式操作系統大多用于對實時性要求較高的場合,由于體積和成本的限制,嵌入式系統的資源和運行速度都不能和PC機相比。因此在此類系統上開發的應用程序的效率和減少資源消耗是十分重要的。VxWorks是一個多任務操作系統,傳統的任務間通信模型有以下幾種:共享內存、信號量和消息隊列三種,這幾種方式都有其不足的地方。
  共享內存方式使用全局變量或緩存,對于大型而復雜的程序,多個任務同時對一個變量進行讀寫操作會引起沖突或緩從區的溢出。信號量的通信模型雖然可以很好的起到互斥作用,但在多個任務同時與某一任務通信時就會產生對信號量的競爭,引起通信發起端的排隊,降低系統的效率。消息隊列可以通過異步的消息傳送模型避免了由于信號量引起的排隊問題,但任務數量較多時所需要的隊列數量過大,會耗費大量系統資源。模塊數量多,通信量大引起的任務排隊和資源耗費會對 VxWorks的實時性和系統性能產生影響。下面介紹的通信模型在克服以上問題方面有著一定的優勢。

通信模型的原理與性能分析
  整個通信模型由業務模塊、UDP插口、虛擬設備控制器(DEV)和統一定時器四部分組成。模塊間采用基于UDP的通信方式進行信息交互,通過一種虛擬設備控制器(DEV)的概念將UDP插口與業務模塊綁定,兩者之間呈現一種松耦合的關系。每個模塊擁有屬于自己的DEV,負責管理UDP插口與其他模塊進行交互。統一定時器負責協調和控制業務模塊發送消息的時機。統一定時器與DEV相結合共同完成模塊間的通信。
  UDP本來是一種面向無連接的網絡通信方式,把它引入到一個程序的內部作為通信手段需要考察其可靠性。UDP通信雖然是面向無連接的,在網絡情況不好時有可能產生丟包,但由于程序是在一臺主機上運行,程序內各個模塊之間的交互也只限于本機上,并不經過網絡,所以UDP包丟失的概率很小,通信可靠性是完全能夠得到保證的。通信模型的原理圖如下:



1 虛擬設備控制器(DEV)的概念
  虛擬設備控制器(DEV)本質上是一種數據結構,每個模塊通過聲明這樣一個數據結構來獲得屬于自己的DEV。DEV中記錄了有關UDP插口的信息,模塊號或模塊名稱。DEV中還包括兩個環形緩沖區用于和模塊進行數據交互。UDP插口是與DEV緊密結合在一起的,但并不與模塊直接聯系,也就是說一個 UDP并不固定屬于某一模塊,他們之間是一種松耦合的關系。DEV概念的引入將UDP套接字抽象為一種虛擬設備,供模塊使用。使通信功能與模塊的業務功能相互分離,更加獨立,提高了效率。模塊與UDP插口間也可以通過DEV進行靈活的配置與釋放。DEV的結構如下:
Struct DEV

int Module_ID; //記錄模塊號;
int SocketKind; //記錄插口類型;
int socket_ID; //記錄socket句柄
struct RINGBUF_t m_Buf[2]; //兩個環形緩沖區:[0]用于輸入[1]用于輸出

  軟件初始化時可以申請若干個空閑DEV設備,當某一業務模塊啟動時可以申請一個空閑的DEV供自己使用。將DEV結構體變量中的Module_ID填上該業務模塊的號碼就完成了模塊與DEV的綁定。再申請一個UDP插口,將插口句柄存放在DEV結構體的socket_ID變量中就完成了UDP與DEV 的結合,這樣業務模塊就通過DEV與UDP建立了聯系,模塊可以通過DEV來控制和使用該UDP進行通信。當模塊不再需要使用UDP時,或者UDP插口出現故障時,可以將其擁有的DEV中的Module_ID和socket_ID置為0,取消模塊與DEV的連接,完成對UDP的釋放。當模塊再次需要使用 UDP時,可以重新申請DEV和UDP。這種送耦合的方式使得模塊的正常運行不受UDP的影響,提高了程序的可靠性。

2 統一定時器的作用
  統一定時器負責協調所有的UDP發送。程序初始化后啟動統一定時器,定時器的時間一到就會執行特定的動作。它將輪詢所有的DEV,將DEV發送緩存中的內容通過UDP發送出去。

3 通信的實現過程
①UDP消息的發送
  當模塊A的某個任務需要與其他模塊通信時,它將把信息打包通過UDP方式發送給其他模塊。模塊A的任務(線程)將需要發送的消息包放入DEV的1號緩存中,統一定時器每到一定的時間就輪詢所有的DEV,如果有信息等待發送就通過該DEV所控制的UDP插口將信息發往目的地。
② UDP消息的接收
  如圖2所示,每個模塊有一個監視任務(線程),負責定時監視該模塊對應的DEV所控制的UDP端口,一旦UDP接收到消息,該線程負責將收到的消息從UDP的緩存中讀出存放到DEV的0號緩存中。模塊的其他工作任務需要獲得消息時可以從0號緩存中讀取并解析消息。



4 通信模型的性能分析
  上述通信模型采用準異步的方式,發送消息時各模塊同步,接收消息時異步。能夠避免多模塊通信時的沖突,并且能夠節省資源,在效率上優于傳統的通信模型。松耦合的映射關系使得模塊與通信端口之間能夠靈活的結合與釋放,給軟件結構的設計帶來了較大的自由。
  ①效率:采用了定時器輪詢的消息發送方式,避免任務通信的沖突。模塊向其他模塊發送UDP消息時只需要將消息打包放入DEV的發送緩存中,包的發送工作由統一定時器完成。模塊本身并不關心數據包的發送,將包放入DEV后就可以進行其他的工作。在多個模塊同時與某一模塊通信的情況下這種方式不會出現信號量模型中排隊等待信號量的現象,提升了系統的效率,實時性得到了保證。由于所有模塊的發送都由定時器完成,程序代碼得到了精簡,增強了代碼的共用性。
  ②資源的利用:由于采用了UDP這種較為靈活的通信方式,模塊間需要通信時才發送消息,而不必在各個模塊間建立多條消息隊列。當模塊數較大時,這種方式在資源的節約上體現得更加明顯。例如:有n個模塊,兩兩間建立一對消息隊列就需要(n-1)!對隊列,程序要維護大量的消息隊列,資源消耗嚴重。采用本文的通信模型將會節約有限的系統資源,充分適應嵌入式系統的開發。
  ③消息堆積問題的解決:傳統通信模型中,模塊發送消息是不加限制的。只要有消息需要發送就立刻調用發送函數,如果多個模塊在一段時間內同時向一個模塊發送消息,而接收消息的模塊又來不及處理,消息不斷的堆積就會引起緩沖區的益處。采用統一定時器的方法在一定程度上使消息的發送有序和受限,在定時器兩次輪詢某一模塊的間歇期模塊就能夠處理前一次收到的消息,為接收新的消息作好準備。只要定時器的定時時間設置合適,就能夠避免緩沖區的溢出。

通信模型的實現
  Vxworks是一個多任務的操作系統,模型的各個組成部分可以通過任務來實現,VxWorks的網絡編程接口和定時器使用起來十分方便,對用戶提供了開放的API。只需要使用socket,send,receive,CreateTimer,SetTimer等函數就能夠對套接字和定時器進行操作。在程序的初始化過程中可以先開啟定時器任務,然后產生足夠數量的DEV,接下來順序啟動各個模塊。啟動每個模塊的過程中,首先申請一個空閑的DEV,然后產生一個UDP套接字,將套接字與DEV建立映射關系。完成了模塊與DEV的綁定后,啟動一個監視任務(Moniter_Task)監視UDP端口。到此,通信模型建立完畢。最后啟動模塊的其他工作任務開始正常的業務流程。

結束語
  本文提出了一種不同于傳統通信機制的模塊間通信模型。將用于網絡通信的UDP方式引入到程序內的模塊間通信中,避免了傳統方式可能引起的降低效率與資源耗費過多問題。通過送耦合的連接方式增強了程序的靈活性。在實驗中,這種基于UDP方式的虛擬設備綁定的通信模型取得了較好效果,在對實時性要求較高的嵌入式系統開發中有著較高的價值。

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產品

更多
国产大陆亚洲精品国产| 成人午夜精品无码区久久| YOUJIZZ丰满熟妇| 疯狂做受XXXX高潮国产| 国内ZOOM人与ZOOM| 老旺的大肉蟒进进出出视频| 区二区三区国产精华液区别大吗| 日韩熟妇αv无码激情视频| 小雪被老外黑人撑破了视频| 亚洲中文字幕人妻| YY6080久久亚洲精品| 国产精品Ⅴ无码大片在线看| 精人妻无码一区二区三区| 欧美白人乱大交XXXX潮喷| 他将头埋进双腿间吮小核故事| 亚洲国产成人爱AV在线播放| 12末发育娇小性色XXXX| 国产9 9在线 | 中文| 精品人妻少妇嫩草av无码专区 | 色屁屁WWW影院免费观看入口| 亚洲A∨无码一区二区三区| 中国熟妇人妻XXXXX| 纯肉无遮挡H肉动漫在线观看国产| 韩国精品一区二区无码视频| 鲁鲁夜夜天天综合视频| 色综合AV男人的天堂伊人| 亚洲欧美日韩久久精品第一区| 9I国产麻豆国产AV旗袍| 国产成人无码久久久精品一| 久久天天躁狠狠躁夜夜免费观看 | 天天躁恨恨躁夜躁2020| 野花社区免费观看高清在线1日本| 爸爸10岁幼儿TREE小学生| 后入内射国产一区二区| 朋友人妻少妇精品系列| 亚洲AV无码专区成人网址| 99国产精品无码| 国产无线乱码一区二三区| 欧美成人A天堂片在线观看| 喜爱夜蒲在线观看| 99尹人香蕉国产免费天天| 国产小受呻吟GV视频在线观看| 男女狂进狂出动态图| 无翼乌工口肉肉无遮挡无码18| 中文字幕日本乱码仑区在线| 国产精品永久免费| 女口述第一次放进去的感受| 性色AV 一区二区三区| B里可以放多少个鸡蛋| 好男人好视频资源在线播放| 人人爽人人爽人人片AV| 亚洲熟妇无码AⅤ在线播放| 俄罗斯人又更又租| 美女无遮挡直播软件免费看| 无码人妻 在线视频| ALEXAGRACE大战黑人| 精品国产午夜福利在线观看| 色狠狠久久AV北条麻妃| 在线精品动漫一区二区无码| 国产日韩综合一区二区性色AV| 屁屁草草影院CCYYCOM| 亚洲熟妇丰满美女XXXXX| 国产9在线 | 欧洲| 欧码的XL是亚洲码| 亚洲色精品三区二区一区| 国产大学生酒店在线播放| 欧美老熟妇性BBBBBXXXX| 亚洲欧美精品水蜜桃| 国产成人人人97超碰超爽8| 欧美美女视频熟女一区二区| 亚洲日本乱码一区二区在线二产线 | 精品国产一区二区三区不卡| 熟妇内射在线二区| CHINESE农村老妓女| 久久久久夜色精品国产| 羞羞漫画十八禁啪啪漫画免费| 波多野结衣50连登视频| 免费精品一区二区三区第35| 亚洲精品第一国产综合亚AV| 国产精品对白刺激久久久| 人妻AV无码专区| 中文字幕人妻被公上司喝醉| 精品人妻潮喷久久久又裸又黄 | 国产★蜜臀AV无码8MAV| 欧美性极品少妇精品网站| 永久黄网站免费视频性色| 狠狠躁夜夜躁人人躁婷婷视频 | 亚洲国产群交无码AV| 国产精品白丝久久AV网站| 日本熟妇色XXXXX日本妇奷| 2023年最新绝伦推理片推荐| 久久久久亚洲AV无码网站少妇| 亚洲AV无码国产精品色午| 国产放荡AV剧情演绎麻豆| 日韩爆乳一区二区无码| JIZZJIZZ免费看国产| 妺妺窝人体色www在线观看婚闹 | 教室停电了校草挺进我体内| 无码人妻丰满熟妇区96| 国产A V无码专区亚洲AV| 日本熟妇WWW色视频在线播放| 99久久夜色精品国产网站| 乱公和我做爽死我视频| 亚洲中文字幕无码一区二区三区| 狠狠人妻久久久久久综合| 性欧美暴力猛交69HD| 国产精品亚洲专区无码破解版 | 亚洲成A人片77777国产| 国产欧美精品一区AⅤ影院| 天美传媒MV免费观看软件特色 | 日本大片免A费观看视频| 9丨精品妻人一区二区三区蜜桃| 麻豆传煤入口免费进入2023| 一受多攻同做H嗯啊巨肉| 久久久久久亚洲AV无码蜜芽 | 四季亚洲精品成人AV无码网站| 成人AV在线网址| 日韩欧美AⅤ综合网站发布| 成 人 黄 色 网站 小说 免| 日本一道综合久久AⅤ久久| 爆乳2把你榨干哦在线观看| 人人妻人人爽人人| 不什么不什么的成语| 日产精品久久久久久久性色| 成人毛片亚洲高潮无码精品色 | 宝宝两根就哭男男是不是太早了| 欧美性极品少妇精品网站| WWW.国产白丝袜护士喷白浆| 人妻熟妇乱又伦精品HD| 波多野结衣无码中文字幕18禁| 日本久久久久精品免费网播放| 成人毛片亚洲高潮无码精品色| 色妞WW精品视频7777| 国产99久9在线 | 传媒| 玩弄丰满熟妇XXXXX性60| 国产乱女乱子视频在线播放| 亚洲AV无码乱码在线观看性色 | 没带罩子被校霸C了一节课怎么办 么公的好大好硬好深好爽视频 | 宝贝把腿张开我要添你下边动态图| 热RE99久久精品国99热| 波多野结衣人妻女教师4| 三上悠亚SSNL-618无码播| 国产Chinese男男GayGay网站| 无码人妻精一区二区三区| 狠痕鲁狠狠爱2021在| 亚洲一区二区自偷自拍另类| 麻豆AV一区二区三区| 99久久精品国产免费看| 日韩精品乱码AV一区二区| 国产高清在线A视频大全| 亚洲AV无码精品色午夜果冻不卡| 精品午夜人成一区| 性欧美乱妇COME| 亚洲精品午睡沙发系列| 久草日B视频一二三区| 在办公室里揉弄小雪好爽| 欧美精欧美乱码一二三四区| 成 人 A V免费视频在线观看| 婷婷妺妺窝人体色www久久| 国内情侣作爱视频网站| 一边做一边喷17P| 欧洲熟妇色XXXXⅩ欧洲老妇色| 国产AⅤ激情无码久久| 亚洲AV无码码潮喷在线观看| 久久人人爽人人人人爽AV| BT天堂А√天堂资源地址| 视频在线观看一区二区| 国产熟女一区二区三区五月婷 | 三级韩国2017在线观看| 国产欧美VA天堂在线观看视频下| 亚洲视频无码高清在线| 欧美乱妇日本无乱码特黄大片| 夫では満足できない人妻| 亚洲高清专区日韩精品| 妺妺窝人体色www免费看| 丰满妇女强高潮18ⅩXXX小说| 亚洲AV无码国产精品色午夜| 免费看高清大片的APP在线看| 大荫蒂又大又长又硬又紧又粗| 亚洲AV成人精品一区二区三区| 浪货趴办公桌~H揉秘书电影| 成年片色大黄全免费网站久久| 亚洲AAAAA特级| 男男GAY腐片GⅤ2022| 国产成人久久精品流白浆| 亚洲一区蜜桃视频在线| 日本入室强伦姧在线观看| 狠狠综合久久久久精品网站| 7777久久亚洲中文字幕| 无码精品人妻AV一区二区三区| 久久青青草原亚洲AV无码| 成人爽A毛片免费| 亚洲欧美激情精品一区二区| 轻点灬大JI巴太粗太长了| 国内精品卡一卡二卡三| Chinese国产HD精品实拍| 亚洲AV美女一区二区三区| 欧美粗大强交18P直喷水| 国产午夜精品理论片A级在线观看| 中文亚洲AV片在线观看|