简单高效的在线仿真方法及接口电路的制作方法

文档序号:6502481阅读:126来源:国知局
简单高效的在线仿真方法及接口电路的制作方法
【专利摘要】一种简单高效的在线仿真方法及接口电路,用于软件开发工具通过一通信接口对单片机系统进行在线仿真或调试。所述接口电路连接在该通信接口与带有一CPU的第二电路之间,包括第一内部寄存器,连接源自通信接口的下行数据总线以获得写入数据并通过命令数据总线DBI输出往仿真器,该仿真器还连接所述通信接口的读/写控制线和所述下行数据总线;该仿真器还连接一断点寄存器堆及所述CPU;该断点寄存器堆还接入所述下行数据总线;输出自CPU的CPU状态总线CPU_STAT连往所述通信接口以便传送给另一通信方。采用本发明,极大方便了应用开发者对单片机实时全面的在线仿真。
【专利说明】简单高效的在线仿真方法及接口电路
[0001]【技术领域】本发明涉及电数字数据通信技术,特别涉及装置或设备之间仿真数据的传送及处理。
[0002]【背景技术】单片机诞生于1971年,经历了 SCM (单片微型计算机)、MCU (微控制器)、S0C (片上系统)三大阶段。早期SCM单片机为8位机或4位机,其中最成功的是英特尔(INTEL)公司的8031系列。此后在8031上发展出了 MCS51系列MCU系统,基于这一系统的单片机及其系统直到现在还被广泛使用。90年代后随着消费电子产品和半导体技术的迅猛发展,单片机技术得到了快速发展。目前单片机被广泛应用于消费电子、仪器仪表、工业控制、医用设备、智能化和过程控制等领域,随着应用环境的多样化,系统开发对单片机的在线仿真接口的要求越来越高,支持多功能、实时性强和仿真的非破坏性是其中的最迫切要求。
[0003]目前市场上支持在线仿真的产品不多,一般只提供烧录功能。绝大部分是采用UART (通用异步接收发送)接口通过各自厂商提供的调试软件来把编译好的程序烧录到单片机。
[0004]大部分国内厂商现有单片机在线仿真功能的不足之处在于:1、烧录采用的UART接口存在速度过慢及要另外设置波特率的缺点;2、不支持单片机在Keil集成环境下的调试,调试实时性差:它们通常要求用户使用Keil开发软件(一种C51编译器),生成hex文件后再通过厂商提供的ISP工具来完成下载编程;若软件没有实现预期的目标,则需要回到Keil集成环境修改程序再编译再生成hex再用ISP下载;用户调试往往要在Keil和ISP之间回来好几次才能把程序调试好,开发周期也因此延长。3、基本调试功能诸如暂停、运行、监视寄存器等不能原生支持,要用户另辟蹊径。如果想观察被调试单片机的内部寄存器或RAM的内容,则需要用户另外写一段程序把这些内容经UART传输给上位机,上位机软件接收后对这些内容进行显示。如果要执行“暂停”则需要特殊的技巧,例如但不限于先编写一个子函数cmd_poll ;在主函数里周期性的调用该子函数cmd_poll,通过该子函数cmd_poll查询某个用作命令解释的变量,例如CMD,若查询到CMD等于预先定义的某个值,比如说“暂停”,程序则把感兴趣的SFR (特殊功能寄存器)或IRAM (内部RAM)通过UART上传到上位机,然后再次查询CMD,如果它等于“运行”,则跳出此子函数回到主函数里,否则循环查询。现有在线仿真接口对于设置断点、单步和运行到光标处等高级调试命令则毫无办法。这些缺点都将大大降低用户对单片机开发软件的体验度,并严重影响系统软件开发周期。
[0005]
【发明内容】
本发明要解决的技术问题是针对上述现有技术的不足之处,而提出一种在线仿真方法及接口电路,以全面支持Keil调试命令来给MCU提供必要的在线调试功倉泛。
[0006]为解决上述技术问题,本发明的基本构思为:在主机与从机之间建立起一种联系,使之在特定的情况下进入在线仿真或调试的模式,这样允许从机在可正常脱机工作之外,增加一种直接获得软件开发环境支持的可能来降低软件开发的复杂流程。若从通信接口协议方面就开始规范,系统的架构将可以得到进一步简化。
[0007]作为实现本发明构思的技术方案是,提供一种一种简单高效的在线仿真方法,尤其是,包括:
步骤A.将软件开发工具通过一通信接口连接一单片机系统以进行主从机间的同步通信;所述单片机系统为以一单片机为中央控制单元的一电路、装置或设备;该单片机内部设置有一第一内部寄存器;
步骤B.所述软件开发工具通过该通信接口向所述第一内部寄存器执行写“命令数据”的步骤;当所述命令数据为有效命令数据则所述单片机启动主机对从机CPU当前在线命令的命令操作;
反复执行步骤B直到完成主从机间的在线仿真或调试。
[0008]上述方案中,所述有效命令数据为一组预定义的单字节二进制数,分别对应着的在线命令包括:软复位、暂停、设置断点、取消断点、全速运行、单步进入或访问SFR、访问IRAM、访问 XRAM、访问 FLASH。
[0009]上述方案中,所述通信接口包括二线同步串行通信接口,该二线同步串行通信接口包括两根信号线一为时钟线Y2CK另一为数据线Y2D的Y2接口 ;所述主从机基于该两根信号线以4个基本命令的数据传输过程为元素进行组合而进行双向数据传输,该4个基本命令包括“读地址”、“写地址”、“读数据”和“写数据”命令。进一步地,定义一地址数据来对应第一内部寄存器的地址,则步骤B包括:主机通过所述Y2接口发出写入该地址数据的“写地址”命令,再发出写所述命令数据的“写数据”命令。具体来说,所述基本命令的格式如表
【权利要求】
1.一种简单高效的在线仿真方法,其特征在于,包括: 步骤A.将软件开发工具通过一通信接口连接一单片机系统以进行主从机间的同步通信;所述单片机系统为以一单片机为中央控制单元的一电路、装置或设备;该单片机内部设置有一第一内部寄存器; 步骤B.所述软件开发工具通过该通信接口向所述第一内部寄存器执行写“命令数据”的步骤;当所述命令数据为有效命令数据则所述单片机启动主机对从机CPU当前在线命令的命令操作; 反复执行步骤B直到完成主从机间的在线仿真或调试。
2.根据权利要求1所述简单高效的在线仿真方法,其特征在于:所述有效命令数据为一组预定义的单字节二进制数,分别对应着的在线命令包括:软复位、暂停、设置断点、取消断点、全速运行、单步进入或访问SFR、访问IRAM、访问XRAM、访问FLASH。
3.根据权利要求1所述简单高效的在线仿真方法,其特征在于:所述通信接口包括二线同步串行通信接口,该二线同步串行通信接口包括两根信号线一为时钟线Y2CK另一为数据线Y2D的Y2接口 ;所述主从机基于该两根信号线以4个基本命令的数据传输过程为元素进行组合而进行双向数据传输,该4个基本命令包括“读地址”、“写地址”、“读数据”和“写数据”命令。
4.如权利要求3所述简单高效的在线仿真方法,其特征在于:定义一地址数据来对应第一内部寄存器的地址,则步骤B包括:主机通过所述Y2接口发出写入该地址数据的“写地址”命令,再发出写所述命令数据的“写数据”命令。
5.根据权利要求3所述简单高效的在线仿真方法,其特征在于:所述基本命令的格式如表
6.一种简单高效的在线仿真接口电路,连接在一通信接口与带有一 CPU的第二电路之间;其特征在于,包括: 第一内部寄存器,该第一内部寄存器连接源自所述通信接口的下行数据总线以通过该通信接口获得写入数据,该写入数据可通过命令数据总线DBI输出;接入所述命令数据总线DBI的仿真器,该仿真器还连接源自所述通信接口的读/写控制线和所述下行数据总线;该仿真器与所述CPU之间的连接包括:输出自该CPU的取指控制线LIR和程序计数器PC总线,输出自该仿真器的操作命令线; 所述仿真器还与一断点寄存器堆进行连接,输出断点寄存器写控制信号往断点寄存器堆,或接收来自该断点寄存器堆的断点数据;该断点寄存器堆还接入所述下行数据总线;输出自CPU的CPU状态总线CPU_STAT连往所述通信接口以便传送给另一通信方。
7.根据权利要求6所述简单高效的在线仿真接口电路,其特征在于: 所述第二电路包括存储单元,该仿真器通过该仿真器输出的访问地址总线ADR和一组内存写控制输出线来与所述第二电路的存储单元进行连接;所述下行数据总线还接往所述第二电路的存储单元; 该在线仿真接口电路还包括一内存访问接口,输出自所述存储单元的存储数据总线连接到所述内存访问接口,以供该内存访问接口在来自所述仿真器的一组读控制信号线RDx的控制下选择相应存储单元的存储数据来通过所述通信接口传送给另一通信方; 所述存储单元包括FLASH、I RAM, XRAM或SFR ;相应地,所述内存写控制输出线包括连接FLASH的擦除信号线ERA和第一写控制输出线WR_FLASH、连接IRAM的第二写控制输出线WR_IRAM、连接XRAM的第三写控制输出线WR_XRAM或连接SFR的第四写控制输出线WR_SFR。
8.根据权利要求6或7所述简单高效的在线仿真接口电路,其特征在于: 所述通信接口包括两根进行双向数据传输的信号线,即时钟线Y2CK和数据线Y2D ;该在线仿真接口电路还包括连接该时钟线Y2CK和数据线Y2D的通信接口电路Y2I,以实现一侧串行传输数据与另·一侧并行处理数据之间的数据转换;该通信接口电路Y2I包括: 分别连接所述数据线Y2D和时钟线Y2CK的移位寄存器,把来自数据线Y2D的下行串行数据转换成下行并行数据输出往所述下行数据总线Y2_WDATA,或锁存来自地址寄存器或寄存器堆的上行并行数据; 移位输出三态门,输入端接所述下行数据总线Y2_WDATA的最低位线,输出端接所述数据线Y2D,以把移位寄存器锁存的数据串行输往所述数据线Y2D ; 连接所述时钟线Y2CK和所述下行数据总线Y2_WDATA的主状态机,完成对所述下行并行数据所携带协议命令的译码以在输出控制线上输出相应的控制信号,所述输出控制线包括:连接所述移位寄存器的读脉冲信号线Y2_RD、连接所述寄存器堆写脉冲信号线Y2_WR、连接地址寄存器的写控制信号线AR_ WR和连接所述移位输出三态门的控制端的数据方向控制线DIR,连接所述移位寄存器的锁存控制线; 所述地址寄存器还分别连接所述时钟线Y2CK和下行数据总线Y2_WDATA,受控或者传送该地址寄存器的内容为所述上行并行数据;或者将所述下行并行数据写入该地址寄存器; 所述寄存器堆包括所述第一寄存器和一第二寄存器,该第二寄存器的数据输入端还或者连接所述CPU状态总线CPU_STAT或者连接所述内存访问接口的数据输出端;该寄存器堆还分别连接所述时钟线Y2CK、下行数据总线Y2_WDATA和来自所述地址寄存器的地址数据总线AddrR,受控对包括所述第一寄存器和一第二寄存器在内的各内部寄存器或者进行寻址读操作来提供所述上行并行数据,或者进行寻址写操作来将所述下行并行数据写入地址对应的内部寄存器。
9.根据权利要求8所述简单高效的在线仿真接口电路,其特征在于:还包括连接在所述通信接口电路Y2I和所述仿真器之间的同步器SYNC,接收来自时钟线Y2CK和来自第二电路的第二时钟线CPU_CLK的不同时钟信号,把来自所述读脉冲信号线Y2_RD和写脉冲信号线Y2_WR的信号分别同步到输出往所述仿真器的读/写控制线,该读/写控制线包括第二读脉冲信号线Y2_RD_S和第二写脉冲信号线Y2_WR_S ;该同步器SYNC还通过一输出的应答线ACK连接所述主状态机。
10.根据权利要求8任一项所述简单高效的在线仿真接口电路,其特征在于:所述程序计数器PC总线或所述断点寄存器堆的数据输出总线还分别连接到所述寄存器堆。
11.根据权利要求6所述简单高效的在线仿真接口电路,其特征在于:所述操作命令线包括软复位线SOFT_RST或暂停线STALL。
12.—种集成电路芯片,包括带有一 CPU的第二电路,其特征在于:还包括如权利要求.6^10任一项所述简单高效的在线仿真接口电路。
【文档编号】G06F17/50GK103714190SQ201310164614
【公开日】2014年4月9日 申请日期:2013年5月7日 优先权日:2013年5月7日
【发明者】陈建业 申请人:深圳市汇春科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1