高带宽嵌入式应用中SoC微控制器的新型总线设计
在外围总线中增加突发模式DMA
在基于AMBA的设计中,外围总线的传统设计方法是假定基于ARM内核的嵌入式器件用于低端性能应用。但现在的器件经常需要在不切断低带宽外围电路访问总线资源的情况下,运行一种或多种高带宽应用。在具有较多外围电路的设计中,这种情况特别容易出问题。例如NS9750或NS9360,它们支持USB、I2C,具有四个多功能串行模块(可选用UART或SPI,同步模式下的速率可达11Mbps)、50个单独的可编程GPIO引脚、一个IEEE1284外围端口以及16个通用定时器或计数器(每个都有自己的I/O引脚)。
在传统的APB实现方案中,采用FIFO就足以应付通信外设(如UART)的低速率传输,FIFO可以在处理器必须介入并访问APB之前将数个字节传送到接口。但在本文所描述的许多高端嵌入式应用中,一个或多个这样的外围电路可能需要高带宽传输,要求能通过APB/AHB桥快速访问主要的高性能总线。
一种让外围总线工作于这种突发模式的方法,是仅用一条突发模式外围总线(如NetSilicon的 BBUS)替代APB总线。这种突发模式外围总线带有四个支持突发模式的总线主控(见图3):第一个总线主控是具有13个通道的DMA引擎,支持13个USB端点;第二个总线主控是具有12个通道的DMA引擎,支持4个串行模块(每个串行模块有8个通道)和1284端口;第三个总线主控为BBUS-AHB桥,它包含一个DMA引擎,该引擎具有可访问AHB系统总线的通道;第四个总线主控是一个USB宿主模块。另外,这种DMA引擎有两个独立的专用DMA通道,可支持连接到外部存储总线的外部设备。为简化突发模式状态,每一个内部DMA通道以"飞越模式"(fly-by mode)在系统存储器及BBUS外围电路之间传输数据,而两个外部DMA通道则选择存储器到存储器的传输模式。
作者:Christopher Chang
NS9xxx系统架构师
Wanda Reiss博士
产品营销部
NetSilicon公司
- 基于红外超声光电编码器的室内移动小车定位系统(06-30)
- 基于微控制器的web服务器设计(07-04)
- 低成本ARM系列LM3S101微控制器的结构与应用(03-28)
- 嵌入式应用中的USB主设备功能(05-11)
- 爱特梅尔低功耗微控制器平台开发组合软件加速设计(02-05)
- 意法半导体安全解决方案强化防盗版功能(11-01)