亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CAN總線的嵌入式車燈監(jiān)控系統(tǒng)設(shè)計

        2012-01-29 07:19:48魏志翔周莉萍干江紅
        電子設(shè)計工程 2012年12期
        關(guān)鍵詞:機軟件車燈下位

        魏志翔,周莉萍,徐 龍,干江紅,張 文

        (1.華中科技大學(xué) 機械科學(xué)與工程學(xué)院 儀器系,湖北 武漢 430074;2.湖北法雷奧車燈有限公司 湖北 武漢 430056)

        當(dāng)前我國的汽車總數(shù)呈現(xiàn)爆發(fā)式增長,由于汽車照明與交通安全有著密不可分的關(guān)系,因此對車燈產(chǎn)品進行可靠性檢測是很有必要的。針對這種情況,提出了基于CAN總線的嵌入式車燈監(jiān)控系統(tǒng)的設(shè)計思想,結(jié)合總線技術(shù)和單片機嵌入式技術(shù),實現(xiàn)對車燈進行功能控制以及電壓電流參數(shù)檢測。其中,iCAN協(xié)議在CAN總線網(wǎng)絡(luò)中的使用,可以實現(xiàn)對多個車燈同時進行網(wǎng)絡(luò)化監(jiān)控,進而可以實時準確地掌握各個車燈的工作情況,確保車燈產(chǎn)品的質(zhì)量可靠性。

        1 系統(tǒng)整體結(jié)構(gòu)

        系統(tǒng)主要由上位機和多個下位機節(jié)點組成。上位機是由VC編成的監(jiān)測軟件,PC機通過PCI-CAN卡與CAN總線相連,完成與下位機節(jié)點的通信,顯示各車燈的電流電壓及工作情況,并完成功能的設(shè)置。下位機節(jié)點以LM3S2965為主體,采樣車燈工作時的電壓電流,并對車燈進行控制。系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示。

        圖1 系統(tǒng)整體結(jié)構(gòu)框圖Fig.1 Structure diagram of the system

        2 節(jié)點的硬件設(shè)計

        下位機節(jié)點的硬件結(jié)構(gòu)設(shè)計框圖如圖2所示。節(jié)點主要完成以下工作:1)定期對車燈工作時的電壓電流進行AD采樣,并將結(jié)果發(fā)送到CAN總線上,供上位機接收;2)接收上位機發(fā)送到CAN總線上的命令,并控制車燈實現(xiàn)相應(yīng)的功能。因此,節(jié)點主要包括微處理器部分、CAN通訊模塊、電源模塊。

        圖2 節(jié)點硬件結(jié)構(gòu)框圖Fig.2 Structure diagram of the node’s hardware

        2.1 微處理器選型

        為了確保系統(tǒng)對車燈進行實時、可靠地控制及檢測,這里選用可植入實時操作系統(tǒng)的Cortex-M3內(nèi)核芯片LM3S2965。LM3S2965是由TI公司Stellaris所提供的首款基于ARM Cortex-M3的控制器對CAN總線應(yīng)用方案而設(shè)計的芯片,具有較高的代碼密度和指令執(zhí)行效率。片內(nèi)有256 kB的單周期訪問的Flash,64KB的單周期SRAM,為操作系統(tǒng)的植入和運行提供了足夠的容量;內(nèi)部集成了兼容CAN2.0A/B的CAN控制器和ADC模數(shù)轉(zhuǎn)換器,可以簡化節(jié)點中CAN通訊電路和AD采樣的電路的設(shè)計,同時也降低了軟件開發(fā)的難度。

        2.2 CAN通訊模塊設(shè)計

        CAN通訊接口可實現(xiàn)各個節(jié)點與上位機之間的通訊,從而完成數(shù)據(jù)的共享和命令的收發(fā)[1]。LM3S2965有兩個兼容CAN2.0A/B的CAN控制器,可以實現(xiàn)數(shù)據(jù)鏈路層的功能,為實現(xiàn)物理層,這里只需要增加一個CAN收發(fā)器。Philips公司的TJA1040是一款通用的高速CAN收發(fā)器,它可將CAN控制器的邏輯電平與CAN總線上的差分電平進行相互的轉(zhuǎn)化,同時具有優(yōu)秀的EMC性能,可靠性高。本節(jié)點中,CAN接口電路如圖3所示,微處理器內(nèi)置的兩個CAN控制器分別與TJA1040連接,一路與CAN總線相連,完成與上位機的通訊;另一路與車燈相連,完成與車燈之間的通訊,實現(xiàn)對車燈的控制。

        圖3 CAN總線接口電路Fig.3 Circuit of CAN bus interface

        2.3 電源模塊設(shè)計

        電源模塊可對供電電源進行凈化處理,濾除高次諧波,避免供電電源對主控單元形成干擾[2]。嵌入式系統(tǒng)的性能在很大程度上取決于電源電路的穩(wěn)定性和可靠性[3],因此設(shè)計穩(wěn)定可靠的電源模塊非常重要。本節(jié)點中,LM3S2965的電源輸入分為模擬輸入和數(shù)字輸入兩種,電壓為+3.3 V;CAN收發(fā)器TJA1040采用+5 V的供電電壓。首先采用穩(wěn)壓器將外部直流輸入電壓穩(wěn)壓成5 V供給CAN收發(fā)器工作,然后用LT1086CM-3.3將5 V電壓轉(zhuǎn)換成+3.3 V供給微處理器工作。由于模擬電源和數(shù)字電源本身的性質(zhì)差異,為保證這兩種電源不會相互影響,這里在模擬電源和數(shù)字電源間用電感進行隔離。

        3 系統(tǒng)軟件設(shè)計

        系統(tǒng)的軟件部分由上位機軟件和下位機軟件組成。上位機完成對系統(tǒng)功能參數(shù)的設(shè)置以及顯示各車燈的電壓電流;下位機軟件主要完成基于iCAN協(xié)議的總線通訊,實時傳遞車燈的工作情況。

        3.1 下位機軟件設(shè)計

        下位機軟件設(shè)計流程圖如圖3所示,包括操作系統(tǒng)μCOS-II、節(jié)點初始化、外設(shè)驅(qū)動程序以及應(yīng)用程序。

        圖4 軟件設(shè)計流程圖Fig.4 Flow chart of the software design

        操作系統(tǒng)μCOS-II是系統(tǒng)運行的核心部分,完成任務(wù)的調(diào)度、時間管理和資源管理[4],在操作系統(tǒng)源碼中通過對OS_CPU_C.C、OS_CPU_A.ASM和OS_CPU.H 3個文件中與微處理器相關(guān)的數(shù)據(jù)類型和處理函數(shù)進行修改和重新編寫后,便可將μCOS-II植入LM3S2965。初始化代碼完成對MCU外設(shè)、μCOS-II操作系統(tǒng)以及CAN節(jié)點的初始化。應(yīng)用程序在操作系統(tǒng)的基礎(chǔ)上,分配任務(wù)堆??臻g,然后建立任務(wù)間通訊的信號量以及消息郵箱等,進而創(chuàng)建任務(wù),并分配不同的優(yōu)先級,此系統(tǒng)的任務(wù)劃分如表1所示。

        表1 系統(tǒng)的任務(wù)劃分Tab.1 Sysem task partitioning

        3.1.1 CAN節(jié)點初始化

        系統(tǒng)的主要任務(wù)是實現(xiàn)上位機與下位機之間的通訊,將下位機節(jié)點采集到的電壓電流參數(shù)上傳至上位機并顯示給用戶,實時反映車燈的工作狀況。因此CAN通訊任務(wù)具有最高級別的優(yōu)先級。在任務(wù)taskican中,首先完成CAN節(jié)點的初始化,包括端口初始化、設(shè)定波特率、設(shè)置驗收濾波等,初始化通過調(diào)用Stellaris外設(shè)驅(qū)動庫中的相應(yīng)函數(shù)來完成。函數(shù) SysCtlPeripheralEnable()和 GPIOPinTypeCAN()可 完 成CAN模塊外設(shè)的端口初始化,CANSetBitTiming()可以設(shè)定波特率,本設(shè)計中的通訊波特率設(shè)定為1 MB/s,并且總線上的節(jié)點都設(shè)置成相同的波特率,canAcceptFilterSet()可完成驗收濾波設(shè)置。完成CAN節(jié)點的初始化之后,在任務(wù)taskican中每 10 ms調(diào)用一次 iCAN調(diào)度函數(shù) ICAN_Schedul(),完成一次數(shù)據(jù)收發(fā)工作,同時將下位機節(jié)點采集的電壓電流值上傳至上位機并刷新顯示。

        3.1.2 基于iCAN協(xié)議的消息處理

        iCAN協(xié)議,即工業(yè)CAN-bus應(yīng)用層協(xié)議。是由我國自主研發(fā)的基于CAN總線的高層應(yīng)用協(xié)議,詳細的定義了CAN報文中ID以及數(shù)據(jù)的分配和應(yīng)用,建立了一個統(tǒng)一的設(shè)備模型,定義了設(shè)備的I/O資源和訪問規(guī)則,采用“基于連接,面向節(jié)點”的通訊方式[6],既支持主從方式通訊模式,又支持事件觸發(fā)通訊模式。系統(tǒng)中,上位機主節(jié)點的ID為0x01,下位機各節(jié)點的ID可以根據(jù)具體情況設(shè)定,范圍為0x00-0x3F。

        節(jié)點中,數(shù)據(jù)的發(fā)送和接收是由微處理器集成的CAN控制器自動完成。為滿足實時性的要求,數(shù)據(jù)的接收操作采用中斷方式。由于下位機節(jié)點數(shù)量較多,數(shù)據(jù)的發(fā)送接收量比較大,為了保證不丟失數(shù)據(jù),這里設(shè)計了兩個深度為40字節(jié)的CAN報文緩沖區(qū),分別用作發(fā)送和接收緩存。對緩沖區(qū)的操作,由函數(shù)canCirBufRead和函數(shù)canCirBufWrite來完成。而對于 CAN消息的發(fā)送和接收由函數(shù)ICANTxMsgObjSend、canFrameSend和ICANRxMsgObjExplain來完成。

        CAN消息的發(fā)送接收流程圖如圖5所示。數(shù)據(jù)的發(fā)送調(diào)用函數(shù)ICANTxMsgObjSend,其中先按照iCAN協(xié)議規(guī)定的格式填寫報文的ID和數(shù)據(jù)段,然后查詢緩沖區(qū)的狀態(tài),如果發(fā)送緩沖區(qū)未滿,則調(diào)用canCirBufWrite將整合后的數(shù)據(jù)寫入發(fā)送緩沖區(qū),最后調(diào)用函數(shù)canFrameSend將數(shù)據(jù)發(fā)送到CAN總線上。

        圖5 消息的發(fā)送接收流程圖Fig.5 Flow chart of sending and receiving message

        接收采用中斷方式,當(dāng)有中斷產(chǎn)生,即收到一幀數(shù)據(jù),此時首先查詢接收緩沖區(qū)的狀態(tài),如果未滿,則調(diào)用函數(shù)canCirBufWrite將接收到的數(shù)據(jù)寫入接收緩沖區(qū)。

        通過調(diào)用函數(shù)ICANRxMsgObjExplain對接收到的數(shù)據(jù)進行處理。其中,首先調(diào)用函數(shù)canCirBufRead從接收緩沖區(qū)讀取一幀報文,然后解析出報文的功能碼FuncID和數(shù)據(jù)段內(nèi)容,根據(jù)不同的功能碼,按照iCAN協(xié)議填寫不同的響應(yīng)報文,最后調(diào)用數(shù)據(jù)發(fā)送函數(shù)ICANTxMsgObjSend返回響應(yīng)幀。

        3.2 上位機軟件設(shè)計

        上位機軟件的編寫利用開發(fā)工具VC,利用MFC結(jié)合PCI-CAN卡的VCI庫函數(shù)完成,軟件界面如圖6所示。

        圖6 上位機軟件界面Fig.6 Software interface of the host computer

        其中,利用VCI庫中的函數(shù),可以實現(xiàn)數(shù)據(jù)的發(fā)送、接收以及設(shè)備的初始化。VC自帶標準控件和模態(tài)對話框的使用,可以完成對下位機控制節(jié)點工作參數(shù)的設(shè)定,同時顯示并保存各車燈的電壓電流及工作情況,當(dāng)電壓或電流超出量程時,會有相應(yīng)的報警提示。電壓電流監(jiān)測界面如圖7所示。

        圖7 電壓電流監(jiān)測界面Fig.7 Monitoring interface of voltage and current

        4 結(jié) 論

        結(jié)果表明,系統(tǒng)可以同時對多組車燈進行功能控制,并且對車燈工作時的電壓電流進行實時可靠的監(jiān)測。該系統(tǒng)可以用于對新出廠的車燈進行測試,對其質(zhì)量以及性能加以評定。這樣,對保證日后車燈的質(zhì)量有著重要的意義。

        [1]馬福昌,楊少峰.基于CAN總線的嵌入式水位監(jiān)測系統(tǒng)設(shè)計[J].電子設(shè)計工程,2010(10):87-89.MA Fu-chang,YANG Shao-feng.Design of embedded water level monitoring system based on CAN bus[J].Electronic Design Engineering,2010(10):87-89.

        [2]向懷坤,梁松峰,袁媛.基于CAN/uCOS-II的網(wǎng)絡(luò)交通信號控制器設(shè)計[J].深圳職業(yè)技術(shù)學(xué)院學(xué)報,2008(3):3-6.XIANG Huai-kun,LIANG Song-feng,YUAN Yuan.Design of the controller of network traffic signals based on CAN/μCOSII[J].Journal of Shenzhen Polytechnic,2008(3):3-6.

        [3]王田苗.嵌入式系統(tǒng)設(shè)計與實例開發(fā):基于ARM微處理器與μC/OS-Ⅱ?qū)崟r操作系統(tǒng) [M].北京:清華大學(xué)出版社,2002.

        [4]邵貝貝.嵌入式實時操作系統(tǒng)uCOS-II[M].北京:北京航空航天大學(xué)出版社,2003.

        [5]Stellaris外設(shè)驅(qū)動庫用戶指南[S].廣州周立功單片機發(fā)展有限公司.

        [6]周立功.iCAN現(xiàn)場總線原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007.

        [7]王成卉,曾連蓀.基于CAN總線的信息采集系統(tǒng)設(shè)計[J].電子設(shè)計工程,2010(9):113-117.WANG Cheng-hui,ZENG Lian-sun.Design of information acquisition system based on CAN bus[J].Electronic Design Engineering,2010(9):113-117.

        猜你喜歡
        機軟件車燈下位
        南非的車燈會說話
        華人時刊(2019年13期)2019-11-26 00:54:38
        發(fā)射機房監(jiān)控系統(tǒng)之下位機
        車燈
        道岔監(jiān)測系統(tǒng)上位機軟件設(shè)計
        STP與無線調(diào)車燈顯設(shè)備結(jié)合技術(shù)探討
        景洪電廠監(jiān)控系統(tǒng)下位機數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
        圍觀黨“下位”,吐槽帝“登基”
        北京紀事(2016年5期)2016-05-07 13:17:02
        基于正交試驗法的北斗用戶機軟件測試用例設(shè)計
        PCI-e高速數(shù)據(jù)采集卡的驅(qū)動與上位機軟件設(shè)計
        電子器件(2015年5期)2015-12-29 08:43:12
        CAN總線并發(fā)通信時下位機應(yīng)用軟件設(shè)計
        大地资源中文第三页| 亚洲欧美日韩国产精品网| 亚洲五月七月丁香缴情| 在线观看一区二区三区国产| 久久综合久久美利坚合众国| 天天燥日日燥| 综合网五月| 亚洲综合天堂一二三区| 丰满少妇人妻久久精品| 午夜色大片在线观看| 亚洲天堂第一区| av资源在线播放网站| 亚洲精品第一页在线观看 | 日韩精品一级在线视频| 国产亚洲超级97免费视频| 久久久久亚洲av片无码下载蜜桃| 午夜免费福利在线观看| 男女搞黄在线观看视频| 亚洲视频一区二区三区视频| 99精品国产在热久久| 无码日韩人妻AV一区免费| 久久亚洲精精品中文字幕早川悠里| 国产精品亚洲av无人区一区香蕉 | 精品人妻无码一区二区色欲产成人| 国产一级淫片a免费播放口 | 99精品国产一区二区三区a片 | 中文字幕色偷偷人妻久久一区| 亚洲国产成人久久综合| 国产女精品| 人妻少妇中文字幕av| 亚洲小说区图片区色综合网| 亚洲 自拍 另类 欧美 综合| 亚洲成AV人在线观看网址| 一区二区三区免费观看日本| 国产综合无码一区二区辣椒| 久久天天爽夜夜摸| 久久亚洲精品中文字幕蜜潮| 亚洲成av人综合在线观看| 台湾佬综合网| 日韩av在线不卡一区二区三区| 亚洲不卡高清av网站|