新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AVR單片機的CAN總線分析儀設計

        AVR單片機的CAN總線分析儀設計

        作者: 時間:2013-11-12 來源:網(wǎng)絡 收藏

        引言

          國內(nèi)基于CAN總線的工程應用也越來越多,但是在CAN現(xiàn)場總線產(chǎn)品開發(fā)前期和后期測試中缺乏有效的現(xiàn)場監(jiān)測和排錯手段,從而延長了開發(fā)周期,增加了開發(fā)成本。同時,國內(nèi)CAN總線教學實驗也同樣缺乏成本低,功能強,操作簡單的CAN分析儀器。

          目前CAN總線的監(jiān)測主要是通過CAN適配卡與計算機相連,利用計算機軟件來分析總線狀況。高端CAN適配卡價格高昂,而低端CAN適配卡如CAN轉(zhuǎn)232卡,由于232總線傳輸速度有限,很難做到準確監(jiān)測。另外,計算機也不便于在現(xiàn)場進行監(jiān)測。本文設計了一種造價低廉、操作簡單的便攜,能夠適應各種總線傳輸速度。

        1 CAN分析儀的組成和功能

          主要由4個部分組成:MCU、液晶顯示接口、鍵盤輸入接口和CAN接口。能夠?qū)崿F(xiàn)以下功能: 總線波特率自適應、正常接收CAN總線數(shù)據(jù)、總線報文數(shù)和總線錯誤數(shù)及錯誤類型記錄、總線負載率檢測、總線報文顯示、CAN協(xié)議類型辨識。硬件整體框架如圖1所示。

        AVR單片機的CAN總線分析儀設計

        圖1 系統(tǒng)硬件框圖

        2 CAN分析儀的硬件設計

        2.1 MCU與CAN接口

          本系統(tǒng)中使用Atmel公司生產(chǎn)的作為微控制器。是高性能、低功耗的8位。它具有哈佛總線結(jié)構(gòu)、精簡指令集(RISC)結(jié)構(gòu)和豐富的片內(nèi)資源。具有64 KB Flash程序存儲器、2 KB的E2PROM、4 KB的SRAM、4個帶有比較模式的定時器/計數(shù)器以及可編程帶內(nèi)部振蕩器的看門狗定時器等,支持匯編和C語言在線編程。利用其優(yōu)良特性可以使設計大大簡化。

          CAN接口硬件原理圖如圖2所示,包括MCU、總線控制器模塊、總線驅(qū)動模塊、光電隔離模塊。  總線控制器模塊采用Philips公司的CAN控制器SJA1000。它可工作于BasicCAN 模式或PeliCAN 模式,具有64 字節(jié)的接收緩沖器,支持11位和29位ID,可熱插拔,支持CAN2.0B 協(xié)議,僅依靠控制器本身的硬件電路就能夠?qū)崿F(xiàn)通信幀的組織和發(fā)送功能。

          CAN總線驅(qū)動模塊采用82C251。為了增強CAN總線節(jié)點的抗干擾能力,實現(xiàn)各CAN節(jié)點間的電氣隔離,SJA1000的TX0和RX0通過高速光耦6N137分別與82C251T的TXD和RXD相連。值得注意的是,光耦所采用的兩個電源VCC和VDD必須完全電氣隔離。

        2.2 液晶顯示接口

          分析儀監(jiān)測到的總線狀態(tài)需要外部器件來顯示以方便觀察。傳統(tǒng)的數(shù)碼管指示燈無法滿足大量總線狀態(tài)實時顯示的需求。為了便于操作者的使用,本系統(tǒng)選用深圳安得利光電科技有限公司生產(chǎn)的AM1286425F57,它是128×64的圖形點陣液晶模塊,內(nèi)置控制器是三星公司的LCD驅(qū)動及控制芯片S6B1713。

        AVR單片機的CAN總線分析儀設計

        圖2 CAN接口硬件電路原理

          圖3是AM1286425F57硬件原理圖。MCU電源和背光輸入電源都為3.3 V。8位數(shù)據(jù)總線接在單片機的D口上,將D口配置為輸出。AM1286425F57的RS是指令與數(shù)據(jù)選擇信號。當RS=0時,表示數(shù)據(jù)總線D0~D7上是液晶控制指令;當RS=1時,表示數(shù)據(jù)總線D0~D7上是寫入液晶的數(shù)據(jù)。CS1和CS2都是控制器芯片S6B1713的片選信號,當CS1=0,CS2=1,即2個片選同時有效時才能選中液晶,向它寫入數(shù)據(jù)或指令。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 禄丰县| 涟源市| 湖口县| 巴塘县| 浦城县| 富民县| 綦江县| 老河口市| 浮山县| 平乡县| 察雅县| 清丰县| 博客| 砀山县| 陕西省| 崇义县| 泾川县| 新昌县| 晴隆县| 黑龙江省| 易门县| 鄂托克旗| 郓城县| 秦安县| 廊坊市| 金山区| 泗洪县| 峡江县| 扶余县| 崇信县| 永登县| 汽车| 敦煌市| 独山县| 施秉县| 永新县| 右玉县| 天柱县| 泗洪县| 华宁县| 华安县|