CN104198786A - 利用单片机模型仿真逻辑分析仪测得波形方法 - Google Patents

利用单片机模型仿真逻辑分析仪测得波形方法 Download PDF

Info

Publication number
CN104198786A
CN104198786A CN201410461082.XA CN201410461082A CN104198786A CN 104198786 A CN104198786 A CN 104198786A CN 201410461082 A CN201410461082 A CN 201410461082A CN 104198786 A CN104198786 A CN 104198786A
Authority
CN
China
Prior art keywords
file
chip microcomputer
data
emulation
waveform
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
CN201410461082.XA
Other languages
English (en)
Other versions
CN104198786B (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.)
Donghua University
National Dong Hwa University
Original Assignee
Donghua University
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 Donghua University filed Critical Donghua University
Priority to CN201410461082.XA priority Critical patent/CN104198786B/zh
Publication of CN104198786A publication Critical patent/CN104198786A/zh
Application granted granted Critical
Publication of CN104198786B publication Critical patent/CN104198786B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种利用单片机模型仿真逻辑分析仪测得波形方法,该单片机模型内置于Proteus软件,包括以下步骤:利用逻辑分析仪采集硬件电路的波形信号,在电脑端利用逻辑分析仪自带软件将波形数据导出形成数据文件,设定基础时间间隔DT为采样频率的倒数,生成N个hex文件;在Proteus软件中创建N个仿真单片机,设置每个仿真单片机的hex文件;运行仿真。本发明通过利用多种技术手段综合应用,将逻辑分析仪测得波形导出,进一步处理后输入到Proteus软件,进行波形重现,为进一步的仿真测试提供基础。

Description

利用单片机模型仿真逻辑分析仪测得波形方法
技术领域
本发明涉及一种利用Proteus软件内置的单片机模型虚拟逻辑分析仪测得硬件电路时序波形方法。
背景技术
逻辑分析仪是利用时钟从测试设备上采集和显示数字信号的仪器,利用便于观察的形式显示出数字系统的运行情况,最主要作用在于时序判定和对数字系统进行分析和故障判断。大多数开发人员通过逻辑分析仪等测试工具的协议分析功能可以很轻松地发现错误、调试硬件、加快开发进度,为高速度、高质量完成工程提供保障。由于逻辑分析仪不像示波器那样有许多电压等级,通常只显示两个电压(逻辑1和0),因此设定了参考电压后,逻辑分析仪将被测信号通过比较器进行判定,高于参考电压者为High,低于参考电压者为Low,在High与Low之间形成数字波形。
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。逻辑分析仪和Proteus是两个完全独立系统,还没专门的接口实现逻辑分析仪数据直接导入Proteus。
发明内容
本发明的目的是利用Proteus仿真模拟逻辑分析仪器测得波形。
为了达到上述目的,本发明的技术方案是提供了利用单片机模型仿真逻辑分析仪测得波形方法,该单片机模型内置于Proteus软件,包括以下步骤:
步骤1、利用逻辑分析仪采集硬件电路的波形信号,在电脑端利用逻辑分析仪自带软件将波形数据导出形成数据文件;
步骤2、设定基础时间间隔DT为采样频率的倒数,生成N个hex文件,N=(Tds/Yjs)+1,式中,Tds为依据逻辑分析仪测得数据通道数目,Yjs为拟用仿真单片机封装可用输出波形可用引脚数目,每个hex文件对应多个逻辑分析仪的数据通道及一个相应的仿真单片机,设第i个hex文件对应逻辑分析仪的数据通道pin1,…,pinN,则其生成步骤为:
步骤2.1、创建与当前hex文件对应的汇编文件或C语言文件;
步骤2.2、读取数据文件的当前行数据,判断当前行数据是否为文件尾,如果是文件尾,则跳至步骤2.5,如果当前行不是有效数据跳至步骤2.4,否则进入步骤2.3;
步骤2.3、拆分数据并写入汇编文件或C语言文件,其步骤包括:
从当前行数据中提取代表信号没有发生变化的字符串A,将A代表数值乘以DT得到延时长度t,利用不同的延时单位将延时长度t拆分为所有延时单位的组合,同时,从当前行数据中提取数据通道pin1,…,pinN的值并赋予与当前hex文件对应的仿真单片机的相应引脚变量,从而得到当前引脚变量的值及其对应的延时长度t;
步骤2.4、数据文件当前行号+1,跳至步骤2.2执行;
步骤2.5、在末尾加上结束标识后,保存文件;
步骤2.6、编译汇编文件或C语言文件生成hex文件;
步骤3、在Proteus软件中创建N个仿真单片机,按照汇编文件或C语言文件中的定义将仿真单片机的相应引脚标注上对应的引脚变量标签,设置每个仿真单片机的hex文件;
步骤4、运行仿真,仿真单片机的相应引脚即可重现逻辑分析仪所测得的数字波形。
优选地,在所述步骤1之后并所述步骤2之前有:
对导出的数据文件进行文件生成合并文件后,逐行读取文件进行判别,并删除无用信息,形成新的数据文件。
本发明通过利用逻辑分析软件数据导出功能,将数据按照指定格式导出数据文件,再利用设计程序软件对数据文件进行进一步预处理得到最终数据文件,通过解析最终数据文件生成汇编语言或C语言文件,并编译生成hex文件。在Proteus模型文件中放置单片机器件并加载hex文件,并运行Proteus仿真即可在Proteus中的单片机引脚输出仿真波形。为利用Proteus对波形文件进行进一步仿真分析处理提供一种方便快捷方法。
本发明通过利用多种技术手段综合应用,将逻辑分析仪测得波形导出,进一步处理后输入到Proteus软件,进行波形重现,为进一步的仿真测试提供基础。
附图说明
图1为本发明提供方法的流程图;
图2为本发明中数据文件生成代码文件流程。
具体实施方式
为方便说明实施方法,本发明兹以一个实施例说明本发明提出的方法。本实例中,采集信号线有2根,采样频率为100kHz。
利用单片机仿真两个孕龙科技逻辑分析仪通道采集波形数据。本实例采用汇编语言实现。
步骤1、利用孕龙科技的逻辑分析仪及相应的软件ZEROPLUS logic Analyzer说明数据导出。首先在波形文件中删除无用的通道。单击“文件”-》“波形导出”后弹出“波形导出”对话框,设置参数,导出参数选“否”,显示方向选“垂直”,数据类型选“所有”,数据格式选“数据变化点压缩”,资料格式选“二进制”,并设置需要导出的数据范围,设定导出文件名,单击保存等待导出结束。
步骤2、文件预处理:(1)删除多余信息:本发明采用批处理命令删除头文件方法,将生成数据文件移到“文件夹_待处理”目录,在其父目录放置批处理文件,运行批处理文件,按提示操作,完成冗余数据删除,删除完目录自动更命名为“文件夹_前五行删除OK”。(2)合并文件:利用工具软件或编写程序实现数据文件文件按照序号顺序合并。
步骤3、数据文件转换成汇编语言程序:设定基础时间间隔DT为采样频率Cypl的倒数。转换流程如下:
步骤3.1、创建汇编文件:依据逻辑分析仪测得数据通道数目Tds以及拟用仿真单片机封装可用输出波形可用引脚数目Yjs,选择创建N个汇编程序文件(其中N=(Tds/Yjs)+1),命名分别为“mcu1.asm”、“mcu2.asm”、...、“mcuN.asm”。本实施例中,逻辑分析仪只有两个引脚,故Tds=2。单片机选用AT89C52,共有44引脚,可用引脚数目Yjs=32引脚。从而得到N=(2/32)+1=1,因此只需创建“mcu1.asm”。
在新创建脚本文件中逐行写入引脚定义,假设写入第n(n取值1到N)个文件的引脚定义。定义X=(n-1)*32+m(m取值从1到32),Pin0.0-Pin0.7为第1-8个引脚,Pin1.0-Pin1.7为第9-16个引脚,Pin2.0-Pin2.7为第17-24个引脚,Pin3.0-Pin3.7为第25-32个引脚,依据m从小到大取值计算出X值,把PinX引脚指派为第m个引脚(其中X需替换为计算出的数值),比如n=2,m=1时,X=33那么指定PinX为第m个引脚,即为“Pin33bit P0.0”,又当n=2,m=9时,X=41,那么PinX应指派为第m个引脚,即为“Pin41bit P1.0”)。
创建入口跳转“LJMP MAIN”,在其后分别创建延时函数“delay1us”、“delay10us”和“delay100us”、“delay1ms”、“delay10ms”、“delay100ms”、“delay1s”等,分别延时1us、10us、100us、1ms、10ms。创建“MAIN:”标签。
步骤3.2、读取数据文件的当前行数据,判断当前行数据是否为文件尾,如果是文件尾则跳至步骤3.5,如果当前行不是有效数据跳至步骤3.4,否则执行步骤3.3。
步骤3.3、拆分数据并写入汇编程序源码文件。比如当前行数据为“62~66(5)
1 0”,则抽取第一个括号中字符串转换成数字并乘以DT为时间t。在本例中为5,则对应的时间t=5*DT=50us。再抽取右括号后第一个数据为第一引脚数据Pin1Val(本例为1),抽取剩下另外一个数据为第二引脚数据Pin2Val(本例为0)。
将时间t拆分为1s、100ms、10ms、1ms、100us、10us、1us的延时组合,各个延时个数分别用n1s、n100ms、n10ms、n1ms、n100us、n10us、n1us记录。
t=n1s*1s+n100ms*100ms+n10ms*10ms+n1ms*1ms+n100us*100us+n10us*10us+n1us*1us。
公式中n1s、n100ms、n10ms、n1ms、n100us、n10us、n1us分别为延时组合中随影1s、100ms、10ms、1ms、100us、10us、1us个数,优选大单位延时。
如本例中延时为50则拆分为,t=5*10us也可以拆为50*1us,依据优选大单位延时,采用t=5*10us这种拆分。
如果t为456780us则拆成4个100ms、5个10ms、6个1ms、7个100us和8个10us,即n100ms=4、n10ms=5、n1ms=6、n100us=7、n10us=8。
然后依据pin1Val输出Pin1,如果pin1Val=0,则Pin1输出“CLR Pin1”,否则输出“SETB Pin1”,同样依据pin2Val输出Pin2,如果pin2Val=0,则Pin2输出“CLR Pin2”,否则输出“SETB Pin2”。依据上述拆分值,分别在汇编文件中写入n1s个“LCALL delay1s”、n100ms个“LCALL delay100ms”、n10ms个“LCALL delay1ms”、n1ms个“LCALL delay1ms”、n100us个“LCALLdelay100us”、n10us个“LCALL delay10us”、n1us个“LCALL delay1us”,上述写入中每个指令占一行。本例中是5个“LCALL delay10us”。
步骤3.4、数据文件当前行号+1,跳至步骤3.2执行。
步骤3.5、添加其他命令,保存并关闭文件结束数据转换流程:在末尾加上“SJMP$”和“END”,保存文件。
步骤3.6、编译汇编文件生成hex,并结束转换流程:利用keil或其他软件编译汇编文件生成hex。如果只有一个汇编文件(N=1)也可以直接用proteus加载汇编源码文件并指定编译器进行转换。
步骤4、Proteus模型创建:新建模型文件,增加N个单片机,按照汇编文件定义将各个单片机相应引脚标注上对应的Pin1、Pin2等一系列标签。设置每个单片机的hex文件。
步骤5、运行仿真,单片机相应引脚即可重现逻辑分析仪所测得数字波形。

Claims (2)

1.一种利用单片机模型仿真逻辑分析仪测得波形方法,该单片机模型内置于Proteus软件,包括以下步骤:
步骤1、利用逻辑分析仪采集硬件电路的波形信号,在电脑端利用逻辑分析仪自带软件将波形数据导出形成数据文件;
步骤2、设定基础时间间隔DT为采样频率的倒数,生成N个hex文件,N=(Tds/Yjs)+1,式中,Tds为依据逻辑分析仪测得数据通道数目,Yjs为拟用仿真单片机封装可用输出波形可用引脚数目,每个hex文件对应多个逻辑分析仪的数据通道及一个相应的仿真单片机,设第i个hex文件对应逻辑分析仪的数据通道pin1,…,pinN,则其生成步骤为:
步骤2.1、创建与当前hex文件对应的汇编文件或C语言文件;
步骤2.2、读取数据文件的当前行数据,判断当前行数据是否为文件尾,如果是文件尾,则跳至步骤2.5,如果当前行不是有效数据跳至步骤2.4,否则进入步骤2.3;
步骤2.3、拆分数据并写入汇编文件或C语言文件,其步骤包括:
从当前行数据中提取代表信号没有发生变化的字符串A,将A转换成数字乘以DT得到延时长度t,利用不同的延时单位将延时长度t拆分为所有延时单位的组合,同时,从当前行数据中提取数据通道pin1,…,pinN的值并赋予与当前hex文件对应的仿真单片机的相应引脚变量,从而得到当前引脚变量的值及其对应的延时长度t;
步骤2.4、数据文件当前行号+1,跳至步骤2.2执行;
步骤2.5、在末尾加上结束标识后,保存文件;
步骤2.6、编译汇编文件或C语言文件生成hex文件;
步骤3、在Proteus软件中创建N个仿真单片机,按照汇编文件或C语言文件中的定义将仿真单片机的相应引脚标注上对应的引脚变量标签,设置每个仿真单片机的hex文件;
步骤4、运行仿真,仿真单片机的相应引脚即可重现逻辑分析仪所测得的数字波形。
2.如权利要求1所述的一种利用单片机模型仿真逻辑分析仪测得波形方法,其特征在于,在所述步骤1之后并所述步骤2之前有:
对导出的数据文件进行文件生成合并文件后,逐行读取文件进行判别,并删除无用信息,形成新的数据文件。
CN201410461082.XA 2014-09-11 2014-09-11 利用单片机模型仿真逻辑分析仪测得波形方法 Expired - Fee Related CN104198786B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410461082.XA CN104198786B (zh) 2014-09-11 2014-09-11 利用单片机模型仿真逻辑分析仪测得波形方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410461082.XA CN104198786B (zh) 2014-09-11 2014-09-11 利用单片机模型仿真逻辑分析仪测得波形方法

Publications (2)

Publication Number Publication Date
CN104198786A true CN104198786A (zh) 2014-12-10
CN104198786B CN104198786B (zh) 2017-02-15

Family

ID=52084100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410461082.XA Expired - Fee Related CN104198786B (zh) 2014-09-11 2014-09-11 利用单片机模型仿真逻辑分析仪测得波形方法

Country Status (1)

Country Link
CN (1) CN104198786B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110672898A (zh) * 2019-11-08 2020-01-10 航天柏克(广东)科技有限公司 一种数字控制的故障波形抓取和分析方法
CN113157574A (zh) * 2021-04-19 2021-07-23 上海湃星信息科技有限公司 一种软件实物测试覆盖率收集方法及装置、电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0290276A2 (en) * 1987-05-08 1988-11-09 Hewlett-Packard Company Digital waveforms display
US20010001137A1 (en) * 1997-05-27 2001-05-10 Alexander Jay A. Graphical system and method for automatically scaling waveforms in a signal measurement system
CN101131413A (zh) * 2006-08-25 2008-02-27 王悦 逻辑分析仪的波形显示方法及其逻辑分析仪
CN101441334A (zh) * 2007-11-19 2009-05-27 比亚迪股份有限公司 一种液晶模块的测试方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0290276A2 (en) * 1987-05-08 1988-11-09 Hewlett-Packard Company Digital waveforms display
US20010001137A1 (en) * 1997-05-27 2001-05-10 Alexander Jay A. Graphical system and method for automatically scaling waveforms in a signal measurement system
CN101131413A (zh) * 2006-08-25 2008-02-27 王悦 逻辑分析仪的波形显示方法及其逻辑分析仪
CN101441334A (zh) * 2007-11-19 2009-05-27 比亚迪股份有限公司 一种液晶模块的测试方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
熊建平: "基于Proteus简易逻辑分析仪设计与实现", 《顺德职业技术学院学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110672898A (zh) * 2019-11-08 2020-01-10 航天柏克(广东)科技有限公司 一种数字控制的故障波形抓取和分析方法
CN110672898B (zh) * 2019-11-08 2022-07-08 航天柏克(广东)科技有限公司 一种数字控制的故障波形抓取和分析方法
CN113157574A (zh) * 2021-04-19 2021-07-23 上海湃星信息科技有限公司 一种软件实物测试覆盖率收集方法及装置、电子设备

Also Published As

Publication number Publication date
CN104198786B (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN109739766A (zh) 一种快速搭建fpga数字仿真模型的系统及方法
US20230342283A1 (en) Waveform based reconstruction for emulation
CN105302685A (zh) 一种软硬件协同仿真测试方法和装置
EP1700210A2 (en) An apparatus for migration and conversion of software code from any source platform to any target platform
CN100585369C (zh) 铁路模拟实验室
CN107665168A (zh) 一种嵌入式软件gui自动化测试设备
CN105760296A (zh) 自动化测试控制方法、装置及终端
CN106254145A (zh) 网络请求跟踪处理方法和装置
CN106093897B (zh) 一种雷达系统的测试系统及测试方法
CN102608517A (zh) 一种创建集成电路测试程序包的快速方法
CN113569524A (zh) 芯片设计中基于综合网表提取时钟树的方法及应用
CN107247827B (zh) 基于机器学习的虚端子模型建模及自动连线方法
CN104198786B (zh) 利用单片机模型仿真逻辑分析仪测得波形方法
CN108090288A (zh) 一种通过机器学习获取时序参数的方法
CN104050069A (zh) 一种基于Mars评判Verilog实现MIPS处理器正确性的自动化测试方法
CN104268314B (zh) 基于Easy HDL仿真逻辑分析仪测得波形方法
Goli et al. Through the looking glass: Automated design understanding of SystemC-based VPs at the ESL
CN105045698A (zh) 使用python的matplotlib分析芯片验证进度的方法
CN106066822B (zh) 一种支持覆盖率统计功能的仿真器及方法
CN100527138C (zh) 集成电路元件的模拟实例产生方法与装置
CN102854875B (zh) 一种汽车空调控制器测试方法及系统
CN106599499A (zh) 一种XilinxFPGA约束文件自动生成方法
CN107215479B (zh) 一种飞行模拟器通用数据处理框架及其构建方法
CN107239373B (zh) 一种嵌入式继电保护设备的仿真方法及系统
CN114169287B (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: 20170215

Termination date: 20200911