張豪,楊春燕,汪筱陽(yáng)
(空軍工程大學(xué) 電訊工程學(xué)院,陜西 西安 710077)
S3C2440A是三星公司生產(chǎn)的一種16/32位RISC結(jié)構(gòu)微處理器芯片[1],其帶有先進(jìn)的ARM920T內(nèi)核,0.13 μm的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元,總線采用最新的Advanced Micro controller Bus Architecture(AMBA)架構(gòu)。 ARM920T 內(nèi)核采用MMU,AMBA,BUS和Harvard的高速緩存結(jié)構(gòu),具有獨(dú)立的8字長(zhǎng)16 kB指令緩存器和16 kB數(shù)據(jù)緩存器。
S3C2440A可提供一套通用的外設(shè)接口,無(wú)需在額外擴(kuò)展外圍器件,其功耗低,簡(jiǎn)單,方便,且全靜態(tài)設(shè)計(jì),特別適合于對(duì)成本和功率要求比較高的應(yīng)用中。
S3C2440A的內(nèi)部結(jié)構(gòu)如圖1所示。
S3C2440A它主要有以下部分組成:
1.2 V內(nèi)核,1.8 V/2.5 V/3.3 V存儲(chǔ)器,3.3 V擴(kuò)展 I/O,16 kB 指令 cache(I—chche)/16 kB 數(shù)據(jù) cache(D—chche)
1)外部存儲(chǔ)控制器(SDRAM控制盒片選邏輯)
2)集成LCD專用DMA的LCD控制器(支持最大4 k色STN256KTFT)
3)4路擁有外部請(qǐng)求引腳的DMA控制器
4)3路 URAT
5)2路 SPI
6)IIC總線接口(多主支持)
7)IIS音頻編碼接口
圖1 內(nèi)部結(jié)構(gòu)Fig.1 Internal structure
8)AC97編解碼器接口
9)1.0版SD主接口,兼容2.11版MMC接口
10)2路USB主機(jī)控制/1路USB期間控制(ver1.1)
11)4路PWM定時(shí)器/1路內(nèi)部定時(shí)器/看門狗定時(shí)器
12)8路10位ADC和觸摸屏接口
13)具有日歷功能的RTC
14)攝像頭接口
15)130個(gè)通用I/O,24個(gè)外部中斷源
16)電源控制:正常,慢速,空閑,睡眠模式
帶PLL片上時(shí)鐘發(fā)生器
S3C2440A的內(nèi)部核心器件是存儲(chǔ)器控制器,Nand Flash控制器,Nand Flash控制器,時(shí)鐘及電源管理模塊,DMA,PWM及定時(shí)器,UART,ADC和觸摸屏接口,看門狗定時(shí)器等,下面對(duì)它的各個(gè)模塊功能進(jìn)行介紹[2-5]。
S3C2400A的存儲(chǔ)器控制器提供訪問外部存儲(chǔ)器所需的存儲(chǔ)器控制信號(hào),它的存儲(chǔ)器控制器具以下特點(diǎn):
1)大小端(通過軟件控制);
2)地址空間:每個(gè)bank有128 M的字節(jié)(總共1 G字節(jié)/8 個(gè) banks);
3)可編程的訪問位寬:bank0(16/32 位),其他 bank(8/16/32位);
4)共8個(gè)存儲(chǔ)器banks,其中6個(gè)是ROM,SRAM等類型存儲(chǔ)器bank。2個(gè)是可以作為ROM,SRAM,SDRAM等存儲(chǔ)器bank;
5)7個(gè)固定的存儲(chǔ)器bank起始地址。最后一個(gè)bank的起始地址可調(diào)整,最后兩個(gè)bank大小可編程,所有存儲(chǔ)器bank的訪問周期可編程;
6)總線訪問周期可通過插入外部wait來(lái)延長(zhǎng);7)支持SDRAM的自刷新和掉電模式。
S3C2400A是在Nand Flash上執(zhí)行啟動(dòng)代碼,在SDRAM上執(zhí)行主程序。S3C2400A的驅(qū)動(dòng)代碼可以在外部的Nand Flash存儲(chǔ)器上執(zhí)行。為了支持Nand Flash的 boot loader,S3C2400A配備了一個(gè)內(nèi)部的SRAM緩沖器名為steppingstone。啟動(dòng)時(shí),Nand Flash上的前4 k byte字節(jié)將被裝載到steppingstone上,steppingstone上的啟動(dòng)代碼將會(huì)被執(zhí)行。
時(shí)鐘電源管理模塊包含了3個(gè)部分:Clock控制,USB控制,POWER控制。時(shí)鐘邏輯單元能夠產(chǎn)生S3C2400A需要的時(shí)鐘信號(hào),包括CPU使用的主頻FCLK,AHB設(shè)備總線使用的HCLK,以及ABC總線設(shè)備使用的PCLK對(duì)于電源控制邏輯單元,S3C2400A有許多鐘電源管理方案來(lái)針對(duì)所給的任務(wù)保持最優(yōu)的電源消耗。S3C2400A的電源管理模塊通過軟件控制系統(tǒng)時(shí)鐘來(lái)降低各個(gè)模塊的電源消耗。
S3C2400A支持位于系統(tǒng)總線和外設(shè)總線之間的4個(gè)通道的控制器。每個(gè)DMA控制器通道無(wú)限制的執(zhí)行系統(tǒng)總線上的設(shè)備或外設(shè)總線上的設(shè)備之間數(shù)據(jù)搬移。DMA的主要特點(diǎn)就是其其傳輸數(shù)據(jù)不需要CPU的干涉,DMA操作可由軟件或來(lái)自內(nèi)設(shè)或外部請(qǐng)求管腳來(lái)初始化。
S3C2440A有 5個(gè) 16位的定時(shí)器,定時(shí)器 0、1、2、3有脈沖調(diào)制功能(PWM),定時(shí)器4有一個(gè)沒有輸出引腳的內(nèi)部定時(shí)器,定時(shí)器0有一個(gè)用于大電流設(shè)備的死區(qū)生成器。定時(shí)器的輸出波形可以進(jìn)行可編程任務(wù)控制。
S3C2400A通用異步接收器和發(fā)送器(UART)提供了3個(gè)獨(dú)立的異步串行I/O端口,每個(gè)端口都可以在中斷模式或DMA模式下操作。UART使用系統(tǒng)時(shí)鐘可以支持最高115.2 Kbps的波特率。如果一個(gè)外部設(shè)備提供UEXTCLK給UART。UART還可以在更高的速度下工作。每個(gè)UART通道對(duì)于接收器和發(fā)送器包括了2個(gè)64位的FIFO。
S3C2440A中的中斷控制器可以從60個(gè)中斷源接收中斷請(qǐng)求。這些中斷源由內(nèi)部外設(shè)提供,例如DMA控制器、UART、IIC等。在這些中斷源中,UARTn、AC97和外部中斷EINTn對(duì)于中斷控制器來(lái)說是或邏輯。
S3C2400A有10位ADC(模數(shù)轉(zhuǎn)換器),它是有8通道模擬輸入的循環(huán)類型設(shè)備。其轉(zhuǎn)換模擬輸入信號(hào)到10位的數(shù)字編碼,最大的轉(zhuǎn)化率是在2.5 MHz轉(zhuǎn)換時(shí)鐘下達(dá)到500KSPS。AD轉(zhuǎn)換器支持片上采樣和保持功能及掉電模式。
觸摸屏接口可以控制或選擇觸摸屏觸點(diǎn)用于XY的坐標(biāo)轉(zhuǎn)換。觸摸屏接口包括觸摸觸點(diǎn)控制邏輯和有中斷產(chǎn)生邏輯的ADC接口邏輯。
實(shí)時(shí)時(shí)鐘(RTC)單元在系統(tǒng)電源關(guān)閉的情況下可以在備用電池下工作。RTC可以使用STRB/LDRBARM操作傳輸二進(jìn)制碼十進(jìn)制數(shù)的8位數(shù)據(jù)給CPU。數(shù)據(jù)包括秒、分鐘、小時(shí)、日期、天、月、年的時(shí)間信息。RTC單元可以在32.768 kHz的外部晶振下工作,可以執(zhí)行報(bào)警功能。
S3C2400A的看門狗定時(shí)器是用于當(dāng)例如噪音或系統(tǒng)錯(cuò)誤引起的噪音時(shí),恢復(fù)控制器操作。其作為一個(gè)普通的16位時(shí)間間隔定時(shí)器來(lái)請(qǐng)求中斷服務(wù)??撮T狗定時(shí)器產(chǎn)生一個(gè)128PCLK周期的復(fù)位信號(hào)??撮T狗定時(shí)器的特點(diǎn)是:1)有中斷請(qǐng)求的普通間隔定時(shí)器模式;2)當(dāng)定時(shí)器計(jì)數(shù)器值為0(超時(shí))時(shí),對(duì)于128個(gè)PCLK周期內(nèi)的復(fù)位信號(hào)被激活。
S3C2400ARISC微處理器可以支持多主設(shè)備IIC總線串行接口,專用串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)承載主設(shè)備和連接IIC總線的外圍設(shè)備之間的信息。SDA和SCL線都是雙向的。在多組設(shè)備IIC總線模式下,多個(gè)S3C2400A微處理器可以從從屬設(shè)備中接收或發(fā)送串行數(shù)據(jù)。主設(shè)備S3C2400A可以初始化和終止一個(gè)基于IIC總線的數(shù)據(jù)傳輸。在S3C2400A中的IIC總線使用標(biāo)準(zhǔn)總線仲裁步驟。
S3C2400A的Inter-IC Sound(IIS)總線接口作為一個(gè)編解碼接口連接外部8/16位立體聲音頻解碼IC,IIS總線接口支持IIS總線數(shù)據(jù)格式和MSB-justified數(shù)據(jù)格式。該接口對(duì)FIFO的訪問采用了DMA模式取代中斷。它可以在同一時(shí)間接收和發(fā)送數(shù)據(jù)。
S3C2400A的SPI接口可以接口串行數(shù)據(jù)傳輸。S3C2400A包括兩個(gè)SPI接口,每個(gè)接口分別有兩個(gè)8位的數(shù)據(jù)移位器用于發(fā)送和接收。在SPI發(fā)送期間,數(shù)據(jù)同時(shí)發(fā)送和接收。SPI的特點(diǎn)是支持兩個(gè)通道的SPI、兼容SPI協(xié)議(2.11版本)、8位發(fā)送移位寄存器、8位接收移位寄存器、8位預(yù)定標(biāo)器、查詢,中斷和DMA傳輸模式、容忍5 V輸入,除nSS。
S3C2400A的AC97控制器單元支持AC97的2.0版本特點(diǎn)。AC97控制器使用一個(gè)音頻控制器連接 (AC-link)來(lái)和AC97編碼器通訊??刂破靼l(fā)送立體聲PCM數(shù)據(jù)給編解碼器,編解碼器中的外部數(shù)模轉(zhuǎn)換器轉(zhuǎn)換音頻采樣到模擬音頻波形。控制器也從編解碼器接收立體聲PCM數(shù)據(jù)中單聲道的MIC數(shù)據(jù),然后將數(shù)據(jù)存在內(nèi)存中。AC97控制器的特點(diǎn):對(duì)于立體聲PCM輸入,立體聲PCM輸出和單聲道MIC輸入都有獨(dú)立的通道、基于DMA的操作和中斷的操作、所有通道僅支持16位采樣、不同采樣率的AC97編解碼器接口(48 kHZ及以下)、每個(gè)通道有16個(gè)入口FIFO、僅支持主編解碼器。
該管腳從左到右依次為1~17,從下到上依次為A、B、C、D、E、F、G、H、J、K、L、M、N、P、R、T、U。 管腳功能如表 1 所示。
S3C2440A共有289個(gè)管腳,采用的是FBGA封裝[1]。它的管腳排列如圖2所示。
表1 管腳功能Tab.1 Pin function
圖2 管腳排列Fig.2 Pin assignment
其中GPF、GPG為中斷,TDI為測(cè)試數(shù)據(jù)輸入,TDO為測(cè)試數(shù)據(jù)輸出,TMS為測(cè)試模式選擇,nGCS為一般的芯片選擇。
以S3C2440A為核心設(shè)計(jì)的YLE2440W開發(fā)板的結(jié)構(gòu)如圖3所示,該開發(fā)板外接了GPS模塊,串口,兩個(gè)外擴(kuò)串口,網(wǎng)絡(luò)接口,USB接口,WLAN模塊,紅外通信口,音頻接口,存儲(chǔ)接口,LCD和觸摸屏接口和攝像頭接口等[6]。其中S3C2440A具有27個(gè)地址端口,有32位數(shù)據(jù)端口,8位的模數(shù)轉(zhuǎn)換器,并包含時(shí)鐘電源等。該開發(fā)板的硬件連接如圖3所示。
圖3 YLE2440W內(nèi)部結(jié)構(gòu)Fig.3 Internal structure of YLE2440W
S3C2440A通過圖4的方式和YLE2440W上的外圍設(shè)備進(jìn)行連接,其中 JTAG 和 nTRST,TCK,TDI,TDO,TMS 管腳連接,用來(lái)傳輸數(shù)據(jù)。UART以圖4的方式管腳連接,用來(lái)數(shù)據(jù)傳輸,數(shù)據(jù)接收,中斷生成,波特率生,紅外模式自動(dòng)流控制。SDRAM為芯片擴(kuò)展的同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。其他的管腳如圖的方式連接。該開發(fā)板采用的是linux2.6的內(nèi)核,支持RTC時(shí)鐘。S3C2440 A支持啟動(dòng)模式,從NAND FLASH 啟動(dòng)和從NOR FLASH啟動(dòng)?;赮LE2440W開發(fā)板設(shè)計(jì)了導(dǎo)航裝備信息管理接口[7],通過S3C2440 A的串口獲取裝備的數(shù)據(jù),在片內(nèi)進(jìn)行數(shù)據(jù)處理以及協(xié)議轉(zhuǎn)換,通過S3C2440 A外接的LCD顯示屏進(jìn)行數(shù)據(jù)顯示。JTAG口進(jìn)行程序的下載。
利用基于S3C2440A設(shè)計(jì)的開發(fā)板進(jìn)行功能開發(fā),方便簡(jiǎn)潔靈活,因?yàn)楸旧韼в型庠O(shè)擴(kuò)展口,所需外圍芯片數(shù)量少,功耗低,體積小,非常適合于對(duì)體積以及功耗要求高的應(yīng)用中。
圖4 YLE2440W的電路圖Fig.4 Circuit diagram of YLE2440W
[1]三星電子有限公司.S3C2440A微處理器芯片用戶手冊(cè)[S].2007.
[2]陳章龍,涂時(shí)亮.嵌入式系統(tǒng)—Inter StrongARM結(jié)構(gòu)與開發(fā)[M].北京:北京航空航天大學(xué)出版社,2003.
[3]周立功.ARM微控制器基礎(chǔ)與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2003.
[4]馬忠梅,馬廣云,徐回應(yīng),等.ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2002.
[5]Steve F.ARM SoC體系統(tǒng)結(jié)構(gòu)[M].田澤,于敦山,盛世敏,譯.北京:北京航空航天大學(xué)出版社,2002.
[6]深圳市優(yōu)龍科技有限公司.YLE2440W開發(fā)板使用手冊(cè)[S].2009.
[7]曹國(guó)鑫.基于ARM的導(dǎo)航裝備信息管理接口研究[D].西安:空軍工程大學(xué)電訊工程學(xué)院導(dǎo)航工程系,2010.