MCU调试控制电路的制作方法

文档序号:30169272发布日期:2022-05-26 10:01阅读:119来源:国知局
MCU调试控制电路的制作方法
mcu调试控制电路
技术领域
1.本实用新型涉及芯片调试技术领域,尤其是涉及一种mcu调试控制电路。


背景技术:

2.随着芯片设计技术的飞速发展,mcu芯片对管脚功能的要求越来越高,方案商趋向于用pin数更少的芯片实现更丰富的应用功能。
3.市场上现有的mcu芯片主流的调试接口有三种:四线调试、双线调试和单线调试。其中,四线调试接口一般是标准的jtag接口,需要占用芯片中的四个io接口,导致在调试过程中这四个io接口不能当功能pin使用,对于方案开发过程中的仿真调试并不友好,而且四根线会增加调试过程中的硬件复杂度。而单线调试接口虽然把io占用率降到了最低,但是在实现技术难度上比较困难,而且其可靠性和调试速度难以保证。双线调试为目前市场中最主流的调试模式,但是没有统一的实现方案,arm内核的swd调试接口流行度最高,但仅适用于使用arm内核的芯片。为此,在mcu芯片设计中提供一种低成本、快速且可靠的调试接口显得尤为重要。


技术实现要素:

4.本实用新型旨在至少解决现有技术中存在的技术问题之一。为此,本实用新型提出了一种mcu调试控制电路,在提升调试效率的同时,也提高了可靠性。
5.根据本实用新型实施例的mcu调试控制电路,包括:通信协议处理模块,用于按照通信协议与片外的调试器进行信息交互,所述通信协议处理模块通过mcu的两个io接口与所述调试器电性连接,其中一个所述io接口用于传输时钟信号,另一个所述io接口用于传输调试指令;事件处理模块,与所述通信协议处理模块电性连接,所述事件处理模块用于根据接收到的调试指令执行相应的动作,包括但不限于控制mcu的cpu、访问所述mcu内部的sram、访问所述mcu内部的flash,并将获取到的内部数据通过所述通信协议处理模块传输至所述调试器。
6.根据本实用新型实施例的mcu调试控制电路,至少具有如下有益效果:通信协议处理模块提供了高可靠性的通信交互方式,且只使用两个io接口即可完成通信;事件处理模块提供了丰富的调试功能,方便软件开发人员进行程序调试;除了可以控制cpu的行为以及断点的类型和数量之外,还能直接访问内部的sram和falsh,调试功能的丰富性突出。
7.根据本实用新型的一些实施例,所述通信协议处理模块包括:电平侦测电路,以所述时钟信号为工作时钟,并根据所述时钟信号检测所述调试指令的电平状态;串并转换电路,与所述电平侦测电路电性连接,所述串并转换电路用于对所述调试指令进行串并转换;调试指令判断电路,与所述串并转换电路电性连接,所述调试指令判断电路用于判断已完成串并转换的所述调试指令是否符合预设的指令码;通信模式状态机,与所述调试指令判断电路电性连接,当所述调试指令符合预设的指令码时,所述通信模式状态机根据相应的所述调试指令进入相应的状态;调试指令发送器,与所述通信模式状态机电性连接,在所述
通信模式状态机进入相应的状态后,向所述事件处理模块发送所述调试指令;数据缓存器,用于缓存所述事件处理模块所发送的所述内部数据;通讯编码器,分别与所述数据缓存器和所述调试器电性连接,所述通讯编码器用于对所述内部数据进行编码,并发送至所述调试器。
8.根据本实用新型的一些实施例,所述通信协议处理模块还包括应答处理电路,所述应答处理电路的输入端与所述通信模式状态机的输出端电性连接,所述应答处理电路的输出端与所述调试器电性连接,所述应答处理电路用于在每接收到一笔通信数据时,向所述调试器发送应答信号。
9.根据本实用新型的一些实施例,所述事件处理模块包括:调试指令接收器,用于接收所述通信协议处理模块所发送的所述调试指令;事件处理状态机,与所述调试指令接收器电性连接,所述事件处理状态机用于根据所述调试指令进入相应的事件状态;cpu控制接口,分别与所述事件处理状态机和所述cpu电性连接;sram访问接口,分别与所述事件处理状态机和所述sram电性连接;flash访问接口,分别与所述事件处理状态机和所述flash电性连接。
10.根据本实用新型的一些实施例,所述事件处理模块还包括内部寄存器访问接口,所述内部寄存器访问接口用于访问所述事件处理模块的内部寄存器。
11.本实用新型的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本实用新型的实践了解到。
附图说明
12.本实用新型的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
13.图1为本实用新型实施例的mcu调试控制电路的结构示意图;
14.图2为本实用新型实施例的通信协议处理模块的结构示意图;
15.图3为本实用新型实施例的事件处理模块的结构示意图;
16.附图标记:
17.通信协议处理模块100、电平侦测电路110、串并转换电路120、调试指令判断电路130、通信模式状态机140、调试指令发送器150、数据缓存器160、通讯编码器170、电平状态计数器180、应答处理电路190、事件处理模块200、调试指令接收器210、事件处理状态机220、cpu控制接口230、sram访问接口240、flash访问接口250、内部寄存器访问接口260、cpu300、sram400、flash500。
具体实施方式
18.本部分将详细描述本实用新型的具体实施例,本实用新型之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本实用新型的每个技术特征和整体技术方案,但其不能理解为对本实用新型保护范围的限制。
19.在本实用新型的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第
一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
20.本实用新型的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本实用新型中的具体含义。
21.如图1所示,根据本实用新型实施例的mcu调试控制电路,包括通信协议处理模块100和事件处理模块200;其中,通信协议处理模块100用于按照通信协议与片外的调试器进行信息交互,通信协议处理模块100通过mcu的两个io接口与片外的调试器电性连接,其中一个io接口用于传输时钟信号debug_clk,另一个io接口用于传输调试指令debug_dat;事件处理模块200与通信协议处理模块100电性连接,事件处理模块200用于根据接收到的调试指令执行相应的动作,包括但不限于控制mcu的cpu300、访问mcu内部的sram400、访问mcu内部的flash500,并将获取到的内部数据通过通信协议处理模块100传输至调试器。
22.具体地,通信协议处理模块100负责与片外的调试器通信,包括对接收到的信号按照通信协议进行解释判别,以及输出事件处理模块200所发送的内部数据;事件处理模块200负责对接收到的指令执行相应的控制动作,包括控制cpu300、访问内部的sram400、访问内部的flash500等。整个mcu调试控制电路是外部调试器和mcu内部之间沟通的一个桥梁,由外部调试器发起通信,通信协议处理模块100接收通信信号,并解释协议,把得到的正确指令传递给事件处理模块200;事件处理模块200再根据指令任务,分别对cpu300、sram400和flash500等执行相应的控制操作;当需要把内部数据通过调试接口传递到外部调试器时,由事件处理模块200获得数据,然后传递给通信协议处理模块100,按照约定的通信协议往外传输。
23.根据本实用新型实施例的mcu调试控制电路,相对于传统的四线调试接口,本设计只需要占用两个io接口就能完成调试功能,一个io接口用于传输时钟信号debug_clk,一个io接口用于传输调试指令debug_dat,调试指令按照时钟节拍传输,因此,不需要依赖mcu本身的时钟通信,同时也不需要预留采样窗口,在提高通信效率的同时也提高了可靠性。
24.进一步地,如图2所示,在本实用新型的一些实施例中,通信协议处理模块100包括依次电性连接的电平侦测电路110、串并转换电路120、调试指令判断电路130、通信模式状态机140和调试指令发送器150,还包括数据缓存器160和通讯编码器170。其中,电平侦测电路110以时钟信号debug_clk为工作时钟,并根据时钟信号检测调试指令debug_dat的电平状态,即在时钟的上升沿检测debug_dat的电平状态;在默认情况下,debug_clk对应的io接口为内部上拉状态,避免浮空导致电平状态不稳定所带来的干扰。串并转换电路120用于对调试指令进行串并转换,即缓存debug_dat输入的单bit信号,并完成串并转换。调试指令判断电路130用于判断已完成串并转换的调试指令是否符合预设的指令码;对于每种指令码而言,分别具有固定的header,因此,对于完成串并转换的数据首先要判断其header是否符合约定的协议,然后判断header后面的调试指令是否为约定的指令码。当接收到的数据符合通信协议且符合预设的指令码时,通信模式状态机140根据相应的调试指令进入相应的状态。在通信模式状态机140进入相应的状态后,调试指令发送器150便向事件处理模块200发送调试指令。数据缓存器160则是用于缓存mcu需要发送给片外调试器的内部数据。通讯编码器170用于对内部数据进行编码,并发送给片外的调试器。
25.进一步地,如图2所示,在本实用新型的一些实施例中,通信协议处理模块100还包括电平状态计数器180,电平状态计数器180的输入端与电平侦测电路110的输出端电性连接,电平状态计数器180的输出端与调试指令判断电路130的输入端电性连接,电平状态计数器180用于对调试指令debug_dat保持高/低电平状态进行计数,以便系统判断数据传输是否有误。
26.进一步地,如图2所示,在本实用新型的一些实施例中,通信协议处理模块100还包括应答处理电路190,应答处理电路190的输入端与通信模式状态机140的输出端电性连接,应答处理电路190的输出端与调试器电性连接,应答处理电路190用于在每接收到一笔通信数据时,向调试器发送应答信号。通过应答处理电路190向片外的调试器所反馈的应答信号,保证通信的准确性。
27.如图3所示,事件处理模块200包括调试指令接收器210、事件处理状态机220、cpu控制接口230、sram访问接口240和flash访问接口250;其中,调试指令接收器210用于接收通信协议处理模块100所发送的调试指令;事件处理状态机220用于根据调试指令进入相应的事件状态;cpu控制接口230分别与事件处理状态机220和cpu300电性连接;sram访问接口240分别与事件处理状态机220和sram400电性连接;flash访问接口250分别与事件处理状态机220和flash500电性连接。
28.具体地,事件处理模块200工作在高频时钟域,与通信协议处理模块100的时钟异步,因此,需要在调试指令接收器210处做异步过渡。事件处理状态机220主要处理的事件状态包括但不限于:通过cpu控制接口230控制cpu300运行、通过sram访问接口240访问sram400、以及通过flash访问接口250访问flash500。cpu控制接口230,用于控制cpu300暂停运行、全速运行、复位、单步执行等,并可以设置cpu300运行过程中的断点类型、断点位置和断点数量等。sram访问接口240,用于产生sram400的读/写控制信号,对sram400进行单次访问或连续访问。flash访问接口250,用于产生flash500的读/写控制信号,对falsh500进行单次访问或连续访问。最终将所获取的内部数据,发送至通信协议处理模块100,由通信协议处理模块100发送至外部的调试器。
29.此外,如图3所示,事件处理模块200还包括内部寄存器访问接口260,内部寄存器访问接口260用于读/写事件处理模块200内部的特殊功能寄存器。
30.综上可知,根据本实用新型实施例的mcu调试控制电路:
31.1.通信协议处理模块100提供了高可靠性的通信交互方式,且只使用两个io接口即可完成通信;
32.2.事件处理模块200提供了丰富的调试功能,方便软件开发人员进行程序调试。除了可以控制cpu300的行为以及断点的类型和数量之外,还能直接访问内部的sram400和falsh500,调试功能的丰富性突出。
33.3.通信协议处理模块100和事件处理模块200工作在不同的时钟域,既能保证通信的可靠性,又能使内部事件处理高速执行,保证调试的效率。
34.在本说明书的描述中,参考术语“一个实施例”、“进一步实施例”、“一些具体实施例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本实用新型的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的
一个或多个实施例或示例中以合适的方式结合。
35.尽管已经示出和描述了本实用新型的实施例,本领域的普通技术人员可以理解:在不脱离本实用新型的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本实用新型的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1