新聞中心

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

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

        作者: 時間:2013-11-12 來源:網絡 收藏

        引言

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

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

        1 CAN分析儀的組成和功能

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

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

        圖1 系統硬件框圖

        2 CAN分析儀的硬件設計

        2.1 MCU與CAN接口

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

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

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

        2.2 液晶顯示接口

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

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

        圖2 CAN接口硬件電路原理

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


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 玛纳斯县| 天津市| 正阳县| 曲松县| 枣阳市| 嵊泗县| 余江县| 澎湖县| 神农架林区| 万山特区| 北海市| 龙南县| 台中市| 射阳县| 南投市| 林西县| 青田县| 乐陵市| 麻栗坡县| 科尔| 明星| 武功县| 墨脱县| 博湖县| 酒泉市| 浦东新区| 含山县| 汽车| 驻马店市| 名山县| 天峻县| 霸州市| 通辽市| 柞水县| 阿拉尔市| 平南县| 宁德市| 博客| 监利县| 乳源| 仪征市|