USBtype-C高速debug方法及装置的制造方法

文档序号:9349833阅读:437来源:国知局
USB type-C 高速debug方法及装置的制造方法
【专利说明】
【技术领域】
[0001]本发明涉及一种SOC芯片,特别是涉及一种SOC芯片的debug方法。
【【背景技术】】
[0002]随着SOC芯片技术的迅速发展,CPU的频率越来越快,而目前的debug手段还是传统的jtag连接或者uart串口连接等方法。由于带宽低,造成debug问题时,只能让CPU运行在较低的频率,才能通过debug 口实时观察到debug信息,如果问题是CPU处于高频时才能出现,目前的debug手段很难满足要求。如果使用高速的并口进行debug,又会占用大量的1 口,造成有效1资源不足。所以设计一种占用1少,同时又具有通用高性能特点的debug方法是非常有意义的。
[0003]在移动设备越来越小型化,轻薄化的趋势下,过去笨重的debug设备和并行接口已经不能满足当前的需要。同时移动设备运行速度也越来越快,cpu个数越来越多,过去慢速的debug接口也不能满足高速的需求,所以设计一种轻薄方便且高速稳定的debug方式是非常有意义的。
[0004]USB使用高速差分对信号进行传输,只需要2根差分线线就能完成数据传输,同时type-C保证了 usb物理接口更加轻巧,适应小型和轻薄的移动设备,同时双面可以随便插入也是一大优势,因此本发明提出了使用USB type-C接口作为debug的接口,不仅占用接口很少,并且带宽非常高,完全可以满足多核高速CPU的debug实时数据流量需求。

【发明内容】

[0005]本发明要解决的技术问题,在于提供一种USB type-C高速debug方法和装置,使用USB type-C接口作为debug的接口,不仅占用接口很少,并且带宽非常高,完全可以满足多核高速CPU的debug实时数据流量需求。
[0006]本发明方法是这样实现的:一种USB type-C高速debug方法,包括:
[0007]步骤10、对待debug的soc多核芯片中的每个CPU进行监视,当CPU —旦出现程序指针变化、或者读写操作时,就采集一次该CPU的debug信息,包括运行指针,运行程序内容,读取和写入数据的值,同时定时输出一个时间戳的值;
[0008]步骤20、把每个CPU的debug信息和时间戳值按照固定的格式进行打包,得到debug数据包,并把debug数据包转换为USB协议传输;
[0009]步骤30、所有CPU对应的USB协议传输汇总USB TYPE-C PHY接口数据格式后后送往USB TYPE-C PHY,汇总时给每个CPU的debug信息增加一个唯一的ID标签;然后通过发送通道的两个1输出模拟高速差分信号,送往debug解调电路中的USB TYPE-C PHY ;
[0010]步骤40、debug解调电路中的USB TYPE-C PHY通过接收通道的两个1接收所述模拟高速差分信号,然后转换为数字信号,根据debug数据包的ID标签将汇总的debug信息重新分开为每个CPU的debug信息包,并转换为原始的debug信息包的固定格式;
[0011]步骤50、将debug信息解包,分解出运行指针、运行程序内容、读取和写入数据的值以及时间戳信息,并把这些信息送往对应CPU的debug信息池供工作人员分析。
[0012]本发明装置是这样实现的:一种USB type-C高速debug装置,包括soc多核芯片电路和debug解调电路;
[0013]所述soc多核芯片电路包括复数个CPU监视器、一时间戳控制器、复数个信息打包单元、复数个USB协议转换单元、一 USB数字调制控制器、一第一 USB TYPE-C PHY以及一发送通道;soc多核芯片中的每个CPU均依次连接一 CPU监视器、一信息打包单元、一 USB协议转换单元,且所述复数个CPU监视器均连接所述时间戳控制器,所述复数个USB协议转换单元均依次连接USB数字调制控制器和第一 USB TYPE-C PHY以及发送通道;
[0014]所述debug解调电路包括一接收通道、一第二 USB TYPE-C PHY、USB数字解调控制器、复数个USB协议逆转换单元、复数个信息解包单元以及复数个debug信息池;所述接收通道、第二 USB TYPE-C PHY、USB数字解调控制器依次连接,所述USB数字解调控制器分别连接复数个USB协议逆转换单元,且复数个USB协议逆转换单元、复数个信息解包单元以及复数个debug信息池--对应连接;其中,
[0015]所述soc多核芯片电路中的复数个CPU监视器对待debug的soc多核芯片中的每个CPU进行一一监视,当CPU —旦出现程序指针变化、或者读写操作时,就采集一次该CPU的debug信息,包括运行指针,运行程序内容,读取和写入数据的值,并和时间戳控制器输出的时间戳值一起送往信息打包单元,同时通过所述时间戳控制器定时输出一个时间戳的值;这个时间戳值和每个CPU监视器的debug信息一起送往对应的信息打包单元;所述信息打包单元把对应CPU的debug信息和时间戳值按照固定的格式进行打包,得到debug数据包,并把debug数据包送往USB协议转换单元,USB协议转换单元把每个CPU的debug数据包转换为unipro协议传输,并送往USB数字调制控制器;所述USB数字调制控制器将所有CPU对应的USB协议转换单元的输出汇总后送往第一 USB TYPE-C PHY,汇总时给每个CPU的debug信息增加一个唯一的ID标签;然后第一 USB TYPE-C PHY将unipro协议数据通过发送通道的两个1输出模拟高速差分信号,送往debug解调电路中的USB TYPE-CPHY ;
[0016]所述debug解调电路中的第二 USB TYPE-C PHY通过接收通道的两个1接收所述模拟高速差分信号,然后转换为数字信号的unipro协议数据送往USB数字解调控制器,USB数字解调控制器根据debug数据包的ID标签将汇总的debug信息重新分开为每个CPU的debug信息包送往USB协议逆转换单元,送往USB协议逆转换单元把使用unipro协议传输的debug信息包转换为原始的debug信息包的固定格式,并把原始的debug信息包送往信息解包单元;信息解包单元将debug信息解包,分解出运行指针、运行程序内容、读取和写入数据的值以及时间戳信息,并把这些信息送往对应CPU的debug信息池供工作人员分析。
[0017]进一步的,本发明方法和装置中,所述固定的格式是:数据包头为时间戳,然后紧跟着运行指针,运行程序,读数据、写数据。所述时间戳的值为一个持续累加的值,每隔固定时间就累加I。
[0018]本发明具有如下优点:
[0019]1.本发明采用高带宽的USB type-C,保证了多核CPU可以在全速运行状态下进行debug,大量的CPU状态信息可以实时的通过USB type-C传输出SOC芯片;
[0020]2.本发明的debug信息包括PC指针、时间戳信息、运行命令、读取和写入的数据信息以及CPU的运行状态位信息,综合全面;
[0021]3.目前现有的多核并行运行过程的debug中,独立打印每个CPU的信息值,很难判断每个CPU运行之间的先后关系.而本发明时间戳的设计,在每个CPU的每次debug信息包中都带有一个时间值,通过这个时间戳值可以很清晰的判断debug信息包之间的先后关系,可以很好的解决这个问题;
[0022]4.相较USB2.0和USB3.0,本发明的type_C的物理接口更加轻巧,而且速度更快,适应小型和轻薄的移动设备,同时双面可以随便插入也是一大优势。
【【附图说明】】
[0023]下面参照附图结合实施例对本发明作进一步的说明。
[0024]图1为本发明装置的结构框图。
【【具体实施方式】】
[0025]由于soc多核芯片中的每个CPU都可以独立执行程序,可以多核并行工作,因此,本发明的USB type-C高速debug方法可以对每个CPU进行debug,当debug电路开始工作后,每个CPU—旦出现程序指针变化,或者读写操作,对应的CPU监视器就会采集一次该CPU的debug信息,然后混合时间戳信息打包经过处理后送往debug解调电路,然后经过逆处理过程解码后送往对应CPU的debug信息池,然后debug软件可以将每个CPU的debug信息池的内容实时更新到显示屏幕上供工作人员进行分析,具体包括下述步骤:
[0026]步骤10、对待debug的soc多核芯片中的每个CPU进行监视,当CPU —旦出现程序指针变化、或者读写操作时,就采集一次该CPU的debug信息,包括运行指针,运行程序内容,读取和写入数据的值,同时定时输出一个时间戳的值;所述时间戳的值为一个持续累加的值,每隔固定时间就累加I。
[0027]步骤20、把每个CPU的debug信息和时间戳值按照固定的格式进行打包,得到debug数据包,并把debug数据包转换为USB协议传输;所述固定的格式是:数据包头为时间戳,然后紧跟着运行指针,运行程序,读数据、写数据。
[0028]步骤30、所有CPU对应的USB协议传输汇总USB TYPE-C PHY接口数据格式后后送往USB TYPE-C PHY,汇总时给每个CPU的debug信息增加一个唯一的ID标签;然后通过发送通道的两个1输出模拟高速差分信号,送往debug解调电路中的USB TYPE-C PHY。
[0029]步骤40、debug解调电路中的USB TYPE-C PHY通过接收通道的两个1接收所述模拟高速差分信号,然后转换为数字信号,根据debug数据包的ID标签将汇总的debug信息重新分开为每个CPU的debug信息包,并转换为原始的debug信息包的固定格式。
[0030]步骤50、将debug信息解包,分解出运行指针、运行程序内容、读取和写入数据的值以及时间戳信息,并把这些信息送往对应CPU的debug信息池,然后debug软件可以将每个CPU的debug信息池的内
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1