摘要:在對(duì)ARM體系結(jié)構(gòu)進(jìn)行分析的基礎(chǔ)上,介紹了32位ARM核處理器W90N740的結(jié)構(gòu)特點(diǎn)和優(yōu)異性能,討論了它的應(yīng)用方法。給出了用W90N740芯片降低系統(tǒng)成本的實(shí)現(xiàn)方案。
W90N740是***Winbond公司開發(fā)的基于32位ARM核的高性能、低功耗微處理器。W90N740采用ARM7TDMI內(nèi)核,內(nèi)建兩個(gè)10/100Mb MACs以太網(wǎng)絡(luò)控制器,并采用Winbond獨(dú)家專利的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器NAT Accelerator。該器件用硬件方式加速網(wǎng)絡(luò)封包的轉(zhuǎn)換,不僅減少了中央處理器的負(fù)擔(dān),同時(shí)也大幅提高了寬頻的整體系統(tǒng)效能。而芯片方式集成的USB控制器則可透過USB界面連結(jié)各種電腦周邊設(shè)備,以增添產(chǎn)品附加值。此外,W90N740內(nèi)部還集成了EBI(external bus interface)控制器、系統(tǒng)管理器、GDMA控制器等。因而在許多應(yīng)用領(lǐng)域,用該器件設(shè)計(jì)的系統(tǒng)成本比目前同類產(chǎn)品要低。加上ARM公司開發(fā)環(huán)境支持匯編語言、C和C++,其軟件開發(fā)也十分方便。因此,W90N740雖不是主流產(chǎn)品,但也是許多網(wǎng)絡(luò)電子產(chǎn)品的選擇方案之一。
1 ARM體系結(jié)構(gòu)
1.1 ARM體系的指令集
ARM體系具有ARM和Thumb兩種指令集。當(dāng)處理器工作在ARM狀態(tài)時(shí),執(zhí)行ARM指令集;而當(dāng)其工作在Thumb狀態(tài)時(shí),則執(zhí)行Thumb指令集。
所有ARM指令都是32位長度。指令以字對(duì)準(zhǔn)方式保存,這樣,ARM狀態(tài)指令地址的最低2位總是零。實(shí)際上,一些指令通常使用最低有效位來判定代碼是轉(zhuǎn)向Thumb代碼還是ARM代碼。
ARM指令集主要包括存儲(chǔ)器訪問指令、數(shù)據(jù)移動(dòng)指令、數(shù)據(jù)處理指令、分支指令、協(xié)處理器指令、狀態(tài)寄存器轉(zhuǎn)移指令和異常處理指令等。
所有Thumb指令都是16位長度,這些指令可在存儲(chǔ)器中以半字對(duì)準(zhǔn)方式保存。因而,指令的最低有效位在Thumb狀態(tài)下總為零。實(shí)際上,Thumb指令集是32位ARM指令集的功能子集。
1.2 ARM體系的編程模型
(1)ARM支持的數(shù)據(jù)類型
ARM處理器支持下列數(shù)據(jù)類型:Byte(字節(jié)),8位;Halfword(半字),16位;Word(字,必須與4字節(jié)邊界對(duì)齊),32位。
(2)ARM處理器模式
ARM體系結(jié)構(gòu)支持7種處理器模式:用戶模式(User)、 快速中斷請求(FIQ,Fast Interrupt request)、中斷請求(IRQ,Interrupt ReQuest)、管理(Supervisor)、中止(Abort)、系統(tǒng)(System)和未定義(Undefined)。除用戶模式外,其它模式統(tǒng)稱為特權(quán)模式。大多數(shù)應(yīng)用程序可在用戶模式下執(zhí)行。當(dāng)處理器工作在用戶模式時(shí),正在執(zhí)行的程序不能訪問被保護(hù)的系統(tǒng)資源,也不能改變模式,除非發(fā)生異常。因此,開發(fā)中應(yīng)適當(dāng)編寫操作系統(tǒng)來控制系統(tǒng)資源的使用。
(3)ARM寄存器組織
ARM處理器總共有37個(gè)寄存器?其中有31個(gè)32位的通用寄存器(包括程序計(jì)數(shù)器?PC?)和6個(gè)32位的狀態(tài)寄存器(但是只使用了其中的12位)。該處理器將寄存器安排成部分重疊的組,每種處理器模式使用不同的寄存器組。同時(shí)?在所有處理器模式下都可以訪問當(dāng)前程序狀態(tài)寄存器CPSR。而CPSR則包含條件碼標(biāo)志、中斷標(biāo)志位、當(dāng)前處理器模式以及其它狀態(tài)和控制信息。每種異常模式都有一個(gè)程序狀態(tài)保存寄存器SPSR。當(dāng)異常出現(xiàn)時(shí)?SPSR可用于保留CPSR的狀態(tài)。
(4)異常處理
異常通常由內(nèi)部或外部源產(chǎn)生,并引起一個(gè)事件。比如,外部中斷或試圖執(zhí)行未定義指令都會(huì)引起異常。在處理異常之前,必須保留處理器狀態(tài),以便在異常處理程序完成后,使原來的程序能夠重新執(zhí)行。同一時(shí)刻可能出現(xiàn)多個(gè)異常。ARM支持七種類型的異常。異常出現(xiàn)后,系統(tǒng)將強(qiáng)制從異常類型對(duì)應(yīng)的固定存儲(chǔ)器地址開始執(zhí)行程序。
(5)存儲(chǔ)器和存儲(chǔ)器映射I/O
ARM體系結(jié)構(gòu)允許使用現(xiàn)有的存儲(chǔ)器和I/O器件來進(jìn)行各種各樣的存儲(chǔ)系統(tǒng)設(shè)計(jì)。ARM體系結(jié)構(gòu)使用232個(gè)8位字節(jié)的單一線性地址空間。設(shè)計(jì)時(shí)可將字節(jié)地址作為無符號(hào)數(shù)看待,范圍為0~232-1。而將地址空間看作由230個(gè)32位字組成。每個(gè)字的地址都是字對(duì)準(zhǔn)的,故地址可被4整除。其存儲(chǔ)器的存儲(chǔ)使用了兩種映射方法:小端存儲(chǔ)系統(tǒng)和大端存儲(chǔ)系統(tǒng),其映射方式分別如圖1(a)、(b)所示。
圖2
2 W90N740的結(jié)構(gòu)特點(diǎn)
W90N740的內(nèi)部功能框圖如圖2所示。W90N740內(nèi)核為80MHz的ARM7TDMI 32位處理器,可支持大/小模式?Big/Little-Endian mode?的工作方式。該內(nèi)核內(nèi)置有8kB的指令高速緩沖存儲(chǔ)器(I-Cache)和2kB 數(shù)據(jù)高速緩沖存儲(chǔ)器(D-Cache),它們是相同類型的存儲(chǔ)器(除容量大小不同外),可與存儲(chǔ)器之間以塊(cache line)為單位進(jìn)行數(shù)據(jù)交換。每個(gè)高速緩沖存儲(chǔ)器具有4字塊大小,當(dāng)其中一個(gè)高速緩沖存儲(chǔ)器未命中時(shí),其4字塊大小的信息必須從外部寄存器中連續(xù)的獲取,其替換算法采用最近最少使用算法(LRU, Least Recently Used)。當(dāng)I-Cache或D-Cache被禁用時(shí),可以通過Cache 控制寄存器把Cache設(shè)置成片上 RAM。另外,W90N740還提供了一個(gè)8字的寫緩沖器(Write-Buffer).主要用來優(yōu)化向主存儲(chǔ)器的寫入操作。Cache和寫緩沖器的引入大大改善了W90N740存儲(chǔ)系統(tǒng)的性能。
W90N740內(nèi)含鎖相環(huán)PLL,可用于CPU和USB 主機(jī)控制器,使用參考頻率為15MHz。PLL給其它片內(nèi)控制器提供的時(shí)鐘頻率范圍為3~30MHz。
W90N740內(nèi)有USB 主機(jī)控制器,該控制器兼容USB 1.1標(biāo)準(zhǔn),支持低速率(1.5Mbps)和全速率(12Mbps)的USB 設(shè)備。同時(shí)還內(nèi)置有用于實(shí)時(shí)數(shù)據(jù)傳輸?shù)模模停量刂破鳌?/P>
通過W90N740中EBI控制器提供的外部總線可訪問片外SDRAM、ROM/SRAM、Flash memory和I/O設(shè)備。在內(nèi)置 cache失效時(shí),EBI控制器仍可獲得與CPU核相同的工作頻率以保證其處理速度。具有兩個(gè)10/100Mbps以太網(wǎng)MAC控制器?EMC?是W90N740的一大特點(diǎn)。MAC控制器主要應(yīng)用于WAN或LAN。它內(nèi)有兩個(gè)MAC控制器,因而可大大增強(qiáng)此芯片在WAN端口與LAN端口之間的應(yīng)用性能,降低系統(tǒng)成本。EMC采取的工作方式是半/全雙工方式,每個(gè)EMC除包括IEEE802.3以太網(wǎng)協(xié)議引擎外,還含有DMA控制器和收/發(fā)FIFO。EMC提供有兩個(gè)可選擇的接口:媒質(zhì)獨(dú)立接口MII( Media Inde-pendent Interface)和精簡媒質(zhì)獨(dú)立接口RMII?Reduced MII??使用時(shí)可選擇任一接口,同時(shí)結(jié)合片外速率為10/100Mbps的PHY芯片接口還可以設(shè)計(jì)多種類型的應(yīng)用產(chǎn)品。另外,EMC支持長幀(長度大于1518 字節(jié))和短幀(長度小于64 字節(jié))兩種幀結(jié)構(gòu),而且對(duì)外部的PHY也具有站點(diǎn)管理功能。
NAT加速器 ?Patent Pending?主要用來提供硬件加速功能,其目的是加快端口和IP地址的查尋及網(wǎng)絡(luò)地址的轉(zhuǎn)移,其中包括MAC地址的轉(zhuǎn)移。同時(shí),NAT加速器還可提供64項(xiàng)地址轉(zhuǎn)移列表。W90N740有兩個(gè)通道可用于通用直接存儲(chǔ)器訪問GDMA(General Direct Memory Access)。在CPU不干預(yù)的情況下,GMDA控制器可直接控制以下三種形式的數(shù)據(jù)傳輸:即存儲(chǔ)器與存儲(chǔ)器之間、存儲(chǔ)器至I/O之間以及I/O至存儲(chǔ)器之間。
基于中斷操作的UART模塊具有全設(shè)置的MO-DEM控制功能(CTS,RTS,DSR,DTR,RI和DCD等),其主要作用是完成來自外圍設(shè)備(如MODEM等)的串并轉(zhuǎn)換和來自CPU的并串轉(zhuǎn)換。高級(jí)中斷控制器AIC(Advanced Interrupt Controller)具有18個(gè)中斷源,其中包括4個(gè)外部中斷源。它們可以靈活地設(shè)置成可編程的IRQ或FIQ中斷模式,并可對(duì)4個(gè)外部中斷源進(jìn)行可編程的邊沿觸發(fā)或優(yōu)先級(jí)觸發(fā)。同時(shí),也可對(duì)其進(jìn)行可編程的低使能或高使能。在中斷嵌套時(shí),AIC可自動(dòng)檢測出低優(yōu)先級(jí)中斷。
另外,W90N740具有兩個(gè)帶8 位優(yōu)先級(jí)的定時(shí)器和一個(gè)可編程的24位看門狗定時(shí)器,這些定時(shí)器有短模式、周期模式和插入模式三種工作模式。同時(shí)具有21個(gè)可編程I/O接口,這些I/O接口可設(shè)置成多種功能的接口。W90N740的JTAG調(diào)試接口支持多種調(diào)試開發(fā)工具。
3 W90N740的應(yīng)用
3.1 W90N740在VoIP路由器用戶板中的應(yīng)用
在VoIP(Voice over IP)路由器用戶板的設(shè)計(jì)中,筆者選用W90N740來進(jìn)行信息包解包,其系統(tǒng)硬件結(jié)構(gòu)如圖3所示。其工作過程如下:
首先將來自用戶接口的語音數(shù)據(jù)經(jīng)過語音處理模塊處理以產(chǎn)生PCM語音數(shù)據(jù),然后將其傳送給DSP處理器并由DSP對(duì)該PCM語音數(shù)據(jù)進(jìn)行回聲抵消、語音壓縮等序列處理,接著由W90N740封裝控制信息打包,再由UART口傳送給雙端口RAM,最后送給VoIP路由器主板。與此相反,由路由器主板把從網(wǎng)絡(luò)接收到的語音數(shù)據(jù)包經(jīng)過雙端RAM傳送給W90N740,由其MAC進(jìn)行解包處理并去除控制信息,而后得到語音壓縮包,經(jīng)MAC0口傳送給DSP并由DSP進(jìn)行語音解碼等處理后,得到PCM語音數(shù)據(jù)送回到語音處理模塊;最后由用戶接口送給用戶端。這里,W90N740與DSP芯片之間采用的工作方式是主從方式,CPU為主控設(shè)備,DSP為從設(shè)備,主要實(shí)現(xiàn)整個(gè)系統(tǒng)的控制、DSP程序的下載和語音數(shù)據(jù)包的傳送等功能。
3.2 W90N740在其它領(lǐng)域的應(yīng)用
由于W90N740內(nèi)置有兩個(gè)以太網(wǎng) MAC和USB 主機(jī)以及32位ARM的微控制器,因此,它和W99684CBM或W99688CBM3數(shù)字相機(jī)晶片結(jié)合可組成為網(wǎng)絡(luò)相機(jī)。這樣,連上網(wǎng)絡(luò),使用者便可以透過電腦或彩屏手機(jī)隨時(shí)監(jiān)視遠(yuǎn)方場景。
W90N740在稅控機(jī)、快速閃存、打印機(jī)伺服器、無線接入點(diǎn)、用戶網(wǎng)關(guān)、GPS、局域網(wǎng)監(jiān)控等系統(tǒng)無疑將具有廣泛的用途。
- 及其應(yīng)用(24050)
- 32位A(5497)
相關(guān)推薦
16位和32位微處理器的相關(guān)資料推薦
32位嵌入式處理器的市場
ARM10E系列微處理器主要可以應(yīng)用在哪些領(lǐng)域?
ARM7 系列微處理器有哪些特點(diǎn)
ARM920T處理器技術(shù)參考手冊
ARM920T高緩存處理器有哪些性能參數(shù)和特性?
ARM9E系列微處理器處理高速數(shù)字信號(hào)處理效果如何?
ARM9系列微處理器高性能和低功耗怎么樣?
ARM處理器及ARM處理器工作模式
ARM處理器及ARM處理器工作模式
ARM處理器有哪些優(yōu)勢
ARM處理器特點(diǎn)
ARM處理器的三大特點(diǎn)
ARM處理器的發(fā)展歷程
ARM微處理器中地址的低兩位為0是啥意思?
ARM微處理器介紹
ARM微處理器包括哪幾種異常
ARM微處理器指令系統(tǒng)實(shí)驗(yàn)
ARM微處理器指令系統(tǒng)資料介紹
ARM微處理器的應(yīng)用領(lǐng)域及其特點(diǎn)
ARM微處理器的指令系統(tǒng)
ARM微處理器的特點(diǎn)及其架構(gòu)解析
ARM微處理器編程基礎(chǔ)和接口實(shí)驗(yàn)
ARM微處理器編程基礎(chǔ)和接口實(shí)驗(yàn)
ARM今日推出新款微處理器 號(hào)稱世界最高能效
ARM嵌入式微處理器的發(fā)展怎么樣?
ARM嵌入式微處理器的發(fā)展怎么樣?
ARM嵌入式微處理器的發(fā)展情況怎么樣?
W90N74532位單片機(jī)相關(guān)資料分享
arm內(nèi)核和架構(gòu)
AM1810 Sitara ARM 微處理器
FPGA技術(shù)如何用VHDL語言實(shí)現(xiàn)8位RISC微處理器?
Motorola/IBM PowerPC 740/750微處理器的仿真和分析解決方案
Motorola/IBM PowerPC 740/750微處理器的仿真和分析解決方案
RISC架構(gòu)在ARM微處理器的應(yīng)用
SecurCore(可靠內(nèi)核技術(shù))系列微處理器有哪些特點(diǎn) 主要應(yīng)用哪些領(lǐng)域
了解ARM內(nèi)核中的處理器和注冊文件
什么是ARM處理器 ARM處理器有哪些系列
什么是ARM處理器?
什么是微架構(gòu)?了解ARM內(nèi)核中的處理器和注冊文件
你怎么看8位、16位、32位及64位嵌入式處理器?
基于32位微處理器的液晶顯示系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于8位微處理器的數(shù)字低通濾波器設(shè)計(jì)
基于ARM926EJ-S內(nèi)核微處理器單元的AT91SAM9X25-EK評(píng)估套件
基于ARM型微處理器的最小系統(tǒng)設(shè)計(jì)
基于ARM嵌入式處理器的小車顯示系統(tǒng)功能怎么實(shí)現(xiàn)?
基于AVR 8位微處理器的FSPLC微處理器SOC設(shè)計(jì)
嵌入式ARM微處理器如何選型
嵌入式ARM微處理器選型指南
嵌入式ARM微處理器選型的考慮因素
嵌入式處理器的分類
嵌入式微處理器如何選擇
嵌入式微處理器的組成及其特點(diǎn)
微控制器和微處理器的區(qū)別在哪
新唐NuMicro Arm9微處理器介紹
電能質(zhì)量檢測與治理微處理器的選型
ARM微處理器的編程模型
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于ARM微處理器的μC/OS-II的移植研究
![](https://skin.elecfans.com/images/2021-soft/load.png)
華邦ARM W90N740芯片及其在稅控機(jī)和路由器上的應(yīng)用
![](https://skin.elecfans.com/images/2021-soft/load.png)
新一代ARM微處理器ARM11系列
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于ARM微處理器的智能控制器
![](https://skin.elecfans.com/images/2021-soft/load.png)
ARM微處理器的編程模型
![](https://skin.elecfans.com/images/2021-soft/load.png)
μCOS-II 在ARM微處理器上的移植
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A4/83/wKgZomUMNIqART3_AAB2Vjk6A6M516.jpg)
采用集成DSP與微處理器內(nèi)核的嵌入式應(yīng)用
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A4/CB/wKgZomUMNbeARMvTAABhTn7ZpUs572.jpg)
ARM,ARM處理器是什么意思
![](https://skin.elecfans.com/images/2021-soft/eye.png)
ARM7芯片W90N740以太網(wǎng)接口設(shè)計(jì)及驅(qū)動(dòng)開發(fā)
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于Cortex_M4內(nèi)核微處理器的新型智能小車設(shè)計(jì)與實(shí)現(xiàn)
![](https://skin.elecfans.com/images/2021-soft/load.png)
W90N740CD和W90N740CDG微控制器的數(shù)據(jù)手冊和應(yīng)用的詳細(xì)資料說明
![](https://skin.elecfans.com/images/2021-soft/load.png)
ARM處理器內(nèi)核的詳細(xì)資料概述
![](https://skin.elecfans.com/images/2021-soft/load.png)
Cortex-M3是一款ARM處理器內(nèi)核
![](https://skin.elecfans.com/images/2021-soft/eye.png)
Cortex-M3內(nèi)核的ARM處理器的應(yīng)用資料說明
![](https://skin.elecfans.com/images/2021-soft/load.png)
評(píng)論