用于直接存储器访问传输的系统和方法

文档序号:6626417阅读:187来源:国知局
用于直接存储器访问传输的系统和方法
【专利摘要】用于直接存储器访问传输的系统和方法。一种用于经由多个直接存储器访问(DMA)事务处理在存储器和外围单元之间传输数据的系统和方法,其中,向所述多个DMA事务处理中的至少两个DMA事务处理分配和/或附加各自的时间戳。
【专利说明】用于直接存储器访问传输的系统和方法

【技术领域】
[0001] 本公开内容的特定实施例涉及一种用于直接存储器访问传输的系统和方法。更具 体地,本公开内容的特定实施例涉及一种用于经由多个直接存储器访问事务处理在存储器 和外围单元之间传输数据的系统和方法。

【背景技术】
[0002] 直接存储器访问(DM)是现代计算机的特征,其允许计算机内的特定硬件子系统 访问系统存储器以独立于中央处理单元(CPU)进行读取和/或写入。许多硬件系统使用包 括磁盘驱动控制器、显卡、网卡和声卡的DMA。相比于不具有DM通道的计算机,提供有DM 通道的计算机通常可以在非常少的CPU开销的情况下将数据传输到装置和从装置传输数 据。
[0003] DM通常用来允许装置传输数据,而不使CPU暴露于重的负荷。如果CPU必须将每 个数据块从源复制到目的地,则这通常将比复制正常的存储器块慢,因为通过外围总线对 I/O装置的访问一般比正常的系统RAM慢。在此期间,CPU对于涉及CPU总线访问的其它任 务将是不能利用的,虽然它可以继续进行不要求总线访问的任何工作。
[0004] DMA传输本质上将存储器块从一个装置复制到另一个装置。虽然CPU发起传输,但 它不执行传输。传输通常由通常作为主板芯片组的部分的DM控制器执行。DM的典型用 法是将存储器块从系统RAM复制到装置上的缓冲区,或从装置上的缓冲区复制存储器块, 其中,该操作不需要太多的处理器容量,结果是所述处理器可被安排来执行其它任务。因 此,DM对高性能嵌入式系统是必不可少的。
[0005] DM控制器一般将数据从数据源位置传输到数据目的位置。在一些应用中,DM传 输用在安全关键系统中,其中,重要的是,DM传输执行正确的传输操作。由于进程的自治 特性要求大量的监督,DM操作可能特别难以检查。
[0006] 特别是,当DM用来以周期的方式自动从自治外围单元(诸如串行接口、模数转换 器(ADC),或输入捕获系统)卸载数据时,它经常被配置为将数据从外围单元移动到一个或 多个存储器缓冲区。出现在存储器缓冲区中的数据通常被控制系统用于系统执行器和通信 接口的实时控制。因此,该数据具有时间特征,因为系统应当只使用刚刚已经被传输的当前 数据,而不是历史数据。重要的是,知道自从上次数据被使用,数据缓冲区已被刷新。因此, CPU必须实时检查DM传输操作,这要求CPU密集的低等待时间服务。
[0007] 通常,在还包括一个主机CPU的嵌入式系统中,已知的DM外围设备执行数据事务 处理。CPU负责监督DMA的正确操作。链接的DMA事务处理序列通过配置DMA和中断路由 器来正确地排序,所述中断路由器用来在序列中的前面的事务处理完成后触发新的DM事 务处理的开始。链接的DMA事务处理序列通常通过下列方法中的任意一个方法来进行排 序:
[0008] ?配置DMA控制器和中断路由器,使得完成一个持续的DMA事务处理经由硬件触发 器发起下一个DMA事务处理的开始。
[0009] *CPU介入DMA事务处理之间,并在接收到前面的DMA事务处理已完成的DMA通信 量管理信号标志时经由软件触发发起下一个DMA事务处理的开始。
[0010] US2009/0271536公开了一种有条件地执行I/O描述符的DMA控制器,其中,链接的 列表项包含在描述符字段上计算的校验和。当取出链接的列表项时,在描述符上计算校验 和。如果两个校验和相等,则该链接的列表项被认为是有效的,并且执行该描述符。在DM I/O的结尾,取出链接的列表项中的下一个描述符。当校验和失败时,则破坏描述符、停止通 道,并且向操作系统报告错误。
[0011] 这些已知的方法包括以下缺点:
[0012] ?当DMA事务处理序列在进行中时,DMA数据移动时间序列的验证要求CPU的干 预,以确认事件的排序。
[0013] · DMA状态的后处理并不保证正确的操作。
[0014] ?已经被移动的目的数据的后处理是CPU密集的。
[0015] 本公开内容面对用来针对上述问题提供解决方案的挑战。


【发明内容】

[0016] 根据一个实施例,本公开内容提供一种系统和方法,其用于经由直接存储器访问 (DMA)事务处理、操作或事件在存储器和外围单元之间传输数据。该系统和方法包括对DM 事务处理的各自时间戳的分配或附加,使得可以比较不同DMA事务处理的相对定时。该机 制和分配的或附加的时间戳可用来支持跟踪不同的DM事件或事务处理。
[0017] 根据另一实施例,本公开内容提供一种系统和装置,其用于在DM事务的结尾给 目的数据分配或附加一个相应的时间戳。分配或附加给DM事务、操作或事件的目的数据 的时间戳提供了用于比较各自DM事务相对时间完成的方式。
[0018] 根据又另一个实施例,本公开内容提供一种用于向主机CPU报告DMA时间戳的系 统和机制。该对主机CPU的DM时间戳的报告允许CPU检查DM事件或事务处理的内部处 理。由此,可确认DM事务的正确排序。该CPU也可检测DM操作的不正确率,诸如等待时 间,到达率,丢失和/或重复序列。
[0019] 根据本公开内容的一个实施例,各自的时间戳被附加到最终目的数据,该数据在 DMA事务处理的最后DMA与入移动期间被与入。
[0020] 根据本公开内容的另一个实施例,时间戳由递增的二进制序列(例如自由运行的 二进制计数器)生成,并可支持比较和算术运算。
[0021] 根据本公开内容的另一个实施例,当序列的最后一个DMA传输完成时,可自动执 行一个附加的传输以捕获自由运行的定时器计数器的当前值,并将当前值移动到目的存储 器结构中的下一个地址。
[0022] 根据本公开内容的另一个实施例,时间戳可以进行后处理,以检查DMA事务处理 的时间序列。时间戳的这种后处理可以使得能够进行DMA事务处理序列的时间检查。
[0023] 根据本公开内容的另一个实施例,时间戳的目的地址可从DMA事务处理控制组计 算。该时间戳可被询问以确定一系列DM事务的序列。
[0024] 根据本公开内容的另一个实施例,时间戳的目的地址可从DMA事务处理控制器或 控制组计算。在本申请中该时间戳可被询问以确定一系列DM事务处理的序列。
[0025] 根据另一个实施例,本公开内容可用在车辆的电机控制应用中。如果ADC用来例 如经由电阻分流器或霍尔效应传感器对有效电机电流进行采样,则电流与瞬时电机转矩相 关联。由于电机转矩是一个关键的安全关注,所以时间戳示出ADC在正确的时间处被成功 触发并进行转换。
[0026] 根据本公开内容的另一个实施例,时间戳被分配给将在存储器和一个或多个外围 单元之间传输的数据,其中,该数据与分配和/附加给每个DM事务处理、操作或事件的时 间戳一起,通过直接存储器访问(DM)控制在该存储器和一个或多个外围单元之间进行传 输。
[0027] 在本申请中,ADC需要在与电机的脉冲宽度调制(PWM)定相同步的点处及时被触 发,因为如果电机在错误的时间处被采样,则控制回路可能不稳定,且所报告的转矩可能不 正确。因此,ADC由定时器触发,电机定相也一样,但是如果比较或定时器被干扰,或不处于 正确的速率处,则可能导致故障。
[0028] 本公开内容提供一种实现时间戳功能的DM控制器。本公开内容提供一种使得能 够进行用于以下的唯一的方法的新功能:
[0029] ?证明DMA的操作由正确的事件触发。
[0030] ?证明目的数据已被新的数据块刷新。
[0031] 因此,本公开内容对本领域的当前的实现提供了有利的贡献,其中,除非使用真正 的中断服务例行程序,ADC的似真性至今还难以确定。在已知的应用中,CPU可仅卸载ADC, 也可读取独立的定时器,以验证触发事件出现在正确的时间处。通常情况下,电机定相为 50 μ s速率,这创建了大量的中断加载,尤其是在每个电机换向周期要求2或3个ADC测量 时,且应用可以具有由一个核心控制的多个电机。
[0032] 从以下的描述和附图中,将更加全面地理解本公开内容的这些和其它优点、方面 和新颖的特征以及其图示的实施例的细节。

【专利附图】

【附图说明】
[0033] 附图被包含来提供对本公开内容的进一步的理解,并且被并入本说明书中且构成 本说明书的一部分。附图图示了本公开内容的实施例,并与描述一起用来解释本公开内容 的原理。本公开内容的其它实施例以及本公开内容的许多意图的优点将容易被理解,因为 通过参考以下的详细描述,它们变得更好理解。附图中的元件未必相对于彼此按比例绘制。 相同的参考数字指示对应的相同的部分。
[0034] 图1是图示了根据本公开内容的实施例的时间戳生成的示意图;以及
[0035] 图2是图示了根据本公开内容的实施例的具有对32位源数据的时间戳附件的DM 传输的不意图。
[0036] 图3是图示了根据本公开内容的另一实施例的具有对16位源数据的时间戳附件 的DMA传输的不意图。
[0037] 图4是图示了根据本公开内容的另一实施例的具有对递减的目的地址的时间戳 附件的DMA传输的不意图。

【具体实施方式】
[0038] 在下面的详细描述中,参考形成其一部分的附图,并且在所述附图中通过例证的 方式示出了其中可实践本公开内容的具体实施例。将理解的是,在不脱离本公开内容的精 神和范围下,可利用其它实施例并可做出结构或逻辑改变。因此,以下的详细描述,不应被 当作为限制意义,本公开内容的范围由所附的权利要求限定。
[0039] 本公开内容涉及采用直接存储器访问控制(DMA),在存储器和外围单元(诸如例 如串行接口、交换机或路由器等)之间传输数据。
[0040] 图1示出了图示根据本公开内容的的实施例的示意图。在本公开内容的这个实施 例中,时间戳的生成可如下执行:
[0041] 系统时钟除以8以生成用来对32位向上同步计数器进行计时的较慢的时间戳基 本时钟。该计数器复位后自动开始,且32位二进制时间戳在时间戳基本时钟的每个上升沿 上递增。在系统时钟运行以保证对每个时间戳值的唯一性的同时,该32位二进制时间戳不 断递增。
[0042] 时间戳只能通过要求复位来改变,其使时间戳回到其初始值。在释放复位时,时间 戳恢复向上计数序列。在时间戳溢出预先确定的阈值的情况下,时间戳切换回初始值,并恢 复向上计数序列。时间戳值可通过例如合适的软件来读取。
[0043] 参考图1,所提供的系统时钟频率fSYS为100MHz,随后,由8分频器分频可生成 12. 5MHz的时间戳输入时钟。因此32位二进制时间戳计数器每80ns秒递增。在一个实施 例中,时间戳以与DMA事务处理速率一致的速率递增。如果时间戳以快于DMA事务处理速 率的速率递增,则它可能太频繁地溢出,其消耗过多的功率。如果时间戳以低于DM事务处 理速率的速率递增,DMA事务处理可能不能被提供有唯一的时间戳。
[0044] 图2示出了图示根据本公开内容的实施例的DM事件或传输的示意图。图2中, 示出了源存储器和目的存储器,其分别具有递增的源地址1C H,18h,14h,10h,0h,08C h,04Ch, OOCh。在图示的示例中,在DMA传输、操作或事务处理期间,由比特数0-15和16-31图示的操 作或事务处理两个16位半字经由DMA传输、操作或事务处理从具有递增的源地址1C H,18h, 14h,10h,0h,08C h,04Ch,00Ch 的源存储器到具有递增的目的地址 1Ch,18h,14h,10h,0h,08C h, 04Ch,OOCh的目的存储器进行传输。在该DMA传输中,在DMA事务处理目的数据结尾,各自 的时间戳被附加在立即下一个的更高的32位对齐的目的地址处。在图示的示例中,时间戳 存储在目的地址〇8 H处。
[0045] 图2是图示了根据本公开内容的实施例的具有对32位源数据的时间戳附件的DM 传输的示意图,下面参照图2,通过示例描述时间戳附件。
[0046] DMA通道被配置为执行由四个DMA移动组成的DMA事务处理。每个DMA移动将16 位数据采样从源地址传输到目的地址。在源地址处的四个16位数据采样在连续的目的地 址处被重新包装成两个32位字。由DM控制器进行的四个数据采样的传输是重复的任务。 DM事务处理控制组被配置为循环缓冲区。如示例中所示,DM通道被配置为在DM事务处 理的结尾附加各自的时间戳。在当前DMA事务处理的结尾附加的时间戳与在下一个DMA事 务处理的结尾附加的时间戳是不同的。DM移动四个数据采样,如以下示例性表所示:
[0047]

【权利要求】
1. 一种用于经由多个直接存储器访问(DMA)事务处理在存储器和外围单元之间传输 数据的方法,所述方法包括: 执行多个DMA事务处理;W及 向所述多个DMA事务处理中的至少两个DMA事务处理分配或附加各自的时间戳。
2. 权利要求1所述的方法,进一步包括: 使用附加到所述DMA事务处理的所述时间戳来比较不同的DM事务处理的相对定时。
3. 权利要求1所述的方法,进一步包括: 使用附加到所述DMA事务处理的所述时间戳来支持对所述DM事务处理的跟踪。
4. 权利要求1所述的方法,进一步包括: 将时间戳附加到DMA事务处理的目的数据。
5. 权利要求4所述的方法,进一步包括: 使用附加到不同的DMA事务处理的所述目的数据的所述时间戳,W比较各自DMA事务 处理的相对时间完成。
6. 权利要求4所述的方法,其中所述时间戳被附加到最终的目的数据,所述最终的目 的数据在所述DMA事务处理的最后的DMA写操作期间被写入。
7. 权利要求4所述的方法,进一步包括: 处理附加到所述DMA事务处理的所述时间戳,W证明所述目的数据是否已被新的数据 块刷新。
8. 权利要求1所述的方法,进一步包括: 将附加到所述DMA事务处理的所述时间戳报告给主机中央处理单元(CPU)。
9. 权利要求1所述的方法,进一步包括: 从递增的二进制序列或自由运行的定时器计数器生成所述时间戳,W支持比较和算术 运算。
10. 权利要求1所述的方法,进一步包括: 当DMA传输序列的最后的DMA传输完成时,执行附加的传输W锁存定时器计数器的当 前值并将所述当前值移动到目的存储器结构中的下一个地址。
11. 权利要求1所述的方法,进一步包括: 处理附加到所述DMA事务处理的所述时间戳,W检查DMA事务处理的时间序列。
12. -种用于使用多个直接存储器访问(DMA)事务处理传输数据的系统,包括: 分配组件,其被配置为向待传输的所述数据分配和/或附加各自的时间戳;W及 传输组件,其被配置为通过DMA控制将所述数据连同分配和/或附加到每个DMA事务 处理的时间戳一起传输。
13. 权利要求12所述的系统,进一步包括: 主机中央处理单元(CPU),其被配置为使用附加到所述DMA事务处理的所述时间戳来 检查所述DMA事务处理的内部处理,并进一步被配置为使用所述DMA事务处理的所述时间 戳来检查DMA事务处理的正确排序,和/或还进一步被配置为使用所述DMA事务处理的所 述时间戳来检测所述DMA事务处理的不正确率、等待时间、到达率、丢失和/或重复序列。
14. 权利要求12所述的系统,进一步包括: 模数转换器(ADC),其被配置为经由所述多个直接存储器访问DMA事务处理采样并发 送一个或多个操作参数,其中, 所述CPU被配置为使用附加到所述DMA事务处理的所述时间戳来检查所述ADC是否在 预先确定的的时间点处被触发和/或转换。
15. -种直接存储器访问(DMA)控制器,包括: 传输部分,其被配置为经由多个直接存储器访问DMA事务处理传输数据;W及 分配组件,其被配置为向所述多个DMA事务处理中的至少两个DMA事务处理分配或附 加各自的时间戳。
【文档编号】G06F13/28GK104346307SQ201410456571
【公开日】2015年2月11日 申请日期:2014年7月25日 优先权日:2013年7月26日
【发明者】S·布鲁尔顿, S·科塔姆 申请人:英飞凌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1