EDN China > 设计实例 > 微处理器与DSP > 正文
?

嵌入式DS80C320单片机软核设计

2009年02月02日 ?? 收藏0

  1??? 引言

  在如今的快速嵌入式系统设计中,目前比较流行的方案是在FPGA内集成应用软件或是软IP平台,以简化工序、加速产品面市日程。为此,很多公司推出了自己的开发平台以及相关CPU的IP核,常见的为两种:一种是通用型CPU,如xilinx和altera公司的32位以及64位通用CPU核;还有就是专用型的,常见的为51系列单片机的CPU核,但是目前关于单片机的软核基本上都是8051的,其他的品种很少。而且8051的速度不是很快,在有些快速的控制场合(如利用单片机来作为usb2.0的控制部件)显得速度不足,比较著名的actel公司推出的Core8051,运行频率也只在40 MHz左右。本文介绍了一个非常高速DS80C320单片机软核的设计。

  DS80C320单片机是DALLAS公司推出的一款基于51框架的高性能单片机。

  它有如下一些优点:

  ⅰ,具有与51系列完全一致的指令系统,能充分兼容所有基于51系列开发的程序;

  ⅱ,具有比8051更加齐全的外设。相比8051单片机,DS80C320增加了定时器2以及一个增强型串口等;

  ⅲ,具有比8051更好的效率;DS80C320的一个指令周期是4个CLK,8051则是12个,这个区别尤其是在处理简单指令的时候优势明显,例如单周期指令的处理,DS80C320只需要4个CLK,而8051需要12个,据DALLAS公司的统计表明,在相同时钟频率下,DS80C320每条指令的执行速度是8051的1.5~3倍,对于典型的应用程序来说,执行速度也是8051的2.5倍左右。

  ⅳ,其读取指令的方式比8051更加适合IP核的特点;将单片机内部ROM去掉,完全从外部读取指令,这种特点作为软核是很适合的,首先是结构简单,有利于指令读取的流水设计,其次可以突破内部ROM大小的限制,最后,作为FPGA设计的特点,即使8051的设计,内部ROM块也是放在FPGA芯片的 ROM资源里面,与其这样,还不如直接放到外面更加简化时序与结构;

  2? 总体结构划分

  如图所示为DS80C320软核的总体功能图:

DS80C320功能框图

图1 DS80C320功能框图

  本IP核的设计主要按照指令执行的流程来安排功能块,并通过数据总线来传递数据;虚线里面的为CPU核心;首先是ROM模块,DS80C320并没有内部 ROM,所以该模块功能主要是分析从P端口读取过来的指令,并通过查找指令的长度以及周期数目,从而计算出相关控制信号发送给CPU控制模块以便控制指令的读取;同时,如果指令为LCALL或者ACALL,则可以分析出子程序入口地址并报送PC模块,引导PC正确跳转;在ROM模块分析指令的同时,译码器 DECODER也在进行译码的动作,它将根据指令的8位数据分析出三个重要的参数:ALU的动作类型,该指令的操作数据来源以及读取方式,该指令结果的存放位置以及存放方式;第一个参数送给ALU模块,其余两个送到CPU控制模块;CPU控制模块CPU_CON是整个CPU的核心部分,主要完成两个作用:ALU执行前的读取数据控制,以及ALU执行完成之后回写数据控制;该模块同时也控制着整个CPU的时序,监视其他模块的执行情况;ALU则主要是完成计算工作;INTER模块则是中断系统的控制模块,其功能主要完成对各个中断源所提交的中断请求的有效判断以及排序,产生中断标志并且将判断结果以及中断入口地址编码提交给ROM模块,以指示程序跳转,同时还需要负责在中断完成之后清除中断标志以及恢复中断之前的中断等级; DS80C320有三个定时器和2个串行口,其中定时器2和串行口如果不需要的话可以裁减;至于其他的模块或者寄存器则在CPU控制模块的控制下通过数据总线交换数据;

  可见,本设计的思路是以CPU_CON控制整个CPU的执行以及时序,以INTER控制整个中断系统,其他寄存器则以数据总线来完成数据的交换,均匀的分布在数据总线的两侧,结构清晰简单,规则化的设计也有利于提高速度,以及方便裁减。

  3? 一些设计特点

  3.1时序设计

  在DS80C320单片机的资料里面只有外部接口的时序介绍,对于内部的信号执行则没有说明,因此需要重新规划,本软核对DS80C320的时序进行了详细的分析,按照黑盒子的思想,加入了流水线的技巧,对其时序的设计如下:

  对于普通指令的执行过程,内部时序划分如下:

DS80C320内部时序图

图2 DS80C320内部时序图


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

DS80C320? 单片机? 软核?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈