AT91SAM9261片上系统介绍
时间:2016-12-22作者:华清远见
一.AT91SAM9261 SOC简介 AT91SAM9261是atmel公司生产的以ARM926EJ-S ARM Thumb处理器为核心的完全片上系统(SOC),它扩展了DSP指令集和Jazelle Java加速器。主时钟频率190MHz时性能高达210MIPS。 AT91SAM926是一个为带LCD显示应用而优化了的主机处理器。它的集成LCD控制器支持BW而且达到16M色彩,主动和被动LCD显示。16K字节的片上SRAM可配置为帧缓冲,能将LCD刷新对整体处理器性能上的影响降低到小。外部总线接口包括支持同步DRAM(SDRAM)和支持静态存储器的控制器,并有特殊接口电路以支持CompactFLASH和NandFLASH。 AT91SAM9261集成了一个支持映射的基于ROM的Bootloader,例如从外部DataFlash映射到外部SDRAM。由软件控制的功率管理控制器(PMC)通过有选择的启用和关闭处理器、各种外设以及对工作频率的调节使得系统功率损耗保持低。 AT91SAM9261还集成了宽范围的调试特性。包括JTAG-ICE,一个专用的UART调试通道(DBUG)和嵌入式实时追踪。这使所有应用和开发,特别是严格要求实时性的应用得以实现。下面是AT91SAM9261的功能框图:
二.处理器ARM926EJ-S介绍 ARM926EJ-S是通用微处理器ARM9家族中的一员,属于V5TEJ版ARM架构,针对的是多任务应用,全存储器管理、高性能、小核心尺寸和低功耗都是它的特点。 ARM926EJ-S处理器支持32位ARM和16位THUMB指令集,使得用户能在高性能和高代码密度上取得平衡。它支持8为JAVA指令集并且包括Java字节代码有效执行的功能部件,提供和JIT(Just In Time编译器)形似的Java性能,这些性能为下一代Java无线应用和嵌入式的设备提供了有效支持。为了提高DSP性能,还包含了一个增强的乘法器设计。 ARM926EJ-S提供了一个完整的处理器子系统,包括:
ARM9EJ-S整核
三.AT91SAM9261的存储器映射机制
如图,由总线矩阵完成对初级地址解码,也就是先进高性能总线(AHB)对其附加功能部件的主控和从控接口的实现。 解码时把4G字节地址空间分成16个256M字节的区域,1-8号区域(0x10000000~0x90000000)通过片选信号NGS0---NGS7指向EBI。区域0(0x0~0x0fffffff)是为片内存储器(32K ROM和16K SRAM)寻址的保留区域,并且一个二级解码提供1M字节的内部存储区域。15号区域(0xf0000000~0xffffffff)是为外设预留的且外设预留的且提供访问先进外围总线(APB)的权限。其他区域是未被使用的,当在该区域内进行存取操作时,会向主控提供一个中断。 总线矩阵管理五个主控和5个从控。每个主控有其自己的总线和解码器,这样就允许每个主控有一个不同的存储器映射。每个从控有其自己的仲裁,这样就允许每个从控有一个不同的仲裁。 总线矩阵主控制器列表:
总线矩阵从控制器列表:
嵌入式存储器: 32K ROM --- 全速总线下单周期存取 16K 快速SRAM --- 全速总线下单周期存取 每个主控的内部存储器映射,取决于复位时重映射状态和BMS状态。 内部存储器映射:
四.AT91SAM9261的启动策略分析 系统上电复位后,首先会检测BMS(Boot Mode Select)引脚上的电平,如果BMS检测到1,系统从片上ROM启动;如果检测到BMS为0,系统从外部总线接口(EBI)片选0所接的存储器(通常都是Nor Flash)启动。 这一过程可用下图表示:
AT91SAM9261芯片的内部ROM中固化了一段启动代码,如果BMS引脚电平为1,则执行这段启动代码。启动代码会检测和芯片连接的外部的各个存储媒介(SPI DATAFLASH, NAND FLASH or SDCARD)上是否有有效的应用程序,如果有,则把它下载到内部快速SRAM中去运行;如果没有发现有效的应用程序,则执行SAM-BA应用程序,SAM-BA是一种小型监控程序接口,也是固化在ROM中的程序。它实现以下功能: 用户可以通过PC端的SAM-BA GUI程序通过USB或者串口下载有效的应用到外部存储器(DATAFLASH,NAND FLASH or SDCARD) 启动程序算法流程图如下所示:
五.总结 本文从四个方面由浅入深介绍了AT91SAM9261片上系统。比起常用的32为ARM处理器S3C2410,AT91SAM9261采用了ARM926EJ-S内核并外扩了DSP指令设备和JAzELLEJava加速器。在工作频率为180 MHz的情况下,其运算速度为200 MIPS。S3C2410采用的是ARM920T内核,虽然它的主频高可达200 MHz,但在处理诸如乘加指令时没有AT91SAM9261快,尤其在处理流媒体数据时更为明显。16KB的内部SRAM在播放流媒体数据时起到了很好的帧缓冲作用,另外,AT91SAM9261 发挥了ARM926EJ-S紧密式耦合内存架构的优势,让传统(非高速缓存)SRAM直接连接到ARM处理器上而不会出现滞后情况。AT91SAM9261在工控和消费电子领域均有广泛应用,尤其是应用于工控领域的PDA手持设备。
相关资讯
发表评论
|