摘要:在对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、局域网监控等系统无疑将具有广泛的用途。
- 及其应用(24342)
- 32位A(5617)
ARM Cortex-M3微处理器测试方法研究与实现
2777
ARM处理器简介及RISC设计要点
9930
16位和32位微处理器的相关资料推荐
ARM10E系列微处理器主要可以应用在哪些领域?
ARM7 系列微处理器有哪些特点
ARM920T处理器技术参考手册
ARM920T高缓存处理器有哪些性能参数和特性?
ARM9E系列微处理器处理高速数字信号处理效果如何?
ARM处理器及ARM处理器工作模式
ARM处理器及ARM处理器工作模式
ARM处理器有哪些优势
ARM处理器的三大特点
ARM处理器的发展历程
ARM微处理器中地址的低两位为0是啥意思?
ARM微处理器介绍
ARM微处理器包括哪几种异常
ARM微处理器指令系统实验
ARM微处理器指令系统资料介绍
ARM微处理器的应用领域及其特点
ARM微处理器的指令系统
ARM微处理器的特点及其架构解析
ARM微处理器编程基础和接口实验
ARM微处理器编程基础和接口实验
ARM今日推出新款微处理器 号称世界最高能效
arm内核和架构
Motorola/IBM PowerPC 740/750微处理器的仿真和分析解决方案
Motorola/IBM PowerPC 740/750微处理器的仿真和分析解决方案
RISC架构在ARM微处理器的应用
了解ARM内核中的处理器和注册文件
什么是ARM处理器 ARM处理器有哪些系列
基于8位微处理器的数字低通滤波器设计
基于ARM型微处理器的最小系统设计
基于AVR 8位微处理器的FSPLC微处理器SOC设计
嵌入式ARM微处理器如何选型
嵌入式ARM微处理器选型指南
嵌入式处理器的分类
嵌入式微处理器的组成及其特点
微控制器和微处理器的区别在哪
新唐NuMicro Arm9微处理器介绍
ARM微处理器概述
79ARM微处理器的编程模型
382ARM/THUMB微处理器结构及指令系统
33ARM微处理器体系结构
42基于ARM微处理器的μC/OS-II的移植研究
14华邦ARM W90N740芯片及其在税控机和路由器上的应用
29新一代ARM微处理器ARM11系列
27基于ARM微处理器的智能控制器
17基于ARM 32位微处理器和UC-OS实时操作系统开发套件
63ARM微处理器的编程模型
50ARM微处理器的指令系统教材 PPT
70ARM处理器的工作模式
30μCOS-II 在ARM微处理器上的移植
1135
什么是32位微处理器、什么是64位微处理器
66984 位、8 位与16位微处理器
4827微处理器S3C44B0X音频文件播放
878
ARM,ARM处理器是什么意思
5603基于IP复用设计的微处理器FSPLCSOC模块
2002
ARM系列微处理器简介
93ARM7芯片W90N740以太网接口设计及驱动开发
113基于32位ARM微处理器的多媒体车载音响
1750
ARM处理器硬件开发平台解析
3华邦W90P710处理器的Linux内核应用及串口驱动
3arm是什么处理器,arm处理器汇总
3708采用ARM内核微处理器构建嵌入式Linux开发平台及网络应用程序开发
2272
W90N740CD和W90N740CDG微控制器的数据手册和应用的详细资料说明
23微处理器的发展概况
9367ARM处理器内核的详细资料概述
15新唐科技ARM9 微处理器简介
3207
Cortex-M3内核的ARM处理器的应用资料说明
4Cortex系列ARM内核介绍
15简述ARM微处理器的隧道照明智能控制器
2581
32位Mcu——国产32位MCU的处理器内核
2468
爱普生推出32位微处理器S1C31W65
0
电子发烧友App






评论