手把手课堂:简单MicroBlaze微控制器的理念
嵌入式微控制器对复杂程度各异的多种应用而言都很普遍。赛灵思 (Xilinx)自2000年以来始终致力于推出固化的(PowerPC® 405 和 PowerPC 440)以及基于构造 (MicroBlaze™) 的嵌入式微处理器。MicroBlaze 的显著优势在于能满足复杂应用的需求,有些情况下除了运行简单的通用应用而外还能运行操作系统。
设计人员能够在当前所有的赛灵思架构中实施 MicroBlaze 软处理器,在不同产品系列间实现方便的转换,获得无与伦比的灵活性。但是,MicroBlaze系统设计不仅要在70多种参数中选择,而且还要借助一系列功能强大的嵌入式工具,如果应用只需要简单的微控制器,那么这种设计方法可能反倒不实用了。
但是,利用适当的技术,用户可以开发构造简单的预配置MicroBlaze微控制器,并方便快捷地将其添加到任何FPGA设计中。可将控制器的实例直接加入HDL。用户能在标准的FPGA设计流程中直接使用,无需特殊的脚本或复杂的步骤。仅需三个文件即可启动设计工作,包括两个硬件实施文件和一个软件定义文件。这种方法使工程师不用学习或者只需很少量的学习就能快速启动FPGA嵌入式设计工作。
在ISE® 11.1中启动MicroBlaze软件开发工作,可使用独立的软件开发套件 (SDK) 进行C和C++应用的创建和调试,而无需全面的嵌入式开发套件(EDK)。
微控制器预配置了两种选项,UART和调试。表1显示了根据微控制器配置不同而给出的各种FPGA系列的尺寸估算值。此外,Virtex®器件使用了两个Block RAM,而Spartan®器件使用四个Block RAM。对应用代码进行调试后,用户即可移除调试选项,以减小控制器的尺寸。例如,Spartan-6微控制器仅需要220个切片。
微控制器概览
简单MicroBlaze微控制器包含的组件有32位MicroBlaze处理器、8KB RAM/ROM、带64KB寻址空间的32位用户接口、中断支持、可选UART以及可选的JTAG调试接口。图1显示了系统方框图。
根据需要以及实施工具允许的范围,时钟输入可高可低。有效高电平复位输入与输入时钟内部同步。中断输入信号可提供中断支持,微控制器提供服务时用中断确认输出进行确认。此外,简单的地址映射用户接口也同步于时钟,支持用户定制。图2显示了用户接口的时序。可将字节启用用于字节和半字事务处理。
用于可对16位宽的软件映射地址总线进行解码,以将不同的定制接口或外设连接至微控制器。在插入片选 (Chip Select) 两个时钟周期后对读取数据进行采样。
一些预配置的版本可提供串行16450 UART选项。波特率在软件中进行编程,以保持UART独立于时钟输入。调试选择可使用内部FPGA资源,并直接连接至FPGA JTAG接口,从而通过常规FPGA下载线缆实现应用调试。
FPGA设计流程
FPGA设计流程遵循如图3所示的标准ISE FPGA实施流程。您可在FPGA设计中的任何层级级别上通过Verilog或VHDL创建微控制器实例。
使用两个与硬件相关的文件 —— 微控制器网表 (smm.ngc) 和Block RAM存储器映射文件 (smm.bmm) —— 即能完成FPGA的实施,用户既不必费心学习新的工具,也不用使用复杂的脚本流程。FPGA嵌入式设计从未如此的简单易行。微控制器配置之间的切换非常简单,只需替换所需的网表文件,然后重新实施FPGA即可。
运行实施工具后, 将额外生成一个文件,指示微控制器所使用 (smm_bd.bmm) 的Block RAM的物理位置。
软件应用设计流程
单个软件描述文件 (smm.xml) 包含了启动微控制器应用开发工作所需的全部信息。开发可独立于FPGA设计流程进行,甚至在任何FPGA设计实施之前就能启动。
从ISE 11.1开始,SDK作为独立选项提供,其包含完成软件应用设计所需的全部工具、驱动器、程序库以及实用程序等。
图4显示了以软件定义文件开始的标准的SDK开发流程。微控制器的地址空间包括8KB的RAM与用户接口,在选择UART选项的情况下,还包括UART寄存器空间。
您可用C或C++语言编写软件应用,并将其存储于微控制器Block RAM中。此外,RAM空间还可作为微控制器的ROM,因为它可被预载至FPGA比特流中的应用。用户在配置了FPGA并为微控制器复位解除断言后,应用就将开始从内部RAM/ROM空间执行。微控制器功能非常完整。
调试选项支持应用的全源级调试,能提供存储器、寄存器以及变量的直观视图。用户能够在应用中设置断点,以更好地开展调试。设计人员可使用与FPGA配置相同的线缆进行调试。完成后就能清除调试选项,以缩小控制器的尺寸。
设计示例
我们不妨来看看一些赛灵思开发板的LCD控制器参考设计,这种设计综合采用了简单MicroBlaze微控制器的各种特性。L
Xilinx MicroBlaze 微控制器 相关文章:
- DSP+FPGA嵌入式多路视频监控系统硬件平台(04-10)
- FPGA最小系统之:实例2 在Xilinx的FPGA开发板上运行第一个FPGA程序(07-15)
- 利用XPS工具快速生成Virtex FPGA的板级支持包(03-18)
- 利用NI CompactRIO与NI Single-Board RIO实现从快速构造原型到低成本发布(03-19)
- 创建还是购买:什么是您嵌入式设计的最好选择?(07-06)
- Pmod规范,或Arduino伪标准(08-27)