張豪,楊春燕,汪筱陽
(空軍工程大學(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)宏單元和存儲器單元,總線采用最新的Advanced Micro controller Bus Architecture(AMBA)架構(gòu)。 ARM920T 內(nèi)核采用MMU,AMBA,BUS和Harvard的高速緩存結(jié)構(gòu),具有獨立的8字長16 kB指令緩存器和16 kB數(shù)據(jù)緩存器。
S3C2440A可提供一套通用的外設(shè)接口,無需在額外擴(kuò)展外圍器件,其功耗低,簡單,方便,且全靜態(tài)設(shè)計,特別適合于對成本和功率要求比較高的應(yīng)用中。
S3C2440A的內(nèi)部結(jié)構(gòu)如圖1所示。
S3C2440A它主要有以下部分組成:
1.2 V內(nèi)核,1.8 V/2.5 V/3.3 V存儲器,3.3 V擴(kuò)展 I/O,16 kB 指令 cache(I—chche)/16 kB 數(shù)據(jù) cache(D—chche)
1)外部存儲控制器(SDRAM控制盒片選邏輯)
2)集成LCD專用DMA的LCD控制器(支持最大4 k色STN256KTFT)
3)4路擁有外部請求引腳的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定時器/1路內(nèi)部定時器/看門狗定時器
12)8路10位ADC和觸摸屏接口
13)具有日歷功能的RTC
14)攝像頭接口
15)130個通用I/O,24個外部中斷源
16)電源控制:正常,慢速,空閑,睡眠模式
帶PLL片上時鐘發(fā)生器
S3C2440A的內(nèi)部核心器件是存儲器控制器,Nand Flash控制器,Nand Flash控制器,時鐘及電源管理模塊,DMA,PWM及定時器,UART,ADC和觸摸屏接口,看門狗定時器等,下面對它的各個模塊功能進(jìn)行介紹[2-5]。
S3C2400A的存儲器控制器提供訪問外部存儲器所需的存儲器控制信號,它的存儲器控制器具以下特點:
1)大小端(通過軟件控制);
2)地址空間:每個bank有128 M的字節(jié)(總共1 G字節(jié)/8 個 banks);
3)可編程的訪問位寬:bank0(16/32 位),其他 bank(8/16/32位);
4)共8個存儲器banks,其中6個是ROM,SRAM等類型存儲器bank。2個是可以作為ROM,SRAM,SDRAM等存儲器bank;
5)7個固定的存儲器bank起始地址。最后一個bank的起始地址可調(diào)整,最后兩個bank大小可編程,所有存儲器bank的訪問周期可編程;
6)總線訪問周期可通過插入外部wait來延長;7)支持SDRAM的自刷新和掉電模式。
S3C2400A是在Nand Flash上執(zhí)行啟動代碼,在SDRAM上執(zhí)行主程序。S3C2400A的驅(qū)動代碼可以在外部的Nand Flash存儲器上執(zhí)行。為了支持Nand Flash的 boot loader,S3C2400A配備了一個內(nèi)部的SRAM緩沖器名為steppingstone。啟動時,Nand Flash上的前4 k byte字節(jié)將被裝載到steppingstone上,steppingstone上的啟動代碼將會被執(zhí)行。
時鐘電源管理模塊包含了3個部分:Clock控制,USB控制,POWER控制。時鐘邏輯單元能夠產(chǎn)生S3C2400A需要的時鐘信號,包括CPU使用的主頻FCLK,AHB設(shè)備總線使用的HCLK,以及ABC總線設(shè)備使用的PCLK對于電源控制邏輯單元,S3C2400A有許多鐘電源管理方案來針對所給的任務(wù)保持最優(yōu)的電源消耗。S3C2400A的電源管理模塊通過軟件控制系統(tǒng)時鐘來降低各個模塊的電源消耗。
S3C2400A支持位于系統(tǒng)總線和外設(shè)總線之間的4個通道的控制器。每個DMA控制器通道無限制的執(zhí)行系統(tǒng)總線上的設(shè)備或外設(shè)總線上的設(shè)備之間數(shù)據(jù)搬移。DMA的主要特點就是其其傳輸數(shù)據(jù)不需要CPU的干涉,DMA操作可由軟件或來自內(nèi)設(shè)或外部請求管腳來初始化。
S3C2440A有 5個 16位的定時器,定時器 0、1、2、3有脈沖調(diào)制功能(PWM),定時器4有一個沒有輸出引腳的內(nèi)部定時器,定時器0有一個用于大電流設(shè)備的死區(qū)生成器。定時器的輸出波形可以進(jìn)行可編程任務(wù)控制。
S3C2400A通用異步接收器和發(fā)送器(UART)提供了3個獨立的異步串行I/O端口,每個端口都可以在中斷模式或DMA模式下操作。UART使用系統(tǒng)時鐘可以支持最高115.2 Kbps的波特率。如果一個外部設(shè)備提供UEXTCLK給UART。UART還可以在更高的速度下工作。每個UART通道對于接收器和發(fā)送器包括了2個64位的FIFO。
S3C2440A中的中斷控制器可以從60個中斷源接收中斷請求。這些中斷源由內(nèi)部外設(shè)提供,例如DMA控制器、UART、IIC等。在這些中斷源中,UARTn、AC97和外部中斷EINTn對于中斷控制器來說是或邏輯。
S3C2400A有10位ADC(模數(shù)轉(zhuǎn)換器),它是有8通道模擬輸入的循環(huán)類型設(shè)備。其轉(zhuǎn)換模擬輸入信號到10位的數(shù)字編碼,最大的轉(zhuǎn)化率是在2.5 MHz轉(zhuǎn)換時鐘下達(dá)到500KSPS。AD轉(zhuǎn)換器支持片上采樣和保持功能及掉電模式。
觸摸屏接口可以控制或選擇觸摸屏觸點用于XY的坐標(biāo)轉(zhuǎn)換。觸摸屏接口包括觸摸觸點控制邏輯和有中斷產(chǎn)生邏輯的ADC接口邏輯。
實時時鐘(RTC)單元在系統(tǒng)電源關(guān)閉的情況下可以在備用電池下工作。RTC可以使用STRB/LDRBARM操作傳輸二進(jìn)制碼十進(jìn)制數(shù)的8位數(shù)據(jù)給CPU。數(shù)據(jù)包括秒、分鐘、小時、日期、天、月、年的時間信息。RTC單元可以在32.768 kHz的外部晶振下工作,可以執(zhí)行報警功能。
S3C2400A的看門狗定時器是用于當(dāng)例如噪音或系統(tǒng)錯誤引起的噪音時,恢復(fù)控制器操作。其作為一個普通的16位時間間隔定時器來請求中斷服務(wù)。看門狗定時器產(chǎn)生一個128PCLK周期的復(fù)位信號。看門狗定時器的特點是:1)有中斷請求的普通間隔定時器模式;2)當(dāng)定時器計數(shù)器值為0(超時)時,對于128個PCLK周期內(nèi)的復(fù)位信號被激活。
S3C2400ARISC微處理器可以支持多主設(shè)備IIC總線串行接口,專用串行數(shù)據(jù)線(SDA)和串行時鐘線(SCL)承載主設(shè)備和連接IIC總線的外圍設(shè)備之間的信息。SDA和SCL線都是雙向的。在多組設(shè)備IIC總線模式下,多個S3C2400A微處理器可以從從屬設(shè)備中接收或發(fā)送串行數(shù)據(jù)。主設(shè)備S3C2400A可以初始化和終止一個基于IIC總線的數(shù)據(jù)傳輸。在S3C2400A中的IIC總線使用標(biāo)準(zhǔn)總線仲裁步驟。
S3C2400A的Inter-IC Sound(IIS)總線接口作為一個編解碼接口連接外部8/16位立體聲音頻解碼IC,IIS總線接口支持IIS總線數(shù)據(jù)格式和MSB-justified數(shù)據(jù)格式。該接口對FIFO的訪問采用了DMA模式取代中斷。它可以在同一時間接收和發(fā)送數(shù)據(jù)。
S3C2400A的SPI接口可以接口串行數(shù)據(jù)傳輸。S3C2400A包括兩個SPI接口,每個接口分別有兩個8位的數(shù)據(jù)移位器用于發(fā)送和接收。在SPI發(fā)送期間,數(shù)據(jù)同時發(fā)送和接收。SPI的特點是支持兩個通道的SPI、兼容SPI協(xié)議(2.11版本)、8位發(fā)送移位寄存器、8位接收移位寄存器、8位預(yù)定標(biāo)器、查詢,中斷和DMA傳輸模式、容忍5 V輸入,除nSS。
S3C2400A的AC97控制器單元支持AC97的2.0版本特點。AC97控制器使用一個音頻控制器連接 (AC-link)來和AC97編碼器通訊。控制器發(fā)送立體聲PCM數(shù)據(jù)給編解碼器,編解碼器中的外部數(shù)模轉(zhuǎn)換器轉(zhuǎn)換音頻采樣到模擬音頻波形。控制器也從編解碼器接收立體聲PCM數(shù)據(jù)中單聲道的MIC數(shù)據(jù),然后將數(shù)據(jù)存在內(nèi)存中。AC97控制器的特點:對于立體聲PCM輸入,立體聲PCM輸出和單聲道MIC輸入都有獨立的通道、基于DMA的操作和中斷的操作、所有通道僅支持16位采樣、不同采樣率的AC97編解碼器接口(48 kHZ及以下)、每個通道有16個入口FIFO、僅支持主編解碼器。
該管腳從左到右依次為1~17,從下到上依次為A、B、C、D、E、F、G、H、J、K、L、M、N、P、R、T、U。 管腳功能如表 1 所示。
S3C2440A共有289個管腳,采用的是FBGA封裝[1]。它的管腳排列如圖2所示。

表1 管腳功能Tab.1 Pin function

圖2 管腳排列Fig.2 Pin assignment
其中GPF、GPG為中斷,TDI為測試數(shù)據(jù)輸入,TDO為測試數(shù)據(jù)輸出,TMS為測試模式選擇,nGCS為一般的芯片選擇。
以S3C2440A為核心設(shè)計的YLE2440W開發(fā)板的結(jié)構(gòu)如圖3所示,該開發(fā)板外接了GPS模塊,串口,兩個外擴(kuò)串口,網(wǎng)絡(luò)接口,USB接口,WLAN模塊,紅外通信口,音頻接口,存儲接口,LCD和觸摸屏接口和攝像頭接口等[6]。其中S3C2440A具有27個地址端口,有32位數(shù)據(jù)端口,8位的模數(shù)轉(zhuǎn)換器,并包含時鐘電源等。該開發(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 管腳連接,用來傳輸數(shù)據(jù)。UART以圖4的方式管腳連接,用來數(shù)據(jù)傳輸,數(shù)據(jù)接收,中斷生成,波特率生,紅外模式自動流控制。SDRAM為芯片擴(kuò)展的同步動態(tài)隨機(jī)存儲器。其他的管腳如圖的方式連接。該開發(fā)板采用的是linux2.6的內(nèi)核,支持RTC時鐘。S3C2440 A支持啟動模式,從NAND FLASH 啟動和從NOR FLASH啟動。基于YLE2440W開發(fā)板設(shè)計了導(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è)計的開發(fā)板進(jìn)行功能開發(fā),方便簡潔靈活,因為本身帶有外設(shè)擴(kuò)展口,所需外圍芯片數(shù)量少,功耗低,體積小,非常適合于對體積以及功耗要求高的應(yīng)用中。

圖4 YLE2440W的電路圖Fig.4 Circuit diagram of YLE2440W
[1]三星電子有限公司.S3C2440A微處理器芯片用戶手冊[S].2007.
[2]陳章龍,涂時亮.嵌入式系統(tǒng)—Inter StrongARM結(jié)構(gòu)與開發(fā)[M].北京:北京航空航天大學(xué)出版社,2003.
[3]周立功.ARM微控制器基礎(chǔ)與實戰(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ā)板使用手冊[S].2009.
[7]曹國鑫.基于ARM的導(dǎo)航裝備信息管理接口研究[D].西安:空軍工程大學(xué)電訊工程學(xué)院導(dǎo)航工程系,2010.