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