摘要:在对arm体系结构进行分析的基础上,介绍了32位arm核处理器w90n740的结构特点和优异性能,讨论了它的应用方法。给出了用w90n740芯片降低系统成本的实现方案。
w90n740是***winbond公司开发的基于32位arm核的高性能、低功耗微处理器。w90n740采用arm7tdmi内核,内建两个10/100mb macs以太网络控制器,并采用winbond独家专利的网络地址转换加速器nat accelerator。该器件用硬件方式加速网络封包的转换,不仅减少了中央处理器的负担,同时也大幅提高了宽频的整体系统效能。而芯片方式集成的usb控制器则可透过usb界面连结各种电脑周边设备,以增添产品附加值。此外,w90n740内部还集成了ebi(external bus interface)控制器、系统管理器、gdma控制器等。因而在许多应用领域,用该器件设计的系统成本比目前同类产品要低。加上arm公司开发环境支持汇编语言、c和c++,其软件开发也十分方便。因此,w90n740虽不是主流产品,但也是许多网络电子产品的选择方案之一。
1 arm体系结构
1.1 arm体系的指令集
arm体系具有arm和thumb两种指令集。当处理器工作在arm状态时,执行arm指令集;而当其工作在thumb状态时,则执行thumb指令集。
所有arm指令都是32位长度。指令以字对准方式保存,这样,arm状态指令地址的最低2位总是零。实际上,一些指令通常使用最低有效位来判定代码是转向thumb代码还是arm代码。
arm指令集主要包括存储器访问指令、数据移动指令、数据处理指令、分支指令、协处理器指令、状态寄存器转移指令和异常处理指令等。
所有thumb指令都是16位长度,这些指令可在存储器中以半字对准方式保存。因而,指令的最低有效位在thumb状态下总为零。实际上,thumb指令集是32位arm指令集的功能子集。
1.2 arm体系的编程模型
(1)arm支持的数据类型
arm处理器支持下列数据类型:byte(字节),8位;halfword(半字),16位;word(字,必须与4字节边界对齐),32位。
(2)arm处理器模式
arm体系结构支持7种处理器模式:用户模式(user)、 快速中断请求(fiq,fast interrupt request)、中断请求(irq,interrupt request)、管理(supervisor)、中止(abort)、系统(system)和未定义(undefined)。除用户模式外,其它模式统称为特权模式。大多数应用程序可在用户模式下执行。当处理器工作在用户模式时,正在执行的程序不能访问被保护的系统资源,也不能改变模式,除非发生异常。因此,开发中应适当编写操作系统来控制系统资源的使用。
(3)arm寄存器组织
arm处理器总共有37个寄存器?其中有31个32位的通用寄存器(包括程序计数器?pc?)和6个32位的状态寄存器(但是只使用了其中的12位)。该处理器将寄存器安排成部分重叠的组,每种处理器模式使用不同的寄存器组。同时?在所有处理器模式下都可以访问当前程序状态寄存器cpsr。而cpsr则包含条件码标志、中断标志位、当前处理器模式以及其它状态和控制信息。每种异常模式都有一个程序状态保存寄存器spsr。当异常出现时?spsr可用于保留cpsr的状态。
(4)异常处理
异常通常由内部或外部源产生,并引起一个事件。比如,外部中断或试图执行未定义指令都会引起异常。在处理异常之前,必须保留处理器状态,以便在异常处理程序完成后,使原来的程序能够重新执行。同一时刻可能出现多个异常。arm支持七种类型的异常。异常出现后,系统将强制从异常类型对应的固定存储器地址开始执行程序。
(5)存储器和存储器映射i/o
arm体系结构允许使用现有的存储器和i/o器件来进行各种各样的存储系统设计。arm体系结构使用232个8位字节的单一线性地址空间。设计时可将字节地址作为无符号数看待,范围为0~232-1。而将地址空间看作由230个32位字组成。每个字的地址都是字对准的,故地址可被4整除。其存储器的存储使用了两种映射方法:小端存储系统和大端存储系统,其映射方式分别如图1(a)、(b)所示。
图2
2 w90n740的结构特点
w90n740的内部功能框图如图2所示。w90n740内核为80mhz的arm7tdmi 32位处理器,可支持大/小模式?big/little-endian mode?的工作方式。该内核内置有8kb的指令高速缓冲存储器(i-cache)和2kb 数据高速缓冲存储器(d-cache),它们是相同类型的存储器(除容量大小不同外),可与存储器之间以块(cache line)为单位进行数据交换。每个高速缓冲存储器具有4字块大小,当其中一个高速缓冲存储器未命中时,其4字块大小的信息必须从外部寄存器中连续的获取,其替换算法采用最近最少使用算法(lru, least recently used)。当i-cache或d-cache被禁用时,可以通过cache 控制寄存器把cache设置成片上 ram。另外,w90n740还提供了一个8字的写缓冲器(write-buffer).主要用来优化向主存储器的写入操作。cache和写缓冲器的引入大大改善了w90n740存储系统的性能。
w90n740内含锁相环pll,可用于cpu和usb 主机控制器,使用参考频率为15mhz。pll给其它片内控制器提供的时钟频率范围为3~30mhz。
w90n740内有usb 主机控制器,该控制器兼容usb 1.1标准,支持低速率(1.5mbps)和全速率(12mbps)的usb 设备。同时还内置有用于实时数据传输的dma控制器。
通过w90n740中ebi控制器提供的外部总线可访问片外sdram、rom/sram、flash memory和i/o设备。在内置 cache失效时,ebi控制器仍可获得与cpu核相同的工作频率以保证其处理速度。具有两个10/100mbps以太网mac控制器?emc?是w90n740的一大特点。mac控制器主要应用于wan或lan。它内有两个mac控制器,因而可大大增强此芯片在wan端口与lan端口之间的应用性能,降低系统成本。emc采取的工作方式是半/全双工方式,每个emc除包括ieee802.3以太网协议引擎外,还含有dma控制器和收/发fifo。emc提供有两个可选择的接口:媒质独立接口mii( media inde-pendent interface)和精简媒质独立接口rmii?reduced mii使用时可选择任一接口,同时结合片外速率为10/100mbps的phy芯片接口还可以设计多种类型的应用产品。另外,emc支持长帧(长度大于1518 字节)和短帧(长度小于64 字节)两种帧结构,而且对外部的phy也具有站点管理功能。
nat加速器 ?patent pending?主要用来提供硬件加速功能,其目的是加快端口和ip地址的查寻及网络地址的转移,其中包括mac地址的转移。同时,nat加速器还可提供64项地址转移列表。w90n740有两个通道可用于通用直接存储器访问gdma(general direct memory access)。在cpu不干预的情况下,gmda控制器可直接控制以下三种形式的数据传输:即存储器与存储器之间、存储器至i/o之间以及i/o至存储器之间。
基于中断操作的uart模块具有全设置的mo-dem控制功能(cts,rts,dsr,dtr,ri和dcd等),其主要作用是完成来自外围设备(如modem等)的串并转换和来自cpu的并串转换。高级中断控制器aic(advanced interrupt controller)具有18个中断源,其中包括4个外部中断源。它们可以灵活地设置成可编程的irq或fiq中断模式,并可对4个外部中断源进行可编程的边沿触发或优先级触发。同时,也可对其进行可编程的低使能或高使能。在中断嵌套时,aic可自动检测出低优先级中断。
另外,w90n740具有两个带8 位优先级的定时器和一个可编程的24位看门狗定时器,这些定时器有短模式、周期模式和插入模式三种工作模式。同时具有21个可编程i/o接口,这些i/o接口可设置成多种功能的接口。w90n740的jtag调试接口支持多种调试开发工具。
3 w90n740的应用
3.1 w90n740在voip路由器用户板中的应用
在voip(voice over ip)路由器用户板的设计中,笔者选用w90n740来进行信息包解包,其系统硬件结构如图3所示。其工作过程如下:
首先将来自用户接口的语音数据经过语音处理模块处理以产生pcm语音数据,然后将其传送给dsp处理器并由dsp对该pcm语音数据进行回声抵消、语音压缩等序列处理,接着由w90n740封装控制信息打包,再由uart口传送给双端口ram,最后送给voip路由器主板。与此相反,由路由器主板把从网络接收到的语音数据包经过双端ram传送给w90n740,由其mac进行解包处理并去除控制信息,而后得到语音压缩包,经mac0口传送给dsp并由dsp进行语音解码等处理后,得到pcm语音数据送回到语音处理模块;最后由用户接口送给用户端。这里,w90n740与dsp芯片之间采用的工作方式是主从方式,cpu为主控设备,dsp为从设备,主要实现整个系统的控制、dsp程序的下载和语音数据包的传送等功能。
3.2 w90n740在其它领域的应用
由于w90n740内置有两个以太网 mac和usb 主机以及32位arm的微控制器,因此,它和w99684cbm或w99688cbm3数字相机晶片结合可组成为网络相机。这样,连上网络,使用者便可以透过电脑或彩屏手机随时监视远方场景。
w90n740在税控机、快速闪存、打印机伺服器、无线接入点、用户网关、gps、局域网监控等系统无疑将具有广泛的用途。
第二批的00后步入大学学堂了,厂商给给学生们带来了酷睿10代
如何使用LTspice仿真来考虑电压依赖性的影响
华为业绩增速有所放缓,但华为员工人均年薪仍然高达70万元!
对讲机气密性检测案例_连拓精密气密性测试仪
浅谈三极管的放大作用
32位ARM内核微处理器W90N740及其应用
红米K20的设计和K20 Pro有什么区别
Pickering推出新款9kV电压性能的测试开关模块
区块链交易所开发,币币撮合交易系统开发,源中瑞Dave
量子力学导致基因突变?
LED,LCD驱动芯片
关于安全节能的16位通用微控制器性能分析介绍
NVIDIA GeForce RTX 30系列图形处理器发布了
5G手机快速普及的重要推手是什么?
扩展USB连接几种方案的比较
线缆测试仪的工作原理及应用
换汤不换药!红色版iPhone7/7Plus已低于上市价格甩卖!
ABB伺服驱动器故障代码分析及维修办法
多晶硅和单晶硅哪个好
夜视仪、十倍变焦等 这还是手机的相机?