arm9芯片包括哪些?arm9如何应用?
扫描二维码
随时随地手机看文章
众所周知,ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列,基于arm9其它公司推出了自己的CPU芯片,如三星推出了S3C2440。还有TI啊,ATMEL啊,高通啊都基于arm9推出了自己的CPU芯片。
ARM9采用哈佛体系结构,指令和数据分属不同的总线,可以并行处理。在流水线上,ARM7是三级流水线,ARM9是五级流水线。由于结构不同,ARM7的执行效率低于ARM9。平时所说的ARM7、ARM9实际上指的是ARM7TDMI、ARM9TDMI软核,这种处理器软核并不带有MMU和cache,不能够运行诸如linux这样的嵌入式操作系统。而ARM公司对这种架构进行了扩展,所以有了ARM710T、ARM720T、ARM920T、ARM922T等带有MMU和cache的处理器内核。
融合了ARM920T™ ARM® Thumb® 处理器
– 工作于180 MHz时性能高达200 MIPS,存储器管理单元
– 16-K 字节的数据缓存,16-K字节的指令缓存,写缓冲器
– 含有调试信道的内部仿真器
– 中等规模的嵌入式宏单元结构( 仅针对256 BGA 封装)
· 低功耗:VDDCORE电流为30.4 mA 待机模式电流为3.1 mA
· 附加的嵌入式存储器
– SRAM为16K ;ROM为128K
· 外部总线接口(EBI)
– 支持SDRAM,静态存储器, Burst Flash,无缝连接的CompactFlash®,
SmartMedia™及NAND Flash
· 提高性能而使用的系统外设:
– 增强的时钟发生器与电源管理控制器
– 两个有双PLL的片上振荡器
– 低速的时钟操作模式与软件功耗优化能力
– 四个可编程的外部时钟信号
– 包括周期性中断、看门狗及第二计数器的系统定时器
– 有报警中断的实时时钟
– 调试单元、两线UART并支持调试信道
– 有8 个优先级的高级中断控制器,独立的可屏蔽中断源,伪中断保护
– 7个外部中断源及1 个快速中断源
– 有122个可编程I/O口线的四个32 位PIO控制器,各线均有输入变化中断及开漏能力
– 20通道的外设数据控制器(DMA)
· 10/100 Base-T 型以太网卡接口
– 独立的媒体接口(MII)或简化的独立媒体接口(RMII)
– 对于接收与发送有集成的28 字节FIFO及专用的DMA 通道
· USB 2.0 全速(12 M比特/秒) 主机双端口
– 双片上收发器(208引脚PQFP封装中仅为一个)
– 集成的FIFO及专用的DMA 通道
· USB 2.0 全速(12 M比特/秒) 器件端口
– 片上收发器, 2-K字节可配置的集成FIFO
· 多媒体卡接口(MCI)
– 自动协议控制及快速自动数据传输
– 与MMC及SD存储器卡兼容,支持两个SD存储器
· 3个同步串行控制器(SSC)
– 每个接收器与发送器有独立的时钟及帧同步信号
– 支持I2S模拟接口,时分复用
– 32比特的高速数据流传输能力
· 4个通用同步/异步接收/发送器(USART)
– 支持ISO7816 T0/T1 智能卡
– 硬软件握手
– 支持RS485 及高达115 Kbps的IrDA 总线
– USART1为全调制解调控制线
· 主机/从机串行外设接口(SPI)
– 8~ 16 位可编程数据长度,可连接4个外设
· 两个 3 通道16 位定时/计数器(TC)
– 3个外部时钟输入,每条通道有2 个多功能I/O引脚
– 双PWM 产生器,捕获/波形模式,上加/下减计数能力
· 两线接口(TWI)
– 主机模式支持,所有两线Atmel EEPROM 支持
· 所有数字引脚的IEEE 1149.1 JTAG边界扫描
· 电源供应
– VDDCORE,VDDOSC及VDDPLL电压为:1.65V ~1.95V
– VDDIOP (外设I/O) 及VDDIOM (存储器I/O)电压为:1.65V~ 3.6V
结构特点
以ARM9E-S为例介绍ARM9处理器的主要结构及其特点。ARM9E-S的结构如图4所示。其主要特点如下:
⑴32bit定点RISC处理器,改进型ARM/Thumb代码交织,增强性乘法器设计。支持实时(real-time)调试;
⑵片内指令和数据SRAM,而且指令和数据的存储器容量可调;
⑶片内指令和数据高速缓冲器(cache)容量从4K字节到1M字节;
⑷设置保护单元(protection unit),非常适合嵌入式应用中对存储器进行分段和保护;
⑸采用AMBA AHB总线接口,为外设提供统一的地址和数据总线;
⑹支持外部协处理器,指令和数据总线有简单的握手信令支持;
⑺支持标准基本逻辑单元扫描测试方法学,而且支持BIST(built-in-self-test);
⑻支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。
ARM920T运行模式
ARM920T支持7种运行模式,分别为:
(1)用户模式(usr),
ARM处理器正常的程序执行状态;
(2)快速中断模式 (fiq),
用于高速数据传输或通道处理;
(3)外部中断模式(irq),
用于通用的中断处理;
(4)管理模式(svc),
操作系统使用的保护模式;
(5)数据访问终止模式(abt),
当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;
(6)系统模式(sys),
运行具有特权的操作系统任务;
(7)未定义指令中止模式(und)
当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。除用户模式以外,其余的6种模式称为特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及访问受保护的系统资源等情况。
处理能力
新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。
(一) 时钟频率的提高:
ARM7处理器采用3级流水线,而ARM9采用5级流水线。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。
(二) 指令周期的改进:
指令周期的改进对于处理器性能的提高有很大的帮助。性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最高级的语言,一般来说,性能的提高在30%左右。
最后,学习ARM9,可以按Linux应用开发、驱动开发顺序学习。如果想学习Android系统开发,可以学完ARM9再学习ARM11开发板下的安卓系统开发。因为安卓系统就是Linux内核+libc库用Java封装而成。
ARM9是比较成熟的系列,现在很多成熟的产品都是用arm9开发的。这个学好了,以后的系列自学都会容易一些,因为ARM系列架构都是一样的。所谓“师傅领进门,修行在自身”,学会用一种处理器,掌握学习方法,其他的也一样。