ATmel 挪威設計中心的A先生與V先生,于97年設計出一款使用RISC指令集的8位單片機,起名為AVR。高可靠性、功能強、高速度、低功耗和低價位, 一直是衡量單片機性能的重要指標,也是單片機占領市場、賴以生存的必要條件。早期單片機主要由于工藝及設計水平不高、功耗高和抗干擾性能差等原因,所以采取穩(wěn)妥方案:即采用較高的分頻系數對時鐘分頻,使得指令周期長,執(zhí)行速度慢。以后的CMOS單片機雖然采用提高時鐘頻率和縮小分頻系數等措施,但這種狀態(tài)并未被徹底改觀(51以及51兼容)。此間雖有某些精簡指令集單片機(RISC)問世,但依然沿襲對時鐘分頻的作法。AVR單片機的推出,徹底打破這種舊設計格局,廢除了機器周期,拋棄復雜指令計算機(CISC)追求指令完備的做法;采用精簡指令集,以字作為指令長度單位,將內容豐富的操作數與操作碼安排在一字之中(指令集中占大多數的單周期指令都是如此),取指周期短,又可預取指令,實現流水作業(yè),故可高速執(zhí)行指令。當然這種速度上的升躍,是以高可靠性為其后盾的。
AVR 芯片型號的解釋, 以 ATmega48V-10AI 為例:
ATmega48 代表產品.
V 代表低/寬電壓版本。新出的AVR(M48/88/168,Tiny13/2313……)產品系列來說, -V 是1.8-5.5V 工作范圍。 不帶”V”是2.7-5.5V 工作范圍 。 老的系列以L表示, 2.7-5.5V 工作范圍 , 不帶”L”是4.5-5.5V 工作范圍 。
-10, 表示最高工作頻率, 10MHz
A, 表示封裝 。AVR芯片有四種封裝: (如果你不熟悉封裝,請參考我們?yōu)槟銣蕚涞馁Y料: AVR封裝圖例)
AVR基本硬件電路的設計與分析
基本的AVR硬件線路,包括幾部分: 復位線路,晶振線路, AD轉換濾波線路 , ISP下載接口 ,JTAG仿真接口,電源電路。
下面以本網站推薦的AVR入門芯片 ATmega16L-8AI 分析上述基本線路。(-8AI表示8M頻率的TQFP貼片封裝,工業(yè)級,更詳細的型號含義資料,請參考:AVR芯片入門知識)
Mega16已經內置了上電復位設計。并且在熔絲位里,可以控制復位時的額外時間,故AVR外部的復位線路在上電時,可以設計得很簡單:直接拉一只10K的電阻到VCC即可(R0)。
為了可靠,再加上一只0.1uF的電容(C0)以消除干擾、雜波。
D3(1N4148)的作用有兩個:作用一是將復位輸入的最高電壓鉗在Vcc+0.5V 左右,另一作用是系統斷電時,將R0(10K)電阻短路,讓C0快速放電,讓下一次來電時,能產生有效的復位。
當AVR在工作時,按下S0開關時,復位腳變成低電平,觸發(fā)AVR芯片復位。
重要說明:實際應用時,如果你不需要復位按鈕,復位腳可以不接任何的零件,AVR芯片也能穩(wěn)定工作。即這部分不需要任何的外圍零件。
Mega16已經內置RC振蕩線路,可以產生1M、2M、4M、8M的振蕩頻率。不過,內置的畢竟是RC振蕩,在一些要求較高的場合,比如要與RS232通信需要比較精確的波特率時,建議使用外部的晶振線路。
早期的90S系列,晶振兩端均需要接22pF左右的電容。Mega系列實際使用時,這兩只小電容不接也能正常工作。不過為了線路的規(guī)范化,我們仍建議接上。
重要說明:實際應用時,如果你不需要太高精度的頻率,可以使用內部RC振蕩。即這部分不需要任何的外圍零件。
為減小AD轉換的電源干擾,Mega16芯片有獨立的AD電源供電。官方文檔推薦在VCC串上一只10uH的電感(L1),然后接一只0.1uF的電容到地(C3)。
Mega16內帶2.56V標準參考電壓。也可以從外面輸入參考電壓,比如在外面使用TL431基準電壓源。不過一般的應用使用內部自帶的參考電壓已經足夠。習慣上在AREF腳接一只0.1uF的電容到地(C4)。
重要說明:實際應用時,如果你想簡化線路,可以將AVCC直接接到VCC,AREF懸空。即這部分不需要任何的外圍零件。
AVR前幾年已經顯示了進軍中國市場的決心。幾乎所有的AVR主流芯片,都已經有了官方正規(guī)翻譯的中文 DataSheet(數據手冊)。我們網站整理了國內最完整的中文datasheet供大家下載學習:點擊打開AVR單片機中文數據手冊下載界面。雖然我們網站也收錄了雙龍翻譯的一些舊芯片資料,但建議大家不要使用,錯誤較多,并且嚴重的偷工減料。官方翻譯的中文手冊比較嚴謹,但仍可能存在一些小缺陷。有需要時,請參考英文版本:點擊打開AVR英文數據手冊下載界面。