AVR單片機(jī)的CAN總線分析儀設(shè)計(jì)
引言
國內(nèi)基于CAN總線的工程應(yīng)用也越來越多,但是在CAN現(xiàn)場總線產(chǎn)品開發(fā)前期和后期測試中缺乏有效的現(xiàn)場監(jiān)測和排錯(cuò)手段,從而延長了開發(fā)周期,增加了開發(fā)成本。同時(shí),國內(nèi)CAN總線教學(xué)實(shí)驗(yàn)也同樣缺乏成本低,功能強(qiáng),操作簡單的CAN分析儀器。
目前CAN總線的監(jiān)測主要是通過CAN適配卡與計(jì)算機(jī)相連,利用計(jì)算機(jī)軟件來分析總線狀況。高端CAN適配卡價(jià)格高昂,而低端CAN適配卡如CAN轉(zhuǎn)232卡,由于232總線傳輸速度有限,很難做到準(zhǔn)確監(jiān)測。另外,計(jì)算機(jī)也不便于在現(xiàn)場進(jìn)行監(jiān)測。本文設(shè)計(jì)了一種造價(jià)低廉、操作簡單的便攜CAN總線分析儀,能夠適應(yīng)各種總線傳輸速度。
1 CAN分析儀的組成和功能
主要由4個(gè)部分組成:MCU、液晶顯示接口、鍵盤輸入接口和CAN接口。能夠?qū)崿F(xiàn)以下功能: 總線波特率自適應(yīng)、正常接收CAN總線數(shù)據(jù)、總線報(bào)文數(shù)和總線錯(cuò)誤數(shù)及錯(cuò)誤類型記錄、總線負(fù)載率檢測、總線報(bào)文顯示、CAN協(xié)議類型辨識。硬件整體框架如圖1所示。
圖1 系統(tǒng)硬件框圖
2 CAN分析儀的硬件設(shè)計(jì)
2.1 MCU與CAN接口
本系統(tǒng)中使用Atmel公司生產(chǎn)的AVR單片機(jī)ATmega64L作為微控制器。ATmega64L是高性能、低功耗的8位AVR單片機(jī)。它具有哈佛總線結(jié)構(gòu)、精簡指令集(RISC)結(jié)構(gòu)和豐富的片內(nèi)資源。ATmega64L具有64 KB Flash程序存儲器、2 KB的E2PROM、4 KB的SRAM、4個(gè)帶有比較模式的定時(shí)器/計(jì)數(shù)器以及可編程帶內(nèi)部振蕩器的看門狗定時(shí)器等,支持匯編和C語言在線編程。利用其優(yōu)良特性可以使設(shè)計(jì)大大簡化。
CAN接口硬件原理圖如圖2所示,包括MCU、總線控制器模塊、總線驅(qū)動(dòng)模塊、光電隔離模塊?! 】偩€控制器模塊采用Philips公司的CAN控制器SJA1000。它可工作于BasicCAN 模式或PeliCAN 模式,具有64 字節(jié)的接收緩沖器,支持11位和29位ID,可熱插拔,支持CAN2.0B 協(xié)議,僅依靠控制器本身的硬件電路就能夠?qū)崿F(xiàn)通信幀的組織和發(fā)送功能。
CAN總線驅(qū)動(dòng)模塊采用82C251。為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,實(shí)現(xiàn)各CAN節(jié)點(diǎn)間的電氣隔離,SJA1000的TX0和RX0通過高速光耦6N137分別與82C251T的TXD和RXD相連。值得注意的是,光耦所采用的兩個(gè)電源VCC和VDD必須完全電氣隔離。
2.2 液晶顯示接口
分析儀監(jiān)測到的總線狀態(tài)需要外部器件來顯示以方便觀察。傳統(tǒng)的數(shù)碼管指示燈無法滿足大量總線狀態(tài)實(shí)時(shí)顯示的需求。為了便于操作者的使用,本系統(tǒng)選用深圳安得利光電科技有限公司生產(chǎn)的AM1286425F57,它是128×64的圖形點(diǎn)陣液晶模塊,內(nèi)置控制器是三星公司的LCD驅(qū)動(dòng)及控制芯片S6B1713。
圖2 CAN接口硬件電路原理
圖3是AM1286425F57硬件原理圖。MCU電源和背光輸入電源都為3.3 V。8位數(shù)據(jù)總線接在單片機(jī)的D口上,將D口配置為輸出。AM1286425F57的RS是指令與數(shù)據(jù)選擇信號。當(dāng)RS=0時(shí),表示數(shù)據(jù)總線D0~D7上是液晶控制指令;當(dāng)RS=1時(shí),表示數(shù)據(jù)總線D0~D7上是寫入液晶的數(shù)據(jù)。CS1和CS2都是控制器芯片S6B1713的片選信號,當(dāng)CS1=0,CS2=1,即2個(gè)片選同時(shí)有效時(shí)才能選中液晶,向它寫入數(shù)據(jù)或指令。
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號放大器
評論