目前,ARM微處理器已在多種領域中應用,例如工業數字/智能控制、機器人、消費/教育類多媒體、DSP和移動式/便攜式設備等。有關統計表明,各種各樣基于ARM微處理器的設備應用數量已經遠遠超過了通用計算機。因此,基于ARM微處理器的開發應用正成為數字時代的應用技術潮流。本文介紹AT91RM9200型微處理器最小系統的設計,并給出了系統外圍接口設計的相關器件選型。 1 AT91RM9200簡介 AT91RM9200是Atmel公司基于ARM920T核的高性能、低功耗16/32位RISC(精簡指令集計算機)微處理器,內部集成豐富的外設資源,適用于要求外設資源豐富、功耗低、工作嚴格穩定的工業控制等方面,如嵌入式工業控制、醫療設備、網絡通信、移動計算等。 AT91RM9200微處理器最高主頻為180 MHz,其雙向、32位外部數據總線支持8位、16位、32位數據寬度,26位地址總線可以對最大64 MB空間尋址。 AT91RM9200片內集成了非常豐富的外圍功能模塊,包括全功能MMU虛擬內存管理單元、內部16 kBSRAM和128 kB ROM、EBI接口控制器、增強的時鐘和PMC(電源管理控制器),帶有2個PLL(鎖相壞)的片內振蕩器,4個可編程的外部時鐘信號,包括定時中斷、看門狗、秒計數器的系統定時器,帶報警中斷的實時時鐘,帶有8級優先級、可單個屏蔽中斷源的AIC(先進中斷控制器),7個外部中斷源和1個快速中斷源,4個32位的IO控制器,20通道外圍數據控制器(PDC或DMA),1個10 Mbit·s-1/100 Mbit·s-1以太網控制器,1個USB 2.0主機接口,1個USB 2.0設備接口,2個多媒體卡接口,3個SSC(同步串行口控制器)(兼容IIS),4個UASRT(通用同步/異步串行口),1個主/從SPI(串行設備接口),1個兩線串行接口TWI(主模式),JTAG/ICE接口等。 2 硬件設計 最小系統是保證微處理器可靠工作所必須的基本電路;贏T91RM9200微處理器的最小嵌入式系統由微處理器AT91RM9200、電源電路、晶體振蕩器電路、復位電路、JTAG接口、存儲器模塊、串行調試接口等電路組成。 2.1 電源電路 在系統中,AT91RM9200需要1.8 V和3.3 V電源,另外,大部分外圍器件需要3.3 V電源,小部分外圍器件還需要5 V電源,為了簡化系統電源電路的設計,假設系統的輸入電壓為5 V直流穩壓電源。為了得到可靠的3.3 V電壓,此處選用了Sipex公司生產的SPX1117M3-3.3型低壓差(LDO)穩壓器,它的輸人電壓為5 V,輸出電流為3.3 V,最大輸出電流為0.8 A。同樣,選用Sipex公司生產的SPX1117M3-1.8型低壓差(LDO)穩壓器,便可產生最大輸出電流為0.8A的1.8 V電源。 2.2 晶體振蕩器電路 晶體振蕩電路用于向AT91RM9200和其他需要時鐘的外設電路提供工作時鐘。本系統使用無源晶體振蕩器X1(18.432 MHz)和X2(32.768 kHz)作為系統的主振蕩器和慢時鐘振蕩器,振蕩器產生的系統主時鐘和慢時鐘基準經過微處理器內部2個PLL后,產生系統所需的各種CPU時鐘、外沒時鐘以及USB器件工作時鐘。 2.3 復位電路 AT91RM9200有2個獨立的復位信號,即系統復位信號NRST與系統內部調試復位信號NTRSI,都是低電平有效。系統上電后,AT91RM9200必須執行一個上電復位(稱為“冷”復位),在過渡狀態下,它強制復位信號NRST和NTRST為低直到電源電壓和振蕩器工作頻率穩定為止。此外,NRST和NTRST還可以進行手動按鍵復位功能,以方便用戶調試程序。本設計中選用了AD公司生產的ADM708型復位電路,它有一個手動復位輸入引腳,當工作電壓低于3.08 V或手動復位輸入引腳被拉低時復位IC產生一個低電平信號,持續時間為200 ms。此外,該復位電路還有一個額外的輸入電壓檢測引腳,可實現對輸人電壓的檢測。 2.4 JTAG接口電路 JTAG(聯合測試行動小組)是一種國際標準測試協議,主要用于芯片內部測試及對系統進行仿真、調試,是開發、調試嵌入式系統的一種簡潔高效的手段。它有2種接門標準:14針接口和20針接口。本設計中選擇20針接口標準。 2.5 存儲器模塊 存儲器模塊包括Flash存儲器和SRAM存儲器兩個部分。 Flash存儲器用于存儲系統運行所需的程序和重要數據,即使掉電程序和數據都不會丟失。設計中推薦電路為Intel公司生產的28F640J3A,其存儲容量為64 Mbit(8 MB),工作電壓為2.7 V~3.6 V,采用48引腳TSOP封裝,16位數據寬度。它所需引腳為A[24:]、D[15:0]、NRST、BFCS_NCS0、CFOE_NOE_NRD、CFWE_NWE_NWR0。 SDRAM存儲器的作用是存放系統運行時的程序和數據,掉電后該部分程序和數據會丟失。設計中使用2片數據寬度為16位的SDRAM并行運行作為一個32位數據寬度的SDRAM模塊,以充分發揮微處理器32位數據寬度的高性能。SDRAM模塊所需的引腳為A[0:11]、A[13:17]、D[0:31]、NBS1、NBS3、SD-CKE、SDCK、SDCS、RAS、CAS、SDWE。推薦使用的SDRAM電路為Hynix公司生產的HY57V651620BTC,其工作電壓為3.3 V,單片存儲容量為4組×16 Mbit,54引腳TSOP封裝,兼容LVTTL電平接口,支持自動刷新和自刷新。 2.6 UART串行調試接口 采用了AT91RM9200的Debug UART作為串口模塊電路的接口,該串口在調試狀態下作為調試串口;在正常工作狀態下為一般UART口,都可以通過RS-232電平實現與其他設備的通信。本設計中的UART接口電路為Sipex公司生產的SP3232,其工作電壓為3.3V,16引腳SOIC封裝。所需引腳為DRXD、DTXD。 在完成以上幾部分電路的設計后,AT91RM9200就具有了安全可靠工作的基本條件。 最小系統的設計是為了更好地研究開發微處理器,因此還應將微處理器的一些必要引腳用接口插座引出,以方便實驗開發使用。例如:以太網接口模塊、I2C接口模塊、USB主機與設備接口,I/O總線擴展接口等。 3 硬件調試 系統上電前,應仔細檢查電路板上所有元器件是否正確焊接,檢查各電壓等級的電源是否有短路,各種開關、跳線是否在正確的位置上。此外,還要檢查nWAIT、NRST、NTRST等引腳的電平是否已被上拉,引腳JTAGSEL是否被下拉,對這幾個引腳的處理關系到AT91RM9200能否正常工作。 系統上電后,檢查電路板上幾個電壓等級的輸出電壓是否正常,復位電路是否工作,晶振X1和X2的輸出端是否輸出正確的波形。接著通過串行調試接口將AT91RM9200系統板與PC機連接,在“超級終端”界面中可看到微處理器向PC輸出一系列的“C”,表明微處理器AT91RM9200已經正常工作。然后可以通過ARM公司提供的開發工具ADS的集成開發環境,編寫相關的應用程序,通過JTAG接口對微處理器進行進一步的調試。目前,該系統已在某智能設備的控制器中得到了實際應用。 4 結束語 ARM微處理器正以其極好的性能價格比和極低的功耗與其他體系結構的微處理器進行激烈的競爭,其應用將進一步深入到各行各業?梢灶A測,在將來的一段時期內,ARM微處理器將成為32位微處理器市場的統治者。了解、學習、掌握和應用ARM微處理器技術很有必要,也非常重要。設計ARM微處理器的最小系統是學習這一技術的一個很好的方法和途徑。 |