单片机软硬件联合仿真解决方案

合集下载

“三大利器”构建单片机仿真实验平台

“三大利器”构建单片机仿真实验平台

“三大利器”构建单片机仿真实验平台摘要:为了加强单片机课程的教学改革,不断提高单片机课程实验环节教学质量,本文将借助三个实用软件,介绍几种搭建单片机仿真实验平台的方法,利用这些方法可以将单片机实验室“搬进”学生寝室,教师可以任务驱动的方式提高学生的参与性,并具有实验时间不受限制,有效降低实验成本和设计风险等优点,有利于培养学生的创新能力。

关键词:单片机;教学改革;仿真实验平台目前,我国许多高校都应社会发展和市场需求在不同的专业开设了单片机课程,这无疑推动了单片机技术在实际生产生活中的应用,缓解了社会对单片机应用人才的需求压力,推动了大学生就业。

然而单片机课程又是一门实践性很强的课程,要想在教学过程中取得较好的效果,就必须要求学生在学习过程中多动手实践,这对开设这门课程的学校而言又提出了一定的要求,也就是要提供较好的实验环境,甚至要模拟企业的环境组建单片机开发工作室,让学生在“做中学”,真正的玩转单片机,否则会出现部分学生感到枯燥难学、教师感到吃力难教这样的尴尬。

单片机技术的发展,也推动着单片机开发工具的不断推陈出新,典型的有WA VE6000、Keil C51以及Proteus等,这些软件的推出给单片机学习、单片机设计与开发带来了方便,也可以很好地解决一部分学校因实验条件不足或实验室资源不充分而带来的问题,我们在这里向大家介绍WA VE6000、Keil C51和Proteus 这三个软件在构建单片机仿真实验平台过程中的应用方案,它可以将单片机实验室“搬进”学生寝室,教师可以按任务驱动的方式提高学生的参与性,并具有实验时间不受限制,有效降低实验成本和设计风险等优点。

1WA VE6000软件简介1.1 WA VE6000的特点WA VE6000是一款功能强大的单片机程序编辑、调试、仿真的Windows软件。

该软件可以配合伟福公司开发的硬件仿真器进行仿真,也可以单独进行单片机的软件模拟仿真,结合一台编程器,就可进行低投入的单片机开发工作。

利用Multisim10中的MCU模块进行单片机协同仿真

利用Multisim10中的MCU模块进行单片机协同仿真
RET
END
说明:因为单片机的电流是有限制的,不能太大,否则会烧毁单片机的。所以应在数码管的CA端和VCC端之间接一个限流电阻(100欧姆);或者在单片机与数码管之间接入一个排阻(7个)也可以,这样仿真时就不会烧毁单片机了。
附:例程中汇编代码
$MOD51;Thisincludes 8051 definitions for themetalinkassembler
这里我们通过一个简单的带有复位功能的计数器的例子来说明在NI Multisim10中如何进行单片机开发以及如何与SPICE模型电路协同仿真。
如果你对Multisim比较熟悉,那一定对里面的安捷伦(Agilent)54622D混合信号示波器等仪器印象很深刻吧,因为它与真实的仪器面板和操作几乎完全一样。Multisim里象这种模仿实际仪器的还有安捷伦的33120A任意波形函数发生器和34401A万用表,泰克(Tektronix)的TDS2024四通道示波器。充分利用这些仪器,就好比拥有了一个真实的实验室,你可以用33120A任意波形函数发生器给单片机提供输入信号,用54622D或TDS2024示波器观看模拟信号,或用54622D的逻辑分析仪功能查看单片机多个管脚数字信号的输出。在下面的例子里我们将用54622D来观察复位信号。
调试程序
选择菜单MCU→MCU 8051 U1→Debug View,可以看到文本区上面有下拉菜单并有两种选择,对应反汇编(disassembly)和列表汇编(listing assembly),简单的说,前者是由ROM的内容得到,后者是源文件编译后的结果。双击“设计工具箱”的main.asm,在源文件编辑窗口右键单击语句为“MOVC A,@A+DPTR”的一行,选择“设置/清除断点”(Toggle Breakpoint),在左侧会出现一个实心圆,点击“运行”,程序将停在该行,只不过是在“调试视图”(Debug View)的列表汇编窗口下,同时在实心圆上多出了一个黄色箭头。点击MCU-> MCU 8051 U1->Memory View,打开MCU存储器视图,在该视图可以查看特殊函数寄存器(SFR),内部RAM(IRAM),内部ROM(IROM),外部RAM(XRAM)。在SFR表格内观察ACC的值,此时应该为“00”,在IRAM里观察地址为21H的值,因为“MOV SP,#20H”语句将21H作为堆栈的第一个存储字节的地址,断点的前一处语句“PUSH ACC”使该字节存储ACC的值,此时也为“00”。再点“运行”,程序第二次停在断点处,观察SFR中的ACC和IRAM中的21H,如图9所示应,两个单元格里的值都应为“01”,你还可以双击该单元格进行修改,该值也正是七段数码管即将显示的下一个数。点击MCU菜单,可以看到除了设置断点以外还可单步进入(Step into),遇到函数时进入函数内部;跳过(Step over),即不进入函数;跳出(Step out),即跳出函数到调用函数的下一条语句。

PROTEUS的单片机教学与应用仿真

PROTEUS的单片机教学与应用仿真

结论
它可以帮助学生们更好地理解单片机的工作原理和编程方法,同时也可以帮 助他们提高解决实际问题的能力。因此,PROTEUS单片机教学与应用仿真的实用 性和推广价值不容忽视。
结论
展望未来,随着科技的不断发展和PROTEUS软件的进一步升级和完善,相信 PROTEUS单片机教学与应用仿真将在更多的领域得到应用,同时也会为单片机人 才的培养和发展带来更多的机遇和挑战。
五、实验结果分析
实验过程: 1、在PROTEUS中搭建电路:选用AT89C51单片机芯片,连接8个LED灯和一个 按键开关,并设置相应的输入输出端口。
五、实验结果分析
2、编写程序:使用C语言编写程序,通过循环控制P1口输出高低电平,实现 LED灯的依次点亮和熄灭。同时,程序中加入按键开关的输入判断,以便手动控 制LED灯的显示状态。
四、应用场景
2、硬件开发:在单片机应用项目开发过程中,使用PROTEUS可以进行电路设 计和仿真,减少硬件调试的难度,提高开发效率。
四、应用场景
3、软件测试:通过在PROTEUS中搭建单片机外围电路,可以测试和验证单片 机的程序功能是否正确实现。
四、应用场景
4、产品设计:在产品研发阶段,使用PROTEUS进行单片机电路设计与仿真, 可以缩短产品开发周期,提高产品的可靠性和稳定性。
教学案例
教学案例
下面以一个简单的LED闪烁实验为例,介绍PROTEUS单片机教学案例的具体实 施过程:
1、实验题目:LED闪烁实验
1、实验题目:LED闪烁实验
2、实验目的:通过单片机控制LED的亮灭,实现LED的闪烁效果 3、实验原理:利用单片机的IO口控制LED的亮灭状态,通过循环实现LED的 闪烁效果
参考内容

软件与硬件结合的单片机仿真实验平台的建设

软件与硬件结合的单片机仿真实验平台的建设
1 2 V 可 提供 5 0 0 m A , 一 1 2 V 可提 供 3 0 0 m A , 含 瞬 时短路 保护 和过 流保护; 配备T K S t u d y I C E 独 立 的实 时硬 件 仿真 器 ; 2 ) 带 有 E a s y P R 0 5 1 编程器用于烧写5 1 序列单片机 和串行E 2 P R O M ; D I P 4 0
其 相 关课 程 。《 单片机原 理及 应 用》、《 单 片机原 理及 接 口技 功 能 。
. 2 硬件仿 真平台 术》等课程 是大 中专院校 电子类专 业实践性、 应用 性和 工程性 3 D程器 、 实验 仪三合一综合 很强的专业 基础课或专业选修 课。 从加强学生能力培养 的要求
5 ) 对程 序 中某些 纯软件 的部 分使用软件仿 在 电工电子类专业教学 中, 单片机 的实验 室建设大 多采 用 并重 新编译 连接 ; 硬件仿真器 配 目标实验板方式 , 不仅需采购 大量的硬件设备, 的单片机实验室 建设方案 。 该 方案配 置有 限的硬件设备, 很好 中实现 , 大大 增强了实验 室 向学生开放 的便利 性。 在 实际运行 推广利用价值 。 真验证 ; 6 ) 使用硬件仿真器对应用程 序进行硬件 仿真 ; 7 ) 将 生 上面 的流 程只是 一个标准 的开发流程 , 实际使用 中, 用户 而且设备维 护工作量也非常 巨大 。 本文提 出一种基于软件 仿真 成的H e x 文件烧写到单片机 的程序存储器R O M 中运行测试。
设 计分析 ・
软件与硬件结合 的单片机仿真实验平台的建设
程晓艳 党国庆( 新余学院, 江西 新余 3 3 8 0 0 4 )
摘 要: 本文分析了建设软硬件结合的单片机仿真平台的必要性, 在此基础上提 出了 软件加硬件的仿真平台的建设意见。 关键词: 软硬件; 单片机; 仿真; 平台; 建设

系列单片机仿真步骤

系列单片机仿真步骤

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图标进入仿真。

至此所有仿真设置全数设置完毕。

VC的8051单片机的软硬件仿真模块程序设计

VC的8051单片机的软硬件仿真模块程序设计

收稿日期:2【)05儿一09 作者简介:罗抟翼(1946).男,湖南长沙人,教授,主要从事控制理论与计算机仿真等方面的研究
万方数据
沈阳工业大学学报
第29卷
对于无位操作寄存器的仿真,用BYTE_7 J数 据类型作为其载体.在vc十+6中BYTE的定义 是#dcfine BYTE unsiglled char,为8位无符号整 形.由于单片机数据寄存器的存储形式也是8位, 所以BY7I、E数据类型是非常完美的单片机数据 寄存器仿真载体.BY’rE类型数据OclH的二进 制位存储形式如图1所示.
BYTE*Psw=&RAM[208]; BYTE*AcC=&RAM[214]; BY’11E*B=&RAM[230]; 这样在进行位操作仿真时,就可以直接存取 内存指针地址中的变量进行仿真. 其次,设立一个集合A={指令能够引起 PSw寄存器有位变化},把这些指令标志存储成 特殊的数据结构以便查找,一旦有满足条件的指 令执行,就利用vC中的消息机制,发送消息对 PSw所在字节进行处理,同时在每一个指令仿真 函数中执行监控函数,一旦有菜一个特殊寄存器 的有位变化,就发一个消息对这砦位控制功能进 行仿真. 1.2内部程序寄存器(RoM)的仿真 8051的R()M是16位寄存器,用于存放编好
由图2可知指令语句的存储载体是结构数 组,其维数根据用户输入的语句行数进行动态增 减,一行语句一个结构数组元素,”行语句则结构 的维数就是n.结构中的pc变量存储该语句的 Pc地址值,而pc—next变量存储下一语句的Pc 地址值,也就是说前一语句的pc—nex【值等于后一 语句的pc值,可总结为pc—ncxt^=pc々+1(女=1, 2,·rt,n)
另外结构中还有一个(string变量,这里用 它来存储语句前的地址标号例如

单片机软件仿真与调试的方法单片机

单片机软件仿真与调试的方法 - 单片机点击运行软件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关闭对话框。

仿真技术在单片机开发中的应用


设计 完成 才能 进行 除 错处 理 . 在硬 件 并
完成 后才 将 系统集 成 在一 起 . 始进行 开
受 到重 视 。但 原 理设 计完 成后 . 要 自 需
己 反 复 调 制 电 路 或 多 次 制 作 印 制 电 路 板 来 测 试 ,这 大 大 增 加 了 开 发 成 本 . 成
成 电 路 . 采 用 超 大 规 模 集 成 电 路 技 术 证 系 统 软 硬 件 的 正 确 性 . 别 是 功 能 的 它 特
2 电子琴 系统 设 计
该 方 案 的 核 心 是 采 用 伟 福 单 片 机
把 中 央 处 理 器 ( P 、 随 机 存 储 器 C U) ( A 、 读 存 储 器 ( O 、 种 IO R M) 只 R M) 多 /
建立模 型 、 真 实验 、 据处 理 、 析验 避 免 早 期 设 计 错 误 . 服 单 片 机 开 仿 数 分 克
证 等 步骤 . 用模 型模 拟 现实 环境 系统 发 成本 高 的 缺点 . 软 件 方式 模拟 利 用 进 行 动 态 试 验 。 例 如 . 车 或 飞 机 的 驾 汽 驶 训 练 模 拟 器 .就 是 集 成 了 计 算 机 技 术 、 络技 术 、 形 图像 技术 、 向对象 网 图 面
为推 广单 片机 研发 的障碍
近 年 来 . 算 机 仿 真 技 术 取 得 了 快 计
速 的 发 展 . 时 推 动 了 单 片 机 仿 真 技 术 包 含 硬 件 在 内 的 整 个 系 统 进 行 功 同
的进 步。计算 机仿真 ( 0 ue i u C mp trSm — lt n ai )技术 是 一 门 多学 科 的综 合 性技 o
电子琴 系统包 括 A 8 S 1单 片机 、 T 95

基于Protues软件的单片机软硬件仿真实验

单片机教学中不少内容抽象、乏味,若不通过实验很难让学生得到更好的理解;而现有的实验硬件平台能做的实验有限,效果不理想,开设成本也很高,若采用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 作实验平台,将教学融于实践,可以让学生感知所编程序的实际效果,从而更好地掌握所学知识。

单片机开发Keil C51与Proteus仿真联合应用研究

Ab s t r a c t :T h e s o f t wa r e a n d h a r d wa r e s i mu l a t i o n s y s t e m i s p e f r o r me d b y a h a r d w a r e a n d a s o f t wa r e e x e c u t i o n e n v i r o n me n t , s o f t wa r e e n v i on r me n t a n d h a r d wa r e e n v i r o n me n t u s u a l l y h a v e d e b u g g i n g a n d c o n t r o l i n t e f r a c e ,t o t a l t r a n s f e r c a n r e li a z e t h e s y s t e m i n t e g r a t i o n o f Ke i l a n d P r o t e u s ,Ke i l i s t h e s o f t wa r e d e b u g g i n g i n t e fa r c e ,P r o t e u s i s t h e h a r d wa r e s i mu l a t i o n a n d
关键词 : 联合仿 真; K e i l ; P r o t e u s ; 软件调试 ; 硬 件 仿 真 中 圈分 类 号 : T P 3 9 1 . 9 文献标识码 : A 文 章 编 号 :1 6 7 4 — 6 2 3 6 ( 2 0 1 3 ) 1 7 — 0 1 7 8 — 0 4
Ke y wo r  ̄: s i mu l a t i o n s y s t e m ;k e i l ;P r o t e u s ;s o f t w a r e d e b u g g i n g;h a r d wa r e s i mu l a t i o n
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机软硬件联合仿真解决方案摘要:本文介绍一种嵌入式系统仿真方法,通过一种特殊设计的指令集仿真器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卡仿真系统中的网页文件,感觉和拨号上网的速度差不太多。

相关文档
最新文档