AT91SAM9261片上系統(tǒng)介紹
時(shí)間:2016-12-22作者:華清遠(yuǎn)見
一.AT91SAM9261 SOC簡介 AT91SAM9261是atmel公司生產(chǎn)的以ARM926EJ-S ARM Thumb處理器為核心的完全片上系統(tǒng)(SOC),它擴(kuò)展了DSP指令集和Jazelle Java加速器。主時(shí)鐘頻率190MHz時(shí)性能高達(dá)210MIPS。 AT91SAM926是一個(gè)為帶LCD顯示應(yīng)用而優(yōu)化了的主機(jī)處理器。它的集成LCD控制器支持BW而且達(dá)到16M色彩,主動和被動LCD顯示。16K字節(jié)的片上SRAM可配置為幀緩沖,能將LCD刷新對整體處理器性能上的影響降低到小。外部總線接口包括支持同步DRAM(SDRAM)和支持靜態(tài)存儲器的控制器,并有特殊接口電路以支持CompactFLASH和NandFLASH。 AT91SAM9261集成了一個(gè)支持映射的基于ROM的Bootloader,例如從外部DataFlash映射到外部SDRAM。由軟件控制的功率管理控制器(PMC)通過有選擇的啟用和關(guān)閉處理器、各種外設(shè)以及對工作頻率的調(diào)節(jié)使得系統(tǒng)功率損耗保持低。 AT91SAM9261還集成了寬范圍的調(diào)試特性。包括JTAG-ICE,一個(gè)專用的UART調(diào)試通道(DBUG)和嵌入式實(shí)時(shí)追蹤。這使所有應(yīng)用和開發(fā),特別是嚴(yán)格要求實(shí)時(shí)性的應(yīng)用得以實(shí)現(xiàn)。下面是AT91SAM9261的功能框圖:
二.處理器ARM926EJ-S介紹 ARM926EJ-S是通用微處理器ARM9家族中的一員,屬于V5TEJ版ARM架構(gòu),針對的是多任務(wù)應(yīng)用,全存儲器管理、高性能、小核心尺寸和低功耗都是它的特點(diǎn)。 ARM926EJ-S處理器支持32位ARM和16位THUMB指令集,使得用戶能在高性能和高代碼密度上取得平衡。它支持8為JAVA指令集并且包括Java字節(jié)代碼有效執(zhí)行的功能部件,提供和JIT(Just In Time編譯器)形似的Java性能,這些性能為下一代Java無線應(yīng)用和嵌入式的設(shè)備提供了有效支持。為了提高DSP性能,還包含了一個(gè)增強(qiáng)的乘法器設(shè)計(jì)。 ARM926EJ-S提供了一個(gè)完整的處理器子系統(tǒng),包括:
ARM9EJ-S整核
三.AT91SAM9261的存儲器映射機(jī)制
如圖,由總線矩陣完成對初級地址解碼,也就是先進(jìn)高性能總線(AHB)對其附加功能部件的主控和從控接口的實(shí)現(xiàn)。 解碼時(shí)把4G字節(jié)地址空間分成16個(gè)256M字節(jié)的區(qū)域,1-8號區(qū)域(0x10000000~0x90000000)通過片選信號NGS0---NGS7指向EBI。區(qū)域0(0x0~0x0fffffff)是為片內(nèi)存儲器(32K ROM和16K SRAM)尋址的保留區(qū)域,并且一個(gè)二級解碼提供1M字節(jié)的內(nèi)部存儲區(qū)域。15號區(qū)域(0xf0000000~0xffffffff)是為外設(shè)預(yù)留的且外設(shè)預(yù)留的且提供訪問先進(jìn)外圍總線(APB)的權(quán)限。其他區(qū)域是未被使用的,當(dāng)在該區(qū)域內(nèi)進(jìn)行存取操作時(shí),會向主控提供一個(gè)中斷。 總線矩陣管理五個(gè)主控和5個(gè)從控。每個(gè)主控有其自己的總線和解碼器,這樣就允許每個(gè)主控有一個(gè)不同的存儲器映射。每個(gè)從控有其自己的仲裁,這樣就允許每個(gè)從控有一個(gè)不同的仲裁。 總線矩陣主控制器列表:
總線矩陣從控制器列表:
嵌入式存儲器: 32K ROM --- 全速總線下單周期存取 16K 快速SRAM --- 全速總線下單周期存取 每個(gè)主控的內(nèi)部存儲器映射,取決于復(fù)位時(shí)重映射狀態(tài)和BMS狀態(tài)。 內(nèi)部存儲器映射:
四.AT91SAM9261的啟動策略分析 系統(tǒng)上電復(fù)位后,首先會檢測BMS(Boot Mode Select)引腳上的電平,如果BMS檢測到1,系統(tǒng)從片上ROM啟動;如果檢測到BMS為0,系統(tǒng)從外部總線接口(EBI)片選0所接的存儲器(通常都是Nor Flash)啟動。 這一過程可用下圖表示:
AT91SAM9261芯片的內(nèi)部ROM中固化了一段啟動代碼,如果BMS引腳電平為1,則執(zhí)行這段啟動代碼。啟動代碼會檢測和芯片連接的外部的各個(gè)存儲媒介(SPI DATAFLASH, NAND FLASH or SDCARD)上是否有有效的應(yīng)用程序,如果有,則把它下載到內(nèi)部快速SRAM中去運(yùn)行;如果沒有發(fā)現(xiàn)有效的應(yīng)用程序,則執(zhí)行SAM-BA應(yīng)用程序,SAM-BA是一種小型監(jiān)控程序接口,也是固化在ROM中的程序。它實(shí)現(xiàn)以下功能: 用戶可以通過PC端的SAM-BA GUI程序通過USB或者串口下載有效的應(yīng)用到外部存儲器(DATAFLASH,NAND FLASH or SDCARD) 啟動程序算法流程圖如下所示:
五.總結(jié) 本文從四個(gè)方面由淺入深介紹了AT91SAM9261片上系統(tǒng)。比起常用的32為ARM處理器S3C2410,AT91SAM9261采用了ARM926EJ-S內(nèi)核并外擴(kuò)了DSP指令設(shè)備和JAzELLEJava加速器。在工作頻率為180 MHz的情況下,其運(yùn)算速度為200 MIPS。S3C2410采用的是ARM920T內(nèi)核,雖然它的主頻高可達(dá)200 MHz,但在處理諸如乘加指令時(shí)沒有AT91SAM9261快,尤其在處理流媒體數(shù)據(jù)時(shí)更為明顯。16KB的內(nèi)部SRAM在播放流媒體數(shù)據(jù)時(shí)起到了很好的幀緩沖作用,另外,AT91SAM9261 發(fā)揮了ARM926EJ-S緊密式耦合內(nèi)存架構(gòu)的優(yōu)勢,讓傳統(tǒng)(非高速緩存)SRAM直接連接到ARM處理器上而不會出現(xiàn)滯后情況。AT91SAM9261在工控和消費(fèi)電子領(lǐng)域均有廣泛應(yīng)用,尤其是應(yīng)用于工控領(lǐng)域的PDA手持設(shè)備。
相關(guān)資訊
發(fā)表評論
|