基于 VLSI 平台的 C51 处理器仿真与设计(二)

时间:2013-07-24

  3 外设总线在一个系统中光有处理器还是不够的,需要有丰富的外设来满足各种控制要求或者数据传输功能。而片内总线便是将处理器与总线相连接的重要路径。Wish-bone 是一种开放并且完全的总线标准,Wishbone独有的特点如下:

  (1)Wishbone 仅仅定义了Core 之间的连接时需要的信号;

  (2)支持多种连接模式:点对点,数据流,共享总线和十字交叉互联;

  (3)Wishbone 总线的所有信号都与总线的时钟同步;

  (4)支持大小端模式,用户可以根据自己的需求配置成不同的模式;

  (5)Wishbone总线接口区分明确,分为主(Master)/从(Slave)。

  (6)Wishbone 有四种连接模式[8]:点对点、数据流、共享总线和十字交叉互联,在此使用共享总线式连接方式,其中充当Master为Virtual Core,而外设为Slaver,如图5所示。

  

  4 测试

  硬件环境主要分为2部分组成:第1部分为板,采用Virtex-Ⅱ Pro 系列中的XC2VP50FFG1152 芯片作为的FPGA.这款芯片不仅具有及其丰富的内部逻辑资源,还具有2个PowerPC内核、12个DCM 和多个DSP模块。使用FFG1152封装,其可用I/O口多达692个,增加了所支持的应用范围。为方便存储大容量数据,在FPGA 外围又添加了DDR 和SDRAM.为了让FPGA 上电后自动配置,需要增加一片PROM,我们使用的是XCF32P,该芯片容量达到32 MB,支持多种工作模式。

  FPGA采用并行主模式。其板PCB如图6所示。

  

  第2 部分为底板,增加了大量的外设:UART,PS2,VGA,ETHERNET,VIDEO,A/D,D/A,SD,USB 等。底板PCB如图7所示。

  

  4.1 测试工具为了能够很好地更新ROM 中的数据,首先要做的是将BRAM 配置为双端口RAM,一端口给Virtual Core来进行读取操作,一端口提供给EDK,用来更新程序存储器;同时EDK 也可以提供简单的控制任务,如重启Virtual Core 等,EDK 使用UART 来和计算机进行操作。EDK操作流程如图8所示。

  

  为了方便控制,设计了一个较为简易的PC 端串口程序,用于将EDK 与PC 交互。其工作过程较为简单,主要是将用户的命令或者文件经串口发送至EDK,其截屏如图9所示。

  

  4.2 Virtual C51测试搭建一个简易系统,进行测试,使用ISE布局布线,其资源消耗如图10所示。

  

  编写一个简单的跑马灯程序,其代码如下:

  #include<reg51.h>

  void main(void){

  unsigned int i;

  unsigned char j;

  While(1){

  for(j=0×01;j<0×80;j《=1){

  P1=j;

  for(i=0;i<10000;i++)

  ;

  }

  for(j=0×80;j>0×01;j》=1){

  P1=j;

  for(i=0;i<10000;i++)

  ;

  }

  }

  编译,生成HEX 文件后,再转为BIN 文件,使用PC端控制软件,加载ROM,观察底板LED,验证成功,如图11所示。

  

  5 结语

  随着MCU的应用范围越来越宽,对MCU的要求也逐步提高。尤其在目前MCU 逐渐进入SoC 时代,IP 核复用将会成为主流设计方法。为了能使老一代的MCU发挥延续其生命力,开发其兼容IP核,不仅能够将以往的代码迅速的移植到新系统上,而且还可以加快新系统的开发。而且可以将以往很多的分立件,使用逻辑功能实现,集成于ASIC中,降低外围硬件电路的设计。

  本文阐述了用FPGA 等可编程ASIC元器件来虚拟出传统的MCU 80C51的设计原理和方法。通过适度改变其内部结构,添加Wishbone总线,替代传统MCU片内总线,用来完成MCU核与外设的连接。使用这种方式,可以充分的利用市场上已经成熟的外设核,避免重复设计,同时也方便对传统的MCU进行裁剪和定制,这样将会使传统的MCU更加的灵活可变。

上一篇:基于PSO-BP 神经网络的短期负荷预测算法
下一篇:论利用OOP设计思想的通讯接口类的设计与应用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料