CN112634801B - 一种片内逻辑分析仪及芯片调试方法 - Google Patents

一种片内逻辑分析仪及芯片调试方法 Download PDF

Info

Publication number
CN112634801B
CN112634801B CN202110022556.0A CN202110022556A CN112634801B CN 112634801 B CN112634801 B CN 112634801B CN 202110022556 A CN202110022556 A CN 202110022556A CN 112634801 B CN112634801 B CN 112634801B
Authority
CN
China
Prior art keywords
sampling
data
chip
module
upper computer
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.)
Active
Application number
CN202110022556.0A
Other languages
English (en)
Other versions
CN112634801A (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.)
Beijing Jirui Zhiyuan Technology Co ltd
Original Assignee
Beijing Jirui Zhiyuan Technology Co ltd
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 Beijing Jirui Zhiyuan Technology Co ltd filed Critical Beijing Jirui Zhiyuan Technology Co ltd
Priority to CN202110022556.0A priority Critical patent/CN112634801B/zh
Publication of CN112634801A publication Critical patent/CN112634801A/zh
Application granted granted Critical
Publication of CN112634801B publication Critical patent/CN112634801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/006Electronic inspection or testing of displays and display drivers, e.g. of LED or LCD displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • General Engineering & Computer Science (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种片内逻辑分析仪及芯片调试方法,涉及电子技术领域。该片内逻辑分析仪的一具体实施方式包括:触发及采样模块,与被调试芯片的顺序输出模块连接,用于对顺序输出模块输出的GPIO信号进行判断,并在满足触发条件时对GPIO信号进行数据采样;存储及传输模块,用于将触发及采样模块采集的采样数据存储到被调试芯片的RAM;并将片内逻辑分析仪的调试状态写入寄存器;以及,在上位机读取采样数据时,将采样数据从RAM搬运到寄存器;通讯及指令解码模块,与被调试芯片的AUX通道编解码模块连接,用于建立与上位机进行通讯的数据通道。该实施方式能在不拆开液晶屏的前提下,测量TCON芯片输出的GPIO信号,并进行调试。

Description

一种片内逻辑分析仪及芯片调试方法
技术领域
本发明涉及电子技术领域,尤其涉及一种片内逻辑分析仪及芯片调试方法。
背景技术
逻辑板也叫屏驱动板、中心控制板、TCON芯片。TCON芯片的作用是把数字板送来的图像数据输入信号(输入信号包含色彩数据信号、时钟信号、控制信号三类信号)通过逻辑板处理后,转换成能驱动液晶屏的LVDS(低电压差分信号),再直接送往液晶屏的LVDS接收芯片。通过处理移位寄存器存储将图像数据信号,时钟信号转换成屏能够识别的控制信号,行列信号控制屏内的MOSFET(金氧半场效晶体管)工作而控制液晶分子的扭曲度,驱动液晶屏显示图像。
TCON芯片是液晶显示屏的核心部件,随着显示技术的不断发展而越来越复杂。TCON芯片的调试手段也就显得越发重要。在TCON芯片调试过程中,有两个重要的工作:一是通过I2C接口写寄存器配置TCON芯片,同时读寄存器用于检查TCON芯片的工作状态,另外一个重要工作就是测量输出端的液晶时序控制信号(GPIO信号)。
通常,TCON芯片都包有一个总线控制器,即I2C接口,I2C接口有两个作用,一个是从外部E2RPOM(一种可在线电擦除和电写入的存储器)读取数据,另外一个是作为内部寄存器修改配置的接口。在液晶屏设计调试过程中,TCON芯片是裸露状态,TCON芯片很容易进行物理连接,此时的调试方式比较简单,只需要将单片机调试板与TCON芯片的I2C接口连接即可进行寄存器的读写,对于输出GPIO信号,通常都是使用逻辑分析仪或者示波器连接TCON芯片的输出进行测量。
如图1所示,对于已经安装好外壳的笔记本脑来说,调试是很不方便的,原本读取寄存器的I2C接口通道已经无法进行物理连接,剩下还有一个DisplayPort(显示接口)中的音频双向数据通道可以进行寄存器的读取,这个通道需要借助厂家的底层显卡驱动支持。通常是在个人电脑上开发一款软件,通过调用显卡驱动来进行TCON芯片的寄存器的读写操作。
上述调试方式有以下缺点:
1.必须在液晶屏显示正常的情况下才能操作;
2.有些情况下无法使用,例如,液晶屏进入测试画面、或者进入自刷新模式;
3.原本基于调试板单片机开发的测试程序无法使用,必须移植到个人电脑程序中才能使用;
4.对于已经安装好外壳的笔记本电脑,在测量输出的时序信号时,只能将液晶面板拆开,露出TCON芯片所在印制电路板,飞线连接才能实现。
因此,针对以上不足,需要提供一种新的调试方法,使逻辑分析仪内置于TCON芯片内,在不拆开笔记本外壳的情况下在芯片内部实现的信号采样,以完成芯片调试。
发明内容
本发明要解决的技术问题在于在组装好的液晶模组中,TCON芯片无法直接接触到,传统的调试手段无法应用。针对现有技术中的缺陷,提供一种新的芯片调试方案,将逻辑分析仪内建于TCON芯片,输入端与TCON芯片的输出相连接,从而在内部实现GPIO信号的采样功能,同时,该片内逻辑分析仪能够与外部单片机进行通讯以将采样数据传输到外部进行分析,从而完成调试。
为了解决上述技术问题,本发明提供了一种片内逻辑分析仪,包括:
触发及采样模块,与被调试芯片的顺序输出模块连接,用于对所述顺序输出模块输出的GPIO信号进行判断,并在满足触发条件时对所述GPIO信号进行数据采样;存储及传输模块,用于将所述触发及采样模块采集的采样数据存储到被调试芯片的RAM;并将片内逻辑分析仪的调试状态写入寄存器;以及,在上位机读取所述采样数据时,将所述采样数据从所述RAM搬运到所述寄存器;通讯及指令解码模块,与被调试芯片的AUX通道编解码模块连接,用于建立与上位机进行通讯的数据通道。
优选地,所述触发及采样模块包括:分频电路,用于生成不同的采样频率;采样电路,用于将从被调试芯片采集GPIO信号压缩为采样数据,并为所述采样数据添加时间标签;触发电路,用于判断所述顺序输出模块的各个输出GPIO信号通道输出的所述GPIO信号是否满足边沿触发或电平触发的要求,并在满足要求时指示所述采样电路对所述顺序输出模块输出的所述GPIO信号进行数据采样;超时电路,用于在所述采样电路开始工作后进行计时,当所述采样电路的采集时间超过上位机配置的采样时间时,控制所述采样电路停止进行数据采样。
优选地,还包括:异步FIFO,连接于所述存储及传输模块与所述RAM之间,用于传输采样数据。
优选地,所述存储及传输模块包括数据上传电路,所述数据上传电路用于把所述RAM中的所述采样数据分块搬运到所述寄存器,并修改寄存器状态以通知上位机主动读取;以及所述存储及传输模块还用于:对所述RAM中的所述采样数据进行计数;在所述RAM的存储量达到最大容量时,通知所述触发及采样模块停止数据采样;以及在上位机读取所述采样数据时,将所述RAM中所述采样数据的剩余数据量更新到所述寄存器。
本发明还提供了一种芯片调试方法,应用于本发明的片内逻辑分析仪,包括:上位机通过被调试芯片的AUX通道编解码模块向通讯及指令解码模块发送启动工作命令;所述触发及采样模块对被调试芯片的顺序输出模块输出的GPIO信号进行判断,并在输出的所述GPIO信号满足触发条件时,对输出的所述GPIO信号进行数据采样;存储及传输模块将所述触发及采样模块采集的采样数据通过异步FIFO存储到被调试芯片的RAM,并将片内逻辑分析仪的调试状态写入寄存器;其中,所述调试状态包括是否满足触发条件、是否开始采样数据和数据采样是否完成;所述存储及传输模块在数据采样完成后,将所述采样数据从所述RAM搬运到所述寄存器;上位机从所述寄存器中读取所述调试状态,并在数据采样完成后读取所述采样数据,以完成对被调试芯片的调试。
优选地,上位机通过被调试芯片的AUX通道编解码模块向通讯及指令解码模块发送启动工作命令,包括:上位机向被调试芯片的AUX通道编解码模块发送写入指令;通讯及指令解码模块对所述写入指令进行解码得到地址总线,存储及传输模块根据所述地址总线取出对应的寄存器值,并将上位机的写数据总线中的指令数据赋值给对应的所述寄存器值;其中,所述启动工作命令携带有所述顺序输出模块的用于采样的所述输出GPIO信号通道、触发条件、采样频率、采样时间。
优选地,所述触发及采样模块对被调试芯片的顺序输出模块输出的GPIO信号进行判断,包括:所述触发及采样模块根据所述触发条件确定所述顺序输出模块的各个所述输出GPIO信号通道是否设置边沿触发和电平触发;若所述输出GPIO信号通道设置了边沿触发,则所述触发及采样模块获取该输出GPIO信号通道的前值信号,在所述前值信号与触发前值一致时获取该输出GPIO信号通道的后值信号,在所述后值信号与触发后值一致时获取该输出GPIO信号通道的当前信号值,并在所述当前信号值等于电平触发值时,对各个所述输出GPIO信号通道输出的所述GPIO信号进行采样;其中,所述触发前值和所述触发后值是预设的边沿触发条件;若所述输出GPIO信号通道设置了电平触发,则所述触发及采样模块获取该输出GPIO信号通道的当前信号值,并在所述当前信号值等于电平触发值时,对各个所述输出GPIO信号通道输出的所述GPIO信号进行采样。
优选地,对输出的所述GPIO信号进行数据采样,包括:所述触发及采样模块按所述采样频率对输出的所述GPIO信号进行采集并压缩为采样数据;判断当前所述GPIO信号与上一次的所述GPIO信号是否相同,如果不同则记录对应的所述采样数据以及时间标签,如果相同但时间标签为0时再记录一次时间标签;以及所述触发及采样模块在开始采集后进行计时,当采集时间超过所述采样时间时、所述RAM的存储量达到最大容量时、或上位机发出停止采样命令时,停止进行数据采样。
优选地,将所述采样数据从所述RAM搬运到所述寄存器,包括:所述存储及传输模块将所述RAM中的采样数据分块搬运到所述寄存器,并修改寄存器状态以通知上位机主动读取;当上位机发出停止读取命令时,所述存储及传输模块停止数据搬运,所述RAM复位且所述RAM中的所述采样数据清空。
优选地,在数据采样完成后读取所述采样数据,以完成对被调试芯片的调试,包括:上位机向被调试芯片的AUX通道编解码模块发送读取指令;所述通讯及指令解码模块对所述读取指令进行解码得到地址总线,所述存储及传输模块根据所述地址总线取出对应的寄存器值,并将所述寄存器值以数据包的形式返回给上位机的读数据总线;上位机以数据包的形式读取所述采样数据,并通过计算CRC校验位的方式校验每次读取的数据包是否正确,在CRC校验错误时,则重复读取该数据包,或,提示当前数据同奥干扰较大导致数据错误,并改用手动数据更新模式;其中,所述手动数据更新模式在读取该数据包后,向所述通讯及指令解码模块发送所述采样数据已经读取完成须更新寄存器的命令;上位机根据读取的数据包将所述采样数据重新定义为芯片数组;上位机在内存中创建与屏幕绘图区域一致的位图缓冲区;在所述位图缓冲区读取一个所述芯片数组,并确定该芯片数组对应的通道初始值位置;读取下一个所述芯片数组,根据所述时间标签计算时间差值以绘制X轴变量;检查绘制的数据点是否超出屏幕绘图区域,若已超出则结束绘制得到调试波形,若未超出则检查是否全部所述芯片数组已绘制完成,若未完成则继续读取下一个所述芯片数组进行绘制,若已完成则结束绘制得到调试波形;上位机界面展示所述调试波形;当界面缩放时,采用累积小数法缩放所述调试波形;当发生鼠标移动事件时,计算当前鼠标位置与按下鼠标位置的差值,将所述位图缓冲区中的所述调试波形在新的坐标点进行绘制。
实施本发明的一种片内逻辑分析仪及芯片调试方法,具有以下有益效果:实现了一种基于TCON芯片内置逻辑分析仪的的芯片调试技术,能够在不拆开液晶屏的前提下,测量TCON芯片输出的GPIO信号,并将GPIO信号传输到外部方便地进行调试;不必拆开液晶屏,为TCON芯片开拓了一条崭新的调试通路;还提供了与片内逻辑分析仪配套的上位机方案设计,通过可视化的手段展示调试结果。
附图说明
图1是传统TCON调试连接框图;
图2是本发明实施例的一种片内逻辑分析仪的基本框图;
图3是本发明实施例的一种片内逻辑分析仪的电路结构整体框架;
图4是一种可参考的触发电路工作流程图;
图5是一种可参考的采样电路的工作流程图;
图6是一种可参考的数据上传电路工作流程图;
图7是本发明实施例的一种芯片调试方法的示意图;
图8是一种可参考的逻辑分析仪上位机界面;
图9是一种可参考的片内逻辑分析仪与上位机之间数据通讯流程图;
图10是一种可参考的上位机绘制图像流程图;
图11是一种可参考的标尺示意图一;
图12是一种可参考的标尺示意图二;
图13是一种可参考的位图缓存区的示意图;
图14是一种可参考的基于TCON调试代理的调试方式连接框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图2和3所示,本发明实施例提供的一种片内逻辑分析仪包括:触发及采样模块、存储及传输模块和通讯及指令解码模块。
其中,
触发及采样模块与被调试芯片的顺序输出模块连接,触发及采样模块会收到顺序输出模块的输出信号(即GPIO信号),触发及采样模块能够对顺序输出模块输出的GPIO信号进行判断,并在满足触发条件时对GPIO信号进行数据采样。
存储及传输模块与被调试芯片的DDR控制电路及DDR芯片连接,存储及传输模块能够将触发及采样模块采集的采样数据存储到被调试芯片的RAM(主存);并将片内逻辑分析仪的调试状态写入寄存器,调试状态包括是否满足触发条件,是否开始采样数据,数据采样是否完成。存储及传输模块还可以对RAM中的采样数据进行计数,并在RAM的存储量达到最大容量时,通知触发及采样模块停止数据采样;同时,在上位机读取采样数据时,存储及传输模块还能将采样数据从RAM搬运到寄存器,并将RAM中采样数据的剩余数据量更新到寄存器。
通讯及指令解码模块与被调试芯片的AUX通道编解码模块连接,通讯及指令解码模块用于建立片内逻辑分析仪与上位机进行通讯的数据通道。
在本发明实施例中,片内逻辑分析仪还可以设置有异步FIFO。异步FIFO是一种先进选出存储器,用于同步源自不同时钟域的数据。异步FIFO连接于存储及传输模块与RAM之间,能够传输采样数据。
在本发明实施例中,存储及传输模块可以包括数据上传电路,数据上传电路能够把RAM中的采样数据通过异步FIFO分块搬运到寄存器,并修改寄存器状态以通知上位机主动读取。
作为一种优选的实施方式,触发及采样模块主要包括:分频电路、采样电路、触发电路和超时电路,其中,
分频电路用于生成不同的采样频率;
采样电路用于从将被调试芯片采集GPIO信号压缩为采样数据,并为采样数据添加时间标签;
触发电路用于判断顺序输出模块的各个输出GPIO信号通道输出的GPIO信号是否满足边沿触发或电平触发的要求,并在满足要求时指示采样电路对顺序输出模块输出的GPIO信号进行数据采样;
超时电路用于在采样电路开始工作后进行计时,当采样电路的采集时间超过上位机配置的采样时间时,控制采样电路停止进行数据采样。
需要说明的是,本发明实施例提出的片内逻辑分析仪的硬件实现主要由三大部分构成:通讯及指令解码模块、触发模块及采样模块、和存储模块。与TCON芯片相关的部分则包含AUX通道编解码模块,TCON顺序输出模块以及DDR控制电路以及DDR芯片。其中,部分主要模块的功能如下:
AUX通道编解码模块是TCON芯片的一部分,AUX通道(音频输入接口)主要功能是用于与视频信号发送端进行双向通讯,通讯速率为1Mbps,该模块将信号发送端发送的曼彻斯特编码进行解码,将数据送给TCON芯片的接收控制电路(DPRX),然后将控制电路发回的指令进行编码返回给信号发送端。
逻辑分析仪的通讯及指令编解码模块,本模块的作用是建立片内逻辑分析仪与上位机(电脑软件程序)通讯用的数据通道,利用AUX通道,上位机可以对逻辑分析仪进行配置(写入寄存器),状态监控(读取寄存器)以及采样数据的传输。本模块对AUX通讯模块解码出的地址进行译码,并根据读写指令,将数据线的数据写入到逻辑分析仪内部寄存器或者将内部寄存器的数据发送到数据线上。
TCON GPIO输出模块,是片内逻辑分析仪需要进行采样的源信号,TCON芯片内部有复杂的解码电路以及各种图像处理电路,之后会将处理完的图像发送给液晶显示器,配合液晶显示器的驱动芯片(Source Driver芯片),需要将TCON GPIO输出模块配置成为各种需要的时序,同时TCON GPIO输出模块还可以配置成为各种内部调试信号的输出接口,用于TCON芯片的测试及调试。
触发及采样模块,是片内逻辑分析仪的主模块,用于判断输入的采样信号是否能够满足触发条件,然后开始对数据进行采样。该模块内需要实现的功能有:采样频率的产生,就是根据上位机配置的不同,通过分频电路产生不同的频率用于信号的采样;触发电路,需要能够判断输入信号是否符合边沿触发的要求,或者是否能够满足电平触发的要求,指示采样电路是否开始采样;超时电路,需要根据上位机的配置采样时间,当采样电路开始工作时进行计时,并在采样时间超时,控制采样电路停止工作。
存储及传输模块,当逻辑分析仪开始有效的采样数据之后,数据需要传送给存储模块保存到RAM中去。由于片内逻辑分析仪模块与RAM的速度相差很远,因此在RAM和模块之间添加一个双口的异步FIFO,用于提高DDR控制器的读写效率。该模块还会对存储的采样数据进行计数,当RAM已经存满的时候,通知采样模块停止工作;当上位机开始读取数据的时候,该模块需要将数据一小块一小块的从RAM中搬到寄存器中,然后等待上位机通过AUX通道将数据搬走之后再次搬运新的数据到寄存器中,搬运的同时更新剩余数据量到寄存器中,供上位机读取判断数据量的大小以及剩余的数据量。
由上述分析可以看出,本发明只需要实现通讯及指令解码模块、触发模块及采样模块和存储及传输模块,即可配合TCON芯片现有的模块即可实现片内逻辑分析仪的功能。
接下来对实现片内逻辑分析仪时,触发模块及采样模块的功能实现进行说明。
一般情况下,数字系统的运行速度都比较高,而且数字信号总是持续不停地发生着变化,逻辑分析仪要想观察到数据,就必须不停地对数字系统中的信号进行存储,存储下来的数字波形才能够显示在屏幕上供工程师分析。但是逻辑分析仪的存储深度总是有限的,不可能存储无限的数据。而利用触发电路,可以使逻辑分析仪只存储一定条件下的数字波形,而不是无分别的全部存储,从而有效地利用逻辑分析仪的存储深度,在存储深度有限的条件下也能够抓取到所有有用的数据。
1.关于分频电路的设计
片内逻辑分析仪的采样频率越快,则采样数据越精确,边沿误差越小,但是采样频率快了之后相应的采样数会变多,频率增加一倍带来的数据量就会增加一倍,对存储和传输通道都会带来很大的压力。因为根据采样信号的频率范围进行选择合理的采样频率是非常有必要的。
本发明的片内逻辑分析仪支持不同的采样频率,不同的采样频率就是根据不同的分频数对逻辑分析仪的主频率进行分频得到的。输入的时钟设计为50MHz,经过2分频,最大可以支持25MHz采样,其他采样频率设计为:10MHz(5分频),5MHz(10分频),2MHz(25分频),1MHz(50分频),500kHz(100分频),200kHz(250分频)。
2.关于触发电路的设计
在实施本发明实施例时,边沿触发的判断方法是检测信号两个时刻前后是否有发生变化,如果有发生从0到1的变化则为出现上升沿,如果有发生从1到0的变化,则为出现下降沿。如果上位机直接通知逻辑分析仪哪个通道需要边沿触发,需要上升沿还是下降沿,则片内逻辑分析仪内部需要对这两个设置进行逻辑组合,最终产生两个参数一个是信号变化前状态(即是否等于触发前值),一个是信号变化后状态(即是否等于触发后值)。但考虑到成本和速度,这种设置方式并不现实,因此这种转换工作可以交给上位机去处理,用户设置了哪个通道需要支持边沿触发以及是哪种触发形式(上升沿还是下降沿)后,上位机通过软件转换,直接把信号变化前状态和信号变化后状态两个设置传给片内逻辑分析仪。电平触发相对简单,上位机发送哪个通道需要支持电平触发(1表示本通道需要电平触发,0表示本通道不需要电平触发),以及通道需要支持电平触发的高低(1位高电平触发,0位低电平触发)。具体触发流程参见图4和实施例二的步骤S702部分。
3.关于超时电路的设计
通常,逻辑分析仪都是直接将采样大的数据经过缓存后直接通过USB端口送给上位机的,理论上来说,只要上位机存储空间够大,那么采样时间是不受限制的。但是实际不需要采样无限长的数据,因此需要在采样时设置一个采样时间,到达采样时间逻辑分析仪能够自动停止工作。本发明的片内逻辑分析仪虽然不是实时上传数据给上位机的,存储空间也不大,但是仍然会出现有些波形变化非常缓慢,可存储采样时间非常长的情况,因此使用一种采样时间控制电路,即超时电路,时间上就是当正式采样工作(触发条件满足)开始之后,启动一个定时器,当定时计时到用户设置的时间后,发出一个超时信号给采样电路,让其自动停止工作。超时时间并不是一个特别重要的指标,因此精度没必要太高,本设计中使用1ms为最小计时单位,最大设计值为0xFFFF*1ms=65536ms=65.5360s。
4.关于采样电路的设计
采样电路的工作流程图如图5所示,具体地:
当逻辑分析仪经过触发阶段之后,就会进入数据采样阶段,本发明设计的逻辑分析仪采用了数据压缩存储技术,因此需要判断当前信号是否与上一时刻的信号是否相同,如果信号不同则记录数据已经时间标签,如果信号相同但是时间标签为0时也要记录一次当前数据是时间标签。需要注意的是由于采样信号的频率是可变的,但是逻辑分析仪工作在一个固定的较高频率上,因此时间标签为0的时刻会在逻辑分析仪的工作频率上连续产生很多拍的相同信号,如果此时还是认为时间标签是0,就会连续记录一长串时间为0的标签值,上位机会将这些数据当做很长时间都没有变化,因此在保存时间标签为0的时刻,需要加一个标记信号,记录此时已经保存过一次时间为0的标签了,一直到时间标签非0之后才会将此信号清零,这样可以保证每个有效的0时间标签只会记录一次。
片内逻辑分析仪在采样过程需要考虑用于存储的RAM是否满了,是否用户发送了停止采样命令,是否用户设置的采样时间已经到了,如果有以上三种信号的任意一种都需要结束采样工作。
5.关于数据上传电路
经过采样电路之后,采样的数据被存储到了存储器之中(可以使用Fifo)。采样完成之后,逻辑分析仪采样数据状态表示为数据捕捉完毕,此时上位机即可通过DPCD寄存器读取逻辑分析仪采样的数据,其中数据以校验和开头(CheckSum),接下来是3位剩余数据长度寄存器,然后是8byte数据,每次共需传输12Byte数据的原因是AUX协议限制,每次最多传输不超过16Byte数据。
如图6所示,数据上传电路的主要任务是把存储区中存储的数据搬运到寄存器中去,然后修改寄存器状态通知上位机主动读取。如果读取过程中收到Fifo为空则结束数据搬运,如果用户在读取过程中发出停止命令,也会停止数据搬运,整个存储区复位,之前的数据清空。
由于传输通道AUX速率的限制,因此尽量减少上位机通讯的次数很重要。所以设计上默认为自动更新数据,每次当读取完最后一个Byte的寄存器之后自动触发更新缓存区操作,由于逻辑分析使用比较高的时钟频率,因此搬运数据的工作会在3个周期内完成,AUX通道速率比较慢基本上不需要等待,读完一个数据包之后便可以直接读取下一个数据包,直至全部数据读取完成。
实施例二
如图7所示,本发明实施例还提供了一种芯片调试方法,该芯片调试方法应用于实施例一的片内逻辑分析仪,主要包括以下步骤:
步骤S701,上位机通过被调试芯片的AUX通道编解码模块向通讯及指令解码模块发送启动工作命令。
本发明实施例提供的芯片调试方法除了需要片内逻辑分析仪之外,还需要有一个上位机,将采样的数据还原为波形,显示到电脑屏幕上,上位机的设计主要涉及到串口数据通讯,波形绘制两个主要方面,串口数据通讯比较简单。
在逻辑分析仪开始工作之前,需要进行相关的配置,比如通道是否使能,哪个通道需要使能边沿触发,哪些通道需要进行电平触发,电平触发的高低,采样频率,采样时间长短等等。所有这些参数都要事先通过串口写入到路基分析仪的寄存器中,当这些配置完成之后,就可以启动逻辑分析仪了。
在本发明实施例中,步骤S701可以采用以下方式实现:上位机向被调试芯片的AUX通道编解码模块发送写入指令;通讯及指令解码模块对写入指令进行解码得到地址总线,存储及传输模块根据地址总线取出对应的寄存器值,并将上位机的写数据总线中的指令数据赋值给对应的寄存器值。
其中,启动工作命令携带有顺序输出模块的用于采样的输出GPIO信号通道、触发条件、采样频率、采样时间。
步骤S702,触发及采样模块对被调试芯片的顺序输出模块输出的GPIO信号进行判断,并在输出的GPIO信号满足触发条件时,对输出的GPIO信号进行数据采样。
触发是控制片内逻辑分析仪工作的最重要方式,能够让片内逻辑分析仪只存储一定条件下的数字波形(由GPIO信号形成),而不是全部存储,这样可以有效地利用片内逻辑分析仪的存储深度,在存储深度有限的条件下也能够抓取到所有有用的数据。
在本发明实施例中,触发及采样模块对被调试芯片的顺序输出模块输出的GPIO信号进行判断的步骤,可以采用以下方式实现:触发及采样模块根据触发条件确定顺序输出模块的各个输出GPIO信号通道是否设置边沿触发和电平触发;若输出GPIO信号通道设置了边沿触发,则触发及采样模块获取该输出GPIO信号通道的前值信号,在前值信号与触发前值一致时获取该输出GPIO信号通道的后值信号,在后值信号与触发后值一致时获取该输出GPIO信号通道的当前信号值,并在当前信号值等于电平触发值时,对各个输出GPIO信号通道输出的GPIO信号进行采样;若输出GPIO信号通道设置了电平触发,则触发及采样模块获取该输出GPIO信号通道的当前信号值,并在当前信号值等于电平触发值时,对各个输出GPIO信号通道输出的GPIO信号进行采样。
其中,触发前值和触发后值是预设的边沿触发条件。
作为一种优选的实施方式,本发明实施例的芯片调试方法可以设置电平触发与边沿触发的混合触发,当收到启动工作的命令之后,片内逻辑分析仪开始工作,首先判断是否设置了边沿触发,判断方法为比较信号变化前状态寄存器(即前值信号)是否与信号变化后状态寄存器(即后值信号)相同,如果相同则没有需要边沿触发的通道,如果不同则有需要电平触发的通道,则开始检测当前输入信号(即当前信号值)是否满足触发前状态,如果满足再进一步等待新的输入信号是否满足触发后状态,当两个状态都满足后,边沿触发检测结束。
在本发明实施例中,对输出的GPIO信号进行数据采样的步骤,可以采用以下方式实现:触发及采样模块按采样频率对输出的GPIO信号进行采集并压缩为采样数据;判断当前GPIO信号与上一次的GPIO信号是否相同,如果不同则记录对应的采样数据以及时间标签,如果相同但时间标签为0时再记录一次时间标签;以及触发及采样模块在开始采集后进行计时,当采集时间超过采样时间时、RAM的存储量达到最大容量时、或上位机发出停止采样命令时,停止进行数据采样。
通常不需要采样无限长的数据,因此需要在采样时设置一个采样时间,到达采样时间逻辑分析仪能够自动停止工作。同时,本步骤采用了数据压缩存储技术,因此需要判断当前信号是否与上一个时刻的信号是否相同,如果信号不同则记录数据已经时间标签,如果信号相同但是时间标签为0时也要记录一次当前数据是时间标签。需要注意的是,由于采样信号的频率是可变的,但是片内逻辑分析仪工作在一个固定的较高频率上,因此时间标签为0的时刻会在逻辑分析仪的工作频率上连续产生很多拍的相同信号,如果此时还是认为时间标签是0,就会连续记录一长串时间为0的标签值,上位机会将这些数据当做很长时间都没有变化,因此在保存时间标签为0的时刻,需要加一个标记信号,记录此时已经保存过一次时间为0的标签了,一直到时间标签非0之后才会将此信号清零,这样可以保证每个有效的0时间标签只会记录一次。
步骤S703,存储及传输模块将触发及采样模块采集的采样数据通过异步FIFO存储到被调试芯片的RAM,并将片内逻辑分析仪的调试状态写入寄存器。
当触发及采样模块开始有效地采集数据之后,采样数据需要传送给存储模块保存到RAM中去。由于逻辑分析仪模块与RAM的速度相差很远,因此在RAM和模块之间添加一个双口的异步FIFO,用于提高DDR控制器的读写效率。存储模块会对存储的数据进行计数,当RAM已经存满的时候,存储模块通知采样模块停止工作;当上位机开始读取数据的时候,存储模块需要将数据一小块一小块的从RAM中搬到寄存器内,然后等待上位机通过AUX通道将数据搬走之后再次搬运新的数据到寄存器中,搬运的同时更新剩余数据数量到寄存器中,供上位机读取判断数据量的大小以及剩余的数据量。其中,调试状态包括是否满足触发条件、是否开始采样数据和数据采样是否完成等。
步骤S704,存储及传输模块在数据采样完成后,将采样数据从RAM搬运到寄存器。
当上位机开始读取采样数据的时候,存储及传输模块将数据一小块一小块地从RAM搬到寄存器内,然后等待上位机通过AUX通道将数据搬走之后再次搬运新的采样数据到寄存器内。
此外,存储及传输模块在搬运采样数据的同时,可以更新剩余数据数量到寄存器中,供上位机读取判断数据量的大小以及剩余的数据量。
在本发明实施例中,步骤S704可以采用以下方式实现:存储及传输模块将RAM中的采样数据分块搬运到寄存器,并修改寄存器状态以通知上位机主动读取;当上位机发出停止读取命令时,存储及传输模块停止数据搬运,RAM复位且RAM中的采样数据清空。
步骤S705,上位机从寄存器中读取调试状态,并在数据采样完成后读取采样数据,以完成对被调试芯片的调试。
片内逻辑分析仪启动后,上位机可以通过定时查询的方式读取寄存器中的片内逻辑分析仪的调试状态,判断片内逻辑分析仪的工作状态,是否满足触发条件,是否开始采样数据,数据采样是否完成等等。当检测到采样完成后就可以开始数据的读取。
在本发明实施例中,在数据采样完成后读取采样数据,以完成对被调试芯片的调试的步骤,可以采用以下方式实现:上位机向被调试芯片的AUX通道编解码模块发送读取指令;通讯及指令解码模块对读取指令进行解码得到地址总线,存储及传输模块根据地址总线取出对应的寄存器值,并将寄存器值以数据包的形式返回给上位机的读数据总线;上位机以数据包的形式读取采样数据,并通过计算CRC校验位的方式校验每次读取的数据包是否正确,在CRC校验错误时,则重复读取该数据包,或,提示当前数据同奥干扰较大导致数据错误,并改用手动数据更新模式;上位机根据读取的数据包将采样数据重新定义为芯片数组;上位机在内存中创建与屏幕绘图区域一致的位图缓冲区;在位图缓冲区读取一个芯片数组,并确定该芯片数组对应的通道初始值位置;读取下一个芯片数组,根据时间标签计算时间差值以绘制X轴变量;检查绘制的数据点是否超出屏幕绘图区域,若已超出则结束绘制得到调试波形,若未超出则检查是否全部芯片数组已绘制完成,若未完成则继续读取下一个芯片数组进行绘制,若已完成则结束绘制得到调试波形;上位机界面展示调试波形;当界面缩放时,采用累积小数法缩放调试波形;当发生鼠标移动事件时,计算当前鼠标位置与按下鼠标位置的差值,将位图缓冲区中的调试波形在新的坐标点进行绘制。
由于逻辑分析仪的采样数据量是变化的,因此读取到第一个数据包之后,需要根据包头中剩余数据包的数量来确定需要的数据大小,对数组大小进行重新定义(ReDim),然后就可以不断的读取数据包,把这些数据全部保存为芯片数组。
需要注意的是,手动数据更新模式在读取该数据包后,向通讯及指令解码模块发送采样数据已经读取完成须更新寄存器的命令。
波形的缩放,如果在每次绘制一个点的时候,计算X轴方向的时间同时乘以一个缩放系数,如此绘制出的波形就是按比例缩放过的,这样做波形放大没有问题,但是波形缩小的时候会出现数据大多数变成了小数,但是屏幕点不会按小数去绘制,会出现波形严重失真、波形严重缩短或X轴长度永远为0等情况。为克服这些问题,本发明实施例的芯片调试方法采用了累积小数法,具体地:如果计算的数包含小数,那么直接采用舍去法,仅保留整数去绘图,小数部分暂时保存到一个变量中去,当下一个点计算完成时,首先将累积小数部分添加到这个点上,然后再次对这个点极性舍去法操作,保留整数进行绘图,小数部分累积保存到变量中去。如此反复操作,看上去每个都被舍去了小数部分,但是小数部分却在计算过程中全部补回去了,纵然有成千上万个点,累积误差总是小于1。
实施例三
本发明实施例的芯片调试方法除了片内逻辑分析仪的电路设计之外,还需要有一个上位机程序,用于将采样的数据还原为波形,显示到电脑屏幕上。上位机程序的设计主要涉及到串口数据通讯,波形绘制两个主要方面,串口数据通讯比较简单且现有技术成熟,此处不予赘述,接下来主要说明波形绘制内容。
本发明实施例的上位机程序主要用到了二维矢量图形绘制以及文字显示两大功能。
1.关于上位机人机界面
上位机的功能是直观的将数据图形化后显示给用户,因此上位机的界面易用性设计很重要。本发明实施例选用C#作为编程语言,C#是一种安全的、稳定的、简单的、优雅的,由C语言和C++(均是面向过程的、抽象化的通用程序设计语言)衍生出来的面向对象的编程语言。C#的最大好处就是用户界面设计非常简单,程序编写又具有C语言的灵活性。上位机程序设计主要有控制面板,设置窗口、波形窗口、工具栏和状态栏等,界面布局如图8所示。
2.关于获取逻辑分析仪数据
上位机是通过串口与逻辑分析仪电路进行通讯的。在片内逻辑分析仪开始工作之前,需要进行相关的配置,比如通道是否使能,哪个通道需要使能边沿触发,哪些通道需要进行电平触发,电平触发的高低,采样频率,采样时间长短等等。所有这些参数都要事先通过串口写入到路基分析仪的寄存器中,当这些配置完成之后,就可以启动逻辑分析仪了。
片内逻辑分析仪的配置以及数据读取流程如图9所示:上位机向片内逻辑分析仪传送启动工作命令,然后片内逻辑分析仪进行配置并启动。片内逻辑分析仪启动后,上位机需要通过定时查询的方式读取逻辑分析仪的状态寄存器,判断逻辑分析仪的工作状态,是否满足触发条件,是否开始采样数据,数据采样是否完成等等。当逻辑分析仪检测到采样完成标记位后就可以开始数据的读取,由于逻辑分析仪的采样数据量是变化的,因此读取到第一个数据包之后,需要根据包头中剩余数据包的数量来确定需要的数据大小,对数组大小进行重新定义(ReDim)。然后就可以不断的读取数据包,把这些数据全部保存到数组中去。
3.关于波形绘制的实现
波形的绘制涉及到以下关键点。
3.1数据点的绘制
假设逻辑分析仪传送来的数据每个点都是32bit,其中前16bit是时间轴,后16bit是数据,具体波形绘制的主要流程图如图10所示:在位图缓冲区读取一个芯片数组,并确定该芯片数组对应的通道初始值位置;读取下一个芯片数组,根据时间标签计算时间差值,以绘制X轴变量;检查绘制的数据点是否超出屏幕绘图区域,若已超出则结束绘制得到调试波形,若未超出则检查是否全部芯片数组已绘制完成,若未完成则继续读取下一个芯片数组进行绘制,若已完成则结束绘制得到调试波形。
通常,时间轴数据大部分数据是增量型的,也就是用后一个数据的时间标签减去前一个数据的时间标签就是时间长短,除此之外还有一种0时间标签型数据,这类数据的时间标签值是0,用于时间标签溢出的情况,这种情况下,就需要用0xFFFF去减上一个点的值作为时间长短。
直接使用逻辑分析仪提供的时间轴数据绘制波形是没有问题的,但是在绘制标尺时就会发现问题,因为逻辑分析仪提供的时间轴数据是个相对值,当移动波形时标尺需要重新绘制,从相对值的数据里找到起点数据相当麻烦。所以在开始绘制波形前要进行时间轴的转换,将相对时间轴转换为绝对时间轴。转换方法为以第一个点为0点,累加每个点的时间变化,用后一个点减去前一个点的值,再加上累积时间,就可以计算出每个点的绝对位置,有了绝对位置之后无论是绘制波形还是绘制标尺都会方便很多。
3.2波形的缩放
数据的绘制在1:1的情况下,不考虑时间采样频率值,如果计算值是1,对应屏幕上一个像素,实际上这样绘制会发现屏幕上画不了几个点就会超出屏幕范围,因此用户一定需要缩小波形进行整体查看,有时候也需要对波形的某个局部进行放大仔细观察前后时序,脉冲宽度等。这时就需要进行波形的缩放操作。
波形的缩放,从原理上讲非常简单,可以利用GDI+(Windows 2000以后操作系统中的图形设备接口)的坐标变换函数,直接将波形绘制到另外一个更大或者更小的区域内,GDI+就会帮助完成波形的缩放,时间上这样做是不行的,有两个原因,一个是GDI+的波形缩放是完全基于图像的,放大后波形绘制的线会变粗,完全不是原有波形的样子,还有一个原因是由于缓存中采用了局部绘制方法,因此并不是所有的图形都在里边,如果进行缩小,则可能显示出没有波形的区域。如此就需要在每次绘制一个点的时候,计算X轴方向的时间同时乘以一个缩放系数,这样绘制出的波形就是按比例缩放过的。这种方式波形放大是没有问题的,但是波形缩小的时候会发现数据大多数变成了小数,但是屏幕点不会按小数去绘制,如果直接进位每个数据点都拉长了,成千上万个点的话会导致波形变长很多,严重失真;如果舍去小数部分的话,大部分数据会变成0,波形回严重缩短;如果四舍五入,当缩放比例缩小到一定程度,即使最大时间长度0xFFFF乘以缩放值也会小于0.5,在这种缩放情况下就会发现全部值都没有了,X轴长度永远为0。
为此,本发明实施例采用了累积小数法,就是如果计算的数包含小数,那么直接采用舍去法,仅保留整数去绘图,小数部分暂时保存到一个变量中去,当下一个点计算完成时,首先将累积小数部分添加到这个点上,然后再次对这个点进行舍去法操作,保留整数进行绘图,小数部分累积保存到变量中去。如此反复操作,看上去每个都被舍去了小数部分,但是小数部分却在计算过程中全部补回去了,纵然有成千上万个点,累积误差总是小于1。采用这种方法之后绘制的波形,即使已经缩小到原来的万分之一,波形仍然能够正常显示。
3.3标尺的绘制
由于波形是可以进行缩放的,因此标尺非常必要,通过标尺才能够知道波形的实际宽度是多少,频率是多少等等信息。
标尺的绘制需要考虑几个问题,一是最小刻度值的计算,另外一个是缩放时数值的显示。最小刻度值的计算就是根据采样频率的倒数算出得出在1:1的模式下,每个像素点的宽度,标尺不可能把每个像素都标注出来,因此需要确定最小单位间隔,考虑到要显示的标尺值可能是xxx秒xxx毫秒,因此每个文本直接的间隔不能太小,实际测试选择每间隔100个像素一个标记值会比较合适。
由于在波形绘制的时候已经对时间轴进行过转换,因此每个时间轴都是一个绝对时间参数,用时间参数乘以每个像素点的宽度,再乘以100个像素就可以得出最小刻度值:
Figure BDA0002889158580000211
本发明实施例中假设采样频率为50MHz/分频系数,则公式1可以变成:
Figure BDA0002889158580000212
由公式2可以得出,刻度值就是2倍的分频系数乘以当前时间轴,比如当采样频率为5MHz时,分频系数为10,最小刻度值(100个像素点的值)为20us(微妙),采样频率为1MHz是,分频系数为50,最小刻度值为100us。
计算出最小刻度值,在绘制的时候还需要考虑波形缩放带来的刻度变化:
Figure BDA0002889158580000221
由公式3可以得出,当前刻度值为最小刻度值x当前时间轴再除以分频系数,当分频系数非常大或者非常小,还有时间轴刻度非常靠后的时候,时间轴刻度就会变为0.00000000xxxus或者是xx000000000us的样子,非常不美观,也不利于观察,因此需要对刻度单位进行转换,刻度单位转换的方法如下:
对刻度值进行检查,是否小于1,如果小于1,则用刻度值乘以1000,单位减小一级变为ns(纳秒);
继续对刻度值进行检查,如果还小于1,则再次用刻度值乘以1000,单位再减小一级变为ps(皮秒);
对刻度值进行检查,如果刻度值大于100,则用刻度值除以1000,单位增大一级变为ms(豪秒);
继续对刻度值进行检查,如果刻度值还大于100,则用刻度值除以1000,单位再增大一级变为s(秒)。
通过以上的转换之后,刻度值会维持在1~1000之间,不会尾部出现过多的0,也不会出现过多的小数。
计算完毕后,使用GDI+的DrawLine函数,每隔100个像素点绘制一条小竖线,然后利用DrawString函数在竖线的上方绘制标尺,标尺实现的效果如图11所示,标尺缩放后的效果如图12所示。
此外,如图13所示,在查看已绘制的调试波形时,由于位图缓冲区仅有一部分展现在显示区(只有中心缓存区展现在显示区,而右移缓存区和左移缓存区未显示),这样可以有平滑的移动效果。
实施例四
如图14所示,在实际应用本发明实施例的片内逻辑分析仪及芯片调试方法时,可以通过TCON调试代理建立的数据通道,使内置于TCON芯片内的片内逻辑分析仪与外部的上位机系统实现双向通讯。本发明实现TCON芯片调试的原理是将逻辑分析仪内建于TCON芯片,输入端与TCON芯片的输出相连接,可以在内部实现信号的采样功能,然后片内逻辑分析仪通过调试代理与外部进行通讯,并开发一款配套的上位机程序用于还原采样波形。通过在TCON芯片内置片内逻辑分析仪,实现了在不拆开笔记本外壳的情况下测量TCON芯片的信号输出波形,同时这种方式还有个优点是可以连接TCON芯片内多余的GPIO信号作为测试信号源,因为这些多余的GPIO信号通常是不连接到芯片外部的,在液晶屏上无法用于测量。
此外,需要说明的是,本发明中所涉及的上位机是包括单片机在内的上位机系统,具有信号分析、测试控制和显示还原采样波形等功能。
综上所述,本发明实施例的一种片内逻辑分析仪及芯片调试方法,至少具有以下有益效果:
实现了一种基于TCON芯片内置逻辑分析仪的的芯片调试技术,能够在不拆开液晶屏的前提下,测量TCON芯片输出的GPIO信号,并将GPIO信号传输到外部方便地进行调试;
不必拆开液晶屏,为TCON芯片开拓了一条崭新的调试通路;
还提供了与片内逻辑分析仪配套的上位机方案设计,通过可视化的手段展示调试结果。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种片内逻辑分析仪,内置于液晶显示屏的TCON芯片中,该TCON芯片为被调试芯片,其特征在于,包括:
触发及采样模块,与被调试芯片的顺序输出模块连接,用于对所述顺序输出模块输出的GPIO信号进行判断,并在满足触发条件时对所述GPIO信号进行数据采样;
存储及传输模块,用于将所述触发及采样模块采集的采样数据存储到被调试芯片的RAM;并将片内逻辑分析仪的调试状态写入寄存器;以及,在上位机读取所述采样数据时,将所述采样数据从所述RAM搬运到所述寄存器;
通讯及指令解码模块,与被调试芯片的AUX通道编解码模块连接,用于建立与上位机进行通讯的数据通道;
其中,所述存储及传输模块在所述RAM的存储量达到最大容量时,通知所述触发及采样模块停止数据采样;所述调试状态包括是否满足触发条件、是否开始采样数据和数据采样是否完成;所述触发及采样模块包括采样电路,用于将从被调试芯片采集GPIO信号压缩为采样数据,并为所述采样数据添加时间标签。
2.根据权利要求1所述的片内逻辑分析仪,其特征在于,
所述触发及采样模块还包括:
分频电路,用于生成不同的采样频率;
触发电路,用于判断所述顺序输出模块的各个输出GPIO信号通道输出的所述GPIO信号是否满足边沿触发或电平触发的要求,并在满足要求时指示所述采样电路对所述顺序输出模块输出的所述GPIO信号进行数据采样;
超时电路,用于在所述采样电路开始工作后进行计时,当所述采样电路的采集时间超过上位机配置的采样时间时,控制所述采样电路停止进行数据采样。
3.根据权利要求1所述的片内逻辑分析仪,其特征在于,还包括:异步FIFO,连接于所述存储及传输模块与所述RAM之间,用于传输采样数据。
4.根据权利要求3所述的片内逻辑分析仪,其特征在于,
所述存储及传输模块包括数据上传电路,所述数据上传电路用于把所述RAM中的所述采样数据分块搬运到所述寄存器,并修改寄存器状态以通知上位机主动读取;
所述存储及传输模块还用于:对所述RAM中的所述采样数据进行计数;在所述RAM的存储量达到最大容量时,通知所述触发及采样模块停止数据采样;以及在上位机读取所述采样数据时,将所述RAM中所述采样数据的剩余数据量更新到所述寄存器。
5.一种芯片调试方法,应用于如权利要求1-4任一项所述的片内逻辑分析仪,其特征在于,包括:
上位机通过被调试芯片的AUX通道编解码模块向通讯及指令解码模块发送启动工作命令;
所述触发及采样模块对被调试芯片的顺序输出模块输出的GPIO信号进行判断,并在输出的所述GPIO信号满足触发条件时,对输出的所述GPIO信号进行数据采样;
存储及传输模块将所述触发及采样模块采集的采样数据通过异步FIFO存储到被调试芯片的RAM,并将片内逻辑分析仪的调试状态写入寄存器;其中,所述调试状态包括是否满足触发条件、是否开始采样数据和数据采样是否完成;
所述存储及传输模块在所述RAM的存储量达到最大容量时,通知所述触发及采样模块停止数据采样;以及所述存储及传输模块在数据采样完成后,将所述采样数据从所述RAM搬运到所述寄存器;
上位机从所述寄存器中读取所述调试状态,并在数据采样完成后读取所述采样数据,以完成对被调试芯片的调试。
6.根据权利要求5所述的芯片调试方法,其特征在于,上位机通过被调试芯片的AUX通道编解码模块向通讯及指令解码模块发送启动工作命令,包括:
上位机向被调试芯片的AUX通道编解码模块发送写入指令;
通讯及指令解码模块对所述写入指令进行解码得到地址总线,存储及传输模块根据所述地址总线取出对应的寄存器值,并将上位机的写数据总线中的指令数据赋值给对应的所述寄存器值;
其中,所述启动工作命令携带有所述顺序输出模块的用于采样的所述输出GPIO信号通道、触发条件、采样频率、采样时间。
7.根据权利要求6所述的芯片调试方法,其特征在于,所述触发及采样模块对被调试芯片的顺序输出模块输出的GPIO信号进行判断,包括:
所述触发及采样模块根据所述触发条件确定所述顺序输出模块的各个所述输出GPIO信号通道是否设置边沿触发和电平触发;
若所述输出GPIO信号通道设置了边沿触发,则所述触发及采样模块获取该输出GPIO信号通道的前值信号,在所述前值信号与触发前值一致时获取该输出GPIO信号通道的后值信号,在所述后值信号与触发后值一致时获取该输出GPIO信号通道的当前信号值,并在所述当前信号值等于电平触发值时,对各个所述输出GPIO信号通道输出的所述GPIO信号进行采样;其中,所述触发前值和所述触发后值是预设的边沿触发条件;
若所述输出GPIO信号通道设置了电平触发,则所述触发及采样模块获取该输出GPIO信号通道的当前信号值,并在所述当前信号值等于电平触发值时,对各个所述输出GPIO信号通道输出的所述GPIO信号进行采样。
8.根据权利要求6所述的芯片调试方法,其特征在于,对输出的所述GPIO信号进行数据采样,包括:
所述触发及采样模块按所述采样频率对输出的所述GPIO信号进行采集并压缩为采样数据;
判断当前所述GPIO信号与上一次的所述GPIO信号是否相同,如果不同则记录对应的所述采样数据以及时间标签,如果相同但时间标签为0时再记录一次时间标签;以及
所述触发及采样模块在开始采集后进行计时,当采集时间超过所述采样时间时、所述RAM的存储量达到最大容量时、或上位机发出停止采样命令时,停止进行数据采样。
9.根据权利要求5所述的芯片调试方法,其特征在于,将所述采样数据从所述RAM搬运到所述寄存器,包括:
所述存储及传输模块将所述RAM中的采样数据分块搬运到所述寄存器,并修改寄存器状态以通知上位机主动读取;
当上位机发出停止读取命令时,所述存储及传输模块停止数据搬运,所述RAM复位且所述RAM中的所述采样数据清空。
10.根据权利要求5所述的芯片调试方法,其特征在于,在数据采样完成后读取所述采样数据,以完成对被调试芯片的调试,包括:
上位机向被调试芯片的AUX通道编解码模块发送读取指令;
所述通讯及指令解码模块对所述读取指令进行解码得到地址总线,所述存储及传输模块根据所述地址总线取出对应的寄存器值,并将所述寄存器值以数据包的形式返回给上位机的读数据总线;
上位机以数据包的形式读取所述采样数据,并通过计算CRC校验位的方式校验每次读取的数据包是否正确,在CRC校验错误时,则重复读取该数据包,或,提示当前数据通道干扰较大导致数据错误,并改用手动数据更新模式;其中,所述手动数据更新模式在读取该数据包后,向所述通讯及指令解码模块发送所述采样数据已经读取完成须更新寄存器的命令;
上位机根据读取的数据包将所述采样数据重新定义为芯片数组;
上位机在内存中创建与屏幕绘图区域一致的位图缓冲区;在所述位图缓冲区读取一个所述芯片数组,并确定该芯片数组对应的通道初始值位置;读取下一个所述芯片数组,根据所述时间标签计算时间差值以绘制X轴变量;检查绘制的数据点是否超出屏幕绘图区域,若已超出则结束绘制得到调试波形,若未超出则检查是否全部所述芯片数组已绘制完成,若未完成则继续读取下一个所述芯片数组进行绘制,若已完成则结束绘制得到调试波形;
上位机界面展示所述调试波形;当界面缩放时,采用累积小数法缩放所述调试波形;当发生鼠标移动事件时,计算当前鼠标位置与按下鼠标位置的差值,将所述位图缓冲区中的所述调试波形在新的坐标点进行绘制。
CN202110022556.0A 2021-01-08 2021-01-08 一种片内逻辑分析仪及芯片调试方法 Active CN112634801B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110022556.0A CN112634801B (zh) 2021-01-08 2021-01-08 一种片内逻辑分析仪及芯片调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110022556.0A CN112634801B (zh) 2021-01-08 2021-01-08 一种片内逻辑分析仪及芯片调试方法

Publications (2)

Publication Number Publication Date
CN112634801A CN112634801A (zh) 2021-04-09
CN112634801B true CN112634801B (zh) 2022-06-10

Family

ID=75293697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110022556.0A Active CN112634801B (zh) 2021-01-08 2021-01-08 一种片内逻辑分析仪及芯片调试方法

Country Status (1)

Country Link
CN (1) CN112634801B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468003B (zh) * 2021-06-18 2023-06-02 上海芷锐电子科技有限公司 一种芯片测试数据的树形显示与操作系统和方法
CN113946505A (zh) * 2021-09-30 2022-01-18 深圳市智微智能科技股份有限公司 一种基于Android系统的I2C可视化操作工具及实现方法
CN114416452A (zh) * 2022-01-20 2022-04-29 无锡众星微系统技术有限公司 片上系统诊断方法和装置
CN117238355A (zh) * 2022-06-06 2023-12-15 长鑫存储技术有限公司 逻辑分析解码方法及装置
CN115174431B (zh) * 2022-06-30 2023-09-05 无锡融卡科技有限公司 一种简易的swp全双工逻辑信号采集装置及方法
CN116662212A (zh) * 2023-07-31 2023-08-29 上海芯炽科技集团有限公司 一种使用于asic的内置逻辑分析仪的方法
CN117056268B (zh) * 2023-10-11 2024-01-30 深圳市鼎阳科技股份有限公司 一种用于测量仪器的spi接口电路和spi通讯方法
CN117112447B (zh) * 2023-10-17 2023-12-22 北京开源芯片研究院 一种数据传输方法、装置、电子设备及可读存储介质
CN118150992A (zh) * 2024-05-11 2024-06-07 杭州沃镭智能科技股份有限公司 一种分布式的集成逻辑分析仪及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7332929B1 (en) * 2006-03-03 2008-02-19 Azul Systems, Inc. Wide-scan on-chip logic analyzer with global trigger and interleaved SRAM capture buffers
CN102541707A (zh) * 2010-12-15 2012-07-04 中国科学院电子学研究所 复用jtag接口的fpga片内逻辑分析仪系统和方法
CN103049361A (zh) * 2013-01-11 2013-04-17 加弘科技咨询(上海)有限公司 具有嵌入式逻辑分析功能的fpga及逻辑分析系统
CN103140769A (zh) * 2010-09-08 2013-06-05 利盟国际有限公司 包括具有增强的分析和调试能力的可编程逻辑分析仪的集成电路及其方法
CN103592599A (zh) * 2013-10-31 2014-02-19 江苏绿扬电子仪器集团有限公司 基于usb逻辑分析仪触发装置
CN103870627A (zh) * 2012-12-13 2014-06-18 S2C公司 设计及仿真系统、装置及方法
CN105787164A (zh) * 2016-02-19 2016-07-20 深圳市同创国芯电子有限公司 一种用于可编程逻辑器件的调试方法及系统
CN106557440A (zh) * 2016-11-29 2017-04-05 青岛金思特电子有限公司 一种实现逻辑分析仪超大存储深度的系统及方法
CN110032482A (zh) * 2019-04-11 2019-07-19 盛科网络(苏州)有限公司 片上调试装置和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286114B1 (en) * 1997-10-27 2001-09-04 Altera Corporation Enhanced embedded logic analyzer
US7895430B2 (en) * 2007-07-24 2011-02-22 Hewlett-Packard Development Company, L.P. On-chip logic analyzer using compression

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7332929B1 (en) * 2006-03-03 2008-02-19 Azul Systems, Inc. Wide-scan on-chip logic analyzer with global trigger and interleaved SRAM capture buffers
CN103140769A (zh) * 2010-09-08 2013-06-05 利盟国际有限公司 包括具有增强的分析和调试能力的可编程逻辑分析仪的集成电路及其方法
CN102541707A (zh) * 2010-12-15 2012-07-04 中国科学院电子学研究所 复用jtag接口的fpga片内逻辑分析仪系统和方法
CN103870627A (zh) * 2012-12-13 2014-06-18 S2C公司 设计及仿真系统、装置及方法
CN103049361A (zh) * 2013-01-11 2013-04-17 加弘科技咨询(上海)有限公司 具有嵌入式逻辑分析功能的fpga及逻辑分析系统
CN103592599A (zh) * 2013-10-31 2014-02-19 江苏绿扬电子仪器集团有限公司 基于usb逻辑分析仪触发装置
CN105787164A (zh) * 2016-02-19 2016-07-20 深圳市同创国芯电子有限公司 一种用于可编程逻辑器件的调试方法及系统
CN106557440A (zh) * 2016-11-29 2017-04-05 青岛金思特电子有限公司 一种实现逻辑分析仪超大存储深度的系统及方法
CN110032482A (zh) * 2019-04-11 2019-07-19 盛科网络(苏州)有限公司 片上调试装置和方法

Also Published As

Publication number Publication date
CN112634801A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN112634801B (zh) 一种片内逻辑分析仪及芯片调试方法
JP3684831B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
US7143205B2 (en) DMA controller having a trace buffer
JPH11184630A (ja) タッチパネルを備えた液晶表示装置
CN104469354B (zh) 一种检测mipi视频信号质量的装置
CN112035302B (zh) 一种总线数据的实时监控分析方法、装置及系统
CN104469349B (zh) 一种检测视频源产生的mipi视频信号的方法
US20100011250A1 (en) Microcontroller information extraction system and method
WO2021189781A1 (zh) 具有数据欠载自恢复功能的显示控制器及方法
CN111757023B (zh) 基于fpga的视频接口诊断方法及系统
US7584381B2 (en) Semiconductor integrated circuit device, debug system, microcomputer, and electronic apparatus
CN101998135A (zh) 移动电视信号采集及播放系统、控制方法
US7602422B2 (en) Serial camera interface
CN115658415A (zh) 一种芯片调试装置和方法
CN209895383U (zh) 一种数字图像大数据的高速传输装置
CN207503284U (zh) 图像边缘检测系统
CN1779654A (zh) 用于处理器的追踪调试方法及系统
CN111639046A (zh) 远紫外极光成像仪数据的缓存与实时传输系统及方法
CN201383233Y (zh) 数字探究实验系统
CN215117263U (zh) 一种基于can总线的电控手柄调试器
US20080129751A1 (en) Smart Blanking Graphics Controller, Device Having Same, And Method
JP5312918B2 (ja) タイムスタンプ取得回路及びタイムスタンプ取得方法
KR20230134352A (ko) 고속 인터페이스 시스템 성능 평가를 위한 슬림 프레임 그래버 시스템 및 그 제어방법
KR950015000B1 (ko) 버스상태분석기(bsa)의 데이타획득저장장치
CN112732604A (zh) 一种lvds转usb3.0多功能适配器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant