国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

OSEK COM通信規(guī)范的通信系統(tǒng)研究

發(fā)布時(shí)間:2010-6-3 16:17    發(fā)布者:李寬
關(guān)鍵詞: OSEK
OSEK/VDX(簡稱OSEK)規(guī)范是歐洲汽車行業(yè)為滿足各種軟件間的兼容性和協(xié)作性而定義的一組帶有通用服務(wù)接口的開放式軟件規(guī)范。它主要由操作系統(tǒng)規(guī)范、通信規(guī)范[1]、網(wǎng)絡(luò)管理規(guī)范[2]和實(shí)現(xiàn)語言規(guī)范[3]4個(gè)部分組成。作為OSEK/VDX規(guī)范的一部分,OSEK COM[1]為汽車電控單元應(yīng)用軟件提供了一個(gè)統(tǒng)一的通信環(huán)境,它定義了獨(dú)立于所用通信協(xié)議之外的應(yīng)用軟件通信接口,規(guī)定了內(nèi)部通信(ECU內(nèi)部)和外部通信(ECU之間)時(shí)的行為方式。OSEK COM隱藏了底層協(xié)議和硬件細(xì)節(jié),從而增強(qiáng)了應(yīng)用軟件模塊的可移植性和可重用性。此外OSEK COM 實(shí)現(xiàn)只需要很少的資源就可以在多個(gè)硬件平臺(tái)上運(yùn)行,不同級(jí)別的功能要求都可以滿足,體現(xiàn)了可裁減性。

目前隨著集成電路單片機(jī)在汽車上的廣泛應(yīng)用,越來越多的ECU被應(yīng)用到汽車控制領(lǐng)域,如汽車剎車的防抱死系統(tǒng)、動(dòng)力設(shè)備的安全控制等。ECU內(nèi)部和ECU之間的通信已經(jīng)成為汽車電子控制系統(tǒng)開發(fā)的重要環(huán)節(jié),在汽車電子和其他嵌入式領(lǐng)域均有明朗的應(yīng)用前景。因此對(duì)OSEK COM規(guī)范的研究與實(shí)現(xiàn)具有重要意義。

1  OSEK COM的通信機(jī)制

1.1  OSEK COM的通信模型[1,4]

OSEK COM的通信模型分為3個(gè)層次:上層為應(yīng)用層;中間層為交互層;網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層、物理層統(tǒng)稱為“下層”。如圖1所示, 主要部分是交互層(IL),  該層全權(quán)處理內(nèi)部通信,并通過調(diào)用下層服務(wù)協(xié)議處理外部通信。

本文基于OSEK COM規(guī)范3.03,是目前該規(guī)范的最新版本。在圖1中,OSEK COM覆蓋了全部的交互層和部分的網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層。這是因?yàn)樵谝?guī)范中交互層的使用被詳細(xì)地規(guī)定,而網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層沒有詳細(xì)的說明,僅僅定義了網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層支持交互層的所有特性的最低要求。


圖1  OSEK COM及OSEK體系中位置模型

1.2  OSEK COM的通信過程

OSEK COM是基于消息對(duì)象的通信,消息及其屬性通過OSEK實(shí)現(xiàn)語言(OSEK Implementation Language, OIL)靜態(tài)配置。在內(nèi)部通信過程中(即發(fā)送內(nèi)部消息時(shí)),應(yīng)用層調(diào)用交互層提供的發(fā)送消息API,將發(fā)送方的數(shù)據(jù)傳給交互層的消息對(duì)象,消息對(duì)象直接被復(fù)制到接收消息對(duì)象;然后接收方調(diào)用接收消息API,從接收消息對(duì)象中讀取消息數(shù)據(jù)。在外部通信過程中(即發(fā)送外部消息時(shí)),發(fā)送方的一個(gè)或多個(gè)消息對(duì)象的數(shù)據(jù)按比特位對(duì)齊被映射到一個(gè)發(fā)送IPDU(交互層協(xié)議數(shù)據(jù)單元)的數(shù)據(jù)區(qū)上,交互層調(diào)用底層協(xié)議將數(shù)據(jù)發(fā)送出去;接收方的接收與發(fā)送方的過程相反,在一個(gè)接收指示請(qǐng)求后,底層PDU(協(xié)議數(shù)據(jù)單元)的消息根據(jù)底層協(xié)議收取數(shù)據(jù)到接收IPDU數(shù)據(jù)區(qū),然后從IPDU數(shù)據(jù)區(qū)取出各接收消息對(duì)象的數(shù)據(jù),完成接收過程。

2  通信系統(tǒng)的整體設(shè)計(jì)


圖2  通信系統(tǒng)的結(jié)構(gòu)

基于OSEK COM規(guī)范的通信系統(tǒng)主要由4個(gè)模塊組成(如圖2所示):

  ① 由OSEK COM規(guī)范定義的各API函數(shù)的實(shí)現(xiàn)。為應(yīng)用程序提供用于消息傳輸服務(wù)的COM API。
  ② 交互層和底層之間的調(diào)用接口函數(shù)的實(shí)現(xiàn)。消息從交互層傳輸給底層,以及消息從底層接收到交互層的接口函數(shù)的實(shí)現(xiàn)。
  ③ 底層通信協(xié)議的實(shí)現(xiàn)。本通信系統(tǒng)選擇在汽車電子領(lǐng)域應(yīng)用最廣泛的控制器局域網(wǎng)(Controller Area Network,CAN)總線作為底層的通信協(xié)議。
  ④ 系統(tǒng)的配置文件[3]。采用Freescale公司提供的完全支持OSEK OIL標(biāo)準(zhǔn)的OSEKBuilder工具生成配置文件,在根據(jù)系統(tǒng)實(shí)現(xiàn)的需求來配置消息的屬性等。

2.1  通信系統(tǒng)核心模塊的實(shí)現(xiàn)

通信系統(tǒng)主要是實(shí)現(xiàn)發(fā)送消息和接收消息功能,下面主要介紹ECU之間的通信,即外部消息的接收和發(fā)送過程的實(shí)現(xiàn)。

2.1.1  外部消息發(fā)送過程的實(shí)現(xiàn)[56]

發(fā)送外部消息時(shí),在交互層消息對(duì)象依次通過過濾算法、字節(jié)順序轉(zhuǎn)化,最后根據(jù)其傳輸模式封裝到相應(yīng)的 IPDU。COM規(guī)范定義了3種不同的消息傳輸模式: 直接傳輸模式、周期傳輸模式和混合傳輸模式。下面以周期傳輸模式為例說明消息的傳輸過程。

當(dāng)消息具有周期傳輸模式時(shí),將其封裝到具有周期傳輸模式特性的IPDU里。在周期傳輸模式下,每次調(diào)用API函數(shù)SendMessage()、 SendDynamicMessage()的服務(wù)更新傳輸?shù)南?duì)象,交互層每隔周期傳輸模式時(shí)間間隔(I_TMP_TPD)執(zhí)行一次周期傳輸請(qǐng)求,傳輸一個(gè)IPDU到底層,當(dāng)有傳輸請(qǐng)求時(shí)才執(zhí)行IPDU到底層的消息傳輸。周期傳輸模式忽略包含在IPDU里面的所有消息的傳輸特性。當(dāng)消息已經(jīng)發(fā)送到底層后,如果在規(guī)定的時(shí)間間隔內(nèi),底層沒有返回傳輸確認(rèn),那么立刻調(diào)用通知機(jī)制通知應(yīng)用層,消息的周期傳輸失敗。周期傳輸模式傳輸機(jī)制如圖3所示。


圖3  周期傳輸模式傳輸機(jī)制

在周期傳輸模式的具體實(shí)現(xiàn)過程中,首先判斷該消息是否具有周期傳輸模式的屬性,如果具有,則將周期傳輸模式的標(biāo)志位置1;進(jìn)入中斷后,判斷此時(shí)系統(tǒng)時(shí)鐘節(jié)拍和上次記錄的系統(tǒng)時(shí)鐘節(jié)拍的時(shí)間間隔是否大于或等于I_TMP_TPD,若大于時(shí)間間隔,則獲得傳輸請(qǐng)求,調(diào)用底層接口函數(shù)立刻傳輸消息到底層,同時(shí)記錄此時(shí)的系統(tǒng)時(shí)鐘節(jié)拍。若消息傳輸成功,底層返回傳輸確認(rèn);若在規(guī)定時(shí)間內(nèi)沒有傳輸確認(rèn),則調(diào)用通知機(jī)制,表明消息傳輸失敗。至此完成了消息從交互層發(fā)送到底層的傳輸過程。周期傳輸?shù)膶?shí)現(xiàn)流程如圖4所示。直接傳輸模式和混合傳輸模式消息的傳輸實(shí)現(xiàn)過程也類似。


圖4  周期傳輸實(shí)現(xiàn)流程

2.1.2  外部消息接收過程的實(shí)現(xiàn)[5]

在消息的接收過程中,首先底層接口函數(shù)將底層PDU里面的消息取出放入接收IPDU數(shù)據(jù)區(qū),從底層向 OSEK COM傳遞成功或失敗的狀態(tài)信息。如果接收指示服務(wù)沒有產(chǎn)生錯(cuò)誤,表明消息已經(jīng)成功接收到IPDU。然后從IPDU數(shù)據(jù)區(qū)分別取出接收消息對(duì)象的數(shù)據(jù),在經(jīng)過字節(jié)順序轉(zhuǎn)化和過濾算法后,放入消息接收對(duì)象。消息接收對(duì)象分為隊(duì)列消息和非隊(duì)列消息,接收到的動(dòng)態(tài)長度的消息都放入非隊(duì)列消息,接收到的靜態(tài)長度消息可以放入隊(duì)列或非隊(duì)列消息。隊(duì)列消息將收到的消息數(shù)據(jù)組合成一個(gè)隊(duì)列,接收時(shí)向隊(duì)尾添加新數(shù)據(jù),讀取時(shí)從隊(duì)首移走舊數(shù)據(jù),即FIFO(先進(jìn)先出)方式,隊(duì)列消息僅被讀取一次;非隊(duì)列消息可以被讀取多次,直接用新數(shù)據(jù)覆蓋舊數(shù)據(jù)。


圖5  ReceiveMessage()實(shí)現(xiàn)流程

應(yīng)用層調(diào)用ReceiveMessage()和ReceiveDynamicMessage()API函數(shù)將隊(duì)列或非隊(duì)列消息中的消息傳遞給應(yīng)用層,實(shí)現(xiàn)消息的接收過程。ReceiveMessage()函數(shù)的實(shí)現(xiàn)流程如圖5所示。

2.2  CAN模塊的實(shí)現(xiàn)

在汽車電子行業(yè)中,CAN總線以結(jié)構(gòu)簡單,成本低,可靠性高,實(shí)時(shí)性、抗干擾能力強(qiáng)等特點(diǎn)得到了廣泛的應(yīng)用。CAN總線是一種串行數(shù)據(jù)通信的多主總線。數(shù)據(jù)在節(jié)點(diǎn)間發(fā)送和接收時(shí)使用4種不同類型的幀,最基本的信息傳送載體是數(shù)據(jù)幀,它包括11或29位的報(bào)文標(biāo)識(shí)、0~8字節(jié)的數(shù)據(jù)域和校驗(yàn)以及控制信息。CAN總線的數(shù)據(jù)鏈路層和物理層協(xié)議已經(jīng)被集成到多個(gè)控制器芯片或單片處理機(jī)中,用戶只需定義上面的應(yīng)用層即可實(shí)現(xiàn)一個(gè)通信系統(tǒng)。

CAN驅(qū)動(dòng)軟件由 CAN初始化程序、CAN發(fā)送程序和CAN接收程序3部分組成。CAN初始化程序?qū)AN模塊的相關(guān)寄存器初始化。在CAN發(fā)送程序中,微處理器將要發(fā)送的數(shù)據(jù)寫入CAN模塊相應(yīng)的發(fā)送緩沖區(qū)中,與主機(jī)的ID地址一起組成信息幀按CAN報(bào)文結(jié)構(gòu)發(fā)送到CAN控制器的發(fā)送緩沖器中,并置位命令寄存器中的發(fā)送請(qǐng)求標(biāo)志, 接收到發(fā)送請(qǐng)求后發(fā)送過程由CAN控制器自動(dòng)完成。在檢測(cè)到接收緩沖器中存在有效報(bào)文后,中斷接收程序?qū)⒔邮站彌_區(qū)中的內(nèi)容讀入CPU的數(shù)據(jù)存儲(chǔ)區(qū),接收完畢后檢查總線狀態(tài)及溢出情況等并做相應(yīng)處理。

3  通信系統(tǒng)的實(shí)現(xiàn)

3.1  通信系統(tǒng)的構(gòu)成

基于CAN總線的通信系統(tǒng)在軟件上使用CodeWarrior編譯器,硬件上選擇Freescale公司的16位單片機(jī) HCS12DP256B。

在Main()函數(shù)中調(diào)用CAN初始化程序和系統(tǒng)定時(shí)器的初始化程序,使用API函數(shù)startcom()來初始化各消息對(duì)象并啟動(dòng)通信。調(diào)用SendMessage()、SendDynamicMessage()、 ReceiveMessage()、ReceiveDynamicMessage()等API函數(shù)可以實(shí)現(xiàn)消息的發(fā)送和接收。

3.2  通信系統(tǒng)的測(cè)試界面

使用主機(jī)、周立功USB/CAN轉(zhuǎn)化器、HCS12DP256B開發(fā)板進(jìn)行連接,對(duì)消息發(fā)送和接收的情況進(jìn)行測(cè)試,并使用周立功ZLGCANTest測(cè)試軟件的界面來監(jiān)控消息發(fā)送和接收的情況。

圖6是在應(yīng)用層調(diào)用API函數(shù) SendMessage()發(fā)送直接傳輸消息底層接收消息的界面。SendMessage()通過調(diào)用底層接口函數(shù)將消息傳給開發(fā)板上的CAN模塊,再通過CAN模塊的輸出接口與周立功USB/CAN的工具相連,將應(yīng)用層發(fā)送的數(shù)據(jù)傳到上位機(jī)PC的USB接口,并通過ZLGCANTest軟件顯示消息的接收情況。在圖6中序號(hào)表示接收到的消息的條數(shù),數(shù)據(jù)表示應(yīng)用層發(fā)送出去的消息的值。


圖6  底層接收消息的界面

測(cè)試的結(jié)果表明:該通信系統(tǒng)各API函數(shù)的功能均可以實(shí)現(xiàn),數(shù)據(jù)傳輸準(zhǔn)確及時(shí),經(jīng)過合理的參數(shù)配置,可以很好地實(shí)現(xiàn)消息的發(fā)送和接收功能。

結(jié)語

由于OSEK規(guī)范本身的優(yōu)點(diǎn)和許多國際嵌入式軟件公司的加盟,它逐漸占據(jù)了汽車電子軟件平臺(tái)的主導(dǎo)地位,并成為ISO國際標(biāo)準(zhǔn)。開發(fā)出具有自主知識(shí)產(chǎn)權(quán)的符合該標(biāo)準(zhǔn)的系統(tǒng),加深對(duì)OSEK規(guī)范的認(rèn)識(shí),并結(jié)合我國國情參與OSEK規(guī)范的制定,對(duì)我國汽車電子行業(yè)的發(fā)展有著重要意義。本文在基于OSEK COM規(guī)范的通信系統(tǒng)的研究和實(shí)現(xiàn)方面進(jìn)行了初步的嘗試,下一步將把該通信模塊應(yīng)用到RS485總線上,以增強(qiáng)通信模塊的可移植性。

參考文獻(xiàn)

[1] OSEK/VDX Organization. OSEK/VDX communication specification 3.0.3[EB/OL],20040720[200805]. http: //www.osekvdx.org.
[2] OSEK/VDX Organization. OSEK/VDX network management specification2.5.3[EB/OL],20050201[200805]. http://www.osekvdx.org.
[3] OSEK/VDX Organization.OSEK/VDX system generation,OIL:OSEK implementation language. Version2.5[EB/OL],20040701[200805].http: //www.osekvdx.org.
[4] Joseph L.OSEK/VDX汽車電子嵌入式軟件編程技術(shù)[M].羅克露,譯.北京:北京航空航天大學(xué)出版社,2004.
[5]  Labrosse Jean J.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II[M].邵貝貝,等譯.第2版. 北京:北京航空航天大學(xué)出版社,2003.
[6] Morton Todd D.嵌入式微控制器[M].嚴(yán)雋永,譯.北京:機(jī)械工業(yè)出版社,2005.

作者:重慶郵電大學(xué) 李萍  蔣建春
來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用  2008 (9)
本文地址:http://www.qingdxww.cn/thread-11970-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • Cortex-M4外設(shè) —— TC&TCC結(jié)合事件系統(tǒng)&DMA優(yōu)化任務(wù)培訓(xùn)教程
  • 深度體驗(yàn)Microchip自動(dòng)輔助駕駛應(yīng)用方案——2025巡展開啟報(bào)名!
  • 利用模擬開發(fā)工具生態(tài)系統(tǒng)進(jìn)行安全電路設(shè)計(jì)
  • 更佳設(shè)計(jì)的解決方案——Microchip模擬開發(fā)生態(tài)系統(tǒng)
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99精品视频在线成人精彩视频 | 精品国产欧美一区二区三区成人 | 羞羞视频入口 | 一道本高清香蕉网 | 色花堂你懂的国产第一页 | 亚洲天堂亚洲天堂 | 在线免费观看日本视频 | 国产日韩欧美视频在线观看 | 亚洲 欧美 日韩在线一区 | 图片 小说 校园 激情 都市 | 国产欧美一区二区另类精品 | 欧美日韩国产高清一区二区三区 | 日韩欧美色视频在线观看 | 看a级毛片 | 四川幻女一级毛片 | 日日爱网址| 国产午夜精品理论片影院 | 2021国产精品自在拍在线播放 | 极品的亚洲 | 国产精品日本一区二区在线播放 | 五月天亚洲婷婷 | 久久国产精品超级碰碰热 | h成人动漫 | 免费欧洲毛片a级视频 | 无限看动漫片的视频高清免费 | 国产成人亚洲综合无 | 欧美福利一区二区三区 | 69热精品视频在线看影院 | 四虎免费网站 | 一级毛片在线 | 中文字幕久荜一区日本精品 | 国产成人拍精品视频网 | 99热精品国产三级在线观看 | 中文字幕在线一区二区三区 | 欧美日韩中文国产 | 欧美性动| 国产成人亚洲欧美激情 | 欧美大香线蕉线伊人图片 | 欧美高清观看免费全部完 | 麻豆传煤适当放松一下自己 | 八戒八戒在线播放免费观看5 |