CN103270468A - 低存储器使用的任意波形表示或生成 - Google Patents

低存储器使用的任意波形表示或生成 Download PDF

Info

Publication number
CN103270468A
CN103270468A CN2011800617218A CN201180061721A CN103270468A CN 103270468 A CN103270468 A CN 103270468A CN 2011800617218 A CN2011800617218 A CN 2011800617218A CN 201180061721 A CN201180061721 A CN 201180061721A CN 103270468 A CN103270468 A CN 103270468A
Authority
CN
China
Prior art keywords
data
data point
segmentation
analog converter
digital
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
CN2011800617218A
Other languages
English (en)
Other versions
CN103270468B (zh
Inventor
J·A·马歇尔
R·N·斯威策
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.)
Marvell World Trade Ltd
Mawier International Trade Co Ltd
Original Assignee
Mawier International Trade 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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN103270468A publication Critical patent/CN103270468A/zh
Application granted granted Critical
Publication of CN103270468B publication Critical patent/CN103270468B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • H03M1/74Simultaneous conversion
    • H03M1/742Simultaneous conversion using current sources as quantisation value generators
    • H03M1/747Simultaneous conversion using current sources as quantisation value generators with equal currents which are switched by unary decoded digital signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/022Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F7/00Optical analogue/digital converters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03BGENERATION OF OSCILLATIONS, DIRECTLY OR BY FREQUENCY-CHANGING, BY CIRCUITS EMPLOYING ACTIVE ELEMENTS WHICH OPERATE IN A NON-SWITCHING MANNER; GENERATION OF NOISE BY SUCH CIRCUITS
    • H03B21/00Generation of oscillations by combining unmodulated signals of different frequencies
    • H03B21/01Generation of oscillations by combining unmodulated signals of different frequencies by beating unmodulated signals of different frequencies
    • H03B21/02Generation of oscillations by combining unmodulated signals of different frequencies by beating unmodulated signals of different frequencies by plural beating, i.e. for frequency synthesis ; Beating in combination with multiplication or division of frequency
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Optics & Photonics (AREA)
  • Analogue/Digital Conversion (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

本公开描述了用于低存储器使用的任意波形表示或生成的技术和装置。这些技术和/或装置使得能够使用比许多当前技术更少的存储器来进行任意波形的表示和/或生成,因此降低了成本或存储器大小。另外,在一些实施例中,该技术和装置在不使用处理器资源的情况下生成任意波形。

Description

低存储器使用的任意波形表示或生成
相关申请
本公开要求于2010年12月23日提交的美国临时专利申请序列号61/426,763的优先权,其公开通过引用整体结合于此。
背景技术
此处提供的背景描述是为了总体上呈现本公开的背景的目的。在本背景技术部分所描述的工作的范围内,当前名义发明人的工作以及可能不会以其他方式被视为提交时的现有技术的描述的方面既未明示也不隐含地被认作是本公开的现有技术。
目前,任意波形生成器能够基于存储在存储器中的表示所期望任意波形中的每个点的数字数据来产生任意波形。这些当前的任意波形生成器经常包括在其中存储每个点的数字数据的存储器,用于从存储器获取数据并且以用于所期望任意波形的顺序提供数据的定序器,以及用于从定序器获取数据并且基于该数据输出模拟波形的数模转换器。然而,这些当前的任意波形生成器经常使用大量存储器,这在成本和芯片空间方面是昂贵的。
发明内容
本发明内容被提供以介绍以下在具体实施方式和附图中进一步进行描述的主题。因此,本发明内容不应当被认为是对必要特征进行描述,也并非被用来对所请求保护主题的范围进行限制。
描述了一种方法,其包括利用表示任意波形的部分的线性近似的分段生成该任意波形的表示,并且将该任意波形的表示存储为分段。
描述了另一种方法,其包括接收触发和初始值,该触发用以将数据点提供至数模转换器,并且该初始值向数模转换器指示初始数据点的幅度,响应于接收到该触发,从存储器请求循环数据,该循环数据指示相关联分段数据的分段地址,响应于针对该循环数据的请求,接收具有分段地址的循环数据,从存储器请求处于第一分段地址的第一分段数据,响应于该请求接收第一分段数据,该第一分段数据指示第一分段中的增量和计数,基于初始值和增量针对每个计数确定由芯片内的数模转换器接收的第一数据点,将第一数据点提供至数据转换器,从存储器请求处于第二分段地址的第二分段数据,响应于该请求接收第二分段数据,该第二分段数据指示第二分段中的第二增量和第二计数,基于第一数据点中最后提供的数据点以及第二增量针对每个第二计数确定由数模转换器接收的第二数据点,并且将第二数据点提供至数模转换器,而有效地使得数模转换器能够创建对应波形的循环。
描述了一种集成硬件芯片,包括存储器,其具有存储器地址,存储器地址用于存储器中的位置,每个位置能够存储分段数据或循环数据;有限状态机,被配置为利用位置的存储器地址而对存储器进行查询,位置存储循环数据,接收该循环数据,该循环数据指示多个分段数据的存储器地址以及存储器地址的顺序,针对多个存储区地址的每个查询,根据该顺序查询多个存储器地址中的每个地址:接收分段数据,该分段数据指示计数和增量;基于计数和增量确定数据点;并且将数据点提供至数模转换器,以及数模转换器,其被配置为接收数据点并且基于该数据点输出模拟波形。
附图说明
参考附图对详细描述进行描述。在图中,附图标记最左侧的数字标识出该附图标记首次出现的示图。在说明书和附图中的不同实例中使用相同附图标记指示相似或相同的项。
图1图示在其中能够执行用于低存储器使用的任意波形表示或生成的技术的操作环境。
图2图示使用表示所期望任意波形的部分的分段表示或生成该任意波形的方法。
图3图示用于示出具有波形部分的复杂、不规则重复波形的幅度相对时间的图形。
图4图示图3中被划分为十个部分的波形部分,这十个部分中的每一个具有作为相对应部分的分段线性近似的代表性分段。
图5图示具有用于图3和图4的波形部分的分段的线性近似线条的幅度相对时间的图形。
图6图示响应于触发并且基于初始值、循环数据和分段数据生成任意波形的方法。
图7图示在其中存储顺序和循环数据的波形存储结构。
图8图示能够实现低存储器使用的任意波形表示或生成的片上系统。
具体实施方式
概述
本公开描述了用于低存储器使用的任意波形表示或生成的技术和装置。这些技术和/或装置使得能够使用比许多当前技术更少的存储器来进行任意波形的表示和/或生成,因此降低了成本或存储器大小。另外,在一些实施例中,该技术和装置在不使用处理器资源的情况下表示和/或生成任意波形。
如在背景技术中所述,当前的任意波形生成器可能要使用过多存储器,这通常并且特别在芯片有效面积很昂贵且受限的情况下是成问题的。对于当前表示任意波形的方式亦是如此。作为示例,考虑能够生成三角波的常规任意波形生成器。假设常规生成器中所使用的存储装置宽度为用于以10MHz进行操作并且产生10kHz全尺寸三角波的12位数模转换器的12位宽度的存储器。在这样做时,常规生成器对于每个三角中的1000个点使用12000位的存储装置。
然而,如果遵循这里所描述的技术和装置所生成,则能够使用具有两个分段的一个重复循环来定义相同的三角波。该定义可以被存储在三个存储器位置中,一个位置用于循环并且每个分段有一个位置。如果均被存储在32位宽度的存储器空间中,则与常规情形中的12000位相比,总体存储装置将为96位。因此,所描述技术所使用的存储器资源少于常规生成器所使用存储器的百分之一——节省了99%。这里对各种其它示例进行了描述,其中的一些节约了较多存储器而一些则较少。
在以下讨论中,首先对具有示例波形生成器的操作环境进行描述,虽然该示例波形生成器并非意在对这里的技术或权利要求进行限制。该技术也可以或另外表示具有低存储器使用的任意波形而不管该任意波形随后如何、何时或是否基于这些表示所生成。随后描述可以在该操作环境以及其它环境中采用的方法。在方法之后,描述了示例装置。在以下讨论中,将仅通过示例对该环境加以参考,因此以下所描述的实施方式并不局限于所描述的环境。
操作环境
图1图示操作环境100,其具有表示模块102、触发实体104、波形生成器106和模拟波形接收器108(接收器108)。表示模块102生成波形的低存储器使用的表示,其随后可以被存储在存储器110上。表示模块102可以与波形生成器106一体或与之分离。触发实体104可以是诸如波形生成器106驻留于其中的计算设备的许多不同设备之一或者驻留于其中。触发实体104向波形生成器106发送触发以发起波形的生成。该波形可以是任意的、非任意的,复杂或简单的、以及重复或非重复的。因此,该波形可以是简单且重复的——诸如正弦波,或者是复杂且非重复的。虽然在任意、复杂和/或非重复的波形的情景下对这些用于低存储器使用的任意波形表示或生成的技术和装置进行描述,但是也可以生成简单、重复的波形,。
触发可以响应于事件而发送,事件例如到达时间点(例如,来自时钟)、GPIO上升或下降沿、基于串行输入数据所接收或生成的信号、和/或由用户设置或以其它方式所设置的其它事件。在一些情况下,触发实体104还可以发送波形的初始值,虽然并非必然要求如此。
波形生成器106接收该触发并且生成所请求的波形,波形生成器106将该波形提供至接收器108。接收器108可以是许多不同类型的实体(仅给出三个示例,诸如扬声器、致动器或电机)中的一个。波形生成器106包括存储器110、数据点模块112和数模转换器114中的一个或多个。波形生成器106可以是不具有处理器的集成硬件芯片或者相反包括固件、处理器或其它结构。在任意波形被表示而并非必然生成的情况下,表示或基于表示的数据点可以被提供至除数模转换器之外的多个实体,例如被提供至数字信号处理链。
存储器110被配置为存储供数据点模块112所使用的分段和循环数据。在一些情况下,存储器110具有32位宽度的位置,其中每个位置能够存储分段或循环数据。分段和循环数据将在下文中进行更为详细的描述。
数据点模块112被配置为基于存储器110中所存储的循环数据和/或分段数据来确定用于由数模转换器114所接收的数据点。在一些情况下,数据点模块112是有限状态机,虽然并非要求如此。以下给出数据点模块112工作以及与其它实体交互的方式。
数模转换器114接收数据点模块112所提供的数据点而有效地输出模拟波形。数模转换器114可以是本领域已知的各种不同数模转换器之一。
表示和生成任意波形的方法
本公开描述包括具有低存储器使用的那些在内的用于表示和/或生成任意波形的技术。这些技术允许使用较少的存储器资源,由此降低成本和/或存储器大小。这些技术包括以下所说明的各种方法,它们作为整体或部分可以单独使用或者组合使用。这些方法的各方面可以以硬件、固件、软件或其组合来实施。该方法被示为指定由一个或多个实体所执行的操作的动作集合且并非必然局限于所示出的顺序。
图2图示使用表示所期望任意波形的部分的分段来表示和/或生成任意波形的方法200。
在202,生成波形表示。即使在波形复杂或任意的情况下,波形表示也可以具有低存储器使用。例如,在一种情况下,表示模块102生成具有分段的波形的表示,每个分段表示波形的部分的线性近似。以下对其能够被执行的方式进行更为详细的描述。
在204,存储波形表示。如所提到的,用来存储波形表示的存储器使用可以很低。继续之前的示例,假设表示模块102将表示存储为分段并且存储在图1的存储器110中。
在206,确定数据点。基于增量和计数而针对表示所期望任意波形的一部分的分段确定数据点,数据点可以被存储在数模转换器本地且可由其访问的存储器中。
该分段表示所期望任意波形的一部分。利用可以或无法分组为循环(例如,循环或周期性波形或者其部分)多个分段,图1的数据点模块112可以提供数据点,该数据点有效地使得数模转换器114能够生成具有低存储器使用的整个所期望的任意波形。
例如考虑图3、4和5,它们图示可以由多个分段来表示任意波形的示例方式。图3图示用于示出具有波形部分304的复杂的、不规则重复的波形302的幅度相对时间的图形300。波形部分304是波形302中被扩展以示出其细节的一小部分。
图4图示了图3中被划分为十个部分的波形部分304,这十个部分中的每一个具有代表性分段S1、S2、S3、S4、S5、S6、S7、S8、S9和S10,它们是相对应部分的分段线性近似。这些分段中的每一个可以像使用计数(例如,时间点数)和增量(例如,每个时间点的幅度变化)那样少地在存储器中表示。这在图5中进行图示,其示出针对图4的分段S3的具有线性近似线502的幅度相对时间的图形500,“N”计数到504(从时间t=0至N),并且增量506。注意,计数可以基于任意时间间隔,诸如适当时间单位(例如,秒、毫秒、微秒或纳秒)的倍数或分数。附加地或可替换地,增量可以以电压或功率的任意适当单位(例如,伏特或dBm)来指定。
因此,如图3-5的示例中所示,分段包括足以近似表示波形的一部分的增量和计数。虽然这里并未详细指出,但是分段可以被分组为循环,这在循环被重复的情况下节省了存储器。如图3所示,波形302可以由不规则重复三次的循环所表示,虽然其可以被划分为更多循环,诸如针对诸如波形部分304的更小部分的循环。
在一些情况下,波形部分是足够线性的或者计数足够小以使得分段的增量和计数和在存储器中存储波形的每个点一样准确。在一些另外的情况下,即使分段的增量和计数并非与存储该部分的每个数据点精确相同,诸如载波波形或模拟波形(例如,数模转换器所产生的模拟波形)之类的结果也可以与存储每个数据点的数据的常规方法相同或者与其一样准确。在生成模拟波形的情况下,这可能是由于数模转换器能够再现或接收的解决方案以及其它因素。在又一些情况下,所产生的模拟波形可能稍不准确但是没有负面影响。
返回图2的方法200,在208,提供数据点。如上所述,表示波形的数据点或分段可以被存储以便后续使用和/或提供至各个实体。在之前的示例中,数据点被提供至数模转换器。这些数据点中每一个的幅度通过增量而相对于数据点之前有所变化(除非增量为零)。该数据点有效地使得数模转换器能够输出所期望任意波形的部分。
虽然图3-5的以上示例示出了波形的一部分的一个分段,但是方法200可以重复。因此,例如,图1的数据点模块112可以表示和/或确定多个其它组数据点,另一分段的多个其它组数据点的每一个表示所期望任意波形的另一部分并且基于数模转换器本地的存储器中所存储的另一增量和另一计数。
另外,方法200的框202可以使用被排列为重复循环的重复的分段集合来表示波形,框206和208随后可以对该波形进行处理。因此,数据点模块112可以针对图4的十个分段重复方法200的框206和208作为循环或循环部分并且随后再次对相同循环或其它循环这样做。如上所述,每个循环可以表示所期望任意波形的一些重复部分或超过部分(super-portion)。这些循环可以是相同或不同的。再次考虑图3的波形302。该技术可以表示波形302,其具有重复三次的一个循环,第二和第三循环之间不规则的第二循环,以及每个第一循环的相同分段。然而,在一些实施例中,该技术可以另外具有许多循环,诸如5个不同循环,四个重复三次(波形302的三个相似超过部分中的每个“隆起(hump)”重复一次)以及波形302中处于第二和第三相似超过部分之间的平坦部分的第五个循环。
不仅循环可以有所重复,因此可能节省存储器,而且分段也可以重复。例如,图4的分段S3可以被重复以表示波形302的另一部分。假设分段S3在存储器中存储比其被使用更少的次数,则重复的分段S3节省了存储器。
而且,如果该其它部分大于图4的S3(具有更多计数),则该分段可以仅针对该其它部分进行重复。假设S3的计数为4且增量为3.7。如果波形302的另一个部分具有增量3.7和计数28,则数据点模块112可以对分段S3重复7次(28/4=7)以使得数模转换器114创建该其它部分。无论波形是否包括重复循环,都可以得到这些由于重复使用分段的节约。假设特定波形并不重复,为10000个计的长,并且可以利用100个分段进行近似(例如,均具有10个计数的50个正增量和50个负增量)。该技术可以表示该波形并且随后连同需要创建分段的顺序(在这种情况下为1000个分段地址的列表)所需的存储器一起将其存储在100个存储器位置中。这对于存储10000个数据点而言表示实质性节约。该技术可以选择存储像存储器110中的位置一样多的分段(减去用于存储顺序的位置,其可以像1那么小)以增加近似的准确性,诸如如果有足够的存储器则存储200个分段。通过如此,使用所有的本地可用存储器而提高准确性。
即使在不同部分的起始幅度也有所不同时,数据点模块112也可以重复使用分段。这在下文中更为详细地进行描述。
图6图示了响应于触发并基于初始值、循环数据和分段数据而生成任意波形的方法600。循环数据和分段数据是波形的表示并且可以如这里其它地方所提到的那样生成。
在602,接收触发以向数模转换器提供数据点。该触发可以简单地指示开始生成波形的命令或者包括对开始生成波形有用的信息,诸如循环地址。还可以与该触发分开或一起接收初始值,该初始值向数模转换器指示用于初始数据点的幅度。例如,假设数据点模块112从触发实体104接收到触发和初始值二者,并且该触发包括存储器110中的循环地址。该循环地址指向存储器110中存储循环数据的位置。
在604,从存储器请求循环数据。这里,数据点模块112基于在触发中所接收的循环地址而针对循环数据查询存储器110。该循环数据包括相关联分段数据的分段地址。该循环数据可以明确包括相关联分段地址或数据的分段顺序(例如,列表)、分段地址的排列、或者隐含指出该分段顺序的数据。因此,数据点模块112可以明确遵循该分段顺序,以该分段顺序对每个分段重复方法600的各个部分,或者被配置为循环数据内隐含的分段顺序。
作为示例,考虑图7,其图示了其中存储顺序和循环数据的波形存储结构700。波形在波形存储结构700以7个循环表示,处于702的循环0,处于704的循环1以及处于706的循环6(循环2至5处于简洁起见而省略)。因此,在602,数据点模块112接收从其请求循环数据的循环地址(例如,“CYCLE_PTR”)。在604,数据点模块112使用循环地址请求循环数据。
在606,响应于针对循环数据的请求而接收具有分段地址的循环数据。这里,数据点模块112接收存在16个分段和存储器中用于那些分段的位置以及分段的顺序的指示。注意,数据点模块112可以一次接收一个分段地址(在这种情况下,顺序是隐含的)而不是同时接收。第一循环的分段数据在存储器中的16个位置的第一分段数据708处示出,每个位置为32位宽度。
在608,使用第一分段地址从存储器请求第一分段数据。这里,数据点模块112根据顺序而利用第一分段地址查询存储器110。如以上所述,分段数据指示增量和计数。如例如在第一分段数据708所示,增量为一些恒定量而计数为整数。
在610,响应于请求接收第一分段数据,该第一分段数据指示增量和计数。在一些实施例中,该技术在第一循环的第一分段的表现不同于后续循环。无论是与第一分段相关联还是能够以其它方式被诸如图1的触发实体104的外部实体所接收,初始值都可以包括在存储器中。对于之前示例而言,假设在602接收到初始值。
在612,基于初始值和增量针对每个计数确定数据点以便由数模转换器所接收。该示例中的第一数据点由数据点模块112基于所接收的初始值来确定。该分段中随后的数据点(这里为第一分段中16个总计数中随后的15个计数)相对于在前数据点增加以一个增量。
这可以如下以等式格式示出,其中D=数据点,I=增量,V=初始值,N=计数:
D0到N=V,V+I,V+2*I,...,V+N*I
然而,数据点模块112无需为了确定多达N个数据点的当前数据点而保留除了之前的数据点、增量和计数(或者计数的减量)之外的信息。如以上所述,数据点模块112可以在不借助于计算机处理器的情况下这样做。此外,对于不同分段或不同循环亦是如此,在这种情况下,(无论是否在相同循环中)后继分段的第一数据点是当前分段的最后数据点,被用作初始值。
在614,数据点被提供至数模转换器。如以上所述,这些数据点可以一次提供一个(例如,顺序地)。如以上所述,这些数据点有效地使得数模转换器能够生产对应于分段的模拟波形的一部分。
在616,从存储器请求处于另一个分段地址的另一个分段数据。虽然是利用分段顺序中的下一个分段数据,但是数据点模块112可以类似于608中所给出的那样这样做。
在618,响应于请求而接收其它分段数据,其它分段数据指示用于其它分段的另一增量或和另一计数。如以上部分所述的,在一些情况下,分段针对波形的相同部分被重用或重复。在这样的情况下,第一增量和第二增量(以及计数)可以是相同的。在许多情况下,如图7所示的当前示例,增量针对循环中的下一个分段有所变化。这里,数据点模块112创建数据点,第一数据点基于其它增量以及之前分段的最后数据点,而不是在602所接收的初始值。
在620,基于紧接之前的分段的最终数据点和其它增量针对每个其它计数确定其它数据点以便由数模转换器所接收。
在622,其它数据点被提供至数模转换器而有效地使得数模转换器能够创建相对应波形的循环。这里,可以确定循环中其余分段的数据点并且将其提供至数模转换器,诸如图7所示的16个分段。这通过利用方法600中的虚线所示出的针对循环的第一分段以外的分段重复616、618、620和622来执行。然而,对于后续循环,第一分段使用在前循环的最后数据点作为初始值,而不是所接收的初始值或在线分段的最后数据点。在一些实施例中,数据点模块112基于当前循环的最后分段具有零计数而确定进行至另一个循环。因此,最后分段是移动至另一个循环而不是确定数据点的标志。
该技术能够继续无限确定数据点(对于连续的波形生成)或者在一些点停止。在一些情况下,数据点模块112在触发中接收循环计数。在这样的情况下,数据点模块112在每个循环完成时递减循环计数,并且当循环计数达到零时停止。然而,在一些情况下,数据点模块112无限地重复一个或多个循环或者直至接收到另一个触发。
注意,图1所示的诸如触发实体104、波形生成器106、数据点模块112或数模转换器114等实体的一个或多个可以进一步被细分、组合等。这些实体中的每一个可以是硬件、软件、固件或者其组合,和/或存储在计算机可读媒体上并且由一个或多个处理器所执行。
用于表示或生成任意波形的示例片上系统
如以上所述,所描述的用于低存储器使用的任意波形表示或生成的技术可以利用集成硬件芯片来执行,该集成硬件芯片具有表示模块102和/或存储器110、数据点模块112以及数模转换器114。然而,在一些实施例中,该技术可以整体或部分地利用诸如片上系统的其它装置来执行。图8图示利用示例片上系统(SoC)800的这样一种情形。SoC可以以固定或移动设备来实施,该固定或移动设备例如计算设备、电视机顶盒、视频处理和/或呈现设备、以太网接口、交换机、电器、游戏设备、电子设备、汽车、工作站和/或可以在一个或多个分组流中传送或接收分组的任意其它类型的设备中的任意一个或者其组合。
SoC 800可以与电子电路系统、微处理器、存储器、输入-输出(I/O)逻辑控制、通信接口和组件、运行整个设备所需的其它硬件、固件和/或软件进行集成。SoC 800还可以包括集成数据总线(未示出),其将SoC的各个组件进行耦合用于在组件之间进行数据通信。包括SoC 800的设备也可以利用不同组件的许多组合形式来实施。
在该示例中,SoC 800包括各种组件,诸如输入-输出(I/O)逻辑控制802(例如,用于包括电子电路系统)和微处理器804(例如,微控制器或数字信号处理器的任一个)。SoC 800还包括SoC存储器806,其可以是任意类型的随机访问存储器(RAM)、低延迟非易失性存储器(例如,闪存)、只读存储器(ROM)和/或其它适当电子数据存储装置。SoC存储器806可以根据SoC 800的架构而与存储器110(所示出的)分离或者与之集成(未示出)。SoC 800还可以包括各种固件和/或软件,诸如操作系统808,其可以是由SoC存储器806保持并且由微处理器804执行的计算机可执行指令。SoC800还可以包括其它各种通信接口和组件、无线LAN(WLAN)或PAN(WPAN)组件、其它硬件、固件和/或软件。
SoC 800可以包括图1的表示模块102、存储器110、数据点模块112和数模转换器114。这些实体及其相对应的功能参考图1所示的示例环境100的相应组件进行了描述。
虽然已经以特定于结构特征和/或方法技术和/或动作的语言对主题进行了描述,但是要理解的是,所附权利要求中所限定的主题并非必然局限于以上所描述的包括它们的执行顺序在内的具体特征、技术或动作。

Claims (20)

1.一种方法,包括:
利用表示任意波形的部分的线性近似的分段生成所述任意波形的表示;以及
将所述任意波形的所述表示存储为所述分段。
2.根据权利要求1所述的方法,进一步包括:
针对所述分段中的一个分段确定数据点以提供至数模转换器,所述分段中的一个分段表示所述任意波形的所述部分中的一个部分,所述数据点基于所述数模转换器本地的存储器中存储的增量和计数;以及
将所述数据点提供至所述数模转换器,所述数据点中的每个数据点在所述计数处从所述数据点的在前的数据点递增所述增量,所述数据点有效地使得所述数模转换器输出所述任意波形的所述部分。
3.根据权利要求2所述的方法,其中所述数据点是第一组数据点并且进一步包括确定多个其它组数据点,所述多个其它组数据点中的每一组用于另一个分段并且表示所述任意波形的部分中的另一个部分,并且基于所述数模转换器本地的存储器中存储的另一个增量和另一个计数。
4.根据权利要求3所述的方法,其中所述第一组数据点和所述多个其它组数据点表示所述任意波形的重复的超过部分,并且进一步包括重复所述确定和所述提供一次或多次,而有效地使得所述数模转换器能够重复生成所述超过部分。
5.根据权利要求3所述的方法,其中所述第一组数据点和所述多个其它组数据点表示所述任意波形超过部分,并且进一步包括针对所述任意波形的另一个不同的超过部分重复所述确定和所述提供。
6.根据权利要求5所述的方法,其中所述超过部分和另一不同的超过部分由在所述存储器的单个位置中存储的分段的相同分段部分地表示。
7.根据权利要求6所述的方法,其中所述相同分段表示所述超过部分的第一部分和所述另一超过部分的第二部分,并且所述第一部分和所述第二部分具有相同的变化速率但是具有不同的起始幅度。
8.根据权利要求2所述的方法,其中确定数据点是在没有处理器介入的情况下进行确定。
9.根据权利要求2所述的方法,其中确定数据点由所述数模转换器和所述存储器本地的有限状态机进行确定,所述有限状态机、所述数模转换器和所述存储器处于相同的集成硬件芯片上。
10.根据权利要求2所述的方法,其中用于所述分段中的一个分段的所述增量和所述计数存储在所述存储器中的相同位置中。
11.一种集成硬件芯片,包括:
存储器,具有存储器地址,所述存储器地址用于所述存储器中的位置,所述位置中的每个位置能够存储分段数据或循环数据;
有限状态机,被配置为:
利用位置的存储器地址而对所述存储器进行查询,所述位置存储所述循环数据;
接收所述循环数据,所述循环数据指示用于多个分段数据的存储器地址以及所述存储器地址的顺序;
针对所述多个存储器地址中的每个查询,根据所述顺序查询所述多个存储器地址中的每个存储器地址:
接收分段数据,所述分段数据指示增量和计数;
基于所述增量和所述计数确定数据点;以及
将所述数据点提供至数模转换器;以及
数模转换器,被配置为接收所述数据点并且基于所述数据点输出模拟波形。
12.根据权利要求11所述的集成硬件芯片,其中所述存储器位置是32位宽度。
13.一种方法,包括:
接收触发和初始值,所述触发用以将数据点提供至数模转换器并且所述初始值用于向所述数模转换器指示用于初始数据点的幅度;
响应于接收到所述触发,从与所述数模转换器同位于芯片内的存储器请求循环数据,所述循环数据指示用于相关联的分段数据的分段地址;
响应于针对所述循环数据的请求,接收具有所述分段地址的所述循环数据;
从所述存储器请求处于第一分段地址的第一分段数据;
响应于所述请求,接收所述第一分段数据,所述第一分段数据指示所述第一分段中的增量和计数;
基于所述初始值和所述增量针对每个所述计数确定由所述数模转换器接收的第一数据点;
将所述第一数据点提供至所述数模转换器;
从所述存储器请求处于第二分段地址的第二分段数据;
响应于所述请求,接收所述第二分段数据,所述第二分段数据指示所述第二分段中的第二增量和第二计数;
基于所述第一数据点的最后提供的数据点以及所述第二增量针对每个所述第二计数确定由所述数模转换器接收的第二数据点;以及
将所述第二数据点提供至所述数模转换器,而有效地使得所述数模转换器能够创建对应波形的循环。
14.根据权利要求13所述的方法,进一步包括:
从所述存储器请求处于第三分段地址的第三分段数据;
响应于所述请求,接收所述第三分段的数据,所述第三分段的数据指示零计数;
响应于所述零计数,从所述存储器请求第二循环数据,所述第二循环数据指示相关联的另一分段数据的另一分段地址;以及
将另一数据点提供至所述数模转换器,而有效地使得所述数模转换器能够创建对应波形的所述第二循环。
15.根据权利要求13所述的方法,其中所述方法由有限状态机执行。
16.根据权利要求13所述的方法,其中所述方法至少部分由处理器执行。
17.根据权利要求13所述的方法,其中所述触发指示所述存储器中的循环地址,所述循环地址为所述存储器中的存储所述循环数据的位置,并且其中请求所述循环数据是请求处于所述循环地址的数据。
18.根据权利要求13所述的方法,其中所述循环数据指示所述分段地址的分段顺序,并且请求所述第一分段数据和所述第二分段数据是基于所述分段顺序。
19.根据权利要求13所述的方法,其中所述循环包括多达比所述存储器中的地址总数小1的任意数目的分段。
20.根据权利要求13所述的方法,其中所述对应波形包括所述循环的多次重复,并且所述方法针对所述循环的多次重复中的每一次重复。
CN201180061721.8A 2010-12-23 2011-12-20 低存储器使用的任意波形表示或生成 Expired - Fee Related CN103270468B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201061426763P 2010-12-23 2010-12-23
US61/426,763 2010-12-23
PCT/US2011/066192 WO2012088130A2 (en) 2010-12-23 2011-12-20 Low-memory-usage arbitrary waveform representation of generation
US13/331,775 2011-12-20
US13/331,775 US8581765B2 (en) 2010-12-23 2011-12-20 Low-memory-usage arbitrary waveform representation or generation

Publications (2)

Publication Number Publication Date
CN103270468A true CN103270468A (zh) 2013-08-28
CN103270468B CN103270468B (zh) 2016-04-06

Family

ID=45507889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180061721.8A Expired - Fee Related CN103270468B (zh) 2010-12-23 2011-12-20 低存储器使用的任意波形表示或生成

Country Status (3)

Country Link
US (2) US8581765B2 (zh)
CN (1) CN103270468B (zh)
WO (1) WO2012088130A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105301991A (zh) * 2014-06-24 2016-02-03 是德科技股份有限公司 使用有限状态机的数字触发
US10908184B2 (en) 2014-12-19 2021-02-02 Keysight Technologies, Inc. Real time trigger using a finite state machine having a counting state

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103270468B (zh) 2010-12-23 2016-04-06 马维尔国际贸易有限公司 低存储器使用的任意波形表示或生成
US9188074B2 (en) * 2012-12-03 2015-11-17 Delphi Technologies, Inc. Fuel injector control system and component for piecewise injector signal generation
ITBO20130068A1 (it) * 2013-02-18 2014-08-19 Active Technologies S R L Metodo e sistema per la sintesi digitale di una forma d'onda
CN109075797B (zh) * 2016-04-22 2020-05-01 三菱电机株式会社 数字模拟变换装置、控制装置、以及控制系统
US10371082B1 (en) 2018-01-22 2019-08-06 Delphi Technologies Ip Limited Fuel injector control including state selection based on a control signal characteristic
US10221800B1 (en) 2018-01-22 2019-03-05 Delphi Technologies Ip Limited Fuel injector control including adaptive response

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268688A (en) * 1992-05-13 1993-12-07 Hughes Aircraft Company Linear signal reconstruction system and method
CN101017383A (zh) * 2006-11-01 2007-08-15 王文华 一种基于fpga的高速任意波形发生器
US20100164555A1 (en) * 2007-06-05 2010-07-01 Advantest Corporation Waveform generation device, waveform generation method, and program
CN101807089A (zh) * 2010-04-02 2010-08-18 广西大学 输出信号偏移量任意可调的波形信号发生器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4064423A (en) * 1975-12-12 1977-12-20 Applied Materials, Inc. Digital system and method for generating analog control signals
US4342245A (en) * 1979-10-26 1982-08-03 Norlin Industries, Inc. Complex waveform generator for musical instrument
US4956798A (en) * 1989-08-03 1990-09-11 Tektronix, Inc. Arbitrary waveform generator with adjustable spacing
US20070067123A1 (en) 2005-09-19 2007-03-22 Jungerman Roger L Advanced arbitrary waveform generator
CN103270468B (zh) 2010-12-23 2016-04-06 马维尔国际贸易有限公司 低存储器使用的任意波形表示或生成

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268688A (en) * 1992-05-13 1993-12-07 Hughes Aircraft Company Linear signal reconstruction system and method
CN101017383A (zh) * 2006-11-01 2007-08-15 王文华 一种基于fpga的高速任意波形发生器
US20100164555A1 (en) * 2007-06-05 2010-07-01 Advantest Corporation Waveform generation device, waveform generation method, and program
CN101807089A (zh) * 2010-04-02 2010-08-18 广西大学 输出信号偏移量任意可调的波形信号发生器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105301991A (zh) * 2014-06-24 2016-02-03 是德科技股份有限公司 使用有限状态机的数字触发
CN105301991B (zh) * 2014-06-24 2019-07-26 是德科技股份有限公司 使用有限状态机的数字触发
US10908184B2 (en) 2014-12-19 2021-02-02 Keysight Technologies, Inc. Real time trigger using a finite state machine having a counting state

Also Published As

Publication number Publication date
US20140055461A1 (en) 2014-02-27
US8581765B2 (en) 2013-11-12
US8736477B2 (en) 2014-05-27
CN103270468B (zh) 2016-04-06
US20120161996A1 (en) 2012-06-28
WO2012088130A2 (en) 2012-06-28
WO2012088130A3 (en) 2012-10-04

Similar Documents

Publication Publication Date Title
CN103270468B (zh) 低存储器使用的任意波形表示或生成
CN107402597A (zh) 一种数据与时钟对齐的方法、装置、介质及磁共振设备
CN102788891B (zh) 一种复杂的波形序列发生器
CN103092060A (zh) 基于fpga的时间间隔测量系统与测量方法
CN111813256B (zh) 触控处理方法、装置与触控系统
CN109963325B (zh) 一种基于基站的定位方法、装置及设备
CN106802972B (zh) 时钟抖动仿真
CN103049586A (zh) 电源分配系统的仿真方法及目标阻抗的获取方法
CN103178814A (zh) 一种函数信号发生装置及方法
CN103338037B (zh) 一种锁相环中时钟信号转数字信号的方法和装置
RU2010133016A (ru) Комплекс отладки
CN109104171A (zh) 一种pwm波形发生器
CN213717955U (zh) 自唤醒定时器及电子设备
CN112100955B (zh) 一种信号传输方法及装置
CN104750648A (zh) 基于双线总线的单向通讯控制装置及方法
CN107271891A (zh) 一种序列脉冲上升沿加抖的装置
CN202614809U (zh) 一种输出函数波形的装置
RU2469376C1 (ru) Вычислительное устройство бинс
CN103457583A (zh) 归一化脉宽调制波形发生器
CN103746707A (zh) 基于fpga的并串数据转换电路
US8755236B2 (en) Latch system applied to a plurality of banks of a memory circuit
CN104883161A (zh) 混沌脉宽调制和混沌冲激位置调制电路
CN103957064A (zh) 用于短波信道模拟的方法、装置和处理器
CN204597914U (zh) 混沌脉宽调制和混沌冲激位置调制电路
Liu et al. FPGA-Based dual-probabilities CSMA/CA control system design

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: 20160406

Termination date: 20181220