《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM單片機的嵌入式最小系統架構研究
基于ARM單片機的嵌入式最小系統架構研究
中電網
摘要: 本文以基于ARM的嵌入式最小系統為平臺,從硬件和軟件兩方面對嵌入式最小系統的架構進行了研究,硬件方面主要介紹了ARM處理器與典型外部存儲器的接口技術,軟件方面重點就嵌入式最小系統的啟動架構做了詳細分析
Abstract:
Key words :

1.引言

隨著嵌入式相關技術的迅速發展,嵌入式系統的功能越來越強大,應用接口更加豐富,根據實際應用的需要設計出特定的嵌入式最小系統和應用系統,是嵌入式系統設計的關鍵。目前在嵌入式系統開發的過程中,開發者往往把大量精力投入到嵌入式微處理器MPU(Micro Processing Unit)與眾多外設的連接方式以及應用代碼的開發之中,而忽視了對嵌入式系統最基本、最核心部分的研究。

當前在嵌入式領域中,ARM(Advanced RISC Machines)處理器被廣泛應用于各種嵌入式設備中。由于ARM嵌入式體系結構類似并且具有通用的外圍電路,同時ARM內核的嵌入式最小系統的設計原則及方法基本相同,這使得對嵌入式最小系統的研究在整個系統的開發中具有著至關重要的意義。本文以基于ARM的嵌入式最小系統為平臺,從硬件和軟件兩方面對嵌入式最小系統的架構進行了研究,硬件方面主要介紹了ARM處理器與典型外部存儲器的接口技術,軟件方面重點就嵌入式最小系統的啟動架構做了詳細分析。

2. 嵌入式最小系統

嵌入式最小系統即是在盡可能減少上層應用的情況下,能夠使系統運行的最小化模塊配置。對于一個典型的嵌入式最小系統,以ARM處理器為例,其構成模塊及其各部分功能如圖1所示,其中ARM微處理器、FLASH和SDRAM模塊是嵌入式最小系統的核心部分。

 24.jpg

時鐘模塊——通常經ARM內部鎖相環進行相應的倍頻,以提供系統各模塊運行所需的時鐘頻率輸入
Flash存儲模塊——存放啟動代碼、操作系統和用戶應用程序代碼
SDRAM模塊——為系統運行提供動態存儲空間,是系統代碼運行的主要區域
JTAG模塊——實現對程序代碼的下載和調試
UART模塊——實現對調試信息的終端顯示
復位模塊——實現對系統的復位

3. 外存儲器接口技術

ARM處理器與外部存儲器(Flash和SDRAM)的接口技術是嵌入式最小系統硬件設計的關鍵。根據需要選擇合理的接口方式,可以有效的提升嵌入式系統的整體性能。

3.1常用外存儲器簡介

(1)Nor Flash與Nand Flash

Nor Flash也稱為線性Flash,可靠性高、隨機讀取速度快,具有芯片內執行(XIP, eXecute In Place)的特點,這樣應用程序可以直接在Flash閃存內運行,不必再把代碼讀到系統RAM中。常用在擦除和編程操作較少而直接執行代碼的場合。

Nand Flash則是高數據存儲密度的理想解決方案,一般用于數據存儲和文件存儲,以塊為單位進行擦除,具有擦除速度快的優點。

(2)同步動態存儲器SDRAM

SDRAM(Synchronous Dynamic Random Access Memory)是在早期DRAM的基礎上改進而來的,它是同步內存,并在接口信號中引入了CLK信號,所有數據、地址和控制信號都是和CLK上升沿對齊的。此外SDRAM還在內部引入了一個命令控制器,處理器訪問SDRAM都是通過向命令控制器發送命令來實現的。

3.2 ARM處理器與Flash接口技術

3.2.1ARM處理器與Nor Flash接口技術

Nor Flash 帶有SRAM接口,有足夠的地址引腳,可以很容易的對存儲器內部的存儲單元進行直接尋址。在實際的系統中,可以根據需要選擇ARM處理器與Nor Flash的連接方式。圖2給出了嵌入式最小系統在包含兩塊Nor Flash的情況下,ARM處理器與Nor Flash兩種不同的連接方式。

 25.jpg

1)雙Flash獨立片選

該方式是把兩個Nor Flash芯片各自作為一個獨立的單元進行處理。根據不同的應用需要,可以在一塊Flash中存放啟動代碼,而在另一塊Flash中建立文件系統,存放應用代碼。該方式操作方便,易于管理。

(2)雙Flash統一片選

該方式是把兩個Nor Flash芯片合為一個單元進行處理,ARM處理器將它們作為一個并行的處理單元來訪問,本例是將兩個8bit的Nor Flash芯片SST39VF1601用作一個16bit單元來進行處理。對于N(N>2)塊Flash的連接方式可以此作為參考。

3.2.2ARM處理器與Nand Flash接口技術

Nand Flash接口信號比較少,地址,數據和命令總線復用。Nand Flash的接口本質上是一個I/O接口,系統對Nand Flash進行數據訪問的時候,需要先向Nand Flash發出相關命令和參數,然后再進行相應的數據操作。ARM處理器與Nand Flash的連接主要有三種方式,如圖3所示:

26.jpg

運用GPIO管腳方式去控制Nand Flash的各個信號,在速度要求相對較低的時候,能夠較充分的發揮NAND設備的性能。它在滿足NAND設備時域需求方面將會有很大的便利,使得ARM處理器可以很容易的去控制NAND設備。該方式需要處理器提供充足的GPIO。

(2)運用邏輯運算方式進行連接

在該方式下,處理器的讀和寫使能信號通過與片選信號CS進行邏輯運算后去驅動NAND設備對應的讀和寫信號。圖3中b例為SamSung公司ARM7TDMI系列處理器S3C44B0與Nand Flash K9F2808U0C的連接方式。

(3)直接芯片使能

有些ARM處理器如S3C2410內部提供對NAND設備的相應控制寄存器,通過控制寄存器可以實現ARM處理器對NAND設備相應信號的驅動。該方式使得ARM處理器與NAND設備的連接變得簡單規范,圖3中c例給出了ARM處理器S3C2410與Nand Flash K9F2808U0C的連接方式。

3.3 ARM處理器與SDRAM接口技術

嵌入式最小系統的外部動態存儲器模塊一般采用SDRAM。現在的大多數ARM處理器內部都集成有SDRAM控制器,通過它可以很容易的訪問SDRAM內部的每一個字節。在實際開發中可以根據需要選用一片或多片SDRAM。圖4中給出了兩種常用的接口方式。

27.jpg

(1)單片SDRAM

圖4 中a例為 ARM處理器S3C44B0與一個16bit的SDRAM K4S641632d的連接方式。在對尺寸有嚴格限制且對動態存儲器容量要求不高的嵌入式系統中常采用此種連接方式。

(2)雙片16bit SDRAM結合使用

在雙片16bit SDRAM合成一個32bit SDRAM使用時,ARM處理器的地址線A2接SDRAM的地址線A0,其余地址依次遞增,這是因為在SDRAM中字節是存儲容量的惟一單位,而此時SDRAM為32bit位寬。

SDRAM的BA地址線是其內部Bank的地址線,代表了SDRAM內存的最高位。在圖4中b例的SDRAM總大小是64M(64M= ),需要A25-A0引腳來尋址,所以BA1-BA0連接到了A25-A24引腳上。還需注意的是SDRAM內存行地址和列地址是復用的,所以地址線的數目一般少于26條,具體連接需要參考ARM處理器和SDRAM的相關手冊。

值得注意的是,有些ARM處理器如SamSung公司的ARM940T系列處理器S3C2510 ,其地址總線與其它標準ARM處理器不太一樣,它的地址線分為內部地址線和外部地址線兩種類型。根據所連接的存儲器數據總線寬度,內部地址線進行相應的移位,對應到外部地址線A23-A0,從而對外提供固定的地址線A23-A0。其實質與典型的ARM處理器是一致的。                                                                           

4. 嵌入式系統啟動架構

啟動架構是嵌入式系統的關鍵技術。掌握啟動架構對于了解嵌入式系統的運行原理有著重要的意義。嵌入式系統在啟動時,引導代碼、操作系統的運行和應用程序的加載主要有兩種架構,一種是直接從Nor Flash啟動的架構,另一種是直接從Nand Flash啟動的架構。

需要注意的是,在嵌入式系統啟動引導的過程中會有多種情況出現,如vxWorks的啟動代碼BootRom就有壓縮和非壓縮,駐留和非駐留方式之分,而操作系統本身也多以壓縮映象方式存儲,所以啟動代碼在執行和加載過程中需要根據不同的情況,作出相應的處理。

4.1從Nor Flash啟動

Nor Flash具有芯片內執行(XIP,eXecute In Place)的特點,在嵌入式系統中常做為存放啟動代碼的首選。從Nor Flash啟動的架構又可細分為只使用Nor Flash的啟動架構和Nor Flash與Nand Flash配合使用的啟動架構。圖5 給出了這兩種啟動架構的原理框圖。

4.1.1單獨使用Nor Flash

在該架構中,引導代碼、操作系統和應用代碼共存于同一塊Nor Flash中。系統上電后,引導代碼首先在Nor Flash中執行,然后把操作系統和應用代碼加載到速度更高的SDRAM中運行。另一種可行的架構是,在Nor Flash中執行引導代碼和操作系統,而只將應用代碼加載到SDRAM中執行。

該架構充分利用了Nor Flash芯片內執行的特點,可有效提升系統性能。不足在于隨著操作系統和應用代碼容量的增加,需要更大容量昂貴的Nor Flash來支撐。

4.1.2 Nor Flash和Nand Flash配合使用

Nor Flash的單獨使用對于代碼量較大的應用程序會增加產品的成本投入,一種的改進的方式是采用Nor Flash 和Nand Flash配合使用的架構。在該架構中附加了一塊Nand Flash,Nor Flash(2M或4M)中存放啟動代碼和操作系統(操作系統可以根據代碼量的大小選擇存放于Nor Flash或者Nand Flash),而Nand Flash中存放應用代碼,根據存放的應用代碼量的大小可以對Nand Flash容量做出相應的改變。

系統上電后,引導代碼直接在Nor Flash中執行,把Nand Flash中的操作系統和應用代碼加載到速度更高的SDRAM中執行。也可以在Nor Flash中執行引導代碼和操作系統,而只將Nand Flash中的應用代碼加載到SDRAM中執行。該架構是當前嵌入式系統中運用最廣泛的啟動架構之一。

4.1.2從Nand Flash啟動

有些處理器如SamSung公司的ARM920T系列處理器S3C2410支持從Nand Flash啟動的模式,它的工作原理是將NandFlash中存儲的前4KB代碼裝入一個稱為Steppingstone(BootSRAM)的地址中,然后開始執行該段引導代碼,從而完成對操作系統和應用程序的加載。該方式需要處理器內部有NAND控制器,同時還要提供一定大小額外的SRAM空間,有一定的使用局限性,在實際開發中較少使用。

5. 結束語

本文作者創新點:根據ARM體系結構的相通性,以基于ARM的嵌入式最小系統為平臺,從硬件和軟件兩方面對其架構進行了研究。硬件方面就ARM處理器與常用外部存儲器的接口方式進行了闡述,軟件方面給出了嵌入式最小系統典型的啟動架構及其選擇標準。

參考文獻:
[1] 李別.基于S3C4510B的ARM開發平臺[J].微計算機信息,2006,10-2:34-36.
[2] 張崙.32位嵌入式系統硬件設計與調試[M].北京:機械工業出版社, 2005.60-61.
[3] NAND Flash Applications Design Guide[EB/OL]. http://www.toshiba.com.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲资源av| 国产精品99久久不卡二区| 亚洲精品一区久久久久久| 狠狠爱综合网| 国产日产欧美精品| 国产精品v欧美精品v日本精品动漫| 欧美福利视频| 欧美国产一区二区| 免费在线国产精品| 美女网站久久| 老司机精品导航| 久久亚洲欧美| 可以看av的网站久久看| 可以看av的网站久久看| 老司机免费视频久久| 免费不卡中文字幕视频| 麻豆久久婷婷| 欧美.日韩.国产.一区.二区| 男同欧美伦乱| 欧美精品电影| 欧美日本精品| 欧美体内she精视频在线观看| 欧美视频一区二区在线观看 | 亚洲欧美精品suv| 亚洲欧美国产一区二区三区| 午夜欧美大片免费观看| 夜夜嗨av色综合久久久综合网| 亚洲第一区在线观看| 猛男gaygay欧美视频| 久久综合色一综合色88| 欧美在线一区二区三区| 久久久久久久久久久一区| 久久久久国产精品人| 久久先锋资源| 欧美另类69精品久久久久9999| 欧美日韩精品免费看| 国产精品国产三级欧美二区| 国产精品女人网站| 国产午夜精品一区二区三区视频| 狠狠狠色丁香婷婷综合激情| 在线看片第一页欧美| 亚洲免费观看| 亚洲一区二区视频在线| 久久精品91久久香蕉加勒比| 亚洲精品女人| 亚洲制服av| 久久久999成人| 欧美国产一区二区在线观看| 国产精品扒开腿做爽爽爽视频| 国产日韩久久| 亚洲第一偷拍| 宅男噜噜噜66国产日韩在线观看| 午夜欧美大片免费观看 | 亚洲黄色影片| 亚洲午夜影视影院在线观看| 欧美亚洲午夜视频在线观看| 葵司免费一区二区三区四区五区| 欧美日韩精品欧美日韩精品| 国产日韩在线不卡| 亚洲欧洲在线一区| 亚洲欧美日韩一区在线观看| 亚洲日本激情| 欧美一级视频精品观看| 欧美xart系列高清| 国产精品主播| 亚洲人成网站在线播| 亚洲欧美日本另类| 日韩视频在线一区二区三区| 欧美一区二区三区在线| 欧美成人免费在线视频| 国产九区一区在线| 亚洲日本欧美日韩高观看| 亚洲欧美日韩精品久久亚洲区| 亚洲精品美女| 久久国产婷婷国产香蕉| 欧美日韩国产成人| 国产在线拍偷自揄拍精品| 99re8这里有精品热视频免费| 久久精品成人| 亚洲综合首页| 欧美激情久久久久久| 国产日韩一区二区三区在线| 妖精视频成人观看www| 亚洲激情欧美| 久久国产免费看| 国产精品草莓在线免费观看| 亚洲国产精品精华液2区45| 欧美在线视频一区二区三区| 亚洲综合视频在线| 欧美精品一区视频| 一区国产精品| 性做久久久久久免费观看欧美 | 久久视频一区二区| 国产精品亚洲欧美| 亚洲美女视频在线免费观看| 亚洲高清视频的网址| 欧美在线高清视频| 国产精品久久久久久久久久尿| 亚洲欧洲日产国产综合网| 亚洲第一在线综合网站| 久久精品一区中文字幕| 国产精品女主播一区二区三区| 亚洲精品在线视频| 亚洲国产高清在线观看视频| 久久久久久国产精品mv| 国产日韩精品一区观看| 亚洲欧美日韩在线播放| 午夜久久久久久久久久一区二区| 男女精品视频| 国产伊人精品| 欧美一级片在线播放| 欧美一区二区观看视频| 国产精品久久久久久超碰| 99精品久久免费看蜜臀剧情介绍| 亚洲日本中文字幕| 欧美成人精品一区| **网站欧美大片在线观看| 久久狠狠一本精品综合网| 久久成人资源| 国产视频久久网| 欧美一区成人| 欧美在线国产| 国产一区激情| 久久精品色图| 噜噜噜久久亚洲精品国产品小说| 国内精品久久久久影院 日本资源| 午夜在线成人av| 久久九九国产精品| 国产有码一区二区| 亚洲国产欧美日韩精品| 欧美gay视频| 亚洲国产精品欧美一二99| 亚洲精品偷拍| 欧美日本在线看| 99精品国产99久久久久久福利| 亚洲一本视频| 国产精品午夜视频| 午夜精品网站| 久久亚洲国产精品一区二区| 在线看一区二区| 日韩亚洲欧美一区二区三区| 欧美日产国产成人免费图片| 国产精品久久久久国产精品日日| 亚洲伊人色欲综合网| 欧美一级淫片播放口| 国产日韩欧美综合在线| 久久国产日本精品| 欧美aaa级| 99国产精品久久久久久久久久| 亚洲一区制服诱惑| 国产精品专区一| 亚洲第一区在线| 欧美精品久久久久a| 亚洲视频福利| 久久久99国产精品免费| 激情视频一区二区| 夜夜嗨av一区二区三区四区| 国产精品vip| 欧美一区二区在线观看| 欧美www视频| 亚洲午夜精品福利| 久久国产主播精品| 亚洲人成啪啪网站| 午夜精品免费在线| 精品91在线| 亚洲天堂视频在线观看| 国产视频不卡| 亚洲毛片在线看| 国产精品成人一区二区网站软件 | 国产日韩欧美高清免费| 亚洲国产激情| 欧美视频不卡| 久久精品国产999大香线蕉| 欧美激情精品久久久久久变态| 一区二区三区欧美在线| 久久久精品日韩欧美| 亚洲欧洲一区二区三区| 欧美一区二区三区视频免费| 亚洲国产精品女人久久久| 午夜天堂精品久久久久| 亚洲国产高清视频| 亚洲欧美中文日韩v在线观看| 黄色成人91| 亚洲欧美日本日韩| 亚洲电影第三页| 午夜精品久久久久久久白皮肤 | 欧美亚洲三级| 亚洲国产日日夜夜| 欧美专区在线观看| 亚洲美女视频网| 久久婷婷国产综合国色天香| 99精品99久久久久久宅男| 久久在线播放| 亚洲综合不卡| 欧美日韩午夜剧场| 亚洲国产精品va在线看黑人| 国产精品九九| 日韩视频在线一区二区| 激情视频一区二区三区| 欧美一区二区三区精品|