王曉鵬
摘要:CAN是Controller Area Network的簡(jiǎn)稱,CAN-BUS稱為控制器局域網(wǎng)總線技術(shù),本文采用CAN總線2.0B協(xié)議,硬件設(shè)計(jì)采用C8051F040單片機(jī)作為核心,CAN總線控制器為飛利浦公司的SJA1000,可以采集溫度、電流、開(kāi)關(guān)量等多種信號(hào),由CAN總線傳輸?shù)缴衔粰C(jī)后,該上位機(jī)實(shí)現(xiàn)操作員與底層節(jié)點(diǎn)之間的信息交互。
關(guān)鍵詞:現(xiàn)場(chǎng)總線;CAN總線;C8051F040;SJA1000
中圖分類號(hào):TP366 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)06-0200-01
1 簡(jiǎn)介
CAN總線的幀可以分為四種類型,總線上傳輸?shù)拇蠖鄶?shù)都是數(shù)據(jù)幀,數(shù)據(jù)幀負(fù)責(zé)攜帶數(shù)據(jù)從發(fā)送器到接收器;CAN總線發(fā)送數(shù)據(jù)時(shí),該節(jié)點(diǎn)的CPU把將要發(fā)送的數(shù)據(jù)和標(biāo)識(shí)發(fā)送給CAN芯片,則該芯片進(jìn)入準(zhǔn)備狀態(tài)。Cygnal公司的51系列單片機(jī)C8051F040是集成在芯片上的混合信號(hào)系統(tǒng)單片機(jī),該單片機(jī)是目前8位單片機(jī)控制系統(tǒng)的發(fā)展方向。芯片上有1個(gè)12位多通道ADC、2個(gè)12位DAC、2個(gè)電壓比較器、1個(gè)電壓基準(zhǔn)、1個(gè)32kB的FLASH存儲(chǔ)器、具有與MCS-51指令集完全兼容的高速CIP-51內(nèi)核,峰值速度可達(dá)25MIPS,使用ADC來(lái)采集溫度,電流等模擬信號(hào),將結(jié)果存儲(chǔ)在單片機(jī)中,待總線空閑時(shí)發(fā)送給上位機(jī)。SJA1000 是一種獨(dú)立控制器,用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制,工作模式為PeliCAN, 該模式支持具有很多新特性的CAN 2.0B 協(xié)議。
2 CAN總線硬件電路設(shè)計(jì)
2.1 CAN總線接口電路
C8051F040連接SJA1000需要提供數(shù)據(jù)線、地址線和控制信號(hào)。SJA1000支持與3.3V供電的C8051F040直接連接,這時(shí)要將Mode引腳接高電平。CAN總線接口電路圖如下圖1。
2.2 C8051F040外圍電路設(shè)計(jì)
C8051F040外圍電路包括電源3.3V設(shè)計(jì)模塊、晶振模塊、JTAG。電源模塊采用芯片AS1117,它將+5V電源轉(zhuǎn)換為+3.3V輸出,該單片機(jī)供電電源模塊原理圖如下圖2。
3 系統(tǒng)軟件設(shè)計(jì)
編譯環(huán)境使用集成了Keil C51編譯器的開(kāi)發(fā)環(huán)境Silicon Laboratories IDE ,在IDE環(huán)境下完成程序的編譯和調(diào)試。
4 結(jié)語(yǔ)
本設(shè)計(jì)完成了底層節(jié)點(diǎn)的軟硬件設(shè)計(jì),搭建了一套CAN總線數(shù)據(jù)采集系統(tǒng),經(jīng)過(guò)實(shí)驗(yàn)測(cè)定基本可以達(dá)到指標(biāo)要求。
參考文獻(xiàn)
[1]路小俊.基于CAN總線的通信研究[J].低壓電器,2002,6,(12):36-39.
[2]史久根.CAN現(xiàn)場(chǎng)總線系統(tǒng)設(shè)計(jì)技術(shù)[M].國(guó)防工業(yè)出版社,2004:20-40.
[3]蔡月明.基于CAN總線的工業(yè)控制系統(tǒng)[J].中國(guó)儀器儀表,2001,5,(6):16-18.endprint