新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于WinCE的智能車載儀表設(shè)計(jì)

基于WinCE的智能車載儀表設(shè)計(jì)

作者: 時間:2011-04-15 來源:網(wǎng)絡(luò) 收藏

作為流接口驅(qū)動程序,CAN總線驅(qū)動程序也有一組標(biāo)準(zhǔn)函數(shù),可完成I/O操作。這些函數(shù)提供給操作系統(tǒng)內(nèi)核使用,它們都是流接口驅(qū)動程序的DLL文件。動態(tài)加載CAN總線驅(qū)動程序時,系統(tǒng)要進(jìn)行注冊。CAN驅(qū)動程序注冊表信息:
c.JPG
通過以上代碼完成注冊之后,調(diào)用ActivateDeviceEx()函數(shù)進(jìn)行加載驅(qū)動。
3.3 CAN總線驅(qū)動通信流程
CAN總線控制器驅(qū)動程序主要用于設(shè)置MCP2515的波特率、MCP2515的驗(yàn)收過濾器、CAN消息傳送模式和CAN收發(fā)數(shù)據(jù)方式。驅(qū)動程序是連接上位應(yīng)用程序和硬件的一個中間紐帶。系統(tǒng)在EVC++環(huán)境下進(jìn)行CAN總線開發(fā)。
流式驅(qū)動以文件的方式打開函數(shù)CreateFile():驅(qū)動成功打開后,CreateFile()函數(shù)返回不為INVALID-HAN-DLE-VALUE的句柄,此句柄也是關(guān)閉驅(qū)動函數(shù)Close-Handle()的參數(shù)。CAN設(shè)置函數(shù)DeviceIoControl()接收由CreateFile()函數(shù)獲得的句柄及控制命令碼,設(shè)置輸入/輸出緩沖區(qū)以及緩沖區(qū)的大小。函數(shù)執(zhí)行完成后返回實(shí)際輸出的緩沖區(qū)大小等。CAN總線發(fā)送與接收函數(shù)WriteFile()和ReadFile(),利用驅(qū)動文件句柄、發(fā)送和接收緩沖區(qū)等參數(shù)完成數(shù)據(jù)的發(fā)送和接收,操作成功后返回實(shí)際發(fā)送和接收的字節(jié)數(shù)。
為了不讓主線程一直處于等待數(shù)據(jù)到來的狀態(tài),讓主線程擁有時間令牌來操作其他事情,程序采用多線程設(shè)計(jì),創(chuàng)建一個接收數(shù)據(jù)線程。接收數(shù)據(jù)線程是一個無限循環(huán),它不斷查詢CAN總線數(shù)據(jù)退出標(biāo)志,如果退出標(biāo)志有效,則該循環(huán)結(jié)束退出。驅(qū)動程序流程如圖3所示。

本文引用地址:http://m.butianyuan.cn/article/197467.htm

d.JPG



結(jié)語
目前,基于嵌入式技術(shù)的車載逐漸開始流行。本文使用基于的ARM9微處理器作為開發(fā)平臺,處理速度快,功能強(qiáng)大;使用CAN總線技術(shù)進(jìn)行信號的相互傳輸,CAN總線實(shí)時接收汽車部件發(fā)送來的信息,并進(jìn)行處理與分析;使用操作系統(tǒng),界面友好。本系統(tǒng)可以節(jié)約成本、降低功耗,并且可維護(hù)性強(qiáng),便于擴(kuò)展和升級。


上一頁 1 2 3 下一頁

關(guān)鍵詞: WinCE 智能車載 儀表

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉