當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]C8051F040的車用CAN總線智能節(jié)點(diǎn)設(shè)計(jì)

電氣與電子系統(tǒng)是車輛的重要組成部分,其工作狀態(tài)直接影響車輛的性能。按照傳統(tǒng)設(shè)計(jì)思想設(shè)計(jì)車輛電氣系統(tǒng)時(shí),往往采取堆積各種子系統(tǒng)的途徑來(lái)提高系統(tǒng)的性能,因此車輛內(nèi)部各子系統(tǒng)之間單純面向任務(wù)而不考慮與全局的關(guān)系。隨著子系統(tǒng)及裝置數(shù)量不斷增加,傳統(tǒng)設(shè)計(jì)方法遇到了一系列問題:線路增多、布線復(fù)雜、電磁干擾增加、系統(tǒng)可靠性下降、檢查維修困難等。為了解決上述問題,現(xiàn)代車輛采用了綜合電子系統(tǒng)。總線是綜合電子系統(tǒng)的基礎(chǔ),通過總線節(jié)點(diǎn),綜合電子系統(tǒng)可采集、使用、分配和共享車內(nèi)所有電子系統(tǒng)的各種信息,達(dá)到弱化矛盾、增強(qiáng)整體功能的目的。CAN總線由于具有性價(jià)比高、可靠性高、實(shí)時(shí)性好、靈活性強(qiáng)等特點(diǎn),得到廣泛應(yīng)用。本文針對(duì)CAN總線,提出了一種基于C8051F040的通用總線智能節(jié)點(diǎn)的設(shè)計(jì)方法。

1 總體設(shè)計(jì)
   
本文采用C8051F040單片機(jī)作為智能節(jié)點(diǎn)的主控芯片來(lái)設(shè)計(jì)CAN總線通用智能節(jié)點(diǎn)。智能節(jié)點(diǎn)通過現(xiàn)場(chǎng)信號(hào)調(diào)整、高速數(shù)據(jù)采集獲取該節(jié)點(diǎn)下設(shè)備的參數(shù),并通過總線收發(fā)器將數(shù)據(jù)發(fā)送到CAN總線,同時(shí)根據(jù)參數(shù)及總線上的其他信息和命令對(duì)設(shè)備進(jìn)行控制。通過CAN總線智能節(jié)點(diǎn),可將車輛電氣系統(tǒng)各子系統(tǒng)及設(shè)備緊密聯(lián)系在一起,構(gòu)成一個(gè)實(shí)時(shí)控制網(wǎng)絡(luò),如圖1所示。


    考慮到智能節(jié)點(diǎn)的通用性,經(jīng)過對(duì)車輛各子系統(tǒng)和設(shè)備參數(shù)進(jìn)行分析,確定了智能節(jié)點(diǎn)主要指標(biāo)。
    ①信號(hào)輸入:8路模擬信號(hào)輸入,16路數(shù)字信號(hào)輸入,2路脈沖量輸入;
    ②控制信號(hào)輸出:2路模擬控制信號(hào)輸出,8路數(shù)字信號(hào)輸出;
    ③CAN總線接口:1個(gè)CAN總線接口(支持CAN2.0A和CAN2.0B)。

2 硬件設(shè)計(jì)
   
CAN總線節(jié)點(diǎn)有兩種設(shè)計(jì)方法,一種采用通用微控制器結(jié)合獨(dú)立CAN控制器加上收發(fā)器,另一種采用集成CAN控制器的微控制器結(jié)合CAN收發(fā)器。本文采用第二種設(shè)計(jì)方法,選用1片C8051F040單片機(jī)作為智能節(jié)點(diǎn)的主控芯片。主控芯片內(nèi)部集成CAN控制器,兼容CAN2.0A和CAN2.0B,配合總線收發(fā)器后可完成CAN通信。此外,主控芯片還使用內(nèi)部集成的A/D轉(zhuǎn)換器完成對(duì)模擬信號(hào)的采集,同時(shí)向被控設(shè)備輸出模擬和數(shù)字控制信號(hào)。主控芯片各種資源的相關(guān)情況見參考文獻(xiàn)。
    智能節(jié)點(diǎn)的硬件系統(tǒng)包括:模擬信號(hào)采集電路、開關(guān)信號(hào)采集電路、開關(guān)信號(hào)輸出、LCD電路、CAN總線電路等。硬件原理框圖如圖2所示。


2.1 模擬信號(hào)采集電路
   
模擬信號(hào)采集電路用于采集受控設(shè)備輸出的模擬信號(hào)。該電路由模擬信號(hào)調(diào)整電路、SPI總線A/D轉(zhuǎn)換器MCP3208、高速光電耦合器2801以及外圍電路組成,其電路原理圖如圖3所示。

[!--empirenews.page--]


    模擬信號(hào)調(diào)整電路可用于測(cè)量模擬電壓信號(hào)、模擬電流信號(hào)以及電阻信號(hào)。以連接到MCP3208第1通道的電路為例:當(dāng)R2斷開,R4和R1連接適當(dāng)阻值的電阻時(shí),該電路可用于測(cè)量模擬電壓信號(hào);當(dāng)R2斷開,R4短路,R1連接采樣電阻時(shí),該電路可用于測(cè)量模擬電流信號(hào);當(dāng)R1斷開,R4短路,R2連接適當(dāng)阻值的電阻時(shí),該電路可用于測(cè)量電阻信號(hào)。R5與二極管D1和D2組成保護(hù)電路。R6、R9及C4組成分壓和濾波電路。
    為了保證系統(tǒng)穩(wěn)定、可靠工作,控制模塊的數(shù)字地與模擬地嚴(yán)格分開。因此,模塊沒有使用C8051F040內(nèi)部集成的A/D轉(zhuǎn)換器,而是使用外部SPI總線A/D轉(zhuǎn)換器MCP3208。MCP3208是12位逐次逼近型模/數(shù)轉(zhuǎn)換器,具有片上采樣和保持電路。該A/D轉(zhuǎn)換器使用與SPI協(xié)議兼容的簡(jiǎn)單串行端口與主控芯片相連,轉(zhuǎn)換速率可高達(dá)100 ksps。主控芯片C8051F040是8位單片機(jī),其SPI端口要求以8位數(shù)據(jù)為一組來(lái)收發(fā)數(shù)據(jù)。同時(shí),為了與MCP3208通信,將主控芯片SPI口設(shè)置為主方式,時(shí)鐘下降沿輸出數(shù)據(jù),時(shí)鐘上升沿鎖存數(shù)據(jù)。
    設(shè)計(jì)中,8路模擬信號(hào)經(jīng)調(diào)整后與MCP3208的8個(gè)模擬輸入端相連。A/D轉(zhuǎn)換器的電源與參考電壓輸入端通過電感L1與5 V電源相連,模擬地通過電感L2與5 V電源地相連,以減小電源擾動(dòng)對(duì)A/D轉(zhuǎn)換的影響。同時(shí),MCP3208的SPI接口與單片機(jī)之間也使用光電耦合器隔離,從而保證數(shù)字地與模擬地嚴(yán)格分開。圖中只給出了MOSI與MISO光耦隔離的原理圖,SCLK與CS隔離的原理相同。
2.2 開關(guān)信號(hào)采集電路
   
開關(guān)信號(hào)采集電路用于采集受控設(shè)備輸出的開關(guān)信號(hào)。該電路由光電耦合器2801及其外圍電路組成,其電路原理圖如圖4所示。當(dāng)外部開關(guān)信號(hào)的高電平信號(hào)接于開關(guān)信號(hào)采集電路輸入端時(shí),光耦內(nèi)部發(fā)光二極管工作,光敏三極管導(dǎo)通,光電耦合器輸出低電平信號(hào)。主控芯片通過I/0口掃描光電耦合器輸出端即可采集開關(guān)信號(hào)。R1、R2、C1組成輸入分壓濾波電路。


2.3 CAN總線接口電路
   
由于C805lF040內(nèi)部集成了CAN總線控制器,外電路中只要設(shè)置總線收發(fā)器即可完成通信。CAN總線接口電路用于完成CAN總線通信,由總線收發(fā)器VP251、光電耦合器0211及外圍電路組成,其電路原理圖如圖5所示。


    CAN總線接口電路采用VP251作為總線收發(fā)器,該收發(fā)器主要用于單端信號(hào)與差動(dòng)信號(hào)之間的相互轉(zhuǎn)換。此外,單片機(jī)最小控制電路與總線收發(fā)器之間采用光電耦合器隔離,以提高系統(tǒng)工作的可靠性。光電耦合器采用2片高速光耦O211,1片用于接收,1片用于發(fā)送。
2.4 開關(guān)信號(hào)輸出電路
   
開關(guān)信號(hào)輸出電路用于向外部被控對(duì)象輸出驅(qū)動(dòng)信號(hào)。該電路由光電耦合器2801組成,其電路原理圖如圖6所示。當(dāng)開關(guān)信號(hào)輸出電路接收到低電平信號(hào)時(shí),光耦內(nèi)部發(fā)光二極管工作,光敏三極管導(dǎo)通,光電耦合器輸出低電平信號(hào)。


2.5 電源電路
   
電源電路用于向其他功能電路供電。電源由輸入濾波器CXDB2、電源模塊PWB2405、三端穩(wěn)壓器AMS1117及外圍電路組成,其電路原理圖如圖7所示。

[!--empirenews.page--]


    為了限制傳導(dǎo)干擾,電源模塊使用電磁干擾(EMI)濾波器CXDB2來(lái)抑制電源輸入中的傳導(dǎo)噪聲。輸入電源經(jīng)過濾波后送入2個(gè)獨(dú)立的電源模塊PWB2405中獲得3組5 V電源。5V-2為模擬信號(hào)輸入與A/D轉(zhuǎn)換電路提供電源,5V-1向CAN總線收發(fā)器供電,5VG為模擬電源,地。VCC為采用5 V電壓的數(shù)字電路提供電源,同時(shí)向三端穩(wěn)壓器模塊AMSlll7提供電源。AMSlll7將VCC轉(zhuǎn)換為2組3.3 V電源,3.3 V-1為C8051F040內(nèi)部A/D轉(zhuǎn)換器提供電源和參考電壓,3.3V-2為單片機(jī)最小控制電路提供數(shù)字電源。

3 軟件設(shè)計(jì)
3.1 主程序

    主程序流程如圖8所示。智能節(jié)點(diǎn)上電后,主程序首先完成系統(tǒng)初始化,主要內(nèi)容包括:初始化I/0口、A/D轉(zhuǎn)換器、SPI總線、LCD、CAN總線等,然后進(jìn)入循環(huán)工作狀態(tài)。程序采用掃描方式完成模擬信號(hào)采集和開關(guān)信號(hào)采集。采集得到的數(shù)據(jù)經(jīng)過濾波、補(bǔ)償?shù)确绞教幚砗?,通過CAN通信子程序發(fā)送到CAN總線。此外,循環(huán)工作過程中,系統(tǒng)還會(huì)通過LCD子程序顯示相關(guān)信息。


3.2 信號(hào)采集程序
   
智能節(jié)點(diǎn)信息采集量較大,如何實(shí)現(xiàn)對(duì)多種、多路信號(hào)實(shí)時(shí)采集是系統(tǒng)設(shè)計(jì)的關(guān)鍵。電氣系統(tǒng)典型信號(hào)主要包括模擬信號(hào)、開關(guān)信號(hào)等。
    采集模擬信號(hào)時(shí),利用外部12位A/D轉(zhuǎn)換器,采用軟件查詢的方式采集模擬信號(hào)并進(jìn)行數(shù)字濾波處理。由于所要采集的模擬信號(hào)較多,因此必須實(shí)現(xiàn)采集通道動(dòng)態(tài)切換;采用定時(shí)掃描C8051F040數(shù)字I/O口的方法采集數(shù)字信號(hào)。
3.3 CAN通信程序
   
C8051F040內(nèi)部的CAN控制器集成了用于接收及發(fā)送的所有硬件,與使用外部CAN控制器相比,可以大大減少占用CPU的時(shí)間。CAN總線接收采用中斷方式完成,發(fā)送采用查詢方式完成。CAN總線接收和發(fā)送的流程如圖9所示。



4 結(jié)論
   
本文提出了一種基于C8051F040單片機(jī)的CAN總線智能節(jié)點(diǎn)設(shè)計(jì)方案。通過該智能節(jié)點(diǎn)能夠?qū)崿F(xiàn)設(shè)備的數(shù)據(jù)采集與控制,而且根據(jù)需要加入適當(dāng)算法后,還可以實(shí)現(xiàn)智能控制和故障診斷等功能。該智能節(jié)點(diǎn)已應(yīng)用于某型車輛的模擬教學(xué)平臺(tái)中,通過由16個(gè)節(jié)點(diǎn)組成的CAN控制網(wǎng)絡(luò)完成了對(duì)整個(gè)平臺(tái)設(shè)備的綜合控制,性能良好。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉