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