新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機的CAN總線接口轉換卡設計

        基于單片機的CAN總線接口轉換卡設計

        作者: 時間:2011-11-05 來源:網絡 收藏
        1 引言
        控制器局域網(Controller Area Network,簡稱CAN)是德國奔馳公司20世紀80年代為解決汽車眾多控制設備與儀器儀表之間的數據交換開發的一種串行通信協議。它作為現場總線的一種廣泛應用于各種工業現場,根據不同的需要或以主從方式、或以多主方式工作。使用的通信介質為雙絞線或其他電纜,傳輸速率可達lMb/s。與其他通信網的不同之處有二:一是報文傳送中不包含目標地址,它是以全網廣播為基礎,各接收站根據報文中反映數據性質的標識符過濾報文,該收的收下,不該收的棄而不用。其好處是可在線上網下網、即插即用和多站接收;二是特別強化了對數據安全性的關注,滿足控制系統及其他較高數據要求的系統需求。鑒于其極高的可靠性、獨特的設計、高速率和傳輸距離較長等,特別適合于工業現場監控設備的互連。

        2 系統簡介
        采用總線式網絡拓撲結構,如圖l所示。采用CAN總線特有的多主傳送方式,各個分機根據需要有數據時才主動發送,無需主機不停的輪詢,從而節省網絡上的數據流量,提高傳輸效率。

        基于單片機的CAN總線接口轉換卡設計

        現有的監控設備大多采用的是RS一232或RS一485串行通信,為在此基礎上組建CAN通信網絡,筆者設計了一款便攜式CAN總線,該可采用鋰電池作為供電電源,功耗低、體積小、重量輕,可滿足便攜式需要。

        3 系統硬件結構設計
        德州儀器公司的系列單片機是一種超低功耗微控制器,電壓范圍為1.8V~3.6V。該處理器通過16位RISC系統、16位CPU、集成寄存器和常量發生器來獲得最大代碼效率。系列超低功耗微控制器是應用于工業控制、數字化電機控制、手持式儀表等設備中的理想微控制器。本設計選用F449型單片機,它具有豐富的片上模塊:最多8路12位A/D轉換器、48個I/O端口、2個UART看門狗、2個內置16位定時器、可在線仿真的Flash內存、7路PWM輸出、LCD驅動等。

        便攜式CAN總線的電氣結構原理框圖如圖2所示,它由電源模塊、CAN通信電路、串口電平轉換電路、緩存和LCD模塊組成。

        基于單片機的CAN總線接口轉換卡設計

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

        3.2 串口電平轉換模塊
        在本設計中,MSP430F449只用1個USART接口,而CAN轉換卡集成了RS232、RS485 2個通信模塊,設計中通過DIP開關選擇接口類型。RS232和RS485串口電平轉換模塊分別選用Maxim公司的MAX3221和MAX3485。

        3.3 電源模塊
        整個系統除由鋰電池供電外,還可以用小型變壓器等外部電源供電,以滿足不同場合的需求。選用TPS7333作為MSP430F449的穩壓電源輸出3.3V的系統供電電壓。為保證數據正常傳輸,電源電路中還配有bq24012型電池充電管理電路,以便在電池電量較低、可能會影響正常數據傳輸時及時報警,提醒更換電池或充電。

        3.4 緩存和LCD模塊
        為了節省PC的工作時間,設計時用TMS44400型動態存儲器擴展動態存儲區間,傳輸數據時首先讀取報頭信息以決定是實時傳輸還是緩存操作。MSP430F449帶有液晶驅動模塊,設計中選用東顯公司的EDS805型液晶顯示模塊,用它實時顯示系統的狀態特性、數據的傳輸速度、剩余時間等,它還可以進行電源欠壓報警。

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

        基于單片機的CAN總線接口轉換卡設計

        基于單片機的CAN總線接口轉換卡設計

        5 結束語
        本文介紹了CAN總線通信接口轉換卡的軟硬件設計,期望給研究CAN總線應用的設計人員提供一些借鑒和幫助。所介紹的CAN總線通信接口轉換卡的結構簡單且抗干擾能力強,非常適用于構成中小型分布式測控網絡。隨著支持CAN協議的器件不斷增多,CAN器件的價格會進一步降低,在自動化領域中的應用也會越來越廣泛。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 清原| 开远市| 邹城市| 石河子市| 屏山县| 三门县| 黄陵县| 赤城县| 浮梁县| 武穴市| 吴川市| 冕宁县| 册亨县| 象州县| 宁陵县| 平江县| 吉首市| 婺源县| 拜泉县| 南皮县| 库车县| 东兰县| 齐齐哈尔市| 平罗县| 大冶市| 靖宇县| 神木县| 开封县| 石景山区| 视频| 施甸县| 卓资县| 博爱县| 酒泉市| 东阿县| 嵩明县| 巴楚县| 南涧| 鄂尔多斯市| 高州市| 武穴市|