基于 VLSI 平台的 C51 处理器仿真与设计(二)
出处:电子爱好者博客 发布于:2013-07-24 10:52:42
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更加的灵活可变。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- I2C系统适应性引体向上2024/4/12 17:03:24
- RS-232 和 RS-485 有什么区别?2024/4/11 16:24:08
- spi接口的基本概念2024/4/10 17:52:03
- 总线收发器教程2024/4/8 16:19:32
- 什么是rj45接口?rj45接口有什么用2024/4/2 17:43:28