单片机软硬件联合仿真解决方案
- 格式:doc
- 大小:7.93 KB
- 文档页数:3
“三大利器”构建单片机仿真实验平台摘要:为了加强单片机课程的教学改革,不断提高单片机课程实验环节教学质量,本文将借助三个实用软件,介绍几种搭建单片机仿真实验平台的方法,利用这些方法可以将单片机实验室“搬进”学生寝室,教师可以任务驱动的方式提高学生的参与性,并具有实验时间不受限制,有效降低实验成本和设计风险等优点,有利于培养学生的创新能力。
关键词:单片机;教学改革;仿真实验平台目前,我国许多高校都应社会发展和市场需求在不同的专业开设了单片机课程,这无疑推动了单片机技术在实际生产生活中的应用,缓解了社会对单片机应用人才的需求压力,推动了大学生就业。
然而单片机课程又是一门实践性很强的课程,要想在教学过程中取得较好的效果,就必须要求学生在学习过程中多动手实践,这对开设这门课程的学校而言又提出了一定的要求,也就是要提供较好的实验环境,甚至要模拟企业的环境组建单片机开发工作室,让学生在“做中学”,真正的玩转单片机,否则会出现部分学生感到枯燥难学、教师感到吃力难教这样的尴尬。
单片机技术的发展,也推动着单片机开发工具的不断推陈出新,典型的有WA VE6000、Keil C51以及Proteus等,这些软件的推出给单片机学习、单片机设计与开发带来了方便,也可以很好地解决一部分学校因实验条件不足或实验室资源不充分而带来的问题,我们在这里向大家介绍WA VE6000、Keil C51和Proteus 这三个软件在构建单片机仿真实验平台过程中的应用方案,它可以将单片机实验室“搬进”学生寝室,教师可以按任务驱动的方式提高学生的参与性,并具有实验时间不受限制,有效降低实验成本和设计风险等优点。
1WA VE6000软件简介1.1 WA VE6000的特点WA VE6000是一款功能强大的单片机程序编辑、调试、仿真的Windows软件。
该软件可以配合伟福公司开发的硬件仿真器进行仿真,也可以单独进行单片机的软件模拟仿真,结合一台编程器,就可进行低投入的单片机开发工作。
15单片机仿真步骤仿真是为了实时监控单片机的内部运行状态,在进行程序调试时,不可幸免的会显现一些错误,可是单从程序咱们无法发觉错误所在,用软件模拟仿真一样能够达到一样的目的,那么这是咱们就需要用到硬件仿真了。
具体仿真操作步骤如下(编程软件为Keil,烧写软件为STC-ISP,专门注意STC-ISP 及以上版本方才支持仿真功能):1、下载keil和STC-ISP 或以上版本进行安装。
2、由于下载软件和烧写软件为两款不同的软件,故需要将两个软件进行关联。
打开STC-ISP进行如下操作。
3、点击“keil仿真设置”(部份低版本的STC-ISP是“keil关联设置”)4、点击“添加型号和头文件到keil中添加STC仿真器驱动到keil中”(将鼠标放在该按钮上有具体添加步骤,如上图)。
选定keil的安装途径,点击确信。
5、在keil中感动工程文件,或新建工程文件,确保工程设置的芯片型号与实际型号一致。
6、打开option for target选项卡,如上图1;选择Device选项卡,选择STC MCUDatabase,如上图2;选择对应的单片机型号(那个地址15w4k58s4为例,由于没有该单片机的MCU型号,选择最接近的15w4k32s4),如图3;点击ok确信,如图4.7、在Dubeg选项卡当选择仿真模式,选择Use模式,如图1;在下拉选项当选择STCMonitor-51 Driver,如图28、点击“setting”按钮显现串口配置窗口,如上图,将Com设置为单片机的连接的COM(COM口的查询方式见注释一),波特率设置一个相对稳固的值,没有专门要求。
点击ok设置完毕。
9、将hex文件导入STC-ISP中点击“将IAP15w4k58s4设置为仿真芯片”如上图。
10、现在会显现如上图所示提示,现在冷启动单片机进行程序的烧写,直至提示成功。
11、点击Dubeg图标进入仿真。
至此所有仿真设置全数设置完毕。
单片机软件仿真与调试的方法 - 单片机点击运行软件Keil uVision2.其调试操作步骤大体可以分为5步:1.创建工程在项目开发中,并不是仅有一个用户源程序就够了,还要为这个项目选择CPU型号、设置编译和调试参数。
有一些项目还会有多个文件组成。
因此将这些参数设置和所需要的全部文件统称为一个工程,存放于特地的工程文件夹下。
这里先建立一个工程文件夹如F:\exam.①创建新工程。
鼠标左键单击主菜单Project一New Project.弹出。
Create New Project"对话框,用鼠标选择你要保存工程的文件夹(如FAexam),输入新工程名(如"exam")。
单击"保存"按键。
②在随后弹出的CPU型号设置对话框中选择单片机的型号(如"AT89C51"),单击"确定"完成。
2.建立源程序文件并加入工程①鼠标左键单击菜单。
File一New新建文件。
弹出图1窗口。
自动进入编辑工作模式。
图1 源程序文件的建立与编辑②在文本窗口中输入和编辑用户的源程序。
【项目任务】设计一种花样彩灯程序,实现单片机P1口驱动相连的8个发光二极管依次循环点亮。
③单击菜单。
File一Save as.弹出文件保存对话框,选择工程文件夹("F:\exam")。
输入源程序文件名(如"exam.asm"),点击"保存"按钮。
留意汇编源程序的扩展名必需为asrn,C51源程序扩展名必需为*.C.④将源程序加入工程。
用鼠标点击图标"Target1"前的"+"号,开放后右键单击Source Group弹出快捷菜单,点击"Add File to Group'SourceGroup 1"项弹出源程序加入工程对话框。
选择刚保存的用户源程序exam.asm,点击ADD按钮加入工程,点击Close关闭对话框。
单片机教学中不少内容抽象、乏味,若不通过实验很难让学生得到更好的理解;而现有的实验硬件平台能做的实验有限,效果不理想,开设成本也很高,若采用Protues 软件能较好地解决该问题。
如英国Labcenter 公司推出的Protues 软件采用虚拟技术解决了单片机及其外围电路的设计和协同仿真的问题,无需硬件实验平台,利用个人计算机进行单片机软硬件同步仿真,仿真结果可直接运用于真实设计,优点不言而喻。
下面以LED 流水广告灯实验为例谈谈单片机教学中如何利用Protues 进行单片机软硬件仿真。
1电路原理图的绘制启动已安装软件Protues 的ISIS ,在弹出窗口的菜单栏中单击“文件”→“新设计”→选择“项目摸板”(根据电路的难易程度或具体要求进行“项目摸板”选择)→“确定”,绘制电路图。
绘制电路图时,单击元器件窗口上方的“P ”按钮,在窗口上方的“关键字”处键入所需器件型号或名称,窗口中间的“结果”栏将显示元器件库中所有同系列的器件(见图1)。
图1器件选取窗口收稿日期:2012-05-23作者简介:唐晓慧(1963-),女,四川广安人,贵州师范学院数学与计算机科学学院副教授。
研究方向:计算机接口、单片机教学。
韦萍萍(1975-),女,贵州望谟人,贵州师范学院数学与计算机科学学院副教授。
研究方向:数据库、计算机软件教学。
2012年第8期第30卷(总第145期)NO.8,2012Vol.30General No.145毕节学院学报JOURNAL OF BIJIE UNIVERSITY 基于Protu es 软件的单片机软硬件仿真实验唐晓慧,韦萍萍(贵州师范学院数学与计算机科学学院,贵州贵阳550018)摘要:通过对如何利用Protues 进行单片机软硬件仿真进行简述,以期在单片机理论教学中力避枯燥,并以Protues 作实验平台,将教学融于实践,可以让学生感知所编程序的实际效果,从而更好地掌握所学知识。
史上最详细!单片机的Proteus虚拟仿真解析1.引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。
以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。
在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。
利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个仿真系统。
2.Proteus介绍Proteus是英国Labcenter Electro-nics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS (Intelligent Schematic Input System)和虚拟系统模型VSM (Virtual Model System);另一部分是高级布线及编辑软件ARES (Adv-Ancd Routing and Editing Software)也就是PCB.2.1 Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。
Proteus可提供30多种元件库,超过8000种模拟、数字元器件。
可以按照设计的要求选择不同生产厂家的元器件。
此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。
除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。
支持图形化的分析功能等。
Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,AVR,ARM等多种系列的处理器。
Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY,Keil、MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。
软硬件联合仿真平台的设计作者:奎伟来源:《电子世界》2012年第01期【摘要】在FPGA的设计过程中,调试与仿真工作需要耗费大量时间。
利用C语言相对Verilog语言在过程控制方面具有优势,采取系统C模型通过PLI接口给Verilog模型产生测试矢量,降低了设计仿真工作的复杂度。
但是由于当今的Verilog仿真器速度慢,难以满足大数据量和高实时性的仿真要求。
通过将设计中验证通过的Verilog模型在FPGA中实现并与PC 机通过通信接口实现数据交互,待验证的Verilog模型运行在Verilog仿真器上,构成软硬件协同仿真加速系统,克服了软件仿真慢的特点而实现实时仿真,从而极大的加快了设计的仿真速度。
【关键词】软硬件协同仿真;仿真加速;FPGAThe design of the simulation platform with software and hardwareKui Wei(College of information science and technology,Xiamen university,Xiamen,361005,China)Abstract:During FPGA design,it is very difficult to debugger and simulation for complex hardware circuit design.Because using C language in process control is more superior than Verilog language,the method that system C model generate test signals to Verilog model by PLI interface,will be carried out.It reduces the complexity of design and simulation.However,nowadays Verilog simulators are too slow to fit the requirement,which demands large system data and high real time simulation.So,if Verilog model runs in FPGA,and communicates with C model running on the PC,constituting the software and hardware co-simulation acceleration system.The system will overcome the tardiness of soft simulation and achieve real time simulation.Besides,it greatly speed up the simulation of system.Keywords:Co-simulation Software and Hardware;Simulation Speed-up Technology;FPGA1.前言在做FPGA设计时,软件仿真这个步骤是必不可少的。
摘要:文章描述了使用Proteus软件与Keil uVision3软件建立联合仿真的方法,并用实例说明联合仿真的方法和过程。
关键词:Proteus软件;Keil uVision3软件目前,单片机技术在实际工程中得到了广泛应用,Proteus软件与Keil uVision3软件的联合仿真在实际的单片机系统开发中被普遍应用。
为此,在单片机课程教学过程中,教师一定要结合工程实际做到软件和硬件相结合,实现理论教学与工程实践紧密结合,在传授理论知识的同时,教会学生如何使用实际工程所应用的相关软件进行单片机系统开发。
Proteus软件与Keil uVision3软件简介Proteus软件的介绍Proteus软件是英国LabcenterElectronics公司开发的电子设计自动化(EDA)工具软件。
该软件主要由实现原理图编辑及仿真的ISIS模块和实现PCB板设计及自动布线的ARES模块组成。
Proteus不但具有其他EDA软件的模拟电子和数字电子仿真功能,而且还具有其他EDA软件所没有的单片机系统硬件仿真功能。
它可以仿真MS51系列单片机、A VR单片机、PIC单片机和ARM7微处理器,可以直接在电路原理图上实现硬件的虚拟仿真,实现程序的调试,并提供进行测试与分析的虚拟示波器、逻辑分析仪等虚拟仪器及仿真图表。
Keil uVision3软件的介绍Keil uVision3软件是德国的嵌入式开发工具专业制造商Keil公司开发的单片机开发软件平台。
首先,该软件不但可以进行软件仿真,而且还可以通过其内嵌模块Keil-Monitor-51,实现在不需要连接硬件仿真器的条件下,通过下载线连接硬件系统对项目进行实时仿真。
其次,可以与Proteus单片机仿真软件联合实现虚拟硬件仿真。
再次,Keil uVision3软件具有良好的调试界面,操作不复杂,具有优秀的编译效果,丰富的学习资料。
目前,Keil uVision3软件的用户非常庞大,几乎所有的嵌入式开发工程师都使用该软件。
单片机软硬件联合仿真解决方案摘要本文介绍一种嵌入式系统仿真方法,通过一种特殊设计的指令集仿真器将软件调试器软件2和硬件语言仿真器软件连接起来,实现了软件和硬件的同步仿真。
关键词,,,,,,2,,,,虚拟网卡,,,,,,缩略词解释总线功能模块。
在硬件语言仿真中,完成抽象描述数据和具体的时序信号之间的转换。
编程语言接口,是语言模块和语言模块之间交换数据的接口定义。
字面意思是工具命令语言,是一种解释执行语言,流行软件一般都集成有。
使用用户可以编写控制工具的脚本程序,实现工具操作自动化。
指令集仿真器,可以执行的机器码。
简单文件传输协议,的既是该协议的客户端实现。
一种存储卡,常用于数码相机、3。
直接内存访问。
用于外部设备之间高速数据转移。
媒体接入控制器。
本文中是指网卡芯片。
前言传统的嵌入式系统中,设计周期、硬件和软件的开发是分开进行的,并在硬件完成后才将系统集成在一起,很多情况下,硬件完成后才开始进行实时软件和整体调试。
软硬件联合仿真是一种在物理原型可用前,能尽早开始调试程序的技术。
软硬件联合仿真有可能使软件设计工程师在设计早期着手调试,而采用传统的方法,设计工程师直到硬件设计完成才能进行除错处理。
有些软件可在没有硬件支持的情况下完成任务的编码,如不涉及到硬件的算法。
与硬件相互作用的编码在获得硬件之前编写,但只有在硬件上运行后,才能真正对编码进行调试。
通过采用软硬件联合仿真技术,可在设计早期开始这一设计调试过程。
由于软件的开发通常在系统开发的后段完成,在设计周期中较早的开始调试有可能将使这一项目提早完成,该技术会降低首次将硬件和软件连接在一起时出现意外而致使项目延期完成所造成的风险。
在取得物理原型前,采用软硬件联合仿真技术对硬件和软件之间的接口进行验证,将使你不会花太多的时间在后期系统调试上。
当你确实拿到物理原型开始在上面跑软件的时候,你会发现经过测试的软件部分将会正常工作,这会节省项目后期的大量时间及努力。
单片机软硬件联合仿真解决方案单片机软硬件联合仿真解决方案摘要:本文介绍一种嵌入式系统仿真方法,通过一种特殊设计的指令集仿真器ISS 将软件调试器软件Keil uVision2和硬件语言仿真器软件Modelsim连接起来,实现了软件和硬件的同步仿真。
关键词:BFM,TCL,Verilog,Vhdl,PLI,Modelsim,Keil uVision2,I S S S,TFTP,HT T T P,虚拟网卡,Sn i ffer,SMAR T T MEDIA,DM A A,MAC,SRAM,,CPLD缩略词解释释:BFM:总线功能能模块。
在HDL硬件语语言仿真中,BFM 完成成抽象描述数据和具体的的时序信号之间的转换。
PLI:Veri l og编程语言接口,是是C语言模块和Ver i log 语言模块之间交交换数据的接口定义。
TCL:字面意思是工工具命令语言,是一种解解释执行语言,流行E D D A软件一般都集成有T T CL。
使用TCL用户户可以编写控制EDA工工具的脚本程序,实现工工具操作自动化。
I S S S:CPU指令集仿真真器,可以执行CPU的的机器码。
TFTP::简单文件传输协议,W W indows的既是该该协议的客户端实现。
SMART MEDI A A:一种存储卡,常用于于数码相机、MP3。
DMA:直接内存访问问。
用于外部设备之间高高速数据转移。
MA C C:媒体接入控制器。
本本文中是指网卡芯片。
前言传统的嵌入式系统统中,设计周期、硬件和和软件的开发是分开进行行的,并在硬件完成后才才将系统集成在一起,很很多情况下,硬件完成后后才开始进行实时软件和和整体调试。
软硬件联合合仿真是一种在物理原型型可用前,能尽早开始调调试程序的技术。
软硬硬件联合仿真有可能使软软件设计工程师在设计早早期着手调试,而采用传传统的方法,设计工程师师直到硬件设计完成才能能进行除错处理。
有些软软件可在没有硬件支持的的情况下完成任务的编码码,如不涉及到硬件的算算法。
单片机硬件仿真实用方案汤湘林【摘要】单片机硬件仿真是单片机应用系统软件开发调试的一个常用方法,也是一个重要手段.文章分析了单片机硬件仿真和软件仿真的区别,介绍了一种性价比很高的、实用的单片机硬件仿真解决方案,通过控制单片机的系统时种和运行系统监控程序,读取单片机数据总线的数据,实现单片机硬件仿真的功能.【期刊名称】《电子制作》【年(卷),期】2015(000)010【总页数】1页(P41)【关键词】单片机硬件仿真;存储器;地址总线;数据总线;系统时钟【作者】汤湘林【作者单位】深圳技师学院 518116【正文语种】中文单片机作为计算机发展的一个重要分支领域,广泛应用于人类生活的各个领域。
单片机仿真是单片机应用系统软件开发调试的一个常用方法,单片机仿真分为硬件仿真和软件仿真。
尽管软件仿真具有无需搭建硬件电路就可以对程序进行验证的优点,但无法完全反映真实硬件的运行状况,因此还要通过硬件仿真来完成最终的设计。
本文将提出一种性价比很高的、实用的单片机硬件仿真解决方案,通过控制单片机的系统时种和运行系统监控程序,读取单片机数据总线的数据,实现单片机硬件仿真的功能。
图1为实现单片机硬件仿真的总体结构框图。
主控MCU与PC通信,将目标代码下载到FLASH。
主控MCU通过控制被仿真单片机的系统时钟,就可以控制被仿真单片机运行FLASH中的目标代码,实现单步运行程序、让程序运行到指定的程序行停止或查看存储器资源等调试功能。
要实现此方案的单片机硬件仿真功能,必须要有一个被仿真单片机的仿真芯片,此芯片与被仿真单片机相比,其它硬件相同,但没有内部程序存储器,而且多预留出程序地址总线AD16、程序数据总线DATA16、系统数据总线SDA8和一些仿真调试的引脚。
如图2所示,主控MCU通过16根地址线(ADDR16)、16根数据线(DATA16)、CE线、OE线、 WE线与FLASH相连。
仿真芯片的16根程序地址总线AD16通过三态缓冲器74HC244与FLASH的地址线相连,16根程序数据总线DATA16与FLASH的数据线相连,8根系统数据总线SDA8与主控MCU 相连。
*本刊于1997年10月收到。
本文受“863”计划资助,项目编号863-306-01-05。
单片机仿真的设计与实现*陈定君 郭晓东 余克清 刘积仁(东北大学软件中心新技术部,沈阳110006)摘 要本文主要论述了S4系统中uPD78k014单片机仿真软件的设计思想和部分实现技术,介绍了单片机仿真软件的体系结构及软件编程实现手段,并以时钟发生器和中断机构为例阐明了编程实现过程中一些实现方法。
关键词:仿真,嵌入式软件,硬件描述语言1 引言S4(Sing le -chip Softw are development Support System )系统是我们自行研制与开发的实时嵌入式软件仿真开发集成环境,它主要是为嵌入式软件开发者以较低代价提供嵌入式软件仿真开发与调试平台,它对智能电器工业的发展将会起到巨大推动作用,这是一项有着广泛应用前景、值得进一步开发的课题。
S4系统体系结构核心如图1所示。
嵌入式软件在仿真的单片机上运行,仿真的单片机又与外围硬件仿真环境交互,同时程序员还可通过仿真调试器对嵌入式软件进行与常规程序相同的交互、可视化的调试操作。
单片机的仿真是S4的系统的核心之一,嵌入式软件在其上的仿真运行速度对整个系统运行速度都有着重要影响,因此单片机的仿真开发与实现也就显得尤为重要了。
本文将主要介绍我们针对日本NEC 公司uPD78k 系列单片机进行仿真的设计思想与实现方法,以uPD78k014单片机为例。
图1 S4系统体系结构2 单片机仿真的设计思想仿真(simulation )是在电路系统设计过程中用来对设计者的硬件描述和设计结果进行查错、验证的工具。
同样我们也可以通过仿真手段实现单片机的所有动作,从而可以利用计算机软件进行模拟单片机的运行。
由于设计者对数字电路的描述级别不同,在描述方法、模型抽象、内部实现和模拟算法上将会有很大区别。
uPD78K014单片机采用基于逻辑的仿真,逻辑仿真的对象是以门和功能块为描述电路的元件,也称门和功能级仿真。
单片机软硬件联合仿真解决方案摘要:本文介绍一种嵌入式系统仿真方法,通过一种特殊设计的指令集仿真器ISS将软件调试器软件Keil uVision2和硬件语言仿真器软件Modelsim连接起来,实现了软件和硬件的同步仿真。
关键词:BFM,TCL,Verilog,Vhdl,PLI,Modelsim,Keil uVision2,ISS,TFTP,HTTP,虚拟网卡,Sniffer,SMART MEDIA,DMA,MAC,SRAM,CPLD缩略词解释:BFM:总线功能模块。
在HDL硬件语言仿真中,BFM完成抽象描述数据和具体的时序信号之间的转换。
PLI:Verilog编程语言接口,是C语言模块和Verilog 语言模块之间交换数据的接口定义。
TCL:字面意思是工具命令语言,是一种解释执行语言,流行EDA软件一般都集成有TCL。
使用TCL用户可以编写控制EDA工具的脚本程序,实现工具操作自动化。
ISS:CPU指令集仿真器,可以执行CPU的机器码。
TFTP:简单文件传输协议,Windows的tftp.exe既是该协议的客户端实现。
SMART MEDIA:一种存储卡,常用于数码相机、MP3。
DMA:直接内存访问。
用于外部设备之间高速数据转移。
MAC:媒体接入控制器。
本文中是指网卡芯片。
前言传统的嵌入式系统中,设计周期、硬件和软件的开发是分开进行的,并在硬件完成后才将系统集成在一起,很多情况下,硬件完成后才开始进行实时软件和整体调试。
软硬件联合仿真是一种在物理原型可用前,能尽早开始调试程序的技术。
软硬件联合仿真有可能使软件设计工程师在设计早期着手调试,而采用传统的方法,设计工程师直到硬件设计完成才能进行除错处理。
有些软件可在没有硬件支持的情况下完成任务的编码,如不涉及到硬件的算法。
与硬件相互作用的编码在获得硬件之前编写,但只有在硬件上运行后,才能真正对编码进行调试。
通过采用软硬件联合仿真技术,可在设计早期开始这一设计调试过程。
由于软件的开发通常在系统开发的后段完成,在设计周期中较早的开始调试有可能将使这一项目提早完成,该技术会降低首次将硬件和软件连接在一起时出现意外而致使项目延期完成所造成的风险。
在取得物理原型前,采用软硬件联合仿真技术对硬件和软件之间的接口进行验证,将使你不会花太多的时间在后期系统调试上。
当你确实拿到物理原型开始在上面跑软件的时候,你会发现经过测试的软件部分将会正常工作,这会节省项目后期的大量时间及努力。
软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,软件通过一系列由处理器启动的总线周期与硬件的交互作用。
本文以一个Mini Web卡的开发介绍一种软硬件联合仿真系统。
[!--empirenews.page--]该方案的核心是采用一个51单片机仿真引擎GoldBull ISS51(以下简称ISS51),ISS51是51单片机开发环境Keil uVision2的一个插件,ISS51具有连接Keil 和硬件仿真环境Modelsim的接口,可以实现软硬件同步仿真。
在该系统中,Keil作为软件调试界面,Modelsim作为硬件仿真和调试界面,ISS51负责软件执行、监控软件断点、单步执行、内存和寄存器数据返回给Keil、CPU总线时序产生和捕获、内部功能模块(如定时器,串口)的运行等功能。
Mini Web卡介绍Mini Web卡是一个运行在单片机上的Web服务器,提供网口连接,有大容量文件系统,提供TFTP和HTTP服务。
尽管软件系统比较复杂,但优化编译后,执行代码还不足25K,为后续升级留下了足够空间。
51CPU采用SST89系列,这种CPU具有ISP功能,可以通过RS232串口,直接将目标码下载到CPU。
DMA控制逻辑是一个可编程逻辑器件,采用的是ALTERA的CPLD EPM240,主要功能是实现外围器件之间的DMA传递。
因为51CPU进行IO访问是很低效的,需要24个时钟周期才能进行一次IO访问,在外围设备之间转移数据则需要更多的时钟周期,使用DMA控制逻辑可以达到3个时钟周期就能转移一个字节。
本系统中处理多种网络协议,需要大量报文收发和文件系统访问,采用DMA可以极大地提高51单片机的数据处理速度。
DMA通道主要有MAC芯片与RAM之间的数据块转移,SMART MEDIA和RAM之间的数据块转移。
网卡芯片采用的是AX88796,主要的优点是可以和51CPU方便地接口;支持100M以太网,速度高;有较大的接收报文缓存,能够平滑网络流量,减少因51CPU处理速度慢导致的报文丢弃和重发。
SMART MEDIA是一个移动存储卡,主要用于存储文件,Mini Web卡支持8M到256M的SMD卡。
文件系统是Mini Web卡的新开发模块,文件系统的测试主要通过TFTP来进行,为此Mini Web卡上的TFTP服务程序进行了特殊设计,支持格式化SMART MEDIA,获取剩余空间,获取文件名列表,上传、下载和删除文件。
软硬件联合仿真的必要性:Mini Web卡软件模块多,软件开发风险较大。
软件对硬件的依赖较强,FLASH存储器的访问驱动、网卡驱动、DMA驱动,需要软硬件协同调试。
文件系统的开发,在仿真环境下更容易和快捷。
比如在仿真结束时,可以将SMART MEDIA仿真模型中的数据倒换到磁盘文件中,在仿真开始时,将磁盘文件中的数据加载到SMART MEDIA仿真模型中,在定位文件系统的问题时,这一个功能很有用。
采用软硬件联合仿真,便于系统前期设计。
51单片机的外部RAM访问效率较低,内存拷贝、外部器件之间的数据块转移很浪费时间。
将大量数据的拷贝操作或数据块校验、比较操作在CPLD内实现,可以大大改进51单片机处理数据的能力。
通过软硬件联合仿真,可以评估CPLD处理数据对性能的改进。
[!--empirenews.page--]Mini Web卡软硬件联合仿真系统:软硬件联合仿真主要解决的问题是系统功能设计与验证,它不解决电源、滤波电容、总线电平兼容问题。
做系统仿真,首先要对硬件系统建模。
我们关注的是系统设计的正确性和可执行性。
系统中的串口只是用来支持ISP下载软件,软件部分没有对串口做任何操作,所以系统仿真可以不必考虑。
网卡芯片AX88796,厂商没有提供仿真模型。
它与CPU的接口符合ISA接口标准,软件对AX88796的操作是根据NE2000标准网卡芯片设计的,由此我们建立了一个网卡芯片的仿真模型。
我们设计了一个MAC BFM来仿真网卡芯片的ISA接口,NE2000定义的寄存器在C模型中实现,MAC BFM 与NE2000寄存器C模型通过PLI接口交换数据。
SRAM仿真模型是很容易获取的,很多器件生产商都提供Verilog仿真模型,但器件生产商提供的Verilog仿真模型都包含复杂的延时控制代码,这会影响仿真速度。
根据经验,我们可以确保SRAM在单板设计中被正确应用,不会产生时序[1][2]下一页问题,所以我们可以采用一个简化的SRAM仿真模型,这是我们自己设计的,有效代码只有十几行。
51CPU BFM 负责单片机管脚时序的产生和捕获。
51CPU BFM是与ISS51紧密捆绑的,由ISS51安装程序提供。
SMART MEDIA是三星公司提供的仿真模型,我们使用的也是三星公司的同类型存储卡。
该模型可以用于验证软件操作SMART MEDIA的正确性和DMA Controller的接口时序。
DMA Controller是Mini Web卡硬件开发的一部分,将逻辑设计代码应用于仿真,既能检测逻辑设计的正确性,又能使整个仿真系统得以正常运转。
将上述硬件模型连接起来,产生下图所示硬件系统模型图:图2. Mini Web卡硬件模块电路图图2中U11为SMART MEDIA仿真模型,U4为DMA Controller模型。
虚拟网卡做系统仿真,必须输入来自真实世界的激励,并将仿真系统的输出传递到真实世界。
即便是不能连接到真实世界,也应该提供模拟真实世界的输入,并对仿真系统的输出进行检测和分析。
对于Mini Web卡来说,它和真实环境是通过网口连接的。
使用虚拟网卡技术,能够将图3中的MAC C Model与虚拟网卡进行通讯。
对于运行在Windows系统上的应用程序来说,它并不知道网卡是虚拟的还是真实的,应用程序通过虚拟网卡收发数据,事实上是与仿真系统在进行网络通信。
[!--empirenews.page--]这样就可以使用TFTP向Mini Web卡仿真系统传递网页文件,使用IE浏览Mini Web卡仿真系统中的网页,Mini Web卡的所有功能都能够被检验。
使用网络臭探器Sniffer可以监控虚拟网卡的报文流,方便协议调试。
仿真加速技术软硬件联合仿真,影响仿真速度的瓶颈在HDL代码部分的仿真。
如果不设法提高HDL代码部分的仿真速度,软件调试就非常低效。
提高硬件仿真速度的方法之一是软件硬件仿真采用事件同步,只在CPU访问IO时保持软件和硬件是同步的。
仿真加速方法之二是硬件仿真系统时钟休眠。
对于Mini Web卡来说,只有DMA Controller是受时钟控制的,软件没有操作DMA Controller的期间,DMA Controller的运作是毫无意义的,所以可以在非DMA操作期间,对时钟进行休眠;ISS51在每次IO访问时,给出与上次IO访问的时间差,这个时间差经过处理可以作为时钟休眠的时间段。
如果ISS51连续进行IO访问,就不会产生时钟休眠了。
DMAController工作于查询方式,可以采用时钟休眠技术,而不会导致仿真与真实结果的不一致。
方法之三是,缩短SMART MEDIA仿真模型中的一些长延时的时间参数。
因为在等待SMART MEDIA 进入就绪状态时,CPU必须连续查询IO,影响仿真速度。
我们主要用于软件功能验证,这种修改也是可以接受的。
方法之四,在软件设计上,谨慎使用外部中断,因为一旦中断启动,ISS51需要在每个机器周期查询是否有中断信号,导致软件仿真和硬件仿真在每个指令上都进行同步,影响仿真速度。
如果一定要使用外部中断,建议用C模型代替Verilog模型,这样可不影响仿真速度;或者由用户根据外部模块产生外部中断的时机,使用ISS51的控制命令,在恰当时刻使能ISS51的中断模块。
在一个普通PC (CPU为AMD速龙1000,SDRM512M 133),运行Mini Web卡仿真系统,使用PING命令测试Mini Web卡仿真系统的响应速度:Reply from 10.10.112.76: bytes=32 time=64ms TTL=128使用IE打开Mini Web卡仿真系统中的网页文件,感觉和拨号上网的速度差不太多。