CN114375445A - 使用自主存储器访问对数据进行预处理及相关系统、方法和设备 - Google Patents
使用自主存储器访问对数据进行预处理及相关系统、方法和设备 Download PDFInfo
- Publication number
- CN114375445A CN114375445A CN202080060417.0A CN202080060417A CN114375445A CN 114375445 A CN114375445 A CN 114375445A CN 202080060417 A CN202080060417 A CN 202080060417A CN 114375445 A CN114375445 A CN 114375445A
- Authority
- CN
- China
- Prior art keywords
- waveform
- waveform data
- data
- controller
- ama
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Control Of Ac Motors In General (AREA)
- Microcomputers (AREA)
- Advance Control (AREA)
Abstract
本发明公开了自主存储器访问(AMA)控制器及相关系统、方法和设备。AMA控制器包括波形电路,该波形电路被配置为自主地检索存储在存储器设备中的波形数据并且在没有来自处理器的干预的情况下预处理该波形数据。该AMA控制器被配置为将该预处理的波形数据提供给一个或多个外围设备。
Description
优先权声明
本申请根据35 U.S.C.§119(e)要求2019年8月29日提交的关于“MCU withBuffer/DMA with Hardware Scaling of Data and Timing-Controlled Transfers”的美国临时专利申请序列号62/893,617的权益,该临时专利申请的公开内容据此全文以引用方式并入本文。
背景技术
在许多嵌入式控制系统和其他计算系统中,外围设备与主机之间或者外围设备之间的数据的移动可能相当于此类系统中可能存在的各种总线上的大量数据流量。直接存储器访问(DMA)控制器可用于管理这些数据传输,使得主机不需要管理每个数据元的移动。然而,传统DMA控制器可能仍具有主机需要执行的重要开销管理,并且DMA控制器通常对于批量数据传输最有效。
附图说明
虽然本公开以特别指出并清楚地要求保护具体实施方案的权利要求书作为结尾,但当结合附图阅读时,通过以下描述可更容易地确定本公开范围内的实施方案的各种特征和优点,在附图中:
图1是包括处理器、存储器、外围设备和自主存储器访问(AMA)控制器的计算系统的框图;
图2是根据一些实施方案的AMA控制器的详细框图;
图3是根据一些实施方案的计算系统(例如,图1的计算系统,但不限于此)的一部分的框图;
图4是根据一些实施方案的计算系统(例如,图1的计算系统,但不限于此)的一部分的另一框图;
图5是根据一些实施方案的示出了操作AMA控制器的方法的流程图;并且
图6是电路的框图,在一些实施方案中,该电路可用于实现本文所公开的各种功能、操作、动作、过程和/或方法。
具体实施方式
在以下详细描述中,参考了形成其一部分的附图,并且在附图中以举例的方式示出了可实践本公开的具体示例性实施方案。充分详细地描述了这些实施方案,以使本领域的普通技术人员能够实践本公开。然而,可利用其他实施方案,并且可在不脱离本公开的范围的情况下进行结构、材料和过程的变化。本文所呈现的图示并不旨在为任何特定方法、系统、设备或结构的实际视图,而仅仅是用于描述本公开的实施方案的理想化表示。本文所呈现的附图未必按比例绘制。为了读者的方便,各附图中的类似结构或部件可保持相同或相似的编号;然而,编号的相似性并不意味着该结构或部件在尺寸、组成、配置或任何其他属性方面必须是相同的。
应当容易理解,如本文一般所述并且在附图中示出的实施方案的部件可被布置和设计成多种不同的配置。因此,对各种实施方案的以下描述并不旨在限制本公开的范围,而是仅代表各种实施方案。虽然实施方案的各个方面可在附图中呈现,但是附图未必按比例绘制,除非特别指明。
此外,所示出和描述的特定实施方式仅为示例,并且不应理解为实施本公开的唯一方式,除非本文另外指明。元件、电路和功能可以框图形式示出,以便不以不必要的细节模糊本公开。相反,所示出和描述的特定实施方式仅为示例性的,并且不应理解为实施本公开的唯一方式,除非本文另外指明。另外,块定义和各个块之间逻辑的分区是特定实施方式的示例。对于本领域的普通技术人员将显而易见的是,本公开可通过许多其他分区解决方案来实践。在大多数情况下,已省略了关于定时考虑等的细节,其中此类细节不需要获得本公开的完全理解,并且在相关领域的普通技术人员的能力范围内。
本领域的普通技术人员将会理解,可使用多种不同技术和技法中的任何一者来表示信息和信号。例如,可在整个本说明书中参考的数据、指令、命令、信息、信号、位、符号和芯片可由电压、电流、电磁波、磁场或粒子、光场或粒子或者它们的任何组合来表示。为了清晰地呈现和描述,一些附图可以将信号示出为单个信号。本领域的普通技术人员应当理解,信号可表示信号总线,其中总线可具有多种位宽度,并且本公开可在包括单个数据信号在内的任意数量的数据信号上实现。
结合本文所公开的实施方案描述的各种例示性逻辑块、模块和电路可使用通用处理器、专用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者被设计成执行本文所述的功能的其他可编程逻辑设备、离散栅极或晶体管逻辑、离散硬件部件或它们的任何组合来实现或实施。通用处理器(在本文中也可称为主机处理器或仅称为主机)可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可实现为计算设备的组合,诸如DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器或任何其他此类配置。在通用计算机被配置为执行与本公开的实施方案相关的计算指令(例如,软件代码,但不限于此)时,包括处理器的通用计算机被认为是专用计算机。
而且,应当指出的是,可根据被描绘为流程图、流程图示、结构图或框图的过程来描述实施方案。尽管流程图可将操作行为描述为顺序过程,但是许多这些行为可按另一顺序、并行或基本上同时执行。此外,可重新安排动作的顺序。过程可以对应于方法、线程、函数、程序、子例程、子程序等。此外,本文所公开的方法可以在硬件、软件或两者中实现。如果在软件中实现,这些函数可作为一个或多个指令或代码存储或传输到计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质两者,该通信介质包括有利于将计算机程序从一个位置传递到另一个位置的任何介质。
应当理解,本文中使用名称诸如“第一”、“第二”等对元件的任何提及不限制这些元件的数量或顺序,除非明确说明此类限制。相反,这些名称可在本文中用作在两个或更多个元件或元件的实例之间进行区分的便利方法。因此,提及第一元件和第二元件并不意味着在那里只能采用两个元件,或者第一元件必须以某种方式在第二元件之前。此外,除非另外指明,一组元件可包括一个或多个元件。
为了便于遵循该描述,在大多数情况下,元件编号指示符以引入或最充分讨论元件的附图的编号开始。因此,例如,图1上的元件标识符将主要为数字格式1xx,并且图4上的元件将主要为数字格式4xx。
如本文所用,涉及给定参数、属性或条件的术语“基本上”是指并且包括在本领域的普通技术人员将会理解的给定参数、属性或条件满足小程度的方差的程度,诸如例如在可接受的制造公差内。以举例的方式,取决于基本上满足的具体参数、属性或条件,参数、属性或条件可至少满足90%、至少满足95%、或甚至至少满足99%。
如本文所用,术语“电连接”和“电连接的”是指元件之间无中间元件的直接电连接和元件之间具有一个或多个中间元件的间接电连接两者。
在整个本说明书中提及“一个实施方案”、“实施方案”或类似的语言意味着结合所指示的实施方案描述的特定特征、结构或特性包括在本公开的至少一个实施方案中。因此,整个本说明书中的短语“在一个实施方案中”、“在实施方案中”和类似的语言可以但不必全部是指同一实施方案。
在一些系统中,使用波形发生器(诸如脉冲宽度调制器(PWM)或数模转换器(DAC))生成波形或周期性信号以生成具有特定波形的信号可能是有帮助的。可向波形发生器提供限定波形的波形数据。向波形发生器提供波形数据可由中央处理单元(CPU)执行。在一些情况下,波形可能会非常频繁地更新,并且可能会在严格的定时约束下实时完成。CPU上的负载可能随着更新频率而缩放,这会影响包括CPU(例如,微控制器(MCU)或其他系统,但不限于此)的系统的实时能力的其余部分,以便执行其他任务或提高功率效率,但不限于此。
直接存储器访问(DMA)控制器可用于将波形数据传输到波形发生器,并由此减少CPU上的负载。然而,许多DMA控制器限于传输数据,这对于一些波形管理任务可能是不够的。例如,除了传输波形数据之外,波形管理任务还可能涉及波形数据的缩放以控制波形的波幅、波形的整形、修改波形的定时(例如,波形的频率和/或相位,但不限于此)、波形数据的内插和/或波形数据的滤波。
尽管这些波形管理任务(例如,波形生成、缩放、整形、定时、内插、滤波,但不限于此)可使用CPU来执行,但CPU对执行波形管理任务的干预涉及对CPU的其他操作的频繁中断以释放处理带宽以执行波形管理任务。在将数据传递到PWM/DAC之前,处理波形数据(例如,相乘/缩放,但不限于此),这表示CPU上的显著负载。
此外,除了缩放波形数据之外,通常还期望对来自波形数据表(例如,缓冲器,但不限于此)的数据进行内插,使得通过存储比用于生成实际波形的波形更压缩的波形版本来最小化存储器消耗。换句话说,可通过内插来改进波形的质量(例如,平滑度,但不限于此)。可对来自波形的值进行内插以减小所存储波形的大小(例如,使用硬件数字滤波器诸如平均滤波器,但不限于此)。使用由CPU执行的软件执行内插是可能的,但会增加CPU上的负载并生成大量中断,并且中断频率会随着待生成波形的频率而增加。
作为本公开的发明人已知的DMA控制器如何移动波形数据的一个示例,对应于波形的波形数据可存储在存储器中的表中。波形数据可通过DMA传输到波形生成外围设备(例如,PWM或DAC,但不限于此)。然而,DMA不具有执行波形数据的预处理的能力。如果要在传输到波形生成外围设备之前对波形进行缩放(改变波幅),则CPU将通过在DMA传输之前对波形数据执行缩放来进行干预,并将缩放的波形数据存储到存储器中的表(例如,覆盖包含原始波形数据的表或创建包含缩放的波形数据的新表)。否则,CPU可能会缩放波形数据并执行传输本身而不是DMA。这两种方法(CPU在DMA传输之前缩放波形数据,CPU本身缩放波形数据并执行传输)都涉及来自CPU的干预,这与DMA传输的直接性质相反。此外,可能存在要改变波形频率的情况,而DMA可能无法执行频率改变。
另外,DMA控制器通常由单独的定时机制控制,而不是由数据的消耗设备(例如,诸如PWM或DAC的外围设备,但不限于此)的定时机制控制。这可防止DMA控制器为与由DMA提供的波形数据的时间样本不对齐的数据的消耗设备的时间样本提供准确的数据(例如,由于表中缺少数据消耗设备的那些未对齐的采样时间的数据,但不限于此)。例如,数据的消耗设备可依赖于针对波形数据样本的DMA提供的值,该值对应于与数据消耗设备的采样时间(消耗设备时间)稍有不同的时间点(DMA时间)。由于对应于波形数据的波形随时间变化,因此消耗设备的采样时间的波形真实值将不同于所提供的对应于DMA时间的值。因此,DMA与消耗设备之间的未对齐的采样时间的值可能不准确。此外,如果波形数据的消耗设备(例如,PWM/DAC)的输入速率与存储在存储器中的波形数据的采样速率不同步,则DMA可能无法为输入到消耗设备的输入样本提供波形数据点,从而导致数据点丢失。
作为具体示例,可生成正弦波来控制无刷直流(BLDC)电机。波幅和频率将被调整到BLDC电机的期望速度和扭矩。
本文公开了从缓冲器/存储器传输到诸如PWM或DAC的外围模块的数据的自主运行时缩放/预处理。可自主控制波形的波幅而不涉及CPU。一个或多个实施方案可集成到自主存储器访问控制器中。
如本文所讨论的,动态内插波形数据可确保波形的频率是正确的,定时可以最小的开销动态地改变,并且缓冲器/数据表的大小可被最小化。
本文公开的一些实施方案涉及在将波形数据传递到PWM/DAC之前对数据进行预处理以生成波形。因此,与本公开的发明人已知的现有技术相比,可改善实时性能,可减少CPU负载,并且可减少波形生成应用的存储器消耗。
在一些实施方案中,自主存储器访问(AMA)控制器可用于访问由自主环形缓冲器(ACB)存储的数据(例如,波形数据)。有关ACB的更多信息在2018年1月18日提交的并且标题为“DEVICES AND METHODS FOR AUTONOMOUS HARDWARE MANAGMEENT OF CIRCULARBUFFERS”的美国专利号10,346,324中进行了讨论,该专利的全部公开内容据此以引用方式并入本文。
在一些实施方案中,公开了一种自主存储器访问(AMA)控制器,该AMA控制器被配置为缩放数据、内插数据、动态地调整传输频率、执行其他操作或它们的任何组合。
一个或多个实施方案包括具有数据和时间缩放(例如,频率和/或相位的改变,但不限于此)的自主存储器访问控制器。自主存储器访问控制器可减少用于使用波形动态缩放的应用(例如,智能电源和电机控制应用,但不限于此)的CPU负载,减少波形表的存储器消耗,并且改善生成波形的平滑度。
图1是包括处理器108(例如,主机处理器、CPU,但不限于此)、存储器106、外围设备104和自主存储器访问(AMA)控制器102的计算系统100的框图。作为非限制性示例,计算系统100可以是微控制器型嵌入式系统、用户型计算机、文件服务器、计算机服务器、笔记本电脑、平板电脑、手持式设备、移动设备或用于执行软件的其他类似计算机系统。计算机、计算系统和服务器可在本文中互换使用以指示用于实践本公开的实施方案的系统。计算系统100被配置用于执行包含计算指令的软件程序,并且包括一个或多个处理器、存储器、存储装置、用户界面元件和一个或多个通信元件。
处理器108可被配置用于执行多种多样的操作系统和应用程序,包括用于执行本公开的全部或部分实施方案的计算指令。
存储器106可用于保存用于执行各种任务(包括执行本公开的实施方案)的计算指令、数据结构和其他信息。以举例而非限制的方式,存储器可包括同步随机存取存储器(SRAM)、动态RAM(DRAM)、只读存储器(ROM)、闪存存储器等。作为非限制性示例,存储器106可被配置为存储可由外围设备104使用的波形数据116。
存储器106可包括被配置为存储信息的其他类型的存储器设备,包括易失性存储设备或非易失性存储设备。其他类型的存储器的示例包括纳米RAM(NRAM)、基于纳米晶体线的存储器、基于氧化硅的亚10纳米工艺存储器、石墨烯存储器、硅氧化氮氧化硅(SONOS)、电阻随机存取存储器(RRAM)、可编程金属化单元(PMC)、导通桥联RAM(CBRAM)、磁阻式RAM(MRAM)、相变RAM(PCRAM)、相变存储器或其他固态存储介质。
在所示实施方案中,处理器108与存储器总线112上的存储器106通信。此外,处理器108在外围总线110上与外围设备(例如,外围设备104,但不限于此)通信。外围设备(例如,外围设备104,但不限于此)还可耦接到事件系统总线114。关于一种类型的事件系统总线以及整体微控制器系统配置的附加细节可见于2013年6月27日提交的标题为“BREAKINGPROGRAM EXECUTION ON EVENTS”的美国专利号9,256,399,该专利的公开内容全文以引用方式并入本文。
AMA控制器102被配置为在存储器总线112、外围总线110和事件系统总线114上通信。
当然,本领域的普通技术人员将认识到,本公开的实施方案可用于其他系统配置中。例如,可在计算机型系统中使用用于事件控件的中断型系统来配置实施方案。此外,这种类型的系统可具有用于在处理器108与任何外围设备(例如,外围设备104,但不限于此)之间进行通信的单独总线(例如,输入/输出总线,但不限于此)。此外,这种类型的系统可将AMA控制器102包括为在存储器总线112(该存储器总线可直接与存储器106和处理器108耦接)上通信,并且在此类I/O总线上与外围设备(例如,外围设备104,但不限于此)通信。
对于本公开的实施方案,许多其他系统配置是可能的。
图2是根据一些实施方案的AMA控制器200的详细框图。当外围设备104为波形生成外围设备时,可在计算系统100中使用AMA控制器200代替图1的AMA控制器102。同时参考图1和图2,AMA控制器200可被配置为用于临时存储设备的控制器,该临时存储设备确保在软件任务与硬件设备之间或在两个硬件设备(例如,两个外围设备)之间数据的有效异步(或同步)传输。利用本公开的AMA控制器200,可通过在硬件中实现AMA控制器来卸除可能已由计算系统100的处理102处理的开销过程的负载,该AMA控制器可与其他外围设备(诸如通信模块、定时器、模数转换器(ADC)和数模转换器(DAC))密切协作。
在本公开的实施方案中,AMA控制器200控制存储在存储器106(图1)(或另一存储器,其未示出)中的波形数据116的移动,使得处理器108不向外围设备104提供波形数据116,而是处理器108向存储器106进行写入。当外围设备104准备好接收波形数据116时,AMA控制器200可将波形数据116从存储器106移动到目的地(例如,外围设备104)。这些从处理器308到存储器106和到外围设备104的传输可顺序地发生或可并行地发生。
当然,传输也可在另一方向上发生。换句话讲,AMA控制器200可将来自外围设备104的数据移动到存储器106并从存储器106移动到处理器108。
转到图2,在外围设备104到处理器108的数据传输中,外围设备通过外围总线110向ACB_DATA_WRITE寄存器204进行写入。写数据缓冲器216可耦接到ACB_DATA_WRITE寄存器204,以在将数据写入存储器106(例如,存储器106的循环缓冲区域中)之前保存数据。在后台(即,未被处理器108或外围设备104看到或管理),AMA控制器200可使用缓冲器头寄存器224中的值来将数据写入存储器106中的正确位置。该数据可来自写数据缓冲器216(如果存在的话),或直接来自ACB_DATA_WRITE寄存器204。
在处理器108到外围设备104的数据传输中,在后台(即,未被处理器108或外围设备104看到或管理),AMA控制器200可使用缓冲器尾寄存器226中的值来从存储器106中的正确位置读取数据。可将数据放置在读数据缓冲器218(如果存在的话)中,或直接放置在ACB_DATA_READ寄存器208中。
当处理器108开始读取数据时,其仅从ACB_DATA_READ寄存器208读取,其中ACB控制器200管理来自存储器106的所有访问并通过ACB_DATA_READ寄存器208提供数据。
此外,数据移动可在两个外围设备之间发生,而不是在外围设备与处理器108之间发生。
AMA控制器200可包括寄存器以指示AMA控制器200应在存储器106中的何处访问数据。作为一个示例,寄存器可包括缓冲器起始寄存器228和缓冲器大小寄存器230,如图2所示。其他实施方案可使用缓冲器结束寄存器(未示出)而不是缓冲器大小寄存器230,或寄存器的任何其他组合来识别存储器106上的数据的范围。
AMA控制器200可包括状态寄存器210,该状态寄存器提供关于存储器106中的可用空间、存储在存储器106中的字节数等的信息。可包括空闲计数器212以指示存储器106中有多少数据元当前未被使用。类似地,可包括填充计数器214以指示存储器106中有多少数据元当前包括有效数据。
AMA控制器200可包括控制或命令寄存器202和ACB引擎220,该ACB引擎220可包括命令解释器222,该命令解释器可用于控制访问类型(例如,读取数据、写入/读取前导数据元、写入/读取拖尾数据元,但不限于此)。
ACB引擎220可包括被配置为存储外围设备的地址的外围地址寄存器232。缓冲器头寄存器224、缓冲器尾寄存器226、缓冲器起始寄存器228和缓冲器大小寄存器230通常被认为是ACB引擎220的一部分。
数据移动可从存储器106到外围设备104自主地发生,而无需来自处理器108的除初始化之外的干预。作为非限制性示例,波形数据116可由AMA控制器200从存储器106读取并经由外围总线110提供给外围设备104。
AMA控制器200包括布置在ACB_DATA_READ寄存器208与外围总线110之间的波形电路206。参考图4的波形电路414提供关于波形电路206的示例的更多细节。波形电路206被配置为在将来自ACB_DATA_READ寄存器208的预处理的波形数据经由外围总线110提供给外围设备(例如,图3的外围设备304,但不限于此)之前,对由AMA控制器200从存储器设备(例如,图1的存储器106,但不限于此)读取的波形数据116执行预处理操作。
AMA控制器200对于将预处理的波形数据提供给包括波形发生器的外围设备(例如,脉冲宽度调制器(PWM)或数字模拟转换器(DAC),但不限于此)可能特别有用,该波形发生器被配置为响应于所接收的波形数据而生成波形。作为非限制性示例,波形发生器可被配置为利用响应于存储在存储器设备中的波形数据而生成的波形来控制波形受控设备(例如,无刷直流(BLDC)电机,但不限于此)的操作。在此类实施方案中,AMA控制器200可被配置为直接访问存储在存储器106中的波形数据116并且在没有来自处理器(例如,图1的处理器108,但不限于此)的干预的情况下预处理波形数据116。
波形电路206可被配置为对波形数据116执行的预处理操作的示例包括缩放、内插、整形、定时、滤波、其他预处理操作或它们的组合。
图3是根据一些实施方案的计算系统100(例如,图1的计算系统,但不限于此)的部分300的框图。部分300包括图2的AMA控制器200、类似于图1的存储器106的存储器设备312和外围设备314。AMA控制器200的处理单元302经由总线310与存储器设备312和外围设备314通信。总线310包括存储器总线(例如,图1的存储器总线112,但不限于此)和外围总线(例如,图1的外围总线110,但不限于此)。外围设备314被配置为波形发生器(例如,PWM或DAC,但不限于此)。存储器设备312包括存储在其上的波形数据,用于控制外围设备314生成波形。作为非限制性示例,波形数据可包括正弦波表,该正弦波表可包括各个时间点的电压电位值以限定波形。同样作为非限制性示例,波形数据可包括正弦波、三角波、方波、锯齿波或其他波的波幅和频率值,这些波幅和频率值也可能足以限定波形。作为进一步的非限制性示例,波形数据可包括指示波形类型(例如,正弦波形、方波形、三角波形、锯齿波形,但不限于此)的信息。作为另一非限制性示例,波形数据可包括傅里叶级数系数和限定波形的傅里叶级数的基频。本领域普通技术人员将理解,任何周期性波形均可被构造为正弦波形的总和,诸如通过使用傅里叶级数。
AMA控制器200包括电连接到AMA电路304的处理单元302,该AMA电路304包括调制参数控制器306和AMA定时控制器308。作为非限制性示例,处理单元302被配置为对与由存储器设备312存储的波形数据相对应的波形执行缩放、偏移、滤波、调制、内插、其他操作或它们的任何组合。同样作为非限制性示例,AMA定时控制器308被配置为对波形数据(例如,波形表,诸如由存储器设备312存储的正弦波表,但不限于此)发起AMA交易、控制步长、控制内插或它们的任何组合。AMA交易可以是处理后的(例如,缩放的,但不限于此)数据的传输(例如,传输到电连接到总线的外围设备)。当AMA定时控制器308的报时信号出现时,AMA定时控制器308可计算预处理的波形数据的下一值并将下一值传输到外围设备,假设外围设备准备好接收数据。调制参数控制器306被配置为控制将哪些预处理的特征应用于波形数据。例如,可能期望仅对波形数据进行缩放,或者对波形数据进行缩放和内插两者,或者甚至对波形数据进行缩放、偏移、滤波和内插。
图4是根据一些实施方案的计算系统100(例如,图1的计算系统,但不限于此)的部分400的另一框图。作为非限制性示例,计算系统可为嵌入式系统(诸如微控制器)。部分400包括AMA控制器402、存储器设备404、处理器412和外围设备434。部分400还包括存储器总线410,该存储器总线被布置为向存储器设备404提供处理器412与AMA控制器402之间的通信。部分400进一步包括外围总线408,该外围总线被布置为向外围设备434提供处理器412与AMA控制器402之间的通信。
外围设备434被配置为作为处理器412的外围设备操作。外围设备434包括波形发生器406。波形发生器406可电连接(例如,通过输入/输出引脚,但不限于此)到波形受控设备430,该波形受控设备可在计算系统的外部,但不限于此。波形发生器406被配置成响应于预处理的波形数据440而生成波形436,并将波形436递送到波形受控设备430。作为非限制性示例,波形发生器406可包括PWM或DAC。波形436可包括基于预处理的波形数据440而生成的电信号(例如,电压电位信号,但不限于此)。波形受控设备430被配置为从波形发生器406接收波形436并响应于波形436进行控制。作为非限制性示例,波形受控设备430可包括电动机(例如,无刷直流(BLDC)电机,但不限于此)。
存储器设备404被配置为存储波形数据416。波形数据416包括足够的信息,以使波形发生器406能够生成由波形数据416限定的未修改波形(未示出)。
AMA控制器402被配置为独立于处理器412从存储器设备404检索波形数据416(例如,AMA控制器402可在硬件中实现,而不是在由处理器412执行的固件/软件中实现,但不限于此)。作为非限制性示例,AMA控制器402可包括存储器接口428,该存储器接口被配置为独立于主机处理器412访问由存储器设备404存储的波形数据416。AMA控制器402的波形电路414的定时引擎424可被配置为开始从存储器设备404检索波形数据416。更具体地,定时引擎424可被配置为触发存储器接口428以生成波形数据请求432,该波形数据请求被配置为从存储器设备404请求波形数据416,并且存储器接口428可被进一步配置为经由存储器总线410直接从存储器设备404接收响应于波形数据请求432而发送的波形数据416。如本文所用,术语“直接”(如参考数据(例如,波形数据416,但不限于此)的接收所使用)表示在接收数据时无需处理器(例如,处理器412,但不限于此)干预即可接收数据,尽管处理器可能参与初始化AMA控制器(例如,AMA控制器402,但不限于此)(例如,将波形数据的存储器地址加载到AMA控制器,将波形数据加载到存储器,但不限于此)。为清楚起见,波形数据请求432和波形数据416的流被示为绕过存储器总线410,应当理解,该流通常通过存储器总线410,如一般双向箭头所指示。
在初始化AMA控制器402的过程中,处理器412使用用于发起自主存储器访问的信息来配置AMA控制器400。例如,处理器412可向AMA控制器402提供关于存储器设备404中可访问波形数据416的位置的信息。处理器412还使用关于波形数据416的数据类型和波形数据416的大小(例如,包括波形数据416的表的大小,但不限于此)的信息来配置AMA控制器400。处理器412还可向AMA控制器402指示波形数据416的目的地地址(例如,外围设备434,但不限于此),以及提供初始缩放和定时/内插设置。在初始化之后,AMA控制器402可执行自主存储器访问,并且处理器412然后可与AMA控制器402交互以重新配置初始化参数(例如,缩放、滤波、定时/内插,但不限于此),但AMA控制器402不需要处理器412的干预来继续操作。
AMA控制器402被配置为预处理检索到的波形数据416以生成预处理的波形数据440。作为非限制性示例,AMA控制器402可包括波形电路414(例如,图2的波形电路206,但不限于此),该波形电路被配置为从存储器接口428接收检索到的波形数据416并独立于处理器412自主地预处理波形数据416以生成预处理的波形数据440。波形电路414包括缩放引擎418、内插引擎420、整形引擎422、定时引擎424和滤波引擎426。作为非限制性示例,可使用图3的处理单元302来实现缩放引擎418、内插引擎420、整形引擎422和/或滤波引擎426。同样作为非限制性示例,可使用图3的AMA定时控制器308来实现定时引擎424。
在一些情况下,缩放引擎418被配置为通过修改所接收的波形数据416来生成预处理的波形数据440。在此类情况下,预处理波形(对应于预处理波形数据440)的波幅不同于未修改波形(对应于检索到的波形数据416)的未修改波幅。在一些实施方案中,波形数据416可包括各时间点的电信号值(例如,电压电位值,但不限于此),并且缩放引擎418可被配置为将电信号值乘以标量值(例如,大于一的数字,以相对于未修改波幅增加波形436的波幅,或者小于一的数字,以相对于未修改波幅减小波形1236的波幅,但不限于此)。
在一些情况下,内插引擎420被配置为修改所接收的波形数据416以生成预处理的波形数据440。在此类情况下,可相对于对应于检索到的波形数据416的未修改波形,对与预处理波形数据440相对应的波形436进行内插。作为非限制性示例,内插引擎420可被配置为使用线性内插、样条内插或本领域已知的其他内插技术来对与所接收的波形数据416相对应的波形进行内插,以生成预处理的波形数据440。在一些情况下,内插可促进未修改波形从波形436的第一频率到第二频率的转换(例如,因为从较低频率到较高频率的转换由于重建较高频率信号所需的较高奈奎斯特采样速率而可能需要更多的数据点)。在一些情况下,内插可使存储器设备404能够存储更少的数据点,从而节省有价值的存储器资源,因为稍后可经由内插来填充附加的点。
在一些情况下,整形引擎422被配置为修改所接收的波形数据416以生成预处理的波形数据440。在此类情况下,对应于预处理波形数据440的波形436的形状相对于对应于检索到的波形数据416的未修改波形的未修改形状是不同的。作为非限制性示例,整形引擎422可被配置为将对应于波形数据416的正弦波形转换为方波、三角波、锯齿波或其他形状波形。同样作为非限制性示例,整形引擎422可被配置为反转对应于波形数据416的未修改波形。
在一些情况下,定时引擎424被配置为修改所接收的波形数据416以生成预处理的波形数据440。在此类情况下,对应于预处理波形数据440的波形436的定时相对于对应于检索到的波形数据416的未修改波形的未修改定时是不同的。作为非限制性示例,定时引擎424可被配置为改变对应于波形数据416的未修改波形的频率和/或相位。
在一些情况下,滤波引擎426被配置为修改所接收的波形数据416以生成预处理的波形数据440。在此类情况下,相对于对应于检索到的波形数据416的未修改波形,对与预处理波形数据440相对应的波形436进行滤波。作为非限制性示例,滤波引擎426可被配置为将对应于检索到的波形数据416的未修改波形应用于低通滤波器、高通滤波器、带通滤波器、带隙滤波器、本领域已知的其他滤波器或它们的组合,以便生成预处理的波形数据440。
AMA控制器402被进一步配置为将预处理的波形数据440经由外围总线408提供给外围设备434。作为非限制性示例,AMA控制器402可包括外围设备接口438,该外围设备接口被配置为通过外围总线408与一个或多个外围设备(诸如外围设备434)交互。
图5是根据一些实施方案的示出了操作自主存储器访问(AMA)控制器的方法500的流程图。在操作502中,方法500包括独立于处理器从存储器设备直接检索波形数据。在操作504中,方法500包括独立于处理器预处理检索到的波形数据以生成预处理的波形数据。
在一些实施方案中,操作504包括操作506,操作506修改对应于检索到的波形数据的未修改波形的波幅,对应于预处理波形的波形的波幅不同于未修改波形的波幅。在一些实施方案中,操作504包括操作508,操作508对未修改波形进行内插。在一些实施方案中,操作504包括操作510,操作510修改未修改波形的形状。在一些实施方案中,操作504包括操作512,操作512修改未修改波形的定时(例如,修改频率、修改相位,但不限于此)。在一些实施方案中,操作504包括操作514,操作514对未修改波形进行滤波。
在操作516中,方法500包括将预处理的波形数据提供给外围设备。该外围设备被配置为作为处理器的外围设备操作。
本领域的普通技术人员应当理解,本文所公开的实施方案的功能元件(例如,功能、操作、动作、过程和/或方法)可在任何合适的硬件中实现。图6示出了本文所公开的功能元件的实施方式的非限制性示例。在一些实施方案中,本文所公开的功能元件的一些或所有部分可由专门配置用于执行这些功能元件的硬件来执行。
图6是电路600的框图,在一些实施方案中,该电路可用于实现本文所公开的各种功能、操作、动作、过程和/或方法。电路600包括电耦接到一个或多个数据存储设备(在本文中有时称为“存储设备604”)的一个或多个硬件电路602(在本文中有时称为“硬件电路602”)。存储设备604包括存储在其上的机器可执行代码606,并且硬件电路602包括逻辑电路608。机器可执行代码606包括描述可由逻辑电路608实现(例如,由该逻辑电路执行)的功能元件的信息。逻辑电路608适于实现(例如,执行)由机器可执行代码606描述的功能元件。当执行由机器可执行代码606描述的功能元件时,电路600应被视为被配置用于执行本文所公开的功能元件的专用硬件。在一些实施方案中,硬件电路602可被配置为按顺序、同时地(例如,在一个或多个不同的硬件平台上)或在一个或多个并行过程流中执行由机器可执行代码606描述的功能元件。
当由硬件电路602的逻辑电路608实现时,机器可执行代码606被配置为调整硬件电路602以执行本文所公开的实施方案的操作。例如,机器可执行代码606可被配置为调整硬件电路602以执行图5的方法500的至少一部分或全部。作为另一示例,机器可执行代码606可被配置为调整硬件电路602以执行针对以下项所讨论的操作的至少一部分或全部:图2的ACB引擎220、图2的波形电路206、图1的AMA控制器102、图2和图3的AMA控制器200、图3的处理单元302、图3的AMA电路304、图3的调制参数控制器306、图3的AMA定时控制器308、图4的AMA控制器402、图4的波形电路414、图4的缩放引擎418、图4的内插引擎420、图4的整形引擎422、图4的定时引擎424和/或图4的滤波引擎426。作为特定的非限制性示例,机器可执行代码606可被配置为调整硬件电路602以独立于处理器自主地预处理波形数据并将预处理的波形数据提供给作为处理器的外围设备操作的外围设备。
硬件电路602可包括可编程逻辑控制器(PLC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、分立栅极或晶体管逻辑部件、分立硬件部件、其他可编程设备或被设计成执行本文所公开的功能的它们的任何组合。
在一些实施方案中,存储设备604包括易失性数据存储设备(例如,随机存取存储器(RAM))、非易失性数据存储设备(例如,闪存存储器、硬盘驱动器、固态驱动器、可擦可编程只读存储器(EPROM)等)。在一些实施方案中,硬件电路602和存储设备604可被实现为单个设备(例如,半导体设备产品、片上系统(SOC)等)。在一些实施方案中,硬件电路602和存储设备604可被实现为单独的设备。
在一些实施方案中,机器可执行代码606可描述要在逻辑电路608中实现以执行功能元件的硬件(例如,电路)。该硬件可以从低级晶体管布局到高级描述语言的各种抽象级别中的任何一种进行描述。在高级抽象下,可使用硬件描述语言(HDL),诸如IEEE标准硬件描述语言(HDL)。作为非限制性示例,可以使用VerilogTM、SystemVerilogTM或超大规模集成(VLSI)硬件描述语言(VHDLTM)。
HDL描述可根据需要以多种其他抽象级别中的任一种转换成描述。作为非限制性示例,高级描述可被转换为逻辑级描述诸如寄存器传送语言(RTL)、栅极级(GL)描述、布局级描述或掩模级描述。作为非限制性示例,由逻辑电路608的硬件逻辑电路(例如,栅极、触发器、寄存器,但不限于此)执行的微操作可在RTL中描述并且然后通过合成工具转换成GL描述,并且GL描述可通过安置和路由工具转换成布局级描述,该布局级描述对应于可编程逻辑器件的集成电路、分立栅极或晶体管逻辑部件、分立硬件部件或它们的组合的物理布局。因此,在一些实施方案中,机器可执行代码606可包括HDL、RTL、GL描述、掩模级描述、其他硬件描述或它们的任何组合。
在机器可执行代码606包括硬件描述(以任何抽象级别)的实施方案中,系统(未示出,但包括存储设备604)可被配置为实现由机器可执行代码606描述的硬件描述。作为非限制性示例,硬件电路602可包括可编程逻辑设备(例如,FPGA或PLC),并且逻辑电路608可被电控制以将对应于硬件描述的电路实现到逻辑电路608中。同样作为非限制性示例,逻辑电路608可包括根据机器可执行代码606的硬件描述由制造系统(未示出,但包括存储设备604)制造的硬连线逻辑部件。
逻辑电路608适于在实现机器可执行代码606的功能元件时执行由机器可执行代码606描述的功能元件。需注意,虽然硬件描述可能不直接描述功能元件,但硬件描述间接描述了由硬件描述所描述的硬件元件能够执行的功能元件。
本说明书中描述的许多功能单元可被标记为编程代码的模块、线程或其他分类,以便更具体地强调它们的实施独立性。模块可至少部分地以一种或另一种形式在硬件中实现。例如,模块可实现为硬件电路,该硬件电路包括定制的VLSI电路或门阵列、现有半导体诸如逻辑芯片、晶体管或其他分立部件。模块也可在可编程硬件设备诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等中实现。
实施例
以下是示例性实施方案的非穷举、非限制性列表。并非以下列出的示例性实施方案中的每一个均被清楚且单独地指示为可与下面列出的示例性实施方案以及上述实施方案中的所有其他实施方案组合。然而,意图是这些示例性实施方案可与所有其他示例性实施方案和上述实施方案组合,除非对于本领域的普通技术人员来说显而易见的是这些实施方案不可组合。
实施例1:一种自主存储器访问控制器,该自主存储器访问控制器包括:存储器接口,该存储器接口被配置为独立于与存储器设备通信的处理器访问由存储器设备存储的波形数据;外围设备接口,所述外围设备接口被配置为与一个或多个外围设备交互,所述一个或多个外围设备被配置为作为所述处理器的外围设备操作;和波形电路,该波形电路被配置为独立于处理器自主地预处理所访问的波形数据并经由外围接口将预处理的波形数据提供给一个或多个外围设备。
实施例2:根据实施例1所述的自主存储器访问控制器,其中一个或多个外围设备包括脉冲宽度调制器。
实施例3:根据实施例1和2中任一项所述的自主存储器访问控制器,其中一个或多个外围设备包括数模转换器。
实施例4:根据实施例1至3中任一项所述的自主存储器访问控制器,其中波形电路被配置为通过修改与所访问的波形数据相关联的波形的波幅来预处理所访问的波形数据。
实施例5:根据实施例1至4中任一项所述的自主存储器访问控制器,其中波形电路被配置成对所访问的波形数据进行内插来预处理所访问的波形数据。
实施例6:根据实施例1至5中任一项所述的自主存储器访问控制器,其中波形电路被配置为通过修改与所访问的波形数据相关联的波形的频率来预处理所访问的波形数据。
实施例7:根据实施例1至6中任一项所述的自主存储器访问控制器,其中所述波形电路被配置成通过修改与所访问的波形数据相关联的波形的形状来预处理所访问的波形数据。
实施例8:根据实施例1至7中任一项所述的自主存储器访问控制器,其中波形电路被配置为通过修改与所访问的波形数据相关联的波形的定时来预处理所访问的波形数据。
实施例9:一种计算系统,该计算系统包括:处理器;外围设备,所述外围设备经由一个或多个总线与所述处理器通信,所述外围设备包括波形发生器,所述波形发生器被配置为响应于预处理的波形数据而生成波形;存储器设备,所述存储器设备经由所述一个或多个总线与所述处理器通信,所述存储器设备被配置为存储波形数据;和自主存储器访问(AMA)控制器,该AMA控制器经由一个或多个总线与存储器设备通信,该AMA控制器经由一个或多个总线与外围设备通信,该AMA控制器被配置为:独立于处理器从存储器设备检索波形数据;独立于处理器预处理检索到的波形数据以生成预处理的波形数据;以及将预处理的波形数据提供给外围设备。
实施例10:根据实施例9所述的计算系统,其中AMA控制器包括波形电路,该波形电路包括缩放引擎,该缩放引擎被配置为修改对应于检索到的波形数据的未修改波形的波幅,对应于预处理的波形数据的波形的波幅不同于未修改波形的波幅。
实施例11:根据实施例9和10中任一项所述的计算系统,其中AMA控制器包括波形电路,该波形电路包括内插引擎,该内插引擎被配置为对与检索到的波形数据相对应的未修改波形进行内插。
实施例12:根据实施例9至11中任一项所述的计算系统,其中AMA控制器包括波形电路,该波形电路包括整形引擎,该整形引擎被配置为修改对应于检索到的波形数据的未修改波形的形状。
实施例13:根据实施例9至12中任一项所述的计算系统,其中AMA控制器包括波形电路,该波形电路包括定时引擎,该定时引擎被配置为修改对应于检索到的波形数据的未修改波形的定时。
实施例14:根据实施例9至13中任一项所述的计算系统,其中AMA控制器包括波形电路,该波形电路包括滤波引擎,该滤波引擎被配置为对与检索到的波形数据相对应的未修改波形进行滤波。
实施例15:根据实施例9至14中任一项所述的计算系统,其中波形发生器包括脉冲宽度调制器或数模转换器。
实施例16:根据实施例9至15中任一项所述的计算系统,该计算系统进一步包括波形受控设备,该波形受控设备被配置为从波形发生器接收波形。
实施例17:根据实施例16所述的计算系统,其中波形受控设备包括电动机。
实施例18:一种操作自主存储器访问控制器的方法,该方法包括:独立于处理器直接从存储器设备检索波形数据;独立于处理器预处理检索到的波形数据以生成预处理的波形数据;以及将预处理的波形数据提供给外围设备,该外围设备被配置为作为处理器的外围设备操作。
实施例19:根据实施例18所述的方法,其中预处理检索到的波形数据包括以下一项或多项:修改对应于检索到的波形数据的未修改波形的波幅,对应于预处理的波形数据的波形的波幅不同于未修改波形的波幅;对与检索到的波形数据相对应的未修改波形进行内插;修改对应于检索到的波形数据的未修改波形的形状;修改对应于检索到的波形数据的未修改波形的定时;以及对与检索到的波形数据相对应的未修改波形进行滤波。
实施例20:根据实施例19所述的方法,其中修改对应于检索到的波形数据的未修改波形的定时包括修改未修改波形的频率或相位。
结语
虽然本文关于某些图示实施方案描述了本发明,但本领域的普通技术人员将认识到并理解本发明不受此限制。相反,在不脱离下文所要求保护的本发明的范围及其法律等同形式的情况下,可对图示实施方案和所述实施方案进行许多添加、删除和修改。此外,来自一个实施方案的特征可与另一个实施方案的特征组合,同时仍被包括在发明人所设想的本发明的范围内。
权利要求书(按照条约第19条的修改)
1.一种自主存储器访问控制器,所述自主存储器访问控制器包括:
存储器接口,所述存储器接口被配置为独立于与存储器设备通信的处理器访问由所述存储器设备存储的波形数据;
外围设备接口,所述外围设备接口被配置为与一个或多个外围设备交互,所述一个或多个外围设备被配置为作为所述处理器的外围设备操作;和
波形电路,所述波形电路被配置为独立于所述处理器自主地预处理所访问的波形数据并且经由所述外围接口将所述预处理的波形数据提供给所述一个或多个外围设备。
2.根据权利要求1所述的自主存储器访问控制器,其中所述一个或多个外围设备包括脉冲宽度调制器。
3.根据权利要求1所述的自主存储器访问控制器,其中所述一个或多个外围设备包括数模转换器。
4.根据权利要求1所述的自主存储器访问控制器,其中所述波形电路被配置为通过修改与所访问的波形数据相关联的波形的波幅来预处理所访问的波形数据。
5.根据权利要求1所述的自主存储器访问控制器,其中所述波形电路被配置为通过对所访问的波形数据进行内插来预处理所访问的波形数据。
6.根据权利要求1所述的自主存储器访问控制器,其中所述波形电路被配置为通过修改与所访问的波形数据相关联的波形的频率来预处理所访问的波形数据。
7.根据权利要求1所述的自主存储器访问控制器,其中所述波形电路被配置为通过修改与所访问的波形数据相关联的波形的形状来预处理所访问的波形数据。
8.根据权利要求1所述的自主存储器访问控制器,其中所述波形电路被配置为通过修改与所访问的波形数据相关联的波形的定时来预处理所访问的波形数据。
9.一种计算系统,所述计算系统包括:
处理器;
外围设备,所述外围设备经由一个或多个总线与所述处理器通信,所述外围设备包括波形发生器,所述波形发生器被配置为响应于预处理的波形数据而生成波形;
存储器设备,所述存储器设备经由所述一个或多个总线与所述处理器通信,所述存储器设备被配置为存储波形数据;和
自主存储器访问(AMA)控制器,所述AMA控制器经由所述一个或多个总线与所述存储器设备通信,所述AMA控制器经由所述一个或多个总线与所述外围设备通信,所述AMA控制器被配置为:
独立于所述处理器从所述存储器设备检索所述波形数据;独立于所述处理器预处理所述检索到的波形数据以生成所述预处理的波形数据;以及
将所述预处理的波形数据提供给所述外围设备。
10.根据权利要求9所述的计算系统,其中所述AMA控制器包括波形电路,所述波形电路包括缩放引擎,所述缩放引擎被配置为修改对应于所述检索到的波形数据的未修改波形的波幅,对应于所述预处理的波形数据的波形的波幅不同于所述未修改波形的所述波幅。
11.根据权利要求9所述的计算系统,其中所述AMA控制器包括波形电路,所述波形电路包括内插引擎,所述内插引擎被配置为对与所述检索到的波形数据相对应的未修改波形进行内插。
12.根据权利要求9所述的计算系统,其中所述AMA控制器包括波形电路,所述波形电路包括整形引擎,所述整形引擎被配置为修改对应于所述检索到的波形数据的未修改波形的形状。
13.根据权利要求9所述的计算系统,其中所述AMA控制器包括波形电路,所述波形电路包括定时引擎,所述定时引擎被配置为修改对应于所述检索到的波形数据的未修改波形的定时。
14.根据权利要求9所述的计算系统,其中所述AMA控制器包括波形电路,所述波形电路包括滤波引擎,所述滤波引擎被配置为对与所述检索到的波形数据相对应的未修改波形进行滤波。
15.根据权利要求9所述的计算系统,其中所述波形发生器包括脉冲宽度调制器或数模转换器。
16.根据权利要求9所述的计算系统,还包括波形受控设备,所述波形受控设备被配置为从所述波形发生器接收所述波形。
17.根据权利要求16所述的计算系统,其中所述波形受控设备包括电动机。
18.一种操作自主存储器访问控制器的方法,所述方法包括:
独立于处理器直接从存储器设备检索波形数据,所述存储器设备与所述处理器通信;
独立于所述处理器预处理所述检索到的波形数据以生成预处理的波形数据;以及
将所述预处理的波形数据提供给外围设备,所述外围设备被配置为作为所述处理器的外围设备操作。
19.根据权利要求18所述的方法,其中预处理所述检索到的波形数据包括以下项中的一者或多者:
修改对应于所述检索到的波形数据的未修改波形的波幅,对应于所述预处理的波形数据的波形的波幅不同于所述未修改波形的所述波幅;
对与所述检索到的波形数据相对应的所述未修改波形进行内插;
修改对应于所述检索到的波形数据的所述未修改波形的形状;
修改对应于所述检索到的波形数据的所述未修改波形的定时;以及
对与所述检索到的波形数据相对应的所述未修改波形进行滤波。
20.根据权利要求19所述的方法,其中修改对应于所述检索到的波形数据的所述未修改波形的所述定时包括修改所述未修改波形的频率或相位。
Claims (20)
1.一种自主存储器访问控制器,所述自主存储器访问控制器包括:
存储器接口,所述存储器接口被配置为独立于与存储器设备通信的处理器访问由所述存储器设备存储的波形数据;
外围设备接口,所述外围设备接口被配置为与一个或多个外围设备交互,所述一个或多个外围设备被配置为作为所述处理器的外围设备操作;和
波形电路,所述波形电路被配置为独立于所述处理器自主地预处理所访问的波形数据并且经由所述外围接口将所述预处理的波形数据提供给所述一个或多个外围设备。
2.根据权利要求1所述的自主存储器访问控制器,其中所述一个或多个外围设备包括脉冲宽度调制器。
3.根据权利要求1所述的自主存储器访问控制器,其中所述一个或多个外围设备包括数模转换器。
4.根据权利要求1所述的自主存储器访问控制器,其中所述波形电路被配置为通过修改与所访问的波形数据相关联的波形的波幅来预处理所访问的波形数据。
5.根据权利要求1所述的自主存储器访问控制器,其中所述波形电路被配置为通过对所访问的波形数据进行内插来预处理所访问的波形数据。
6.根据权利要求1所述的自主存储器访问控制器,其中所述波形电路被配置为通过修改与所访问的波形数据相关联的波形的频率来预处理所访问的波形数据。
7.根据权利要求1所述的自主存储器访问控制器,其中所述波形电路被配置为通过修改与所访问的波形数据相关联的波形的形状来预处理所访问的波形数据。
8.根据权利要求1所述的自主存储器访问控制器,其中所述波形电路被配置为通过修改与所访问的波形数据相关联的波形的定时来预处理所访问的波形数据。
9.一种计算系统,所述计算系统包括:
处理器;
外围设备,所述外围设备经由一个或多个总线与所述处理器通信,所述外围设备包括波形发生器,所述波形发生器被配置为响应于预处理的波形数据而生成波形;
存储器设备,所述存储器设备经由所述一个或多个总线与所述处理器通信,所述存储器设备被配置为存储波形数据;和
自主存储器访问(AMA)控制器,所述AMA控制器经由所述一个或多个总线与所述存储器设备通信,所述AMA控制器经由所述一个或多个总线与所述外围设备通信,所述AMA控制器被配置为:
独立于所述处理器从所述存储器设备检索所述波形数据;
独立于所述处理器预处理所述检索到的波形数据以生成所述预处理的波形数据;以及
将所述预处理的波形数据提供给所述外围设备。
10.根据权利要求9所述的计算系统,其中所述AMA控制器包括波形电路,所述波形电路包括缩放引擎,所述缩放引擎被配置为修改对应于所述检索到的波形数据的未修改波形的波幅,对应于所述预处理的波形数据的波形的波幅不同于所述未修改波形的所述波幅。
11.根据权利要求9所述的计算系统,其中所述AMA控制器包括波形电路,所述波形电路包括内插引擎,所述内插引擎被配置为对与所述检索到的波形数据相对应的未修改波形进行内插。
12.根据权利要求9所述的计算系统,其中所述AMA控制器包括波形电路,所述波形电路包括整形引擎,所述整形引擎被配置为修改对应于所述检索到的波形数据的未修改波形的形状。
13.根据权利要求9所述的计算系统,其中所述AMA控制器包括波形电路,所述波形电路包括定时引擎,所述定时引擎被配置为修改对应于所述检索到的波形数据的未修改波形的定时。
14.根据权利要求9所述的计算系统,其中所述AMA控制器包括波形电路,所述波形电路包括滤波引擎,所述滤波引擎被配置为对与所述检索到的波形数据相对应的未修改波形进行滤波。
15.根据权利要求9所述的计算系统,其中所述波形发生器包括脉冲宽度调制器或数模转换器。
16.根据权利要求9所述的计算系统,还包括波形受控设备,所述波形受控设备被配置为从所述波形发生器接收所述波形。
17.根据权利要求16所述的计算系统,其中所述波形受控设备包括电动机。
18.一种操作自主存储器访问控制器的方法,所述方法包括:
独立于处理器直接从存储器设备检索波形数据;
独立于所述处理器预处理所述检索到的波形数据以生成预处理的波形数据;以及
将所述预处理的波形数据提供给外围设备,所述外围设备被配置为作为所述处理器的外围设备操作。
19.根据权利要求18所述的方法,其中预处理所述检索到的波形数据包括以下项中的一者或多者:
修改对应于所述检索到的波形数据的未修改波形的波幅,对应于所述预处理的波形数据的波形的波幅不同于所述未修改波形的所述波幅;
对与所述检索到的波形数据相对应的所述未修改波形进行内插;
修改对应于所述检索到的波形数据的所述未修改波形的形状;
修改对应于所述检索到的波形数据的所述未修改波形的定时;以及
对与所述检索到的波形数据相对应的所述未修改波形进行滤波。
20.根据权利要求19所述的方法,其中修改对应于所述检索到的波形数据的所述未修改波形的所述定时包括修改所述未修改波形的频率或相位。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962893617P | 2019-08-29 | 2019-08-29 | |
US62/893,617 | 2019-08-29 | ||
PCT/US2020/070405 WO2021042112A1 (en) | 2019-08-29 | 2020-08-12 | Pre-processing of data using autonomous memory access and related systems, methods, and devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114375445A true CN114375445A (zh) | 2022-04-19 |
CN114375445B CN114375445B (zh) | 2022-12-27 |
Family
ID=72235027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080060417.0A Active CN114375445B (zh) | 2019-08-29 | 2020-08-12 | 使用自主存储器访问对数据进行预处理及相关系统、方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11354260B2 (zh) |
CN (1) | CN114375445B (zh) |
DE (1) | DE112020004066T5 (zh) |
WO (1) | WO2021042112A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11354260B2 (en) * | 2019-08-29 | 2022-06-07 | Microchip Technology Incorporated | Pre-processing of data using autonomous memory access and related systems, methods, and devices |
US20230350818A1 (en) * | 2022-04-27 | 2023-11-02 | Hamilton Sundstrand Corporation | Reduced controller loading and peripheral usage for displacement measurement device excitation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5184310A (en) * | 1989-03-31 | 1993-02-02 | Sharp Kabushiki Kaisha | Signal generation circuit |
CN203071910U (zh) * | 2012-12-28 | 2013-07-17 | 上海微电子装备有限公司 | 正弦信号模拟装置 |
CN103376746A (zh) * | 2012-04-11 | 2013-10-30 | 洛克威尔自动控制技术股份有限公司 | 用于工业控制器的输出模块 |
TW201419761A (zh) * | 2012-11-12 | 2014-05-16 | Inno Tech Co Ltd | 正弦波脈衝寬度調變控制器 |
CN109937560A (zh) * | 2016-11-16 | 2019-06-25 | 高通股份有限公司 | 在rach规程和自主ul传输期间的ul波形 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2502397B2 (ja) * | 1990-03-01 | 1996-05-29 | シャープ株式会社 | 信号発生回路 |
JP2950461B2 (ja) * | 1994-05-31 | 1999-09-20 | 株式会社河合楽器製作所 | 楽音発生装置 |
JP2006161645A (ja) * | 2004-12-06 | 2006-06-22 | Denso Corp | パワートレイン制御用センサ信号処理装置 |
EP2476061B1 (fr) * | 2009-09-11 | 2013-07-24 | Commissariat à l'Énergie Atomique et aux Énergies Alternatives | Controleur d'acces direct en memoire, procede et programme d'ordinateur correspondants |
US9256399B2 (en) | 2013-06-27 | 2016-02-09 | Atmel Corporation | Breaking program execution on events |
US10346324B2 (en) | 2017-02-13 | 2019-07-09 | Microchip Technology Incorporated | Devices and methods for autonomous hardware management of circular buffers |
US11354260B2 (en) * | 2019-08-29 | 2022-06-07 | Microchip Technology Incorporated | Pre-processing of data using autonomous memory access and related systems, methods, and devices |
-
2020
- 2020-08-12 US US16/947,688 patent/US11354260B2/en active Active
- 2020-08-12 DE DE112020004066.6T patent/DE112020004066T5/de active Pending
- 2020-08-12 CN CN202080060417.0A patent/CN114375445B/zh active Active
- 2020-08-12 WO PCT/US2020/070405 patent/WO2021042112A1/en active Application Filing
-
2022
- 2022-06-06 US US17/805,642 patent/US11847076B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5184310A (en) * | 1989-03-31 | 1993-02-02 | Sharp Kabushiki Kaisha | Signal generation circuit |
CN103376746A (zh) * | 2012-04-11 | 2013-10-30 | 洛克威尔自动控制技术股份有限公司 | 用于工业控制器的输出模块 |
TW201419761A (zh) * | 2012-11-12 | 2014-05-16 | Inno Tech Co Ltd | 正弦波脈衝寬度調變控制器 |
CN203071910U (zh) * | 2012-12-28 | 2013-07-17 | 上海微电子装备有限公司 | 正弦信号模拟装置 |
CN109937560A (zh) * | 2016-11-16 | 2019-06-25 | 高通股份有限公司 | 在rach规程和自主ul传输期间的ul波形 |
Also Published As
Publication number | Publication date |
---|---|
US20210064556A1 (en) | 2021-03-04 |
WO2021042112A1 (en) | 2021-03-04 |
US20220300443A1 (en) | 2022-09-22 |
CN114375445B (zh) | 2022-12-27 |
US11354260B2 (en) | 2022-06-07 |
US11847076B2 (en) | 2023-12-19 |
DE112020004066T5 (de) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11847076B2 (en) | Pre-processing of waveform data using autonomous waveform circuitry and related apparatuses and methods | |
CN110462599B (zh) | 用于循环缓冲器的自主硬件管理的设备和方法 | |
US7761682B2 (en) | Memory controller operating in a system with a variable system clock | |
US20090125663A1 (en) | Interface arrangement, especially for a system on a chip, and use thereof | |
CN113330428A (zh) | 数据样本传输方案及相关系统、方法和设备 | |
CN115729870A (zh) | 一种基于fpga的高效pcie dma数据传输方法 | |
CN116776781B (zh) | 一种寄存器参数的管理方法、系统、设备及存储介质 | |
US20090119429A1 (en) | Semiconductor integrated circuit | |
US10102164B2 (en) | Multiple-queue integer coalescing mapping algorithm with shared based time | |
US11204739B2 (en) | Microcontroller for executing a configurable processing operation | |
CN102360369B (zh) | 在用户空间文件系统上实现聚合写文件脏页的方法和装置 | |
US20070198101A1 (en) | MCU based motor controller with pre-load register and DMA controller | |
TWI799221B (zh) | 寫入資料到閃存記憶體的方法及裝置 | |
US6434635B1 (en) | Methods, apparatus, and computer program product for data transfer using a scatter-gather list | |
US20140112346A1 (en) | System and method providing forward compatibility between a driver module and a network interface | |
US11080059B1 (en) | Reducing firmware size and increasing firmware performance | |
US10116288B2 (en) | Reduced overhead on digital signal processing for motor drive applications | |
EP2799979B1 (en) | Hardware abstract data structure, data processing method and system | |
WO2021223643A1 (zh) | 数据处理装置以及相关产品 | |
CN101946225A (zh) | 组件电压调整的系统和方法 | |
CN118057343A (zh) | 数据传输装置和方法 | |
CN1154051C (zh) | 智能型电池的电量读取装置 | |
Sailaga et al. | Design and development of AXI based multi channel interrupt controller2 | |
Van Heerden et al. | Design of a DSP based controller for power electronics applications | |
Bindal et al. | System Peripherals |
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 |