ATmegal62的特點(diǎn)及其在多種系統中的應用
關(guān)鍵詞:ATmegal62;兼容性;液晶顯示器;無(wú)刷直流電機;異步串行通訊接口
1 引言
ATmegal62是ATMEL公司推出的一款基于A(yíng)VR RISC的低功耗CMOS的8位單片機。AT-megal62通過(guò)在一個(gè)時(shí)鐘周期內執行一條指令,可以達到接近1 MIPS/MHz的性能,從而使設計人員可以在功耗和執行速度之間取得平衡。AVR核將32個(gè)通用工作寄存器和豐富的指令集連接在一起。所有的工作寄存器都與ALU算術(shù)邏輯單元直接相連,允許在一個(gè)時(shí)鐘周期內執行單條指令,同時(shí)訪(fǎng)問(wèn)兩個(gè)獨立的寄存器。這種結構提高了代碼效率,使AVR得到了比普通CISC單片機高將近10倍的性能。本文采用ATmegal62開(kāi)發(fā)了鍵盤(pán)-液晶顯示器、無(wú)位置傳感器兩相直流無(wú)刷電機和異步串行通訊口實(shí)現的數據采集發(fā)送三個(gè)系統。實(shí)驗證明,采用ATmegal62開(kāi)發(fā)的這些系統性能可靠,成本較低,軟件設計靈活,硬件接口功能豐富,為今后系統升級創(chuàng )造了良好條件。
2 ATmegal62的結構及特點(diǎn)
ATmegal62具有35個(gè)可編程的I/O口線(xiàn),有40引腳PDIP、44引腳TQFP及44引腳MLF等多種封裝。4個(gè)8位雙向I/O 口 A、B、C、D,一個(gè)帶內部上拉電阻的3位雙向I/O E口。
每個(gè)端口都有對應的3個(gè)I/O端口寄存器,分別是數據寄存器PORTx、方向寄存器器DDRx和輸入引腳寄存器PINx。當DDxn寫(xiě)入0時(shí),對應的Pxn配置為輸入引腳,置PORTxn為1時(shí),配置該引腳的內部上拉電阻有效。當DDxn為1時(shí),對應的Pxn配置為輸出引腳,POPTxn中的數據為外部引腳的輸出電平,即為1,端口引腳被強制驅動(dòng)為高,輸出高電平(輸出電流);清零PORTxn,端口引腳被強制拉低,輸出低電平(吸入電流)。在復位過(guò)程中,即使在系統時(shí)鐘還未啟振的情況下,端口為三態(tài)口。還可以作為地址/數據復用口,提供ATmegal62的許多特殊接口功能。C口提供JTAG接口的功能。在允許JTAG接口狀態(tài)下,引腳PC7(TDI)、PC5(TMS)和PC4(TCK)的內部上拉電阻總是處于有效方式(包括復位時(shí))。
ATmegal62具有以下特點(diǎn):16 KB且同時(shí)具有讀寫(xiě)能力的可在線(xiàn)編程Flash;512B EEPROM;1 KBSRAM存儲器;35個(gè)通用I/O口;1個(gè)外部存儲器接口;32個(gè)通用工作寄存器;1個(gè)具有邊界掃描功能的JTAG接口;支持在線(xiàn)編譯、編程以及仿真調試;支持對Flash、EEPROM、芯片熔絲位和保密鎖定位的編程;4個(gè)具有比較模式的靈活的定時(shí)器/計數器,2個(gè)具有比較模式的帶預分頻器的8位定時(shí)器/計數器,2個(gè)帶預分頻器,具有比較、捕捉和捕獲模式的16位定時(shí)器/計數器,具有獨立振蕩器的實(shí)時(shí)計數器;6個(gè)PWM通道;內外中斷源;上電復位和可編程的電壓檢測電路;內部可校準的RC振蕩器;2個(gè)可編程的UART接口;具有內部時(shí)鐘的可編程看門(mén)狗定時(shí)器;SPI串行接口;BOOT區具有獨立的加密位,可通過(guò)片內的引導程序實(shí)現在系統編程,寫(xiě)操作時(shí)真正可讀;全靜態(tài)操作;片內帶有執行時(shí)間為2個(gè)時(shí)鐘周期的硬件乘法器;5種可通過(guò)軟件選擇的節電模式。
ATmegal62采用了ATMEL公司的高密度非易失性?xún)却婕夹g(shù),片內Flash可以通過(guò)SPI接口+通編程器,或通過(guò)JTAG接口,或使用自引導BOOT程序進(jìn)行編程和自編程。利用自引導BOOT程序,可以使器件在工作過(guò)程中通過(guò)任一硬件串行通訊接口下載應用程序,并寫(xiě)入到Flash的應用程序區中(IAP)。在更新Flash的應用程序區代碼時(shí),處在Flash的BOOT區中的自引導程序將繼續執行,實(shí)現了同時(shí)讀寫(xiě)的功能。由于將增強的RISC 8位CPU與在系統編程和在應用編程的Flash存儲器集成在一個(gè)芯片內,ATmegal62成為功能強大的單片機,為多嵌入式控制應用提供了靈活而低成本的解決方案。
ATmegal62是AVR系列產(chǎn)品中配置比較高的單片機,是一種很復雜的微控制器,它的I/O地址取代了保留在A(yíng)VR指令集中的64個(gè)I/O地址。為確保向后兼容ATmegal61,ATmegal62上所有的I/O的位置與ATmegal61相同。很多附加的I/O地址被加到一個(gè)$60$FF的擴展外部I/O空間中。這些地址只能用LD/LDS/LDD和ST/STS/STD指令訪(fǎng)問(wèn),而不能用IN和OUT指令。對于A(yíng)Tmegal61來(lái)說(shuō),存在內部RAM空間的重定位的問(wèn)題。同樣,如果代碼使用絕對地址,那么增加的中斷向量也是問(wèn)題。要解決這些問(wèn)題,可以通過(guò)編程熔絲M161C來(lái)選擇AT-megal61的兼容模式。在這一模式下,ATmegal62和ATmegal61之間則不存在這些差別。
(1)地址空間Ox0060-0x00FF用來(lái)擴展外部I/0,而不是內部SRAM;
(2)地址空間0x0100―0x04FF用作內部SRAM,因而外部存儲器從地址0x500開(kāi)始(ATmegal61的外部存儲器從地址0x460開(kāi)始);
(3)UART有一個(gè)輸入緩沖,允許在數據溢出標志(DOR)置l前接收多一個(gè)字節的數據;
(4)去除擴展中斷向量。
ATmegal62與ATmegal61的引腳完全兼容,可以替代ATmegal61。但是這兩種器件的地址熔絲位和電特性不同。在A(yíng)Tmegal61的兼容模式下,AT-megal62不具備如下特性:
(1)USART的FIFO操作;
(2)定時(shí)器/計數器3;
(3)訪(fǎng)問(wèn)系統時(shí)鐘預分頻器;
(4)Port A和Port C的引腳中斷;
(5)通過(guò)軟件改變WDT預分頻器設置時(shí)要遵循特定時(shí)序;
(6)M161C熔絲對中斷向量重新映射,使之與ATmegal61相同。
4 ATmegal62的工程應用
4.1 ATmegal62與鍵盤(pán)及液晶顯示器的設計
鍵盤(pán)是各種CPU不可缺少的輸入工具,通過(guò)它可以輸入程序和數據,從而實(shí)現人機對話(huà)。液晶顯示器(LCD)以其功耗低、體積小、顯示內容豐富、超薄輕巧的優(yōu)點(diǎn),得到越來(lái)越廣泛的應用。DM12864是一種圖形點(diǎn)陣液晶顯示器,它采用動(dòng)態(tài)驅動(dòng)原理由行驅動(dòng)控制器和列驅動(dòng)器兩部分組成了128(列)64(行)的全點(diǎn)陣液晶顯示,可顯示圖形和漢字。它能直接與單片機連接,具有專(zhuān)用指令,可方便地實(shí)現畫(huà)面卷動(dòng)等功能。圖1為采用ATmegal62開(kāi)發(fā)的鍵盤(pán)-液晶顯示應用系統。鍵盤(pán)的接鍵排成3x4的矩陣形式,I/O口線(xiàn)PBl-PB3為輸入(設置為O),作為鍵盤(pán)的列掃描線(xiàn);PB4-PB7為輸出(設置為1),作為鍵盤(pán)的行掃描線(xiàn),并帶有上拉電阻。當判斷有鍵按下時(shí),延時(shí)去除鍵抖動(dòng),再次判斷閉合鍵的位置,若確實(shí)有鍵按下,計算鍵值并返回。液晶顯示器的工作電壓為+5V10%;PC2作為寄存器數據/指令選擇信號D/I,當D/I為1時(shí),顯示數據,D/I為0時(shí),指令代碼;PC3作為讀/寫(xiě)操作選擇信號R/W,R/W為l時(shí),讀數據或指令,R/W為0時(shí),寫(xiě)數據或指令;PC0、PCI分別作為液晶的左右半屏片選信號CSl、CS2;復位信號RST與PEl連接,高電平復位DMl2864;PE0作為液晶的使能信號EN;PA作為并行數據總線(xiàn)DB,用于二者之間傳送數據。在讀/寫(xiě)顯示數據到LCD之前,要對LCD進(jìn)行忙標志位判別、顯示開(kāi)關(guān)設置、顯示起始行設置、頁(yè)面地址設置和列地址設置。
在A(yíng)Tmegal62開(kāi)發(fā)的鍵盤(pán)-液晶顯示系統中:
(1)由于A(yíng)Tmegal62 C口的PC4-PC7具有JTAG接口功能,因此不能再作為I/O輸出口,除非將熔絲位JTAGEN設置為l才可以作為I/O輸出口用;
(2)在選擇系統時(shí)鐘源時(shí),要正確配置熔絲位,熔絲位決定著(zhù)系統采用時(shí)鐘源的方式,不能通過(guò)普通的編程在MCU運行時(shí)更改,在調試之前應根據所選時(shí)鐘源形式和喚醒方式,在仿真系統中正確配置熔絲位,使時(shí)鐘源與熔絲位匹配。
(3)在調試過(guò)程中,要求液晶LCD的驅動(dòng)負電壓VDD-Vo=13 V,否則將無(wú)法正常顯示。
4.2 ATmegal62控制的兩相直流無(wú)刷電機
兩相直流無(wú)刷電機是一種結合了直流電機和交流電機優(yōu)點(diǎn)的改進(jìn)型電機,采用無(wú)位置傳感器兩相直流無(wú)刷電動(dòng)機控制技術(shù),可充分利用直流無(wú)刷電動(dòng)機調速范圍寬、無(wú)位置傳感器和不易損壞的優(yōu)點(diǎn),實(shí)現電動(dòng)機的無(wú)級變速,噪聲低,運行效率、控制精度和可靠性高。圖2為采用ATmegal62控制兩相直流無(wú)刷電機的應用實(shí)例。圖中ADCl測量電機的給定速度,在大多數裝置中,電機的速度是根據外部給定值調整的,給定值是一個(gè)模擬信號,因此需用ADC通道測量外部速度,PWM輸出要不斷地改變以減小電機的速度和外部給定值的差值。由于用內部的ADC和PWM,不需要霍爾傳感器測量電機的轉速。ATmegal62的ADC(模/數轉換器)通道測量感應電動(dòng)勢,控制電機的換向,流過(guò)無(wú)源定子線(xiàn)圈的感應電動(dòng)勢決定電機的方向。通過(guò)改變PWM寄存器的值來(lái)控制PWM的占空比,從而形成脈寬隨著(zhù)調制波變化而變化的PWM信號。用PWM信號控制功率開(kāi)關(guān)的通斷來(lái)給電機電樞繞組供電,相電流的大小和傳送到電機電樞繞組的能量由功率開(kāi)關(guān)的通斷時(shí)間決定,同時(shí),相電流和傳送到電機的能量又決定著(zhù)電機的轉矩和轉速,從而實(shí)現對轉速的閉環(huán)控制。
在A(yíng)Tmegal62控制無(wú)位置傳感器兩相直流無(wú)刷電機時(shí):
(1)PWM控制電機的速度時(shí),PWM的基頻必須大于20 kHz,驅動(dòng)晶體管的耗散功率要根據PWM的開(kāi)關(guān)頻率決定;
(2)在控制有源線(xiàn)圈的電壓時(shí),PWM的基頻要接近于20 kHz;
(3)用ADC測量感應電壓時(shí),ADC的時(shí)鐘選擇應確保ATmegal62有足夠的時(shí)間處理中斷。
4.3 異步串行通訊口數據的采集和發(fā)送
ATmegal62帶有兩個(gè)全雙工通用同步/異步串口,是區別于A(yíng)VR系列器件的一個(gè)顯著(zhù)特點(diǎn),用戶(hù)可以以低成本更加靈活地進(jìn)行設備間的數據通訊。ATmegal62的USARTn收發(fā)模塊分為三大部分:時(shí)鐘發(fā)生器、數據發(fā)送器和接收器。有三個(gè)完全獨立的中斷:TX發(fā)送完成,TX發(fā)送寄存器空和RX接收完成。最高波特率可達115 200 b/s,而且有專(zhuān)用的高精度波特率發(fā)生器,不占用定時(shí)器/計數器。圖3是用ATmegal62的異步串行通訊口實(shí)現數據的采集和發(fā)送的應用實(shí)例,電機驅動(dòng)器件SMD-401通過(guò)ATmegal62 PC口輸出的控制信號來(lái)控制步進(jìn)電機的轉速和方向,步進(jìn)電機帶動(dòng)智能傳感器旋轉,經(jīng)ATmegal62串口O的發(fā)送端輸出觸發(fā)信號觸發(fā)傳感器采集數據,采集到的數據通過(guò)MAX232送到ATmegal62串口O的接收端,數據在A(yíng)Tmegal62中經(jīng)過(guò)必要的處理后由串口l經(jīng)過(guò)NAX488轉送到上位機。
在A(yíng)Tmegal62實(shí)現異步串行通訊口數據的采集和發(fā)送時(shí),應注意以下問(wèn)題:
(1)所選器件不同,ICCAVR產(chǎn)生的源代碼不一定匹配,應根據實(shí)際情況檢查初始化程序;
(2)ATmegal62的波特率寄存器UBRROH和USARTO的控制和狀態(tài)寄存器UCSROC共用同一個(gè)單元地址,如果不設定URSSEL0位,接收的波特率就會(huì )出錯;
(3)確保發(fā)送與接收的波特率相同或在容許的誤差范圍內,發(fā)送與接收要有相同的數據格式。
5 結束語(yǔ)
本文介紹了ATmegal62的特點(diǎn)及其在實(shí)際工程中的應用實(shí)例。ATmegal62具有AVR系列其他器件的大部分其他器件功能,又具有獨特技術(shù),配置全、功能強、可靠性高、速度高、抗干擾性好、功耗低、性?xún)r(jià)比高、硬件結構簡(jiǎn)單、軟件設計靈活、適用面廣、價(jià)格低廉,具有一定的實(shí)用價(jià)值,在實(shí)際開(kāi)發(fā)中將會(huì )發(fā)揮越來(lái)越大的作用。
霍爾傳感器相關(guān)文章:霍爾傳感器工作原理
霍爾傳感器相關(guān)文章:霍爾傳感器原理
評論