《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于MSP430單片機(jī)的CAN總線接口轉(zhuǎn)換卡設(shè)計(jì)
基于MSP430單片機(jī)的CAN總線接口轉(zhuǎn)換卡設(shè)計(jì)
摘要: 本文介紹了CAN總線通信接口轉(zhuǎn)換卡的軟硬件設(shè)計(jì),期望給研究CAN總線應(yīng)用的設(shè)計(jì)人員提供一些借鑒和幫助,。所介紹的CAN總線通信接口轉(zhuǎn)換卡的結(jié)構(gòu)簡(jiǎn)單且抗干擾能力強(qiáng),,非常適用于構(gòu)成中小型分布式測(cè)控網(wǎng)絡(luò)。隨著支持CAN協(xié)議的器件不斷增多,,CAN器件的價(jià)格會(huì)進(jìn)一步降低,,在自動(dòng)化領(lǐng)域中的應(yīng)用也會(huì)越來(lái)越廣泛。
Abstract:
Key words :

1 引言

    控制器局域網(wǎng)(Controller Area Network,,簡(jiǎn)稱CAN)是德國(guó)奔馳公司20世紀(jì)80年代為解決汽車眾多控制設(shè)備與儀器儀表之間的數(shù)據(jù)交換開發(fā)的一種串行通信協(xié)議,。它作為現(xiàn)場(chǎng)總線的一種廣泛應(yīng)用于各種工業(yè)現(xiàn)場(chǎng),根據(jù)不同的需要或以主從方式,、或以多主方式工作,。CAN總線使用的通信介質(zhì)為雙絞線或其他電纜,傳輸速率可達(dá)lMb/s,。 CAN總線與其他通信網(wǎng)的不同之處有二:一是報(bào)文傳送中不包含目標(biāo)地址,,它是以全網(wǎng)廣播為基礎(chǔ),各接收站根據(jù)報(bào)文中反映數(shù)據(jù)性質(zhì)的標(biāo)識(shí)符過(guò)濾報(bào)文,,該收的收下,,不該收的棄而不用。其好處是可在線上網(wǎng)下網(wǎng),、即插即用和多站接收,;二是特別強(qiáng)化了對(duì)數(shù)據(jù)安全性的關(guān)注,滿足控制系統(tǒng)及其他較高數(shù)據(jù)要求的系統(tǒng)需求,。鑒于其極高的可靠性,、獨(dú)特的設(shè)計(jì)、高速率和傳輸距離較長(zhǎng)等,,特別適合于工業(yè)現(xiàn)場(chǎng)監(jiān)控設(shè)備的互連,。

2 系統(tǒng)簡(jiǎn)介

    CAN總線采用總線式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如圖l所示,。采用CAN總線特有的多主傳送方式,,各個(gè)分機(jī)根據(jù)需要有數(shù)據(jù)時(shí)才主動(dòng)發(fā)送,,無(wú)需主機(jī)不停的輪詢,從而節(jié)省網(wǎng)絡(luò)上的數(shù)據(jù)流量,,提高傳輸效率,。

    現(xiàn)有的監(jiān)控設(shè)備大多采用的是RS一232或RS一485串行通信,為在此基礎(chǔ)上組建CAN通信網(wǎng)絡(luò),,筆者設(shè)計(jì)了一款便攜式CAN總線接口轉(zhuǎn)換卡,,該轉(zhuǎn)換卡可采用鋰電池作為供電電源,功耗低,、體積小,、重量輕,可滿足便攜式需要,。

3 系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)

    德州儀器公司的MSP430系列單片機(jī)是一種超低功耗微控制器,,電壓范圍為 1.8V~3.6V。該處理器通過(guò)16位RISC系統(tǒng),、16位CPU,、集成寄存器和常量發(fā)生器來(lái)獲得最大代碼效率。MSP430系列超低功耗微控制器是應(yīng)用于工業(yè)控制,、數(shù)字化電機(jī)控制,、手持式儀表等設(shè)備中的理想微控制器,。本設(shè)計(jì)選用MSP430F449型單片機(jī),,它具有豐富的片上模塊:最多8路12位 A/D轉(zhuǎn)換器、48個(gè)I/O端口,、2個(gè)UART看門狗,、2個(gè)內(nèi)置16位定時(shí)器、可在線仿真的Flash內(nèi)存,、7路PWM輸出,、LCD驅(qū)動(dòng)等。

    便攜式CAN總線接口轉(zhuǎn)換卡的電氣結(jié)構(gòu)原理框圖如圖2所示,,它由電源模塊,、CAN通信接口電路、串口電平轉(zhuǎn)換電路,、緩存和LCD模塊組成,。

3.1 CAN通信接口電路

    系統(tǒng)硬件以Philips公司的SJA1000型CAN總線控制器為核心,它是一款獨(dú)立的CAN總線控制器,,主要用于工業(yè)環(huán)境中,。它也是Philips半導(dǎo)體PCA82C200型CAN控制器(Basic CAN)的替代產(chǎn)品,經(jīng)過(guò)簡(jiǎn)單總線連接的SJA1000可完成CAN總線的物理層和數(shù)據(jù)鏈路層的所有功能,。SJA1000由CAN核心模塊,、發(fā)送緩沖區(qū),、接口FIFO、驗(yàn)收濾波器和接口管理邏輯組成,。CAN核心模塊主要負(fù)責(zé)CAN信息幀的收發(fā)和CAN協(xié)議的實(shí)現(xiàn),,接口管理邏輯負(fù)責(zé)SJA1000與主控制器的接口。在進(jìn)行數(shù)據(jù)傳輸時(shí),,主控制器把標(biāo)識(shí)符和數(shù)據(jù)送入發(fā)送緩沖區(qū)后請(qǐng)求發(fā)送,,從而啟動(dòng)CAN核心模塊讀取發(fā)送緩存區(qū)中的數(shù)據(jù),再按CAN協(xié)議封裝成完整的CAN信息幀,,通過(guò)收發(fā)器發(fā)往總線,,發(fā)送緩存區(qū)的容量為13字節(jié)。驗(yàn)收濾波器單元對(duì)接收到的信息進(jìn)行處理后送到接收FIFO中,,接收FIFO為64字節(jié),。PCA82C250型CAN總線收發(fā)器是CAN控制器與物理總線之間的接口,它提供了CAN控制器向總線的差動(dòng)發(fā)送,、接收能力,。該收發(fā)器依靠引腳8 (RS)的不同連接可以選擇3種不同的工作方式:高速、斜率控制和待機(jī)方式,。通過(guò)RS引腳對(duì)地連接的電阻器可對(duì)總線進(jìn)行斜率控制,,斜率正比于引腳RS上的電流輸出。對(duì)于傳輸速率要求較高的應(yīng)用場(chǎng)合,,通常將引腳8直接接地以選擇高速方式,。在此方式下,發(fā)送器輸出晶體管簡(jiǎn)單地以盡可能快的速度啟閉,,不采取任何措施限制上升和下降斜率,,因此必須采用屏蔽電纜以避免射頻干擾。CAN控制器的發(fā)送和接收端口分別通過(guò)1個(gè)光電隔離電路與PCA82C250連接,,有效地抑制了總線引入的干
擾,。

3.2 串口電平轉(zhuǎn)換模塊

    在本設(shè)計(jì)中,MSP430F449只用1個(gè)USART接口,,而CAN轉(zhuǎn)換卡集成了RS232,、RS485 2個(gè)通信模塊,設(shè)計(jì)中通過(guò)DIP開關(guān)選擇接口類型,。RS232和RS485串口電平轉(zhuǎn)換模塊分別選用Maxim公司的MAX3221和MAX3485,。

3.3 電源模塊

    整個(gè)系統(tǒng)除由鋰電池供電外,還可以用小型變壓器等外部電源供電,,以滿足不同場(chǎng)合的需求,。選用TPS7333作為MSP430F449的穩(wěn)壓電源輸出3.3V 的系統(tǒng)供電電壓。為保證數(shù)據(jù)正常傳輸,,電源電路中還配有bq24012型電池充電管理電路,,以便在電池電量較低,、可能會(huì)影響正常數(shù)據(jù)傳輸時(shí)及時(shí)報(bào)警,提醒更換電池或充電,。

3.4 緩存和LCD模塊

    為了節(jié)省PC的工作時(shí)間,,設(shè)計(jì)時(shí)用TMS44400型動(dòng)態(tài)存儲(chǔ)器擴(kuò)展動(dòng)態(tài)存儲(chǔ)區(qū)間,傳輸數(shù)據(jù)時(shí)首先讀取報(bào)頭信息以決定是實(shí)時(shí)傳輸還是緩存操作,。MSP430F449帶有液晶驅(qū)動(dòng)模塊,,設(shè)計(jì)中選用東顯公司的 EDS805型液晶顯示模塊,用它實(shí)時(shí)顯示系統(tǒng)的狀態(tài)特性,、數(shù)據(jù)的傳輸速度,、剩余時(shí)間等,它還可以進(jìn)行電源欠壓報(bào)警,。

4 軟件設(shè)計(jì)

    MSP430的內(nèi)核結(jié)構(gòu)采用具有高透明格式的精簡(jiǎn)指令(RSIC)設(shè)計(jì),。CAN信息的接收和發(fā)送一樣,是由CAN控制器自動(dòng)完成的,,程序只需從相應(yīng)的緩存器中讀取相應(yīng)的數(shù)據(jù),,再進(jìn)行相應(yīng)的處理即可。在此系統(tǒng)中,,單片機(jī)完成初始化任務(wù)后進(jìn)入低功耗睡眠狀態(tài),,任一中斷均可將其喚醒,轉(zhuǎn)而執(zhí)行相應(yīng)的中斷服務(wù)子程序,。系統(tǒng)的2個(gè)中斷源分別為PC串口發(fā)送和下位機(jī)CAN信息接收,,這樣做的好處是盡可能地避免由于數(shù)據(jù)超限而引起的數(shù)據(jù)重發(fā)。圖3示出系統(tǒng)CAN初始化流程,,圖4示出發(fā)送中斷服務(wù)程序流程,。由于篇幅關(guān)系,,本文略去接收中斷服務(wù)程序流程,,其流程大致與發(fā)送流程相反。

5 結(jié)束語(yǔ)

    本文介紹了CAN總線通信接口轉(zhuǎn)換卡的軟硬件設(shè)計(jì),,期望給研究CAN總線應(yīng)用的設(shè)計(jì)人員提供一些借鑒和幫助,。所介紹的CAN總線通信接口轉(zhuǎn)換卡的結(jié)構(gòu)簡(jiǎn)單且抗干擾能力強(qiáng),非常適用于構(gòu)成中小型分布式測(cè)控網(wǎng)絡(luò),。隨著支持CAN協(xié)議的器件不斷增多,,CAN器件的價(jià)格會(huì)進(jìn)一步降低,在自動(dòng)化領(lǐng)域中的應(yīng)用也會(huì)越來(lái)越廣泛,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。