专利名称:一种微控制器仿真系统的制作方法
技术领域:
本发明涉及电子控制装置领域,特别是涉及一种微控制器仿真系统。
背景技术:
如今,基于MCU (微控制器)开发的产品在消费电子领域里已 经占据绝大部分,并且广泛应用于各种领域,如计算器、遥控器、语 音编码、家电控制及各类玩具电路中。产品的生命周期长,市场前景 广阔。但是,微控制器的开发和应用离不开基于该微控制器的仿真器。 根据2005年8月31日申请的专利号为200510029285.2的发明 专利申请公开说明书,微控制器的仿真器都有一些特征U)必须基 于一定的微控制器构架设计的;(2)具备微控制器芯片能够实现的全 部功能;(3)具备一定的微控制器的实时调试、仿真功能。但是,微 控制器的仿真器芯片的这些特征也带来了一些本质的缺陷和不足 (1 )仿真器芯片的构架是基于一定架构的微控制器;(2 )仿真器的 使用需要一定的软件硬件的支持;(3)仿真器芯片面积大于微控制器 芯片面积,仿真器芯片的管脚数目大于微控制器芯片的管脚数目;(4 ) 仿真器主要用于调试和仿真,所以芯片的量产不会很大。相应的,市场上单片机仿真器也是名目繁多,但主要集中在51 系列单片机、PIC等通用MCU方面, 一些大公司也针对自己产品开 发的专用仿真器,但用于手持类消费电子产品开发的仿真器很少。目 前还没有开发仿真器来完成手持类消费电子产品的内核程序的开发 和仿真,也没有能力为用户提供软体开发平台。发明内容本发明的发明目的是为用户提供了从内核程序编写、编译、仿真 到完全独立运行的一系列功能完整的仿真开发工具。本发明由外设计算机和仿真器两部分組成,所述仿真器由控制 板、仿真板和电源三个部分组成。所述外设计算机通过运行仿真软件 控制仿真器运作并读入仿真结果;所述控制板根据外设电脑指令下载 用户程序,监控仿真板的运行,并将运行结果报告给外设计算机;所 述仿真板受控于控制板,单步或连续运行用户目标程序或监控程序; 所述电源将220VAC市电转化为9VDC,经2芯插座供给仿真器控制 板。外设计算机通过串行电缆与控制板连接,控制板和仿真板之间由 40芯扁平电缆连接,电源与控制板相连。本发明分为软件部分和硬件部分。所述硬件部分运行态工作过程 中,执行处理程序时,为了回到入口地址,需分两步执行先将处理 程序终点地址作为断点写入断点SRAM的断点标志DO位,然后由仿 真芯片执行;然后回到暂停状态,再单步执行一次跳转指令,回至入 口地址。由于有些仿真芯片内部RAM读和写对应不同的存储单元,
SRAM中对应的是写操作的存储单元,如果同时读控制板SRAM和 仿真芯片内部RAM会引起误操作。本发明控制板上的SRAM除了作 为用户程序和处理程序的存储器外,也与仿真芯片中的RAM对应, 在程序运行中对RAM的写操作也反应在SRAM中,而对RAM的读 操作则通过断点SRAM的RAM和ROM标志D1进行屏蔽。由此, 数据读操作时只会读出仿真芯片内部RAM,而不读外部的SRAM。
本发明软件部分采用工程菜单,用户打开工程菜单建立一个工程 名,系统将建立一个以工程名命名的文件目录,用户编辑的程序文本 和编译生成的目标代码文件、列表文件、错误信息文件将会自动保存 在所述以工程名命名的文件目录下。本发明软件部分将编辑框放在主框架右侧,使输入文本显示在整 个显示屏的中部。本发明的开发成功填补了用于手持类消费电子产品开发的仿真 器的技术空白,以软硬件的完美结合为用户提供了从内核程序编写、 编译、仿真到完全独立运行的 一 系列功能完整的开发工具。
图1是^f敖控制器仿真系统的结构示意图; 图2是微控制器仿真系统的原理框图。
具体实施例方式
下面结合附图和具体实施例,对本发明作更为详细的解释图l是本发明的结构示意图。如图1所示,本发明由外设计算机 和仿真器两部分组成,所述仿真器由控制板、仿真板和电源三个部分 组成。所述外设计算机通过运行仿真软件控制仿真器运作并读入仿真结果;所述控制板根据外设电脑指令下载用户程序,监控仿真板的运 行,并将运行结果报告给外设计算机;所述仿真板受控于控制板,单 步或连续运行用户目标程序或监控程序;所述电源将220VAC市电转 化为9VDC,经2芯插座供给仿真器控制板。外设计算机通过串行电 缆与控制板连接,控制板和仿真板之间由40芯扁平电缆连接,电源 与控制板相连。图2是本发明的原理框图。仿真芯片运行的使能信号SRDY,高电平时仿真芯片运行,低电 平时仿真芯片暂停运行;准备信号RDY,高电平时表示程序数据有 效,仿真芯片把程序读进去并执行,低电平表示程序数据未准备好, 仿真芯片暂停读取运行,处于等待状态;SRAM (静态随机存储器) 地址空间选通信号SEL, SELM)选择用户程序,SEL=1选择处理程 序;仿真芯片输出的读操作码同步信号SYNC,高电平表示在读操作 码周期,低电平表示非读操作码周期;单步运行信号TSLP,高电平 表示正常运行,低电平表示单步运行;内部计时器控制信号STPCLK, 高电平停止仿真芯片内部计时器,低电平正常运行。如图2所示,框内部分为控制板部分,框外部分为仿真板部分。 PC代表外设计算机。本实施例使用MCU89C52芯片作为主控芯片。 Pl端口分别分时复用为数据总线和状态输入线;P2端口是高位地址 总线;P0端口是4氐位地址总线,通过锁存器输出控制信号;P3端口
是实时控制线。所述MCU89C52芯片通过P1 、 P2 、 PO端口与端口扩 展电路相连,SRAM通过数据总线D0—D7 、 SRAM地址空间选通信 号SEL和地址总线A00—A15与端口扩展电路连接。所述MCU89C52 芯片与SRAM通过端口扩展电路通讯。电平转换与传输门电路分别 通过使能信号SRDY、单步运行信号TSLP和P3端口与MCU89C52 芯片相连,通过地址总线A00—A15和数据总线D0—D7与SRAM相 连,与端口扩展电路相连,通过准备信号RDY、使能信号SYNC和 内部计时器控制信号SRPCLK端口与微控制器仿真芯片相连,与 EEPROM相连。微控制器仿真芯片和EEPROM通过数据端口 DATA 和地址端口 ADDR进行数据通讯。本发明由软件和硬件两部分组成。硬件部分本发明硬件部分的工作过程分为3种状态通讯态、运行态和烧 写态。所述运行态又分为用户程序运行、处理程序运行、脱机运行三 种形式。通讯态MCU89C52置使能信号SRDY和准备信号RDY为低电平,仿真 芯片暂停运行,并使控制板与仿真板之间的数据总线D0-D7和地址 总线A00-A15断开。在通讯态下,控制板接收各种外设计算机指令, 从外设计算机机下载用户程序写入SRAM或读出SRAM数据,设置 或清除断点。当接收到需运行处理程序的指令时(如读写仿真芯片内 部RAM、特殊寄存器,复位、跳转操作等指令),MCU89C52将相
应程序写入SRAM,并转入运行态4丸行处理程序,完成后回到通讯态, 并将结果送回外设计算机程序。起始地址与当前仿真芯片暂停地址相 同。当接受到单步或连续运行指令时,MCU89C52的流程转入运行 态,仿真芯片执行用户程序。 运4亍态置准备信号RDY为高电平,仿真芯片进入运行态。当仿真芯片 进入用户程序运行状态和处理程序运行状态时,控制板与仿真板间的 数据总线D0—D7和地址总线A00—A15连接。通过SEL可以选通 SRAM不同i也址空间,运4亍用户程序或处理程序。此时,Pl 口作为 状态输入口检测仿真芯片运行,直到准备信号RDY跳变为低电平, 使仿真芯片暂停运行,控制程序回到通讯态。有三种情况准备信号 RDY跳变为低电平1、用户预置断点,即在通讯态时在断点SRAM 的断点地址处的断点标志DO位写入O。当程序运行到预置断点处时, 断点标志DO输出低电平使准备信号RDY跳变为低电平。2、单步执 行,在运行前置单步运行信号TSLP为0,运行中由读操作码同步信 号SYNCSYNC触发,使准备信号RDY跳变为低电平。3、连续运 行中暂停,在运行中由MCU89C52置单步运行信号TSLP为0,由读 操作码同步信号SYNC触发使准备信号RDY跳变为低电平。所述三 种情况都可以保证仿真芯片停在读操作码周期。在单步或连续运行中 如果准备信号RDY不变化,代表仿真芯片进入睡眠,仿真器向外设计算机发送报告内容后保持运行态。执行处理程序时,为了回到入口地址,需分两步执行先将处理
禾呈序纟冬点i也址作为断点写入断点SRAM的断点标志DO {立,然后由仿 真芯片执行;然后回到暂停状态,再单步执行一次跳转指令,回至入 口地址。由此便继续从原位置执行用户程序,当仿真芯片进入脱机运行状态时,仿真板上EEPROM被选通, 控制板和仿真板间地址总线A00—A15和数据总线D0^^D7断开,仿 真芯片运行EEPROM中的程序。按控制板复位键或外设计算机程序 发送任意指令可使仿真器退出脱机运行,回到通讯状态。少免与态:此时仿真芯片电源切断,EEPROM选通,控制板与仿真板地址 总线A00—A15和数据总线DO—D7连通,P3 口控制线复用为 EEPROM读写线,控制板将SRAM中的用户程序写入EEPROM 。在 烧写结束指示灯亮或闪后,外设计算机发送任意指令或按控制板复位 键可退出烧写态,转入通讯态。所述指示灯亮表示烧写成功,指示灯 闪表示烧写失败。在上述工作过程中,除了运行用户程序时以外,内部计时器控制 信号STPCLK= 1时可以停止计时器运作,,由于有些仿真芯片内部RAM读和写对应不同的存储单元, SRAM中对应的是写操作的存储单元,如果同时读控制板SRAM和 仿真芯片内部RAM会引起误操作。本发明控制板上的SRAM除了作 为用户程序和处理程序的存储器外,也与仿真芯片中的RAM对应, 在程序运行中对RAM的写操作也反应在SRAM中,而对RAM的读 操作则通过断点SRAM的RAM和ROM标志Dl进行屏蔽。由此,
数据读操作时只会读出仿真芯片内部RAM,而不读外部的SRAM。 软件部分软件主要分为三部分编译部分、反编译部分和调试仿真部分。 编译编译部分主要实现了用户文本文件的编辑和编译。由于编译过程 中生成的文件类型较多,往往给用户的使用带来不便。本发明软件部 分采用工程菜单实现对用户工程的管理。用户首先应打开工程菜单建 立一个工程名。系统将建立一个以工程名命名的文件目录,用户编辑 的程序文本和编译生成的目标代码文件、列表文件、错误信息文件将 会自动保存在该目录下。所有生成文件的文件名都与工程名相同,但 是后缀名各不相同。本发明使用户操作更加方便、简捷。本实施例软件主框架采用FormView控件,其中主要部分是一个 编辑框,采用RichEditCtr控件。用户可在编辑框中输入程序文本。 由于汇编语言的指令较短,所以整个文本在编辑框中位置偏左。本发 明将编辑框放在主框架右侧,使输入文本显示在整个显示屏的中部。 在视觉效果上避免了用户在编制程序过程中视觉长期停留在屏幕的 左半边,造成不适。在用户输入同时,当前行被分解为操作码、操作 数。所述操作码、操作数以及前行号、总行数显示在主框架左侧的文 本框内。用户程序编辑完成后可以使用编译菜单进行编译。程序调用编译 器设置对话框来进行芯片类型和码型设置,读取编辑框中的程序信息 进行编译。编译生成了程序数据链表。所述程序数据链表每行程序为
一个结点,每个结点的数据结构包含了行号、操作码、操作数、寻址 方式、目标代码等详细信息。所述程序数据链表结构在文档类中创建, 以便亍各个视囝类引用。编译过程中如有错误,系统自动调用信息提 示框函数提示用户,用户可以打开编译结果窗口查看编译错误信息并修改错误;编译过程如没有错误,生成目标文件和列表文件并保存于 工程目录下,同时系统自动调用信息提示框函数提示用户 反编译相对于编译系统,反编译系统功能更加模块化。用户只要打开工 程菜单反编译子菜单,调入目标文件,系统会立即开始对目标代码读 取并反编译。反编译程序同样在文档类中生成程序链表。由于系统不在反编译开始之前用户需要选择表格数据的起始地址。用户可以在反 编译完成后,通过对源程序的判断来判定表格数据起始地址的选择是 否正确。如果反编译不成功,用户可以更改表格的起始地址再次反编译;如果反编译成功,主窗口的编辑框中显示反编译产生的源文件。调试仿真用户打开工程菜单仿真子菜单后即进入调试仿真部分。如果之前 用户执行过编译或反编译,内存中则保留了目标程序,调试系统会自 动加栽目标程序;否则,系统会提示用户加载用户目标文件。在本实 施例中调试仿真界面也使用FormView控件,风格与主框架一致。所 述调试仿真界主体是一个列表框,加载目标文件后列表框中显示载入 目标文件的反编i奪〗、码、行号、地址和地址标号。每行代码前有一个
选择小方框,用于标记断点。断点的设置极其灵活。用户既可在选择 小方框中直接点选,也可以打开断点设置菜单通过对话框输入断点地 址,以便程序调用串口通讯函数对仿真器进行设置。用户通过单击界 面左半部分的按钮来单步或连续执行程序,程序调用信息提示框函数 提示用户"程序执行中"。所述提示框的确认键改作"停止"按钮,同 时建立一个监控串口的新线程。当仿真器上用户程序运行暂停(单步 运行完成或连续运行遇到断点),或者用户按下"停止"按钮强行中断 仿真器上用户程序的运行时,串口监控线程接收到仿真器上传信号 (其中主要包括特殊寄存器值)并将所述上传信号转发给主线程后结束本线程。主线程接收到信息后调用显示程序,在界面左下方的文本 框内显示特殊寄存器值。用户还可打开视图菜单中的各个子菜单,包括其它通用寄存器、定时器、1/0端口、 LCD等,所述子菜单的函数 在文档类中实现。每打开一个菜单,程序就建立一个子窗口显示相应 资源的状态。如果用户对子窗口中的资源状态进行修改,子窗口向文 档类发送消息修改相应变量,并调用串口通讯函数对仿真器进行设置。以上所述仅为本发明的具体实施方式
而已,并不用于限定本发 明。任何对本发明作本技术领域内熟知的步骤的替换、组合、分立均 应包含在本发明的保护范围之内。
权利要求
1. 一种微控制器仿真系统,其结构包括仿真器,仿真器受控于外设计算机,完成微控制器芯片的仿真;外设计算机,通过运行仿真软件控制仿真器运作并读入仿真结果;所述仿真器,其结构进一步包括控制板,根据外设电脑指令下载用户程序,监控仿真板的运行,并将运行结果报告给外设计算机;仿真板,仿真板受控于控制板,单步或连续运行用户目标程序或监控程序;电源,将交流电转化为直流电,供给仿真器控制板;所述外设计算机通过串行电缆与控制板连接,控制板和仿真板之间通过电缆连接,电源与控制板相连。
2. 如权利要求1所述的微控制器仿真系统,其特征是所述微 控制器仿真系统可以通过RAM和ROM标志来对RAM的读才喿作进 行屏蔽。
3.如权利要求1所述的微控制器仿真系统,其特征是所述的微 控制器仿真系统分为硬件部分和软件部分,所述硬件部分工作过程执 行处理程序时,为了回到入口地址,先将处理程序终点地址作为断点 写入断点SRAM的断点标志,然后回到暂停状态,再单步执行一次 跳转指令,回至入口地址。
4.如权利要求3所述的微控制器仿真系统,其特征是所述微 控制器仿真系统软件部分采用工程菜单,用户打开工程菜单建立一个 工程名,系统将建立一个以工程名命名的文件目录,用户编辑的程序 文本和编译生成的目标代码文件、列表文件、错误信息文件将会自动 保存在所述以工程名命名的文件目录下。
5.如权利要3所述的微控制仿真系统,其特征是所述微控制 器仿真系统软件部分将编辑框放在主框架右侧,使输入文本显示在整 个显示屏的中部。
全文摘要
一种微控制器仿真系统,其结构包括外设计算机、控制板、仿真板和电源。仿真器由控制板、仿真板和电源三个部分组成。外设计算机,通过运行仿真软件控制仿真器运作并读入仿真结果;控制板,根据外设电脑指令下载用户程序,监控仿真板的运行,并将运行结果报告给外设计算机;仿真板,仿真板受控于控制板,单步或连续运行用户目标程序或监控程序;电源,供电给仿真器控制板。本发明主要应用于微控制器仿真芯片的仿真。
文档编号G06F11/36GK101211308SQ20061014811
公开日2008年7月2日 申请日期2006年12月27日 优先权日2006年12月27日
发明者居水荣, 勇 王, 王会刚, 顾晓红 申请人:无锡华润矽科微电子有限公司