CN101131658A - 在dsp上利用同步串口输出异步串口调试信息的方法 - Google Patents

在dsp上利用同步串口输出异步串口调试信息的方法 Download PDF

Info

Publication number
CN101131658A
CN101131658A CNA2007101387435A CN200710138743A CN101131658A CN 101131658 A CN101131658 A CN 101131658A CN A2007101387435 A CNA2007101387435 A CN A2007101387435A CN 200710138743 A CN200710138743 A CN 200710138743A CN 101131658 A CN101131658 A CN 101131658A
Authority
CN
China
Prior art keywords
bit
serial port
uart
asynchronous serial
dsp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007101387435A
Other languages
English (en)
Other versions
CN100511164C (zh
Inventor
苗军
丁元欣
丁鹏
柴作朋
祁晓璐
李华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB2007101387435A priority Critical patent/CN100511164C/zh
Publication of CN101131658A publication Critical patent/CN101131658A/zh
Application granted granted Critical
Publication of CN100511164C publication Critical patent/CN100511164C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种在DSP上利用同步串口输出异步串口调试信息的方法,利用同步串口与异步串口的数据帧的结构对应关系,以及同步串口的位时钟与异步串口的波特率的对应关系,构造出异步串口数据帧;同时对DSP上同步串口的帧同步和发送数据的管脚进行逻辑与操作,并对其输出值进行扩展,使其符合异步串口时序,输出异步串口调试信息。与现有技术相比,克服了DSP实际过程中没有调试信息输出通道的弊端,提供稳定可靠的调试输出通道;时效性性好,可以捕捉DSP出现异常时的状态,提供定位问题的线索;UART波特率可以更改,方便用户使用。

Description

在DSP上利用同步串口输出异步串口调试信息的方法
技术领域
本发明涉及数字信号处理器应用领域内在DSP上利用同步串口输出异步串口调试信息的方法,更具体地涉及一种在TI公司生产的DSP上利用同步串口McBsp(Multichannel Buffered Serial Port多通道缓冲串行接口)来构建异步串口UART(Universal Asynchronous Receiver/Transmitter通用异步收发串口),并用其输出调试信息的方法。
背景技术
在DSP(Digital Singnal Processor数字信号处理器)芯片的开发过程中,其调试信息的输出一直是一个令人重点关注的问题,特别是在复现和定位问题的时候尤其重要。在DSP开发的早期可以用仿真器通过jtag口输出调试信息,到了产品化阶段对于Host-Slave----主从机模式DSP的调试信息可以通过主机接口由主机输出,而对于Standalone----单机模式一般采用日志保存的方式,也就是把调试信息保存在FLASH中。这两种方式存在着明显的缺点:前者受限于主机接口,如果此通路异常调试信息则无法正常输出;后者实效性差,日志需要事后用仿真器读出。
异步串口UART以其方便快捷灵活的特点为许多现代处理器作为调试信息输出的首选。另外,DSP的EDMA(Enhanced Direct Memory Access增强型直接内存存取)在启动后无需CPU干预即可工作,即使在DSP死机的情况下也是如此。
所以基于上述的技术背景,本发明需要在DSP芯片中,通过现有的同步串口McBsp实现异步串口UART操作。
发明内容
本发明要解决的技术问题是提供一种在DSP上利用同步串口McBsp输出异步串口UART调试信息的方法。对McBsp的管脚和时钟做一些改动和配置,使其符合UART的传输时序从而构建出异步串口;将一些关键信息集中打印到McBsp的发送缓冲区中,由EDMA负责从McBsp也就是构建的UART(DSP外看到的)输出。
为了解决上述问题,本发明提供了一种在DSP上利用同步串口输出异步串口调试信息的方法,利用同步串口与异步串口的数据帧的结构对应关系,以及同步串口的位时钟与异步串口的波特率的对应关系,构造出异步串口数据帧;同时对DSP上同步串口的帧同步和发送数据的管脚进行逻辑与操作,并对其输出值进行扩展,使其符合异步串口时序,输出异步串口调试信息。
进一步的,本发明所述的方法,其特征在于,所述同步串口,包括:McBsp;所述异步串口,包括:UART;
进一步的,本发明所述的方法,其特征在于,所述同步串口McBsp数据帧结构,包括:1比特的低电平帧同步、以及6至12比特的McBsp同步帧,其位时钟与UART的波特率同频;
进一步的,本发明所述的方法,其特征在于,所述异步串口UART数据帧结构,包括:1比特起始位、5至8比特数据位、1比特可选的奇偶校验位,以及0.5比特或者1至2比特停止位;
进一步的,本发明所述的方法,其特征在于,所述异步串口UART与同步串口McBsp的数据帧的结构对应关系,包括:1比特的低电平帧同步,对应UART的1比特起始位;6至12比特的McBsp同步帧,对应UART的5至8比特数据位、1比特可选的奇偶校验位、以及0.5比特或者1至2比特停止位;
进一步的,本发明所述的方法,其特征在于,所述同步串口McBsp的位时钟与异步串口UART的波特率的对应关系,包括:同步串口McBsp的位时钟与异步串口UART的波特率的同频;
进一步的,本发明所述的方法,其特征在于,所述构造异步串口数据帧,包括:根据上述同频关系、以及所述两种串口的数据帧的结构对应关系,采用展宽同步时钟方法,通过提高同步串口McBsp的位时钟为原来的8倍,获得了与异步串口UART起始位相同宽度的帧同步;
进一步的,本发明所述的方法,其特征在于,所述同步串口McBsp的位时钟,由DSP主时钟分频获得,此时帧同步的宽度为串口数据字宽的倍数;
进一步的,本发明所述的方法,其特征在于,所述对输出值进行扩展,包括:
在输出值的前端加入8比特的0数据,后端加入8比特的1数据。
采用本发明所述方法,与现有技术相比,克服了DSP实际过程中没有调试信息输出通道的弊端,提供稳定可靠的调试输出通道;时效性性好,可以捕捉DSP出现异常时的状态,提供定位问题的线索;UART波特率可以更改,方便用户使用。
附图说明
图1是DSP系统中Host-Slave模式的设计示意图;
图2是DSP系统中Standalone模式的设计示意图;
图3是UART串口时序和McBsp时序的对应关系示意图;
图4是本发明实施例中构造UART异步串口的示意图;
图5是本发明实施例中数据扩展过程的示意图;
图6是本发明实施例中在DSP上利用同步串口McBsp构造异步串口UART来输出调试信息的结构示意图;
图7是图6所示的本发明实施例的工作流程图。
具体实施方式
本发明为了解决传统技术方案存在的弊端,通过以下具体实施例进一步阐述本发明所述的一种在DSP上利用同步串口McBsp输出异步串口UART调试信息的方法,以下对具体实施方式进行详细描述,但不作为对本发明的限定。
如图1所示,为DSP系统中Host-Slave模式的设计示意图。其中101是带有网口103的HOST芯片,在开发初期DSP 102通过Jtag 104输出调试信息,产品化后调试信息通过主机接口由HOST 101负责输出。
如图2所示,为DSP系统中Standalone模式的设计示意图。在开发初期DSP 201通过Jtag 202输出调试信息,产品化后调试信息一般采用保存日志的方法,日志保存在FLASH存储介质203中。
如图3所示,为UART串口时序和McBsp时序的对应关系示意图。其中,301是UART串口的时序图,UART一帧数据由1bit低电平的起始位、5~8bit数据位、1bit可选的奇偶校验位、1~2bit高电平的停止位(本例为1bit)组成;
302~304是对应的McBsp时序,其中302是位时钟,与UART的波特率同频;303是帧同步信号,低电平1bit宽,高电平n+2bit宽(n=5~8);304是一帧McBsp数据,宽度为mbit(m=n+3)。
可见,完整的一帧UART数据由1bit起始位、5~8bit数据位、1bit可选的奇偶校验位、1~2bit(可取0.5bit)停止位组成。这样的数据帧结构对于McBsp而言,可以解释为包含1bit低电平帧同步(起始位)、6~12数据(数据位+奇偶校验位+停止位)的McBsp同步帧,位时钟与UART的波特率同频。
如图4所示,为本发明实施例中构造UART异步串口的示意图,以1bit起始位、8bit数据位、无奇偶校验位、1bit停止位的UART为例。其中,401是DSP上McBsp的管脚配置,对DSP上McBsp的帧同步与发送数据的管脚进行逻辑与操作;
402是401中经过与门后得到信号即构造的UART信号;
位时钟403是与URAT波特率同频的时钟;
位时钟404由DSP的主时钟分频得到并作为McBsp模块的时钟源,此时帧同步宽度必须要保证是串口数据字宽的倍数,比如8bit宽的数据,帧同步宽度应该是8bit宽;
405是符合UART时序的帧同步输出,低电平有效;
406是经过扩展的数据,byte0~byte7中每个byte实际对应1byte的数据,每个byte要么是全0要么是全1,在这8byte之前添加1个全0的byte,之后添加1个全1的byte,以构成UART的时序。
如图5所示,是本发明实施例中数据扩展过程的示意图。以字符串Hello World!中的H为例,演示了数据的扩展过程以及最终在缓冲区中需要存储的数据,H的ASCII码为0x48,对应二进制数为01001000b。扩展后的数据在存入缓冲区前还需扩展的起始位和停止位。也就是说每表征一个原始字符,需要在缓冲区中分配10byte的存储空间。
如图6所示,是本发明实施例中在DSP上利用同步串口McBsp构造异步串口UART来输出调试信息的结构示意图。由利用同步串口McBsp构建UART的DSP 501、电平转换器件502、连接PC机和UART口的DB9电缆、调试信息的显示终端PC机504组成。在DSP 501中各个重要信息收集模块负责收集需要输出的调试信息,经过数据扩展后送至McBsp的缓冲区,由EDMA负责从构造好的UART口输出;在向PC机串口输入之前,需要经过电平转换器件502,把CMOS电平转换为RS232电平;然后经过电平转换之后的引线接至DB9连接电缆503;最后送至调试信息的显示终端PC机504。501中的GPIO引脚的输入作为UART波特率预设值,在DSP初始化时读入,GPIO1~0的值与UART波特率以及McBsp位时钟的关系如下表:
  GPIO1~0   UART波特率   McBsp位时钟
  00   9600   76800
  01   19200   153600
  10   38400   307200
  11   115200   460800
上表中,采用展宽同步时钟的方法,即提高位时钟的方法:位时钟提高为原来的8倍;这样原有1bit的数据,需要展宽为8bit,0变为8bit0(0x00),1变为8bit 1(0xFF)。从DSP内侧看,依然是同步串口McBsp,而在DSP外面看来,就是UART串口,发送端就1条线。
PC机504也可以通过DB9电缆向DSP 501发送改变波特率的命令,以期达到动态改变波特率的目的。
如图7所示,是图6所示的本发明实施例的工作流程图。包括以下步骤:
步骤601,DSP先读入GPIO输入引脚的值,计算出对应的McBsp位时钟、帧同步频率;
步骤602,根据计算出的时钟、帧同步频率,配置McBsp清空发送缓冲区,启动McBsp。此时由于没有信息收集到发送缓冲区,在DSP外构造好的UART口上只能得到只有起始位和停止位、数据位全空的信号;
步骤603,DSP在运行过程中,会有多个重要信息收集点收集收集调试信息,这些信息包括栈、重要寄存器等;
步骤604,调试信息经过字符串化、扩展拼装后,送至发送缓冲区。缓冲区因为是定时输出,而调试信息不是定时写入的,因此信息输出不是均匀的。在缓冲区切换的时间间隔内,如果没有新的调试信息写入,会重复发送缓冲区中的信息。利用这个特性,可以捕捉DSP异常时的状态,提供定位问题的线索;
步骤605,拼装好后的调试信息通过构造好的UART口输出,实际上就是发送数据与McBsp的帧同步信号进行与操作;
步骤606,UART口输出作电平转换送至DB9电缆;
步骤607,DB9电缆把调试信息送PC机显示,需要在显示前把一些冗余的空信息剔除。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (9)

1.一种在DSP上利用同步串口输出异步串口调试信息的方法,其特征在于,利用同步串口与异步串口的数据帧的结构对应关系,以及同步串口的位时钟与异步串口的波特率的对应关系,构造出异步串口数据帧;同时对DSP上同步串口的帧同步和发送数据的管脚进行逻辑与操作,并对其输出值进行扩展,使其符合异步串口时序,输出异步串口调试信息。
2.如权利要求1所述的方法,其特征在于,所述同步串口,包括:McBsp;所述异步串口,包括:UART。
3.如权利要求2所述的方法,其特征在于,所述同步串口McBsp数据帧结构,包括:
1比特的低电平帧同步、以及6至12比特的McBsp同步帧,其位时钟与UART的波特率同频。
4.如权利要求3所述的方法,其特征在于,所述异步串口UART数据帧结构,包括:
1比特起始位、5至8比特数据位、1比特可选的奇偶校验位,以及0.5比特或者1至2比特停止位。
5.如权利要求4所述的方法,其特征在于,所述异步串口UART与同步串口McBsp的数据帧的结构对应关系,包括:
1比特的低电平帧同步,对应UART的1比特起始位;
6至12比特的McBsp同步帧,对应UART的5至8比特数据位、1比特可选的奇偶校验位、以及0.5比特或者1至2比特停止位。
6.如权利要求5所述的方法,其特征在于,所述同步串口McBsp的位时钟与异步串口UART的波特率的对应关系,包括:
同步串口McBsp的位时钟与异步串口UART的波特率的同频。
7.如权利要求6所述的方法,其特征在于,所述构造异步串口数据帧,包括:
根据上述同频关系、以及所述两种串口的数据帧的结构对应关系,采用展宽同步时钟方法,通过提高同步串口McBsp的位时钟为原来的8倍,获得了与异步串口UART起始位相同宽度的帧同步。
8.如权利要求7所述的方法,其特征在于,所述同步串口McBsp的位时钟,由DSP主时钟分频获得,此时帧同步的宽度为串口数据字宽的倍数。
9.如权利要求2所述的方法,其特征在于,所述对输出值进行扩展,包括:
在输出值的前端加入8比特的0数据,后端加入8比特的1数据。
CNB2007101387435A 2007-08-13 2007-08-13 在dsp上利用同步串口输出异步串口调试信息的方法 Expired - Fee Related CN100511164C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101387435A CN100511164C (zh) 2007-08-13 2007-08-13 在dsp上利用同步串口输出异步串口调试信息的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101387435A CN100511164C (zh) 2007-08-13 2007-08-13 在dsp上利用同步串口输出异步串口调试信息的方法

Publications (2)

Publication Number Publication Date
CN101131658A true CN101131658A (zh) 2008-02-27
CN100511164C CN100511164C (zh) 2009-07-08

Family

ID=39128932

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101387435A Expired - Fee Related CN100511164C (zh) 2007-08-13 2007-08-13 在dsp上利用同步串口输出异步串口调试信息的方法

Country Status (1)

Country Link
CN (1) CN100511164C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508757A (zh) * 2011-11-02 2012-06-20 四川长虹电器股份有限公司 一种Linux系统的串口调试实现方法
CN104572337A (zh) * 2015-01-26 2015-04-29 中国航天科技集团公司第九研究院第七七一研究所 一种芯片间的数据传输方法
CN106528473A (zh) * 2016-09-29 2017-03-22 北京奇艺世纪科技有限公司 一种通用异步收发传输器信息输出方法及装置
CN109086208A (zh) * 2018-08-06 2018-12-25 联想(北京)有限公司 一种数据处理方法及系统
CN110888793A (zh) * 2018-09-07 2020-03-17 上海寒武纪信息科技有限公司 片上代码断点调试方法、片上处理器及芯片断点调试系统
CN111858450A (zh) * 2020-07-23 2020-10-30 中国航空工业集团公司上海航空测控技术研究所 一种基于dsp同步串口的异步串行通信方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508757A (zh) * 2011-11-02 2012-06-20 四川长虹电器股份有限公司 一种Linux系统的串口调试实现方法
CN104572337A (zh) * 2015-01-26 2015-04-29 中国航天科技集团公司第九研究院第七七一研究所 一种芯片间的数据传输方法
CN104572337B (zh) * 2015-01-26 2018-07-10 中国航天科技集团公司第九研究院第七七一研究所 一种芯片间的数据传输方法
CN106528473A (zh) * 2016-09-29 2017-03-22 北京奇艺世纪科技有限公司 一种通用异步收发传输器信息输出方法及装置
CN106528473B (zh) * 2016-09-29 2019-04-12 北京奇艺世纪科技有限公司 一种通用异步收发传输器信息输出方法及装置
CN109086208A (zh) * 2018-08-06 2018-12-25 联想(北京)有限公司 一种数据处理方法及系统
CN110888793A (zh) * 2018-09-07 2020-03-17 上海寒武纪信息科技有限公司 片上代码断点调试方法、片上处理器及芯片断点调试系统
CN111858450A (zh) * 2020-07-23 2020-10-30 中国航空工业集团公司上海航空测控技术研究所 一种基于dsp同步串口的异步串行通信方法

Also Published As

Publication number Publication date
CN100511164C (zh) 2009-07-08

Similar Documents

Publication Publication Date Title
CN100511164C (zh) 在dsp上利用同步串口输出异步串口调试信息的方法
CN101399654B (zh) 一种串行通信方法和装置
CN102163180B (zh) 一种i2c总线接口电路模块及其控制方法
CN101102577A (zh) 无线通信基站系统前后台数据库表数据增量同步方法
CN102609479A (zh) 一种内存数据库节点复制方法
CN102253913A (zh) 一种对多板卡端口进行状态获取和输出控制的装置
CN201917898U (zh) 一种i2c总线接口电路模块
CN108595356B (zh) 一种兼容RSSD硬盘和NVMe硬盘的硬盘背板及方法
CN108234264A (zh) 一种基于PCIe信号接口扩展的数据包转发方法及装置
CN102916776B (zh) 光模块参数传输方法及装置
CN203643598U (zh) 雷达数据记录设备
CN201657014U (zh) 双接口千兆以太网数据采集卡
JPS59501606A (ja) デイジタル伝送ネツトワ−ク中の装置のステ−タス報告の伝送
CN103560977A (zh) 具有输出延迟可精确配置能力的e1成帧控制器及工作方法
KR20080000559A (ko) 휴대폰 및 휴대용 어플라이언스를 위한 저전력 고체 상태저장장치 제어기
CN101944136A (zh) 一种记录多路异步串行通讯信息装置和方法
WO2004068262A3 (en) System and method for network card switchovers in an ip network
CN100563378C (zh) 在帧结构上实现时分复用交换的电路及其交换方法
CN105843768B (zh) 一种单线通信多次可编程存储器烧录方法及基于该方法的烧录装置
CN103888211A (zh) 一种交叉芯片间进行数据传输的方法及装置
CN103490995A (zh) 报文发送方法和装置
CN204155611U (zh) 一种多路音频合并数字录音电路
CN102647297A (zh) 单板的性能告警管理方法及装置
CN113534888A (zh) 一种基于fpga的多张vpx板卡时间同步方法和装置
CN201281852Y (zh) 通用串行总线集线器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090708

Termination date: 20160813