一种用于ICD的单线接口技术制造技术

技术编号:17388640 阅读:129 留言:0更新日期:2018-03-04 13:48
本发明专利技术公开了一种用于ICD的单线接口技术,该技术通过硬件部分和软胶部分实现,硬件部分通过微处理器实现,微处理器具有CS‑SWD接口,微处理器通过数字逻辑进行信号编解码后,再进行串并转换,得到并行控制总线,最终与微处理器总线合并后,通过CS‑SWD接口控制MCU的片上外设。软件部分则通过软件底层函数进行信号编解码,再将转换后的字节信息作为函数参数传递给上层,并最终通过USB协议传递到PC端。

A single line interface technology for ICD

The invention discloses a method for single ICD interface technology, this technology is realized by hardware and soft, the hardware part by the microprocessor, the microprocessor with CS SWD microprocessor interface, signal encoding and decoding by digital logic, then the string conversion, parallel control bus, and microprocessor bus after the merger through the CS SWD interface control MCU peripherals. In software part, signal encoding and decoding is done through software bottom function, then the converted byte information is passed to the upper layer as function parameter, and finally passed to PC terminal through USB protocol.

【技术实现步骤摘要】
一种用于ICD的单线接口技术
本专利技术属于集成电路
,特别涉及一种片上调试的接口技术。
技术介绍
基于片上调试模块(In-CircuitDebug,ICD)的MCU内核当中,作为嵌入式系统实时仿真调试的核心技术。而ICD技术最重要的一个技术模块,就是调试端口通信技术。目前MCU的调试技术,主要有ICE(In-CircuitEmulation)和ICD两大技术。相比ICE技术,ICD技术最大的特点是片上调试,即直接在真实的MCU上面进行单步调试,实时性高、调试运行的结果基本与最终的运行结果相同。国外微控制器厂商,如TI的MSP430系列,ARM的Cortex系列等,都有自己的调试专利技术。一般调试技术与处理器内核是一体的,是微处理器领域的重要分支。处理器、调试器(仿真器)以及编译器是嵌入式系统的三大关键性技术。在8位MCU领域,国内由于一直没有自主开发的处理器内核,相应的调试专利技术也是非常匮乏。如专利申请201410728172.0公开了一种应用于航空电子
的面向ICD的ARINC429总线信号仿真测试组件。本专利技术定义一组符合ARINC429标准的基本信号类库,构建ARINC429总线信号的标准模型,在用户录入ICD信息后,生成仿真信号配置文件,采用XML格式的文件保存ARINC429总线信号配置文件数据;ARINC429总线读取信号配置文件的配置信息,加载相应的ARINC429信号控件,在ARINC429总线信号仿真输出界面,设置参数工程值,根据信号配置文件的配置信息将参数工程值自动解算为ARINC429源码值,将数据打包传送给ARINC429板卡驱动层接口,驱动仪器输出仿真信号。然而,该专利申请仍然需要传统的总线控制模式,虽然能够保证数据的传输速率,但是占用资源多,效率低。
技术实现思路
基于此,因此本专利技术的首要目地是提供一种用于ICD的单线接口技术,该技术仅需要一根通信线实现调试控制信息的编解码,在能保证数据传输速率的情况下,极大的减少了引脚资源的占用。本专利技术的另一个目地在于提供一种用于ICD的单线接口技术,该技术采用自定义的主从模式的单线协议,在芯片处理器端通过硬件逻辑实现从机,并在调试探针设备CS-Link中实现主机,且实现简便,成本低廉。为实现上述目的,本专利技术的技术方案为:一种用于ICD的单线接口技术(简称CS-SWD,英文含义是ChipseaSingleWireDebug),其特征在于该技术通过硬件部分和软胶部分实现,硬件部分通过微处理器实现,微处理器(MCU)具有CS-SWD接口,微处理器通过数字逻辑进行信号编解码后,再进行串并转换,得到并行控制总线,最终与微处理器总线合并后,通过CS-SWD接口控制MCU的片上外设。因此,可以从通过CS-SWD接口,PC端的集成开发环境便可以实时的获取MCU内部任何信息。软件部分则通过软件底层函数进行信号编解码,再将转换后的字节信息作为函数参数传递给上层,并最终通过USB协议传递到PC端。本专利技术采用一种单线通信协议。一般MCU的引脚资源都比较紧张,调试引脚一般复用正常引脚。调试口越多,意味着用户在调试过程中,更多的正常引脚无法使用。因此,本专利提出单线通信协议,最大限度的减少复用。进一步,所述CS-SWD接口遵从CS-SWD协议,CS-SWD协议总共分为三层:码元层、通信层、命令层,其中:码元层:定义了码元的基础格式;通信层:定义了一次通信的基础传输格式;命令层:定义了不同命令字段下的完整传输格式。进一步,所述码元采用不归零码作为通信码元。不归零码是单线通信中的常用码元格式,将占空比不一样的脉冲信号,分别代表0和1。更进一步,CS-SWD码元格式包括发射机的码元和接收机的码元,其中:发射机的码元宽度为22Ts,在码元为1的波形中,2个Ts时钟脉冲的0电平,接着20个时钟周期的1电平;在码元为0的波形中,20个Ts时钟脉冲的0电平,接着2个时钟周期的1电平;接收机接收到码元后,将对其进行解码:1:检测到小于或等于8个连续低电平;0:检测到大于或等于9个连续低电平。更进一步,CS-SWD通信格式包括一个基本的CS-SWD传输,包含命令段和数据段,在命令端与数据中间,还包含响应码和转向等待(TurnRound,TNR)。更进一步,所述命令段和数据段的格式如下:Command格式:头:0命令:b2-b0奇偶校验:pb,ack:ACK=1,NACK=0;Data格式:头:0命令:b7-b0奇偶校验:pb,ack:ACK=1,NACK=0;每一个pb和ack后面都有一段时间长度可变的TNR区域,在该区域段内,CS-SWD总线被释放。在实际应用中,CS-Link调试探针不可能同时连接多颗MCU进行调试,因此点对点的通信足以,其次为了保证实现容易,采取主从模式。更进一步,对于HostWrite,主模块在发完pb后,进入TNR,等待从模块的ack位,而从模块在这段时间内执行写等待操作,完成后发送ack位;如果下一次执行HostRead,则ack后面的TNR依然需要等待读完成,否则从模块在1个位时间后立即就绪。对于HostRead,从模块在发送完成pb后,进入TNR,释放总线;主模块在这段时间内完成接收和校验计算工作,并发送ack给从模块;如果下一次继续读,则ack后的TNR需要等待读完成,否则双方结束通信。在通信期间的问题,主模块可以通过发送128个HSI时钟周期的低电平来复位通信,从模块如果检测到SWIM引脚拉低超过64个HIS时钟周期,将复位通信状态机。进一步,所述主模块在CS-SWD软件实现时,根据CS-SWD协议的分层进行函数分层。其中1)send_nz:发送不归零码元函数;2)recv_nz:接收不归零码元函数;3)__nop():系统空闲指令函数,通过该函数实现码元调整;4)bwrite:字节发送函数,执行该函数实现与一次字节传输;5)bread:字节接收函数,执行该函数实现一次字节接收;6)swrite:写命令函数,执行该函数实现一次写命令传输;7)sread:读命令函数,执行该函数实现一次读命令传输;8)srst:复位命令函数,执行该函数实现一次复位命令传输。send_nz函数将码元值作为输入参数,在函数体内对码元值进行判断;如果是1,则输出0后增加多个__nop()延时,再输出1后增加多个__nop()延时。recv_nz函数将码元值作为输出参数,在函数体内一直等待码元下降沿时刻点;如果下降沿产生,则对0电平进行计数,根据计数值判定接收的码元值。CS-SWD从模块使用数字逻辑实现,其主要包含以下电路模块:2)采样计数器:每次接收到新的码元后,将对输入码元信息SWI进行采样;2)码元脉冲:每次码元结束后,将产生一个码元脉冲ps;3)通信状态机:指示当前传输处在哪个码元;4)码元解码器:对输入码元进行解码,得到码元的值;5)通信复位:对码元进行监控,当满足通信复位条件时,立即复位;6)移位寄存器:对码元进行移位,获得通信字段值;7)奇偶计算:对码元进行实时奇偶计算;8)NHL寄存器:代表命令格式中的N\H\L寄存器;9)字节计数器:对传输的直接进行计数;10)命令状态机:指示当前传输处在哪个字段;11)DB总线产生:生成并行的DB总线本文档来自技高网
...
一种用于ICD的单线接口技术

【技术保护点】
一种用于ICD的单线接口技术,其特征在于该技术通过硬件部分和软胶部分实现,硬件部分通过微处理器实现,微处理器具有CS‑SWD接口,微处理器通过数字逻辑进行信号编解码后,再进行串并转换,得到并行控制总线,最终与微处理器总线合并后,通过CS‑SWD接口控制MCU的片上外设;软件部分则通过软件底层函数进行信号编解码,再将转换后的字节信息作为函数参数传递给上层,并最终通过USB协议传递到PC端。

【技术特征摘要】
1.一种用于ICD的单线接口技术,其特征在于该技术通过硬件部分和软胶部分实现,硬件部分通过微处理器实现,微处理器具有CS-SWD接口,微处理器通过数字逻辑进行信号编解码后,再进行串并转换,得到并行控制总线,最终与微处理器总线合并后,通过CS-SWD接口控制MCU的片上外设;软件部分则通过软件底层函数进行信号编解码,再将转换后的字节信息作为函数参数传递给上层,并最终通过USB协议传递到PC端。2.如权利要求1所述的用于ICD的单线接口技术,其特征在于所述CS-SWD接口遵从CS-SWD协议,CS-SWD协议总共分为三层:码元层、通信层、命令层,其中:码元层:定义了码元的基础格式;通信层:定义了一次通信的基础传输格式;命令层:定义了不同命令字段下的完整传输格式。3.如权利要求2所述的用于ICD的单线接口技术,其特征在于所述码元采用不归零码作为通信码元。不归零码是单线通信中的常用码元格式,将占空比不一样的脉冲信号,分别代表0和1。4.如权利要求3所述的用于ICD的单线接口技术,其特征在于CS-SWD码元格式包括发射机的码元和接收机的码元,其中:发射机的码元宽度为22Ts,在码元为1的波形中,2个Ts时钟脉冲的0电平,接着20个时钟周期的1电平;在码元为0的波形中,20个Ts时钟脉冲的0电平,接着2个时钟周期的1电平;接收机接收到码元后,将对其进行解码:1:检测到小于或等于8个连续低电平;0:检测到大于或等于9个连续低电平。5.如权利要求4所述的用于ICD的单线接口技术,其特征在于CS-SWD通信格式包括一个基本的CS-SWD传输,包含命令段和数据段,在命令端与数据中间,还包含响应码和转向等待(TurnRound,TNR)。6.如权利要求5所述的用于ICD的单线接口技术,其特征在于所述命令段和数据段的格式如下:Command格式:头:0命令:b2-b0奇偶校验:pb,ack:ACK=1,NACK=0;Data格式:头:0命令:b7-b0奇偶校验:pb,ack:ACK=1,NACK=0;每一个pb和ack后面都有一段时间长度可变的TNR区域,在该区域段内,CS-SWD总线被释放。7.如权利要求6所述的用于ICD的单线接口技...

【专利技术属性】
技术研发人员:周乾江秦晨钟崔伟青谢韶波
申请(专利权)人:芯海科技深圳股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1