多重微控器的单芯片微电脑仿真系统及其方法

文档序号:6651315阅读:129来源:国知局
专利名称:多重微控器的单芯片微电脑仿真系统及其方法
技术领域
本发明是有关一种单芯片微电脑仿真系统,特别是指一种多重微控器的单芯片微电脑仿真系统及其方法。
背景技术
微控器(Microcontroller)又称为单芯片计算机(Single chipMicrocomputer),是不需其它辅助电路而能独立执行运算的装置,主要是负责系统产品中各种控制功能的集成电路组件,一颗微控器几乎就是一台微型的计算机,因为它包含了完整计算机所提供的各种功能。微控器程序开发必需使用单芯片的仿真系统,并利用断点(breakpoint)来监控在仿真集成电路上微控器的程序执行状态,以利程序的侦错与追踪。
现有技术中的单芯片仿真系统如图1A所示,其是由一个人计算机10、一单芯片微电脑仿真器12及一待测电路板14构成在线仿真器(In-Circuit Emulator,ICE),其中个人计算机10中有一整合型发展系统软件(Integrated Development Environment,IDE),单芯片微电脑仿真器12中包含一模拟控制器124、一全双工连接端口接口122用来与个人计算机10联机、一程序断点地址缓存器126及用以取代真实单芯片微电脑的微控制核心集成电路128。单芯片微电脑仿真器12可取代待测电路板14上的单芯片微电脑,当单芯片微电脑的程序员要发展单芯片程序时,可在执行程序上设定不同断点,利用断点发生时,所有微控器是在停止状态,可以读取该断点时微控器的状态,借以缩短程序撰写与除错工作的时间。
另一现有的单芯片微电脑仿真系统如图1B所示,其与图1A不同之处在于单芯片微电脑仿真器12会将仿真控制器124、程序断点地址缓存器126及微控制核心集成电路128整合为单一仿真器专用微控制核心集成电路16,其内部的架构如图2A所示,程序设计员利用个人计算机10的发展系统软件,并透过全双工连接端口接口122与仿真控制器124在程序断点地址缓存器126设定断点地址164,并监控一程序计数器162,使程序计数器162执行到断点地址164时停住微控器,用以查看程序执行到该断点地址时,单芯片微电脑的各项状态。图2B所示为单一微控器设定多个断点地址的关系图,此模拟控制器124可设定一个或数个断点地址164,当程序执行到程序计数器162与任何一个已设定的断点地址相同时,微控器就会停在该断点地址上,让发展系统软件得以读取该断点时微控器的状态。以上所示的程序断点地址方法用于单一微控器的仿真系统,只有一个程序计数器无法适用于多重微控器的仿真系统。
因此,本發明即針對上述现有技術的不足,提出一種多重微控器的單晶片微電腦模擬是統及其方法,以有效克服上述的該等問题。

发明内容
本发明的主要目的在提供一种多重微控器的单芯片微电脑仿真系统及其方法,其是利用一多重微控器的模拟控制器,可使每一微控器的程序计数器各自对应至少一断点地址,使程序员可准确有效追踪多重微控器的单芯片微电脑内各个微控器程序执行的状况。
本发明的另一目的在提供一种多重微控器的单芯片微电脑仿真系统及其方法,其可使个人计算机中的发展系统软件很快掌握各个微控器的执行状况,并逐一执行各个微控器指令,以达到程序除错的工作。
本发明的再一目的在提供一种多重微控器的单芯片微电脑仿真系统及其方法,其是透过个人计算机读取单芯片微电脑仿真器的程序执行状态,可有效仿真单芯片微电脑上程序执行与程序除错的功能。
为达上述目的,本发明提供一种多重微控器的单芯片微电脑仿真系统及其方法,其是包括一单芯片微电脑仿真器,具有一模拟控制器及至少二微控器,模拟控制器可控制微控器的各项动作,且每一微控器均有一独立的程序计数器,且各个微控器是在相互错开不同的时序下执行,个人计算机的发展系统软件透过全双工连接端口接口以及仿真控制器对程序断点地址缓存器设定各个微控器执行程序对应的断点地址,当程序执行到设定的断点地址时(程序计数器与设定断点地址相同),仿真控制器会停住所有微控器,此时发展系统软件透过全双工连接端口接口以及模拟控制器得以读取在该断点地址时,各个微控器的状态。本发明利用模拟控制器控制多个微控器,使个人计算机端可准确得到单芯片微电脑仿真器中各个微控器的执行状态。
以下通过由具体实施例详加说明,当更容易了解本发明的目的、技术内容、特点及其所达成的功效。


图1A及图1B为现有技术的单芯片微电脑仿真系统架构图;图2A为现有技术的单一微控器仿真单一断点地址的方块图;图2B为现有技术的单一微控器仿真多个断点地址的方块图;图3为本发明的架构图;图4A为本发明实施例的方块图;图4B为本发明另一实施例的方块图。
图号说明10个人计算机12单芯片微电脑仿真器122全双工连接端口接口124模拟控制器126程序断点地址缓存器128微控制核心集成电路14待测电路板16专用微控制核心集成电路162程序计数器164断点地址20个人计算机22全双工连接端口接口24单芯片微电脑仿真器26模拟控制器28多重微控器的程序计数器30断点地址32程序断点地址缓存器34断点致能开关36断点致能缓存器
38比较器42多重微控器执行状态缓存器具体实施方式
本发明是提供一种多重微控器的单芯片微电脑仿真系统及其方法,其是可设定断点地址用来追踪一单芯片中含有多重微控器的程序执行状态,使个人计算机上的单芯片微电脑仿真程序可以读取在该断点地址时仿真集成电路上各个微控器的状态,并将单芯片微电脑的执行状态告知给单芯片微电脑程序员以利程序开发与侦错。
本发明的多重微控器的单芯片微电脑仿真系统,其架构如图3所示,包括一个人计算机20、一全双工连接端口接口22及一单芯片微电脑仿真器24,此个人计算机20中是装设有一套发展系统软件,用于单芯片微电脑仿真器24的程序撰写与除错,而全双工连接端口接口22可采用并行端口(parallel port)、RS-232、RS-458、GPIB、IEEE1394、万用连接埠(universal serial bus,USB)、小型计算机系统接口(small computer systeminterface,SCSI)或以太网络(Ethernet)等规格,而单芯片微电脑仿真器24则透过全双工连接端口接口22与个人计算机20联机。在单芯片微电脑仿真器24中是包括有一模拟控制器26、一程序断点地址缓存器32,其中包括至少二个断点地址30用以设定程序的断点以及多重微控器的程序计数器28(多重微控器的程序计数器1表示微控器1的程序计数器,多重微控器的程序计数器2表示微控器2的程序计数器,多重微控器的程序计数器3表示微控器3的程序计数器,…,依此类推),且每一多重微控器的程序计数器28可各自对应至少一断点地址30。单芯片微电脑程序员可从个人计算机20透过全双工连接端口接口22对单芯片微电脑仿真器24下达指令,此指令由仿真控制器26接收后,透过一个或数个断点致能开关34分别致能一个或数个多重微控器的程序计数器28相对应的断点,断点被致能的程序计数器会持续的与相对应的断点地址30做比较,当两者相同时,模拟控制器26会立刻停住各个微控器;反之,则两者不比较也不会停住各个微控器,此断点致能开关34用以设定是否对多重微控器的程序计数器28进行断点致能,而模拟控制器26可设定这些断点致能开关34;仿真控制器26可在程序执行到断点地址30且所有微控器停止时,将在该断点地址30多重微控器的所有微控器状态利用全双工连接端口接口22传输给个人计算机20上的发展系统软件。
本发明的一实施例如图4A所示,单芯片微电脑仿真器24欲在所设定的断点地址30停住所有微控器并回传程序执行到该断点地址30时的系统状态,其内部的动作是为个人计算机20的发展系统软件透过全双工连接端口接口22以及仿真控制器26对程序断点地址缓存器32设定各个微控器的执行程序对应的断点地址30,相同的,发展系统软件也对断点致能缓存器36设定,哪些断点地址30以及其相对微控器的程序计数器28要做断点致能,哪些不被致能;在致能情况下,当各个微控器的程序执行到该相对应设定的断点地址30,比较器38比对到多重微控器的程序计数器28与设定的断点地址30相同时,仿真控制器26会停住所有微控器,此时,各个微控器的程序执行状态可透过仿真控制器26以及全双工连接端口接口22传输给个人计算机20;同时,有一多重微控器执行状态缓存器42记录各个微控器执行状态,包括目前的断点地址30是由那个微控器的程序计数器28所发生,此信息亦经由仿真控制器26与全双工连接端口接口22回传至个人计算机20。
本发明的另一实施例如图4B所示,与图4A不同之处在于单芯片微电脑仿真器24中的各个微控器是在相互错开不同时序下被执行,多重微控器的程序计数器28可各自对应一断点地址30,且可以由二个以上的多重微控器的程序计数器28对应同一断点地址30(如图所示,多重微控器的程序计数器2与多重微控器的程序计数器3是共同对应同一断点地址2),在致能情况下,一个多重微控器的程序计数器28可以与二个以上的断点地址30同时在比较器38做比对,以监视是否有任何多重微控器的程序计数器28执行到所设定的断点地址30;由于各个微控器是在相互错开不同时序下被执行,所以在每一断点发生时,通过由多重微控器执行状态缓存器42的信息可以清楚知道该断点是由那个多重微控器的程序计数器28所发生,此信息可透过仿真控制器26回传到个人计算机20,不会因两个以上的多重微控器的程序计数器28设定相同的断点地址30而无法辨识断点由何者所触发,因二个以上的多重微控器的程序计数器28对应同一断点地址30是各自独立的行为,且各个微控器的程序执行时序是错开的,每一断点只由一个多重微控器的程序计数器28触发,在一时间点不会有两个多重微控器的程序计数器28同时触发断点地址30情形。
综上所述,本发明是提供一种多重微控器的单芯片微电脑仿真系统,其是在单芯片微电脑仿真器中设置至少二微控器,使每一多重微控器的程序计数器各自对应至少一断点地址,当程序执行到断点地址时,仿真控制器会停住所有微控器,并可在该断点地址时,把各个微控器的状态传回至个人计算机中,提供程序执行状态给程序员参考。仿真控制器可有效监控单芯片微电脑仿真器上各个微控器的执行状况,以联机方式建立单芯片微电脑仿真器的控制参数,与个人计算机上的发展系统软件的数据进行交换,如此便可达到有效仿真单芯片微电脑的程序发展与除错等功能。
以上所述,仅为本发明的较佳实施例而已,并非用来限定本发明实施的范围。故即凡依本发明申请范围所述的特征及精神所为的均等变化或修饰,均应包括于本发明的申请专利范围内。
权利要求
1.一种多重微控器的单芯片微电脑仿真系统,其特征在于,包括一单芯片微电脑仿真器,其是具有一模拟控制器及至少二微控器,该模拟控制器控制每一该微控器的动作,且每一该微控器均有一独立的程序计数器,各自对应到至少一断点地址,并在该程序计数器执行到该断点地址时停住每一该微控器,并且可在该断点地址时,将每一该微控器的状态传回至该模拟控制器;以及一个人计算机,透过一全双工连接端口接口与该仿真控制器沟通,进而得到该断点地址时的每一该微控器的状态。
2.如权利要求1所述的多重微控器的单芯片微电脑仿真是统,其特征在于,至少二该微控器是利用一程序断点地址缓存器来存放断点地址。
3.如权利要求2所述的多重微控器的单芯片微电脑仿真系统,其特征在于,每一该程序计数器是对应该程序断点地址缓存器的不同的该断点地址。
4.如权利要求1所述的多重微控器的单芯片微电脑仿真系统,其特征在于,每一该程序计数器执行到该断点地址时停住每一该微控器,且该模拟控制器可将在该断点地址时的每一该微控器的状态,透过该全双工连接端口接口传输给该个人计算机。
5.如权利要求1所述的多重微控器的单芯片微电脑仿真系统,其特征在于,更包括一多重微控器执行状态缓存器,当每一该程序计数器执行到该断点地址时,传回一信息至该仿真控制器,以告知方才执行断点地址是为该程序计数器中的何者所对应,并将该信息再传输给该个人计算机。
6.如权利要求1所述的多重微控器的单芯片微电脑仿真系统,其特征在于,所述该仿真控制器可透过至少一断点致能开关分别致能每一该程序计数器的断点。
7.如权利要求1所述的多重微控器的单芯片微电脑仿真系统,其特征在于,所述该各个微控器是在相互错开不同时序下被执行,不同的该程序计数器是可设定相同的该断点地址。
8.如权利要求1所述的多重微控器的单芯片微电脑仿真系统,其特征在于,所述该个人计算机中是有一发展系统软件,用以撰写该单芯片微电脑仿真器的程序及除错。
9.如权利要求1所述的多重微控器的单芯片微电脑仿真系统,其特征在于,所述该全双工连接端口接口是可采用并行端口、RS-232、RS-458、GPIB、IEEE1394、万用连接埠、小型计算机系统接口或以太网络。
10.一种利用多重微控器的单芯片微电脑仿真器仿真执行断点地址的方法,其特征在于,包括以下步骤将一个人计算机透过一全双工连接端口接口联机至一单芯片微电脑仿真器中的一模拟控制器;利用该模拟控制器控制至少二微控器,透过至少一断点致能开关分别致能至少一该微控器的程序计数器的断点;在该程序计数器执行到所对应的一断点地址时停住每一该微控器,并可将在该断点地址时的每一该微控器的状态回传至该模拟控制器;以及透过该全双工连接端口接口将在该断点地址时的每一该微控器的状态传输给该个人计算机。
11.如权利要求10所述的方法,其特征在于,所述该微控器是利用一程序断点地址缓存器来存放该断点地址。
12.如权利要求10所述的方法,其特征在于,当每一该程序计数器执行到该断点地址时停住每一该微控器,该多重微控器执行状态缓存器回传一信息至该仿真控制器,以告知方才执行断点地址是为该程序计数器中的何者所对应,并将该信息再传输给该个人计算机。
13.如权利要求10所述的方法,其特征在于,所述该模拟控制器是可设定至少一个该断点致能开关,分别致能每一该程序计数器的断点。
14.如权利要求10所述的方法,其特征在于,所述该单芯片微电脑仿真器中的该各个微控器是在相互错开不同时序下被执行,不同的该程序计数器是设定相同的该断点地址。
15.如权利要求10所述的方法,其特征在于,所述该个人计算机中是有一发展系统软件,用以撰写该单芯片微电脑仿真器的程序及除错。
全文摘要
本发明提供一种多重微控器的单芯片微电脑仿真系统及其方法,其是在一单芯片微电脑仿真器中含有一模拟控制器、至少两个微控器及与之相对应的程序计数器,每一程序计数器各对应至少一断点地址,并将执行程序停在设定的断点地址上,通过仿真控制器可将各个微控器的状态传送至一个人计算机中,得以使个人计算机上的单芯片微电脑仿真程序读取在断点地址时的各个微控器程序执行状态,让程序设计员可以准确得到单芯片微电脑仿真器的执行情形,有效的完成程序发展与程序除错的工作。
文档编号G06F11/36GK1979445SQ20051013003
公开日2007年6月13日 申请日期2005年12月8日 优先权日2005年12月8日
发明者凌全伯 申请人:应广科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1