[Actel FPGA] [转帖]针对微控制器应用的FPGA实现2

[复制链接]
2592|6
 楼主| huzixian 发表于 2009-11-19 14:46 | 显示全部楼层 |阅读模式
  微控制器应用实例
  FPGA的灵活性使其适用于许多微控制器应用,以及包含微控制器的更复杂的设计。
图1:马达控制应用
  像家用电子设备、工业机器人以及正在增长的新兴汽车应用(从GPS、引擎控制到制动系统)这些产品都包括图1、2和3中所示的微控制器。
图2:导航系统应用
图3:片上系统应用
  在马达控制应用中,系统发送和接收来自微控制器的信息,以调整步进电机的速度和方向。来自系统的输入告知微控制器增大或减小马达和控制器的速度,微控制器再依次告知系统马达的实时速度和方向。
  导航系统采用微控制器调整系统的图像显示器,根据微控制器的输入提高或降低分辨率。
  图3中的设计展示了一个片上系统的实现,包括微控制器、外围总线和几种外设功能,以及用于显示寄存器文档、暂存存储器、调用栈、程序计数器、标记和跟踪列表的硬件跟踪调试器。同时还支持微控制器的单步、多步和断点功能。
  片上系统的例子可用来说明设计工具流程和实现(图4)。
图4:片上系统的软件开发流程及硬件开发流程
  微控制器工具和实现
  FPGA微控制器的高效率和紧凑实现使得2280 LUT MachXO器件可用于说明图3中片上系统的设计。
  启动该设计的最简单方法是参考“快速启动指南”或项目向导一步一步地设计FPGA。一旦设计项目创建好,下一步就是编写微控制器程序。C或汇编语言是目前最流行的MCU编程语言。图5显示了用汇编语言编写的I2C Slave程序块。
图5:汇编代码实例
  必须对微控制器的每个单元进行分析以决定要执行的操作。如代码实例所示,I2C写循环具有5种操作:读状态、写器件地址、写数据、写字地址及返回。请注意代码都加上了注释。
  虽然汇编语言的规范在各种MCU上大多是一致的,但设计者还是应该查阅供应商的MCU指令集文档,以了解哪些操作是得到支持的。将汇编源代码转换到ROM初始化文件的汇编程序是由命令行驱动的,和指令集仿真器一样,这可以通过汇编器供应商工具套件获得或者从网上下载。其中有些工具是作为开放源代码工具提供。例如,LatticeMico8微控制器IP(知识产权)就是作为开放源代码提供,这是实现嵌入式微控制器的一种独特有效途径,可使用户拥有最大的灵活性。
SKH1 发表于 2009-11-19 22:19 | 显示全部楼层
唉,怎么又是一个?
哦,接上面的
linhai1986 发表于 2009-11-19 23:55 | 显示全部楼层
应该是
xiaoxin1986 发表于 2009-11-21 08:59 | 显示全部楼层
恩,挺好,顶一下
llljh 发表于 2009-11-21 12:44 | 显示全部楼层
虎虎生威 发表于 2009-11-21 12:47 | 显示全部楼层
微控制器工具和实现这部分不错
20801233 发表于 2009-11-21 18:16 | 显示全部楼层
挺好的,
学习了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

262

主题

1534

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部