AVR使用中應(yīng)注意的一些問題
AVR與傳統(tǒng)類型的單片機(jī)相比,除了必須能實(shí)現(xiàn)原來的一些基本的功能,其在結(jié)構(gòu)體系、功能部件、性能和可靠性等多方面有很大的提高和改善。
但使用更好的器件只是為設(shè)計(jì)實(shí)現(xiàn)一個(gè)好的系統(tǒng)創(chuàng)造了一個(gè)好的基礎(chǔ)和可能性,如果還采用和沿襲以前傳統(tǒng)的硬件和軟件設(shè)計(jì)思想和方法的話,是不能用好AVR的,甚至也不能真正的了解AVR的特點(diǎn)和長處。
功能越好的器件,需要具備更高技術(shù)和能力的人來使用和駕馭它。就象一部好的F1賽車,只有具備高超技術(shù)的駕駛員才能充分體會(huì)到車的特點(diǎn),并能最大限度的發(fā)揮出車的性能。
AVR具有上手入門快,開發(fā)方便簡單的特點(diǎn),但要充分體會(huì)和發(fā)揮AVR的優(yōu)點(diǎn),還需要應(yīng)用工程師本身的硬軟件設(shè)計(jì)開發(fā)能力的不斷學(xué)習(xí)、實(shí)踐提高。
“外行看熱鬧,內(nèi)行看門道”,對(duì)于有一定基礎(chǔ)的嵌入式和單片機(jī)系統(tǒng)設(shè)計(jì)開發(fā)的工程師,不妨先簡單嘗試一下AVR。
開發(fā)環(huán)境與工具:PC+下載線+實(shí)際的系統(tǒng)板
PC上的開發(fā)軟件:
AVR Studio(Free)匯編+匯編調(diào)試+高級(jí)語言調(diào)試+軟件仿真
ICC、CVAVR、BASCOM-AVR 高級(jí)語言程序開發(fā)+程序下載。其中一個(gè)購買正版全功能,作為主要的開發(fā)環(huán)境,其它使用DEMO版,作為輔助及參考。
AVR ISP下載線:
STK200 and STK200+ and STK300 ISP programmer。通過PC的打印機(jī)口,采用ISP技術(shù)將系統(tǒng)運(yùn)行代碼(HEX、BIN)和數(shù)據(jù)寫入AVR芯片的Flash和EEProm中,編程AVR的配置熔絲位和加密位。支持決大多數(shù)的AVR芯片、以及ATMEL的51兼容芯片89S8252、89S52等。在ICC、CVAVR、BASCOM-AVR、BASCOM-8051中都內(nèi)含對(duì)該下載線的支持程序。免費(fèi)專用的下載程序:SLISP、PonyProg2000等。
盡量不使用仿真器的建議:
在開發(fā)和調(diào)試系統(tǒng)程序時(shí),有許多人完全依賴于仿真器,一旦離開了仿真器時(shí)就感覺無從下手。其實(shí),由于AVR的Flash存貯器可方便的使用ISP技術(shù)在線的多次擦寫,因此建議盡量不使用(依賴)仿真器來開發(fā)和調(diào)試程序。
在實(shí)際開發(fā)過程中,程序的調(diào)試可以從下幾方面入手:
現(xiàn)在的高級(jí)語言編譯器(如C編譯器)可以產(chǎn)生效率很高的機(jī)器代碼,因此建議大家盡量使用高級(jí)語言編寫系統(tǒng)程序。
使用Atmel公司提供AVR Studio軟件模擬仿真環(huán)境,以及其他的軟件模擬仿真環(huán)境(BASCOM-AVR)。
盡可能使用高級(jí)語言編寫系統(tǒng)程序。
利用目標(biāo)板上的LED、LCD或異步串口。見附件“沒有仿真器的情況下如何開發(fā)AVR”的介紹。
提高硬件設(shè)計(jì)的合理性:
盡量合理和充分使用AVR片內(nèi)的資源,如EEPROM、A/D、內(nèi)部的RC振蕩源。
盡量采用串口通信連接的外圍器件,大容量的存儲(chǔ)器、LCD控制器、打印機(jī)、不用8279(LED數(shù)碼管+鍵盤)而使用7279等。除了必須外擴(kuò)RAM(如語音和圖象),一般不提倡使用并行擴(kuò)展(573+譯碼電路),減小硬件和連線以及PCB板上錯(cuò)誤的出現(xiàn)概率,同時(shí)也提高了系統(tǒng)的可靠性。并行擴(kuò)展向串行擴(kuò)展是發(fā)展趨勢?,F(xiàn)在有大量的新的外圍器件采用高速的串行接口,如A/D、D/A、RTC、存儲(chǔ)器等。
盡量使用以及在目標(biāo)板上預(yù)留ISP程序下載接口,或使用IAP技術(shù)。
優(yōu)點(diǎn):ISP接口與I/O的兼容性比JETAG好。
缺點(diǎn):不能在線調(diào)試
注意和掌握AVR配置熔絲位的使用:
- 系統(tǒng)晶振的選擇
- BOD的使用
- 啟動(dòng)延時(shí)
- Mega8的PC6引腳,RESET與通用I/O的轉(zhuǎn)換
- JETAG接口和通用I/O的轉(zhuǎn)換
- 啟動(dòng)向量的轉(zhuǎn)換,BOOT-LOAT區(qū)大小的設(shè)置
相關(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)換器
- 電源管理
- 信號(hào)放大器
評(píng)論