数字波形信号产生装置的制作方法

文档序号:18008093发布日期:2019-06-25 23:38阅读:154来源:国知局
数字波形信号产生装置的制作方法

本发明涉及一种数字波形信号产生装置,且特别是涉及一种通用可编程的数字波形信号产生装置。



背景技术:

现今常见的波形产生器主要为暂存器配置型波形产生器、微处理器(mcu)波形产生器和软核(softcore)处理器波形产生器等。暂存器配置型波形产生器是使用不同的暂存器分别设置周期长度、高低电位切换时间点和高低电位持续时间等,故对于一个较复杂的波形序列而言,往往需要大量的暂存器分别对应每一个变化位置。此外,当暂存器配置型波形产生器制造完成后,暂存器的个数不容易调整,而当遇到无法完成所欲输出的波形时,需透过修改金属遮罩或重新设计集成电路程序码等方式来调整,其大幅增加硬件和/或时间成本。另一方面,微处理器波形产生器和软核处理器波形产生器等须透过读取事先写好的程序驱动输入/输出端口才可产生波形信号并输出。微处理器/软核处理器波形产生器虽然实现了可编程设计的功能,其比暂存器配置型波形产生器更加灵活,但在实际应用上有许多问题。首先,一般的软核处理器是以为通用为目的,其包含许多其他与输入/输出和指令提取无关的功能,这些不使用的功能占用集成电路中的大量面积。其次,通用处理器还具有例如指令执行速度较慢和指令执行管线时可能发生数据危障等问题,且处理器可能使其内部计时器产生中断并产生响应此中断产生的不确定延时。由于以上因素,使得微处理器/软核处理器波形产生器不能产生快速的波形。再者,处理器的波形输出通道数量受限于处理器固定架构中的输入/输出端口个数,故对于需要大量输出通道的配置会更加复杂。最后,由于微处理器/软核处理器波形产生器采用通用指令集,波形产生器的程序码容易被破解,使得程序设计者的智慧财产权不易被保护。



技术实现要素:

本发明的目的是在于提供一种数字波形信号产生装置,其使用专用波形事件串流命令指令集及编译器,可省下硬件布局空间、增加设计弹性、产生快速的波形信号以及提升设计数据的安全性。

根据本发明的上述目的,提出一种数字波形信号产生装置,此数字波形信号产生装置包含记忆体单元、多个事件处理器和仲裁器。记忆体单元用以储存编译指令数据。这些事件处理器用以存取记忆体单元且依据编译指令数据产生并输出至少一波形信号。仲裁器用以决定这些事件处理器读取记忆体单元的顺序。

依据本发明的一或多个实施例,上述这些事件处理器的每一者包含记忆体存取单元、命令提取单元、命令解码单元、分支预测单元和命令执行单元。记忆体存取单元用以依据当前地址从记忆体单元读取编译指令数据。命令提取单元用以从编译指令数据中提取出至少一指令。命令解码单元用以从指令中解析出指令的指令类型和指令操作个数。分支预测单元用以判断指令类型为连续地址或跳转地址。命令执行单元用以执行指令以更新波形信号。其中一或多个指令属于专用波形事件串流命令指令集,此专用波形事件串流命令指令集包含绝对时间点命令操作指令和相对时间段命令操作指令。

依据本发明的一或多个实施例,上述绝对时间点命令操作指令包含波形改变绝对位置和波形改变相对位置。

依据本发明的一或多个实施例,上述相对时间段命令操作指令包含波形改变相对位置。

依据本发明的一或多个实施例,上述这些事件处理器的优先级是由用户程序或硬件设定。

依据本发明的一或多个实施例,上述这些事件处理器多路分时共享记忆体单元。

依据本发明的一或多个实施例,上述这些事件处理器是经配置为并行执行。

依据本发明的一或多个实施例,上述记忆体单元为静态随机存取记忆体staticrandomaccessmemory;sram)、电子可抹除可编程只读记忆体(electricallyerasableprogrammablereadonlymemory;eeprom)、一次性可编程(one-timeprogrammable;otp)记忆体或电子可编程只读记忆体(erasableprogrammablereadonlymemory;eprom)。

依据本发明的一或多个实施例,上述数字波形信号产生装置更包含编译器,此编译器用以将记忆符号编码编译为编译指令数据。

依据本发明的一或多个实施例,上述数字波形信号产生装置为通用可编程。

相较于寄存型配置器波形产生器、微处理器波形产生器和软核处理器波形产生器,本发明的数字波形信号产生装置透过修改记忆符号编码即可,其不需改变硬件,且其硬件部分所占用的空间和记忆体的使用量较低,故可产生更为快速的波形信号。此外,本发明的数字波形信号产生装置采用并行架构,其适于同时输出多个波形信号,程序设计者更为容易编辑记忆符号编码,且其所使用的专用指令集及编译器可避免如微处理器波形产生器和软核处理器波形产生器的程序可轻易破解,故可进一步保护程序设计者或公司的智慧财产权。

附图说明

为了更完整了解实施例及其优点,现参照结合所附附图所做的下列描述,其中:

图1为依据本发明一些实施例的数字波形信号产生装置的示意图;

图2为依据本发明一些实施例的事件处理器的示意图;以及

图3为记忆符号编码的一实例的波形信号输出结果。

具体实施方式

以下仔细讨论本发明的实施例。然而,可以理解的是,实施例提供许多可应用的发明概念,其可实施于各式各样的特定内容中。所讨论的特定实施例仅供说明,并非用以限定本发明的范围。

在本文中所使用的“耦接”一词,可指二或多个元件相互直接作实体或电性接触,或是相互间接作实体或电性接触,而“耦接”还可指二或多个元件相互操作或动作。

请参照图1,其为依据本发明一些实施例的数字波形信号产生装置100的示意图。数字波形信号产生装置100为通用可编程且不同于寄存型配置器、微处理器波形产生器和软核处理器波形产生器,其不需配置大量的寄存器,且其使用专用的波形事件流指令来产生更快速的波形信号。数字波形信号产生装置100的硬件部分110包含记忆体单元112、事件处理器114(1)~114(n)和仲裁器116。记忆体单元112用以储存编译指令数据,且其可以是静态随机存取记忆体staticrandomaccessmemory;sram)、电子可抹除可编程只读记忆体(electricallyerasableprogrammablereadonlymemory;eeprom)、一次性可编程(one-timeprogrammable;otp)记忆体或电子可编程只读记忆体(erasableprogrammablereadonlymemory;eprom),但不限于此。事件处理器114(1)~114(n)用以存取记忆体单元112且分别依据编译指令数据产生并输出波形信号pin_1~pin_n。事件处理器114(1)~114(n)为并行结构,即事件处理器114(1)~114(n)为并行且独立执行,且其不相互影响。事件处理器114(1)~114(n)的个数n可依据实际使用的需求(例如波形信号输出通道的数量)对应决定。此外,事件处理器114(1)~114(n)可以不同时运作,即在同一时段中实际运作的事件处理器数量可小于个数n。仲裁器116耦接事件处理器114(1)~114(n)和记忆体单元112,其用以决定事件处理器114(1)~114(n)读取记忆体单元112的顺序。举例而言,在默认设置下,若事件处理器114(1)~114(n)中有两个事件处理器114同时欲读取指令,则访问地址较低的事件处理器优先读取指令,待其读取完成后,访问地址较高的事件处理器再读取指令。此外,仲裁器116亦可配置事件处理器114(1)~114(n)为并行执行。事件处理器114(1)~114(n)的优先级可由用户程序或硬件设定,但不限于此。此外,事件处理器114(1)~114(n)可多路分时共享记忆体单元112。

除了硬件部分之外,数字波形信号产生装置100还包含编译器122,其用以对记忆符号编码124进行编译,以将记忆符号编码124中的内容转换为二进制机器码格式的编译指令数据。在编译的过程中,编译器122将跳转指令(例如loop指令和xloop指令)中所使用的相对跳转地址转换为绝对地址,且统一分配给每一个输出通道对应的事件处理器入口地址和代码长度。此外,编辑器122还具有指令错误侦测和增加注释的功能,其利于程序设计者编辑记忆符号编码124的内容。记忆符号编码124可由程序设计者透过输入装置来编辑。

请参照图2,其为依据本发明一些实施例的事件处理器200的示意图。图2的事件处理器200为图1的事件处理器114(1)~114(n)中的任何一者。事件处理器200包含状态机202、记忆体存取单元204、命令提取单元206、命令解码单元208、分支预测单元210和命令执行单元212。状态机202用以纪录事件处理器200的当前执行状态。记忆体存取单元204用以依据当前地址从记忆体单元112读取编译指令数据。命令提取单元206用以从编译指令数据中提取出至少一指令。命令解码单元208用以从指令中解析出指令类型和指令操作个数。分支预测单元210用以判断指令类型为连续地址或跳转地址。命令执行单元212用以执行指令以更新波形信号。

数字波形信号产生装置100使用专用波形事件串流命令指令集,其包含波形事件命令和波形周期命令,其中波形事件命令还包含绝对时间点命令操作指令(又称为相对时间段命令操作指令)和固定事件位置命令操作指令(又称为累积事件位置命令操作指令),而波形周期命令包含跳转地址命令操作指令。举例而言,数字波形信号产生装置100使用的指令格式可包含以下(第一栏为指令类型):

其中,包含指令记忆符号fppi的指令为绝对时间点命令操作指令,包含指令记忆符号appi或s-appi的指令为相对时间段命令操作指令,而包含指令记忆符号loop或xloop的指令为跳转地址命令操作指令。在上述指令格式中,level为高电位或低电位,ret_addr为返回地址,p-position为波形改变绝对位置,p-displacement和h-displacement为波形改变相对位置(其中p-和h-分别代表精细值和粗略值),而repeat_num为重复进行次数。

以下为依据本发明第一实施例的指令格式和对应栏位和位数:

长fppi指令:3位组

2位(01)1位(level)9位(p-position)12位(h-displacement)

fppi指令:2位组

2位(00)1位(level)1位(fppi索引)8位(v-displacement)4位(h-displacement)

短fppi指令:1位组

2位(01)1位(level)1位(短fppi索引)4位(h-displacement)

loop指令:2位组

2位(11)6位(返回地址/负数/相对值)8位(返回次数)

externloop指令:2位组

2位(10)8位(返回地址/负数/相对值)6位(返回次数)

其中,绝对时间点命令操作指令包含长fppi指令、fppi指令和短fppi指令等操作指令,其主要差别在于长度分别为3位组、2位组和1位组。此外,跳转地址命令操作指令包含loop指令和externloop(即x-loop)指令等操作指令,其位组数相同但返回地址/负数/相对值和返回次数所占的位数不同。

以下为依据本发明第二实施例的指令格式和对应栏位和位数:

fppi指令:3位组

2位(01)1位(level)9位(p-position)12位(h-displacement)

appi指令:2位组

2位(00)1位(level)1位(短appi索引)8位(v-displacement)4位(h-displacement)

短appi指令:1位组

2位(00)1位(level)1位(超短ppi索引)4位(h-displacement)

loop指令:2位组

2位(11)6位(返回地址/负数/相对值)8位(返回次数)

externloop指令:2位组

2位(10)8位(返回地址/负数/相对值)6位(返回次数)

第二实施例的指令格式与第一实施例的指令格式的主要差别在于,绝对时间点命令操作指令仅包含长度为3位组的fppi指令,而相对时间段命令操作指令包含长度为2位组的appi指令和长度为1位组的s-appi指令。

上述指令格式可由编译器122编译成二位机器码。举例而言,以下为记忆符号编码124的一实例:

经由编译器122对上述记忆符号编码124的实例进行编译后,输出的编译指令数据的二位机器码格式如下:

这些输出的编译指令数据储存于记忆体单元112中。接着,事件处理器114(1)透过仲裁器116从记忆体单元112下载并执行这些编译指令数据,以对应输出波形信号pin_1。

以下为依据本发明第三实施例的指令格式和对应栏位和位数:

fppi指令:3位组

3位(101)1位(level)8位(p-position)12位(h-displacement)

appi指令:3位组

3位(000)1位(level)9位(p-displacement)11位(h-displacement)

短appi指令:2位组

3位(100)1位(level)9位(p-displacement)3位(h-displacement)

loop指令:2位组

3位(111)5位(返回地址)8位(返回次数)

externloop指令:2位组

3位(110)7位(返回地址)6位(返回次数)

第三实施例的指令格式与第二实施例的指令格式的主要差别在于,在第三实施例的指令格式中,指令类型所占的位数为3位,且若干指令格式中的栏位减少1位,例如fppi操作指令中的p-position。

以下以使用两个事件处理器114(1)、114(2)为例说明记忆符号编码124和对应输出波形信号pin_1、pin_2的关系。记忆符号编码124的一实例如下所示:

对应以上实例的波形信号输出如图3所示。以波形信号pin_1而言,首先在时间点t1时,执行第一个fppi操作指令,将对应至第2行第8个位置的信号准位初始化为0。接着,在时间点t2时,执行appi操作指令,将第2行第8个位置的信号准位设定为1。之后,在时间点t3时,执行第一个s-appi操作指令,将当前位置的信号准位设定为0且持续8个时间单位。接着,在时间点t4时,重复loop1的内回圈,也就是重复上述appi操作指令和第一个s-appi操作指令两次,直到第三次第一个s-appi操作指令执行结束。在时间点t5时,执行第二个s-appi操作指令,将当前位置的信号准位设定为1且持续18个时间单位。接着,在时间点t6时,重复loop1的外回圈,也就是重复上述loop1内回圈和第二个s-appi操作指令三次,直到第四次第二个s-appi操作指令执行结束。最后,执行第二个s-appi操作指令,将当前位置的信号准位设定为0且持续至当前波形图框结束。

而就波形信号pin_2而言,因为其对应的记忆符号编码与波形信号pin_1对应的记忆符号编码的差异仅在第一个fppi操作指令为将第2行第9个位置的信号准位初始化为0。由此可知,波形信号pin_2为波形信号pin_1的向右平移,且在忽略平移的情况下,两者的波形变化情形相同。

本发明的数字波形信号产生装置至少具有下列优点。首先,相较于寄存型配置器波形产生器、微处理器波形产生器和软核处理器波形产生器,本发明的数字波形信号产生装置透过修改记忆符号编码即可,其不需改变硬件,且其硬件部分所占用的空间和记忆体的使用量较低,故可产生更为快速的波形信号。此外,本发明的数字波形信号产生装置采用并行架构,其适于同时输出多个波形信号,程序设计者更为容易编辑记忆符号编码,且其所使用的专用指令集及编译器可避免如微处理器波形产生器和软核处理器波形产生器的程序可被轻易破解,故可进一步保护程序设计者或公司的智慧财产权。然而,本发明的应用不限于集成电路领域,其亦可应用在电机驱动、变频驱动、工业控制和其他合适的领域。

虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1