基于ARM的可定制MCU可替代FPGA
持可与板上GByte-plus的True IDE模式接口连接的CompactFlash,或者包括USB记忆棒的可移动存储器。
一个完整集成的系统控制器可管理设备的中断处理、复位、启动/关机、定时、电源管理和并行I/O控制,因而支持实时操作。
金属可编程块
金属可编程块具有众多的内部功能和专门的外部连接,可提高特殊应用逻辑单元的实现效率。在内部,它含有多个与需要它们的逻辑单元紧耦合的单端/双端口RAM块(图3:金属可编程块接口)。
![](../img/eep/emb/emb-3848fxq4gpugq4q.jpg)
图3:金属可编程块接口。
MP的外部连接包括:
1. 连接到AHB总线矩阵的多路并行主连接和从连接。它们与专用的DMA通道一起,可以经配置产生连接到特殊应用逻辑单元的高带宽数据链路。如果在MP块中需要APB外设,可以在内部构建一个AHB/APB桥和外设DMA控制器(PDC),以便提供所需的接口;
2. 一组中断线。该中断线使特殊应用逻辑单元产生由高级中断控制器处理的中断;
3. 一组外设使能线。它允许特殊应用逻辑单元在设备的固定端口中连接或断开外设;
4. 两组并行的专用I/O口。它们提供大量用于特殊应用逻辑单元的外部I/O,也能提供连接到MP块的I/O的电气特性;
5. 一个到USB接收器的复用连接。这使得在MP块中可以实现第二个USB器件。
MP块的时钟可以来自时钟发生器和电源管理控制器的所有时钟。这为其内部实现的特殊应用逻辑单元的定时提供了最大的灵活性。
设计流程
基于MPCF的可定制微控制器的设计流程与采用现成ARM9 MCU和FPGA的设计流程非常类似。实际上,为了试探市场,MCU+FPGA设计可能进行批量制造。一旦证明成功,整个设计流程就可以直接移植到可定制的微控制器上。
FPGA寄存器传输级(RTL)网表可以被直接移植到已经包含AHB接口、DMA通道以及I/O通道的MP功能块上。
平台中的所有外设/接口都提供了设备驱动程序。它们也可以作为模板用作MP功能块中定义的外设/接口的等效驱动程序。
业界领先的操作系统都已经具有到可定制微处理器架构的端口。这些软件模块与应用代码模块和用户接口的集成可以与硬件开发并行进行。
系统规范和硬件/软件划分
可定制MCU设计流程的一个主要优点是可以在硬件生产之前的仿真阶段中对硬件/软件进行验证,如果需要的话还可以加以修正。这样可以节省时间和重新流片的昂贵费用。
定制MP功能块的工作通常由客户和合格的第三方设计公司共同完成。第一阶段主要是开发特殊应用的硬件块和相关的软件驱动程序。在绝大多数情况下,硬件块编码用的是Verilog RTL ,而软件开发用的是C、 C++ 或ARM汇编语言。
已经写入由MCU供应商提供并针对MP Block RTL代码开发的模板中的功能块的占位符(placeholder)实例化可以简化将特殊应用功能块集成到MP功能块中去的工作。为AHB主/从设备和APB从设备提供有不同的模板。在某些功能块中,DMA或PDC连接是预先编程好的。例如,一个带有PDC连接的APB连接功能的HDL如下所示:
需要验证MP功能块的RTL代码与微控制器的固定端口之间的兼容性。然后再利用供应商提供的特殊工艺目标库对RTL代码进行综合,并对整个器件执行功能仿真。
平台的低级设备驱动程序由MCU产商提供,而MP功能块的驱动程序则来自用户或者第三方设计公司。这些驱动程序再与编程MCU和外设/接口的应用模块集成在一起。如果需要操作系统,可以从有资质的第三方获得pre-ported版本并集成进软件包中。软件包还需要利用业界标准的开发工具进行测试。当然也可以在该阶段进行硬件/软件的协同仿真。
仿真
设计流程的关键步骤是硬件和至少低层软件的仿真。AT91CAP仿真板包括一个完全互补的存储器、标准接口、网络和可配置连接(图4:AT91CAP仿真板)。
![](../img/eep/emb/emb-385024lu0l0jffb.jpg)
图4:AT91CAP仿真板。
实际经验证明,这种仿真步骤几乎总能发现设备的硬件和/或软件、或者设备硬件/软件接口中的各种错误。在这一阶段对设备完整设计的校正和再测试能力是缩短设计时间和降低设计成本的主要因素,它能提高首次流片和软件开发成功的概率。额外的好处是最终设计的仿真版本可以用作未来设计反复的起点,从而大大节省设计工作量。
可定制MCU供应商利用针对设备和MP块的固定端口确立的底层规划实施布局和布线。只需要对MP块的金属层进行布局布线。后版图仿真可以确保不违反时序约束。
该方案的优点之一是设计团队无需等待设计原型就能完成软件开发。应用软件的开发和测试可以和布局布线与原型制造同时进行。一旦设备和软件在目标应用中得到验证,客户就可以基于滚动预测正式地批准产品的批量生产。因为掌握着空白晶圆的库存,因此可以根据市场的需求随时调整实际产量。
当设备的批量需求满足投资需求时,网表可以被重新映射到完
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)