基于ATmega8單片機(jī)多功能實(shí)驗(yàn)儀設(shè)計(jì)
摘要:提出一種單片機(jī)多功能實(shí)驗(yàn)儀的設(shè)計(jì)方法,該方法利用ATmega8單片機(jī)的在線自編程Flash和片載外圍接口電路等資源優(yōu)勢,克服了傳統(tǒng)51系列芯片的資源有限、低性能等應(yīng)用弊端,提高了單片機(jī)實(shí)驗(yàn)儀的性價(jià)比,使單片機(jī)實(shí)驗(yàn)開發(fā)系統(tǒng)更簡單、輕便、易于更新和升級(jí)。在實(shí)際的教學(xué)和科研使用中取得了良好的效果。
關(guān)鍵詞:ATmega8;單片機(jī);多功能實(shí)驗(yàn)儀;PWM;擴(kuò)展模塊
O 引言
由于嵌入式系統(tǒng)應(yīng)用技術(shù)的不斷發(fā)展,對于核心處理器性能的要求越來越高,一些傳統(tǒng)的51系列控制芯片已經(jīng)難以勝任許多復(fù)雜的任務(wù)。因此,我們通過調(diào)研分析,自行開發(fā)了一套基于ATmega8高性能系列單片機(jī)的實(shí)驗(yàn)開發(fā)系統(tǒng)。ATMEL公司的ATmegs8單片機(jī)是一種具有獨(dú)特結(jié)構(gòu)的8-bit RISC CPU,其在線自編程Flash和單時(shí)鐘指令,為C語言、Basic語言優(yōu)化的指令系統(tǒng)設(shè)置,以及豐富的片載外圍接口電路,使功能強(qiáng)大的ATmegs8單片機(jī)成為一款高度靈活和高性價(jià)比的芯片,為許多高端嵌入式系統(tǒng)設(shè)計(jì)提供了優(yōu)秀的解決方案。
1 系統(tǒng)總體設(shè)計(jì)
單片機(jī)多功能實(shí)驗(yàn)儀硬件的總體設(shè)計(jì)原理框圖如圖l所示:
單片機(jī)實(shí)驗(yàn)開發(fā)應(yīng)用系統(tǒng)中ATmega8 MCU核心模塊通過RS-232與PC上位機(jī)進(jìn)行通信,充分利用PC機(jī)的資源。電源部分采用USB與PC機(jī)進(jìn)行連接,采用上位機(jī)的電源。另外,該實(shí)驗(yàn)開發(fā)系統(tǒng)設(shè)計(jì)有下載器,只需一條下載線即可開始工作,不需購買昂貴的編程器,使用方便,節(jié)約了成本。可以保證實(shí)驗(yàn)系統(tǒng)具有較高的性價(jià)比。
在實(shí)驗(yàn)軟件上,既可以使用C語言也可以使用BASCOM-AVR編程軟件。BASCOM-AVR編程軟件為開發(fā)AVR單片機(jī)提供了功能強(qiáng)大、簡潔方便的軟件平臺(tái),其與QB高度兼容的BASIC語言易懂好學(xué);功能齊備的硬件仿真平臺(tái),使單片機(jī)的學(xué)習(xí)、實(shí)驗(yàn)、開發(fā),顯得簡單、容易而富有樂趣,許多設(shè)計(jì)在計(jì)算機(jī)仿真中就可得知結(jié)果。有了BASCOM-AVR,使大規(guī)模地推廣普及AVR單片機(jī)成為可能,為許多高端嵌入式系統(tǒng)設(shè)計(jì)提供了優(yōu)秀的解決方案。[!--empirenews.page--]
2 硬件電路的設(shè)計(jì)
2.1 CPU模塊的設(shè)計(jì)
ATmegs8是ATMEL公司在2002年第一季度推出的一款新型AVR高檔單片機(jī)。ATmegs8內(nèi)部集成有豐富的硬件接口電路,2個(gè)具有比較模式的預(yù)分頻器(Separate Prescale)的8位定時(shí)/計(jì)數(shù)器。1個(gè)預(yù)分頻器(Separat Prescale),具有比較和捕獲模式的16位定時(shí)/計(jì)數(shù)器,1個(gè)具有獨(dú)立振蕩器的異步實(shí)時(shí)時(shí)鐘(RTC),3個(gè)PWM通道,可實(shí)現(xiàn)任意<16位、相位和頻率可調(diào)的PWM脈寬調(diào)制輸出,8通道A/D轉(zhuǎn)換(TQFP、MLF封裝),6路10位A/D+2路8位A/D,6通道A/D轉(zhuǎn)換(PDIP封裝),4路10位A/D+2路8位A/D,1個(gè)I2C的串行接口,支持主/從、收發(fā)四種工作方式,支持自動(dòng)總線仲裁,1個(gè)可編程的串行USART接口,支持同步、異步以及多機(jī)通信自動(dòng)地址識(shí)別,1個(gè)支持主/從(Master/Slave)、收/發(fā)的SPI同步串行接口,帶片內(nèi)RC振蕩器的可編程看門狗定時(shí)器,片內(nèi)模擬比較器。圍繞核心芯片所設(shè)計(jì)的CPU模塊如圖2所示。
圖中的復(fù)位電路RESET有二種選擇:外部復(fù)位,J10必須插上短路塊;或PC6作I/O口用,J10拔出短路塊。
圖中的晶振電路XTAL1和XTAL2分別是片內(nèi)振蕩器的反向放大器的輸入、輸出端,外接一個(gè)晶體振蕩器,通過對熔絲位CKOPT編程和設(shè)定C9、C10的取值范圍(12μm~22 μm)使ATmega8有較寬的工作頻率范圍(3.O MHz~8.0 MHz)。晶振有兩種選擇:外接8 MHz無源晶振,(也可外接8 MHz有源晶振,當(dāng)外接無源晶振不能起振時(shí),用有源晶振就能解決問題,超頻也能起振),或用內(nèi)部RC振蕩器。當(dāng)J11與J12插上短路塊時(shí),為用外接無源晶振;當(dāng)J11與J12不插短路塊時(shí),則用ATmega8內(nèi)部振蕩器。
另外,模塊還設(shè)計(jì)有JTAG接口和ISP編程接口(ISP即in-System Programmable)。JTAG接口可以通過下載器將單片機(jī)與微型計(jì)算機(jī)的并行接口連接。ISP編程接口是在線下載或讀取芯片內(nèi)部程序時(shí)用的,各引腳的含義如圖3所示。其中l(wèi)腳與ATmega8的PB3連接。4、6、8、lO接地,5腳與ATmega8的PC6連接,7腳與ATmesa8的PB5連接,9腳與ATmega8的PB4連接。
2.2 下載器模塊
下載器由接口板和連接電纜組成。接口板的原理圖見圖4。圖中U201是8緩沖器74HC244電路,用作計(jì)算機(jī)并口和單片機(jī)的緩沖隔離。連接器CN202是通用的DB25針插頭,與上位機(jī)連接,進(jìn)行通信;其中4、5腳控制U201芯片,在其低電平時(shí)允許數(shù)據(jù)正常傳輸,高電平時(shí)74HC244的輸出呈高阻狀態(tài);7腳輸出數(shù)據(jù)到單片機(jī);6腳是時(shí)鐘信號(hào);9腳是輸出復(fù)位信號(hào);10腳是接收從單片機(jī)讀出的數(shù)據(jù)。下載電纜采用10芯扁平電纜,兩頭壓有IDC插頭。一端接下載器,另一端接最小系統(tǒng)板上的ISP口JP1。[!--empirenews.page--]
2.3 實(shí)驗(yàn)儀其他電路設(shè)計(jì)
2. 3. 1 A/D轉(zhuǎn)換電路
圖5為A/D轉(zhuǎn)換電路,ATmega8內(nèi)部有一個(gè)1O位精度的A/D轉(zhuǎn)換器,其精度是±2LSB,非線性度為O.5 LSB,轉(zhuǎn)換時(shí)間為65μs~260μs,PC0~PC3模擬輸入通道的轉(zhuǎn)換精度是10位,PC4~PC5模擬輸入通道的轉(zhuǎn)換精度是8位,本實(shí)驗(yàn)儀使用PC5輸入,參考電壓Vref采用芯片內(nèi)部提供的參考電壓,在外部用電容C5和C6將引腳接地可以提高ADC部分的抗干擾能力。通過調(diào)節(jié)W1可以改變輸入的電壓。CZ4為外部A/D轉(zhuǎn)換接口。
[!--empirenews.page--]
2.3.2 LED顯示與脈寬調(diào)制電路
為了配合學(xué)生基本I/O口設(shè)計(jì)要求,在實(shí)驗(yàn)儀上擴(kuò)展有LED/LCD顯示接口電路和脈寬調(diào)制電路,如圖6所示。
脈寬調(diào)制電路利用ATmega8單片機(jī)的一個(gè)輸出端子OC2,是PB3引腳的第二功能,可以作為比較匹配輸出或PWM輸出。在實(shí)驗(yàn)板上將跳線器J6斷開即是PWM的輸出。該輸出的PWM除了可以直接驅(qū)動(dòng)直流電動(dòng)機(jī)的PWM驅(qū)動(dòng)信號(hào),還可以經(jīng)過RC平滑濾波用做數(shù)字量/模擬量轉(zhuǎn)換。另外,使用PWM驅(qū)動(dòng),功率半導(dǎo)體器件的功耗大大低于模擬信號(hào)驅(qū)動(dòng)。
2.3.3 I2C電路和串行接口的設(shè)計(jì)
I2C電路為由AT24C02芯片與串行TWI總線(PC4、PC3)連接形成的。其中PC4為SCL時(shí)鐘線,PC2為SDA數(shù)據(jù)線,通過AT24C02芯片形成I2C總線器1/4(圖略)。串行接口電路分為與PC機(jī)的通信接口和兩個(gè)單片機(jī)之間的通信接口,見圖7中的CZ3(CON3單片機(jī)串行通信接口)和CZ4(CON2單片機(jī)與PC機(jī)串行通信接口)。CZ2是RS232接口,可做PC機(jī)與ATmega8的異步串行UART通訊用,可把PC機(jī)屏幕作為用戶顯示終端使用,可充分利用PC機(jī)資源。
在使用該接口與微機(jī)進(jìn)行通信時(shí)使用RS-232接口線,RS-232屬于單端信號(hào)傳送,適應(yīng)于短距離或帶調(diào)制解調(diào)器的通訊場合。
經(jīng)過以上電路的設(shè)計(jì),根據(jù)電路原理完成的PCB板的制作,焊接相應(yīng)元器件并進(jìn)行調(diào)試后形成的實(shí)驗(yàn)儀硬件開發(fā)板如圖8所示。
3 BASCOM-AVR集成開發(fā)軟件
ATMEL公司的AVR系列單片微控制器是基于新的精簡指令RISC結(jié)構(gòu)的,其開發(fā)目的就是在于能采用高級(jí)語言編程,從而能高效地開發(fā)出目標(biāo)產(chǎn)品。目前國際上已有許多公司推出了C、Basic等基于高級(jí)程序設(shè)計(jì)語言的AVR開發(fā)軟件和平臺(tái)?;贏Tmega8的實(shí)驗(yàn)開發(fā)板上使用以BASIC
語言為手段開發(fā)平臺(tái)一BASCOM-AVR。它的程序設(shè)計(jì)簡潔、方便,專用的面向各種通用接口,且具有功能強(qiáng)大的語句,實(shí)物圖形化的仿真平臺(tái)等特點(diǎn),配合AVR單片微控制器程序存儲(chǔ)器可多次編程在線下載的優(yōu)點(diǎn),使學(xué)習(xí)和使用AVR單片微控制器變得十分容易。
4 總結(jié)與展望
基于ATmega8單片機(jī)實(shí)驗(yàn)儀上集成了LCD液晶顯示模塊、LED數(shù)碼管顯示模塊、鍵盤模塊、A/D和D/A轉(zhuǎn)換模塊、通用I/O接口模塊、通訊接口模塊等常用實(shí)驗(yàn)?zāi)K,利用AVR單片機(jī)開發(fā)實(shí)驗(yàn)基本系統(tǒng),可以完成一些基本的實(shí)驗(yàn),滿足學(xué)生基本實(shí)驗(yàn)的要求;同時(shí)板間預(yù)留有可擴(kuò)展的空間以滿足學(xué)生進(jìn)行創(chuàng)新設(shè)計(jì)、綜合課程設(shè)計(jì)、課外科技活動(dòng)和畢業(yè)設(shè)計(jì)等課程的實(shí)踐訓(xùn)練活動(dòng)要求,該實(shí)驗(yàn)系統(tǒng)經(jīng)機(jī)電專業(yè)07級(jí)、08級(jí),電子技術(shù)07級(jí)08級(jí)學(xué)生的試用,效果較為顯著。不但實(shí)現(xiàn)了將實(shí)驗(yàn)室搬進(jìn)寢室,而且激發(fā)了學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的動(dòng)手能力和創(chuàng)新能力,為今后快速適應(yīng)工作崗位打下堅(jiān)實(shí)的基礎(chǔ)。