多模式无线宽带信号处理器系统和方法

文档序号:6553971阅读:255来源:国知局
专利名称:多模式无线宽带信号处理器系统和方法
技术领域
本发明涉及通信系统和方法。更具体地,本发明涉及一种多模式 无线广带信号处理器系统和方法。
背景技术
本部分目的在于提供背景或者描述环境。此处的描述可以包括可 被研究的概念,但是不一定是先前已被构思或研究的概念。因此,除 非此处另外指出,否则本部分中描述的内容对于本申请中的权利要求 而言不是现有技术,并且包含在本部分中并非意味着其是现有技术。
无线设备持续需要处理日益增高的数据速率的能力。为了适应多 媒体内容,例如,无线设备的数据速率需要与硬连线设备的宽带速率 匹配。无线设备用户日益要求多功能、多技术设备以经由多种无线联 网技术获得不同类型的内容和服务。
为了将宽带能力内建到小的手持设备中,已进行了许多尝试。例
如,通常被称为Wi-Fi 802.11的无线数据技术提供了高速度能力,用于 处理诸如高质量(高清晰度)流视频和图像内容的要求苛刻的应用。 然而,传统的802.11实现方案未能满足用户可接受的功耗参数。对于 电池操作的设备,甚至目前可用的最低功耗的802.11实现方案也严重 地限制了"通话时间"(传输语音、数据或视频的过程中的激活状态)。
除了提出具有可接受的功耗的802.11实现方案以外,另一个挑战 是建立一种无线实现方案,其支持两个或更多的联网操作模式,诸如 802.11、 Bluetooth、超宽带(UWB) 、 WiMax (802.16d和802.16e)、 802.20以及3G和4G蜂窝系统。无线设备需要能够提供多种无线联网技术。在单个设备中根据多种联网标准和技术操作的能力被称为"多 模式"能力。
大部分传统的移动设备是基于数字信号处理器(DSP)的,基于 专用集成电路(ASIC)的或者是ASIC/DSP混合架构。数个工程考虑 因素,诸如功率效率、设计灵活性和成本,阻碍了该方法适用于宽带 无线应用。由于架构限制,传统的方法能够提供高数据速率,但是这 是仅在以功耗为代价的前提下提供的,导致了不能接受的短的电池寿
对于每天正在引入的新的无线标准,传统的ASIC设计是非常不 够灵活的,以至于不能持续地适应这些迅速演化的标准。 一旦针对新 的标准开始集成电路设计周期,则不可避免地出现的修改方案使得重 新从头开始或者返工ASIC芯片是必要的。为了在单个设备上提供末端 用户要求的多个无线能力,ASIC和DSP方法通过简单地并行堆叠额外 的"处理电路"来支持多模式能力,对于每个新模式,这极大地增加 了设备体积和制造成本。
需要一种通信系统和架构,其为多模式通信提供了宽带性能和低 功耗。还需要以高频率收集通讯设备的高诊断价值数据的能力,用于 利用逻辑分析仪进行观察和分析。而且,需要提供无线通信设备,其 可以跨越多个网络和多个通信标准操作。更进一步,需要减少基带电 路和改进ASIC算法以实现超低功率/成本的优点,导致了性能处理的 提高以及功耗、门数量和硅成本的减少。
还需要在该通信系统中控制输入和输出,并且需要动态控制针对 多模式无线处理系统中的样本缓冲器的速率连接,用于处理多个通信 标准。而且,需要同多模式无线处理系统中的处理器接驳。更进一步, 需要以使功耗最小的方式执行快速傅立叶变换(FFT)。更进一步,需 要基于任务环境对任务及其组成的操作的执行进行优先排序的能力。还需要在多模式无线宽带系统中执行巻积运算。 发明概述
一个示例性实施例涉及一种获得处理器诊断数据的方法。该方法 可以包括接收指令;使能对诊断存储器的输出通信流的写访问;以 第一速率写入诊断存储器;并且以第二速率从诊断存储器中读取,其
中第一速率大于第二速率。
另一示例性实施例涉及一种用于获得处理器诊断数据的系统。该 系统可以包括包含指令的存储器;接收和执行指令的控制器;以及 以第一速率接收通信数据并且以第二速率输出通信数据的诊断存储 器,其中第一速率高于第二速率。
另一示例性实施例涉及一种控制多模式无线处理系统中的输入和 输出的方法。该方法可以包括接收关于多模式无线处理系统中的通 信的指令;并且由接收指令中的字段确定指定的处理单元生成输出数 据还是接收输入数据。
另一示例性实施例涉及一种用于同多模式无线处理系统中的处理 单元接驳的输入/输出部件的配置。该配置包括多个通用输入端,用 于将输入数据提供给多模式无线处理系统中的处理单元;和多个通用 输出端,用于接收多模式无线处理系统中的处理单元生成的输出数据。
另一示例性实施例涉及一种用于控制多模式无线处理系统中的输 入和输出的系统。该系统可以包括存储器,其包括多模式无线处理 系统中的指令;和控制器,其接收指令并且由指令字段确定多模式无 线处理系统中的指定处理单元生成输出数据还是接收输入数据。
另一示例性实施例涉及一种动态控制针对多模式处理系统中的样 本缓冲器的速率连接的方法。该方法可以包括接收关于多模式无线处理系统中的通信的指令;以及确定多个缓冲器串行连接到多模式无 线处理系统外部的元件用于接收或传送数据的速率。
另一示例性实施例涉及一种用于动态控制针对多模式处理系统中 的样本缓冲器的速率连接的系统。该系统可以包括存储器,包括关 于多模式无线处理系统中的多模式无线处理器通信的指令;和控制器, 接收指令并且确定多个缓冲器串行连接到多模式无线处理系统外部的 元件用于接收或传送数据的速率。
另一示例性实施例涉及一种接驳两个处理器的方法。该方法可以 包括在第一处理器处生成读/写请求,用于访问第一处理器不能直接 访问的存储器;在直接访问目标存储器的第二处理器处接收该读/写请 求;在第二处理器处完成读/写操作;并且在第一处理器处接收表示读/ 写操作已完成的指示。
另一示例性实施例涉及一种用于接驳两个处理器的系统。该系统 可以包括第一处理器,生成读/写请求,用于访问第一处理器不能直 接访问的存储器;第二处理器,接收该读/写请求,直接访问目标处理 器,并且完成读/写操作;目标存储器;以及用于在第一处理器和第二 处理器之间通信的装置。
另一示例性实施例涉及两个处理器之间的接口。该接口可以包括 用于在第一处理器处生成读/写请求的装置;用于由任一处理器设定状 态比特的装置;用于由两个处理器轮询状态比特的装置;和用于在两 个处理器之间传送额外数据的装置。
另一示例性实施例涉及一种在多模式无线处理系统中执行快速傅 立叶变换(FFT)的方法。该方法可以包括将输入矢量加载到输入缓 冲器中;初始化第二计数器和变量N,其中N-log2(输入矢量大小),并 且s是第二计数器的值;执行FFT阶段;以及将s同N比较并执行额外的FFT阶段,直至s-N。 FFT阶段可以包括对输入缓冲器中的数 据执行矢量运算;将结果发送到输出缓冲器;使第二计数器的值增加; 并且切换输入和输出缓冲器的作用。FFT阶段中的矢量运算可以包括 每次针对四个输入数据执行基-4 FFT矢量运算并且使得到的输出矢量 同旋转(Twiddle)因子相乘。生成旋转因子的方法可以包括生成控 制字,用于控制旋转因子的计算;并且基于生成的旋转地址确定是否 需要自存储器访问旋转因子。如果需要访问旋转因子,则生成旋转因 子的方法可以进一步包括自存储器读取旋转因子;基于控制字计算 旋转因子;并且将计算的旋转因子存储在处理单元中。
另一示例性实施例涉及一种用于在多模式无线处理系统中执行快 速傅立叶变换(FFT)的系统。该系统可以包括存储器,用于向处理 单元提供数学函数;程序存储器,包含用于执行FFT算法的指令;指 令控制器,用于自程序存储器接收并执行指令;以及缓冲器对,其在 FFT算法的连续的FFT阶段中,在用作输入缓冲器和输出缓冲器之间 交替。
该示例性实施例中的处理单元可以包括基-4FFT引擎,对四个 输入矢量执行八次复加法并且生成四个输出矢量;旋转乘法器,用于 使生成的输出矢量与相关联的旋转因子相乘;串行并行转换器,用于 自输入缓冲器串行接收四个输入矢量并且将该四个输入矢量并行发送 到基-4 FFT引擎;并行串行转换器,用于并行接收四个生成的输出矢 量并且串行地将该四个输出矢量递送到旋转乘法器和输出缓冲器;寄 存器组,用于将计算的旋转因子存储在处理单元中;旋转八分圆 (octant)计算器,基于控制字计算旋转因子;主计数器,其用作监视 给定FFT阶段中的FFT算法的进程的循环变量;第二计数器,其用作 跟踪FFT算法的当前阶段的循环变量;输入地址生成器,其生成输入 缓冲器地址,输入缓冲器地址用作除了正在执行最后的FFT阶段并且 N是奇数,其中N-log2(输入缓冲器中的数据尺寸)时以外的所有FFT 阶段的输出缓冲器地址;旋转地址生成器,用于生成初步旋转地址;DiBit内插生成器,如果N是奇数,则最后的FFT阶段的输出缓冲器地 址;和旋转地址乘法器,用于生成控制字和最终旋转因子地址。
另一示例性实施例涉及一种用于获得处理器诊断数据的系统。该
系统可以包括包含指令的处理器;接收和执行指令的控制器;以及 以第一速率接收通信数据并且以第二速率输出通信数据的诊断存储
器,其中第一速率高于第二速率。
另一示例性实施例涉及一种用于获得处理器诊断数据的系统。该 系统可以包括自程序存储器接收指令的控制器;控制器基于接收的 指令而启用以接收数据的诊断存储器。该诊断存储器以第一速率接收 数据并且以第二速率输出数据,其中第一速率高于第二速率。该系统 进一步包括外部接口,其耦合到诊断存储器,用于以第二速率传送数 据。
另一示例性实施例涉及一种在时间间隔内在指令上下文之间切换 的方法。该方法可以包括执行在时间间隔内完成执行的关键任务操 作,关键任务包括多个关键任务操作;执行能够跨越时间间隔边界的 非关键任务操作,非关键任务包括多个非关键任务操作;以及进入睡 眠模式,在睡眠模式中,如果在下一时间间隔开始之前已完成在时间 间隔内开始的关键任务操作和非关键任务操作,则不执行关键任务操 作或执行非关键任务操作。
另一示例性实施例涉及一种用于在多模式无线处理系统中执行巻 积运算的方法。该方法可以包括将初始值和步幅值加载到地址生成 器中;基于该初始值和步幅值生成地址;将生成的地址提供给一系列 存储器;将输入数据加载到一系列寄存器中;使每个寄存器的内容乘 以与每个寄存器相关联的存储器中的生成地址处存储的值;使得到的
乘积相加;并且基于得到的求和生成输出。存储器和寄存器的数目是 相等的,每个寄存器具有相关联的存储器。另一示例性实施例涉及一种用于在多模式无线处理系统中执行巻 积运算的系统。该系统可以包括地址生成器,用于生成关于给定的 初始值和步幅值的地址; 一系列存储器; 一系列寄存器,用于存储输 入值; 一系列复乘法器,该乘法器系列、寄存器系列和存储器系列的 数目相等,每个乘法器与一个寄存器和一个存储器相关联,每个乘法
器生成相关联的寄存器的内容和相关联的存储器中的生成地址处存储 的值的乘积;和复加法器树,用于使乘积系列相加并且产生乘积求和。
其他的示例性实施例也被考虑,如此处描述的并且如附属权利要 求中更加精确地陈述。


图1是示出了根据示例性实施例的无线宽带信号处理系统的示图。
图2是示出了根据示例性实施例的图1的无线宽带信号处理系统 中的诊断邮箱的使用的示图。
图3是示出了根据示例性实施例的经由双端口RAM实现的邮箱诊 断功能的示图。
图4是根据示例性实施例的图1的无线宽带信号处理系统对包括 通用输入输出(GPIO)指令字段的指令的处理的示图。
图5是示出了通用输入和输出操作的图1的无线宽带信号处理系 统的示图。
图6是示出了处理迭代时长的动态配置的图1的无线宽带信号处 理系统的示图。
图7是示出了根据示例性实施例的图1的无线宽带信号处理系统 中利用的ARM处理器和无线宽带信号处理器(WBSP)处理器执行的 操作的示图。
图8是示出了根据示例性实施例的图1的无线宽带信号处理系统 中执行的FFT操作的示图。图9是示出了图1的无线宽带信号处理系统中的执行FFT算法的 处理器的功能的示图。
图10是示出了关于图9的FFT算法在地址生成过程中执行的操作
的示图。
图11是示出了根据示例性实施例的示例性输入地址映射的示图。 图12是示出了根据示例性实施例的示例性旋转地址映射的示图。 图13是示出了根据示例性实施例的关于最后的阶段过程的内插 映射的示图。
图14是示出了根据示例性实施例的上下文切换操作的示图。 图15是图14的上下文切换操作的时序图。 图16说明了图1的无线宽带信号处理系统中的处理单元。 图17说明了来自图16的处理单元的地址运算逻辑。
具体实施例方式
图l说明了无线宽带信号处理系统10。该无线宽带信号处理系统 IO可以包括程序存储器12、指令控制器14和处理单元16、 18和20。 系统10还可以包括样本缓冲器22、 24和26;单端口存储器28、 30和 32;和四端口存储器34和36。程序存储器12存储指令控制器14使用 的编程指令。处理单元16、 18和20被配置为执行矢量过程,诸如解 调过程。例如,处理单元16可被配置用于每个时钟下的巻积运算,处 理单元18可被配置用于FFT功能,其中在每个时钟下执行基-4蝶形运 算,而处理单元20可被配置用于其他的矢量运算,诸如解扩、矢量加 法、矢量减法、点积和分量间乘法。此外,可以包括更少的或者不同 的处理单元。在至少一个示例性实施例中,所包括的存储器38用于向 处理单元16、 18和20提供数学函数。存储器38可以是只读存储器 (ROM)。
指令控制器14自程序存储器12接收矢量指令。基于接收的矢量 指令,指令控制器14可以选择端口存储器用于输入和输出。题为 "Multi-Mode Method and Apparatus for Performing Digital Modulationand Demodulation"的美国专利申请No. 10/613,476中描述了无线宽带 信号处理系统10的示例性操作,其整体内容在此处并入作为参考。
无线宽带信号处理系统10进一步包括诊断邮箱44。诊断邮箱44 是存储器,诸如随机存取存储器(RAM),其耦合到处理单元(如所 示出的)的输出端或者无线宽带信号处理系统10的输入端。在任一实 现方案中,诊断邮箱44以高的频率接收通信数据并且以较低的频率向 逻辑分析仪46传送通信数据,逻辑分析仪46创建诊断邮箱44的内容 日志。然后诊断邮箱44的内容可被浏览和研究,用于理解无线宽带信 号处理系统10的操作,执行调试操作或者故障分析等等。
图2说明了根据示例性实施例的诊断邮箱44的使用。在操作中, 指令控制器14自程序存储器12接收指令。该指令包含诊断邮箱字段, 其具有关于正在传送的指令类型的信息。如果输出流将被写入到诊断 邮箱44,则诊断邮箱字段被设定为逻辑1。指令控制器14执行必要的 时间对准,由此诊断邮箱44能够在矢量指令输出的时长内进行写访问。 所发生的对诊断邮箱44的写入的速率是Fwbsp。自诊断邮箱44读取的
操作以F^d的较低的同步速率发生,Fread是可支持芯片外访问的速率。 在示例性实施例中,Fread的同步速率是40MHz或更低,并且比Fwb印
低5 10倍,F由p是40 MHz或更高。Fread》NFwbsp,其中N是与诊断 邮箱字段被设定为1的指令相关联的时钟的分数。
在可替换的实施例中,当接收自程序存储器12的矢量指令改变 时,指令控制器14使能对诊断存储器的写访问。这允许诊断邮箱44 提供输出流的连续日志。
图3说明了优选实施例,其中经由双端口 RAM 54实现诊断邮箱。 双端口 RAM 54外部的逻辑(未示出)在每次访问之后使读和写地址 顺序渐增,例外情况是,当地址值超过RAM的物理尺寸时(例如,地 址序列是N-3,N-2,N-1,0, 1,2,…其中N是双端口 RAM 54中的可访问位置的数目)绕回到O。因此双端口 RAM54用作FIFO。
当生成与诊断使能指令相关联的指令输出时,使能双端口 RAM 54 的写端口。双端口 RAM 54的读端口在比写端口低的频率下操作。当 写地址A—write大于读地址A—read时,双端口具有有效信息,其自读 端口时钟输出,直至A_write=A_read。如果A_write变得过大,由此信 息被过度写入,未由读端口时钟输出,则设定和锁存溢出指示符,其 指示了错误条件。
在示例性实施例中,邮箱支持逻辑53包括协助双端口 RAM 54执 行其操作的指令。邮箱支持逻辑53接收写地址和读地址。依赖于该信 息,邮箱支持逻辑53可以传送溢出指示符,其如上文所解释的,指示 信息在双端口 RAM54中被过度写入(诊断邮箱44满)。可以传送空 指示符,以指示双端口 RAM54准备好接收数据(诊断邮箱44空)。 当RAM数据经由诊断流向逻辑分析仪46传送时,邮箱支持逻辑53向 双端口 RAM 54传送读使能信号。
图4说明了指令控制器14对接收自程序存储器12的包括通用输 入输出(GPIO)指令字段的指令的处理。具有N个比特的GPIO指令 字段可以指示GPI(通用输入)、GPO(通用输出),或者利用零GPIO 码指示不存在此两者。N比特字段可以寻址高达2N-1个GPI和GPO的 组合。GPIO码可以触发指令控制器14使用GPI选择逻辑55或GPO 选择逻辑57。
通用输出(GPO)操作可用于控制针对无线宽带信号处理系统10 中利用的无线宽带信号处理器(WBSP)外部的元件的通信。外部元件 的示例包括处理器(诸如被称为ARM处理器的处理器,其来自ARM, Limited of Cambridge, England)或者RF收发信机。此外,可以使用 GPO操作访问与WBSP的操作相关联的寄存器,诸如下面讨论的PID 寄存器。当对于元件而言是唯一的GPO码处于程序存储器12中的当前指令中时,GPO选择逻辑57脉冲激励直接且唯一连线到元件的使能
端。特定使能端的含义可以依赖于元件而变化。典型地,使能信号使 元件锁存输出流上的数据。可替换地,使能端具有其自身的含义,并 且允许输出流在未锁存的情况下被直接发送到元件。
通用输入(GPI)操作可用于自WBSP外部的元件或者与WBSP 的操作相关联的寄存器接收输入。输入操作的示例包括支持WBSP 和外部处理器(诸如ARM)之间的接口、记录帧错误率。如果指令的 GPIO字段中声明的码对应于GPI,则输入流被钩连(hook)到该特定 元件中。
图5说明了包括对具有通用输入输出(GPIO)指令字段的指令的 处理的无线宽带信号处理系统10。在一个输入或GPI操作中,样本缓 冲器22将通信数据输入流传送到处理单元16、 18和20中的一个。在 另一个输入或GPI操作中,元件66将通信数据输入流传送到处理单元 16、 18和20中的一个。
图6说明了处理迭代时长(PID)的示例性动态配置。PID指在接 收模式中(自A/D)被写入到样本缓冲器22、 24和26或者在传送模 式中由样本缓冲器22、 24和26读出(到DAC)的样本的数目。题为 "Buffering Method and Apparatus for Processing Digital Communication Signals"的美国专利申请No. 10/613,897中描述了无线宽带信号处理系 统10中可以利用的示例性缓冲器技术,其整体内容在此处并入作为参 考。
PID (写入到样本缓冲器22、 24和26中的样本数目)确定了缓冲 器方案增加的速率。换言之,PID是样本缓冲器22、 24和26被连接以 接收样本的程序速率。小的PID表示低延时的情况,其中在小量的时 间内样本是可用的(在RX上)或者使其是可用的(在TX上);较大 的PID允许较高的处理效率,其中允许较长矢量的运算,其固有地是更加高效的(关于指令的初始处理延迟被分摊到较多的输出数据上)。
可经由GPIO指令访问确定样本缓冲器22、 24和26增加速率的 参数。在当前指令中的GPIO字段包含值1时,将输出流路由到控制样 本缓冲器增加的速率的寄存器。因此,指令控制器14动态改变PID的 能力允许低和高的延时之间的实时均衡。例如,当执行或者预期执行 较长矢量的运算时,可以使用较长的PID。此外,某些PID固有地优 于具有特定符号速率(例如,4微秒自然适合802.11g)的标准。
图7说明了根据至少一个示例性实施例的无线宽带信号处理系统 10利用的处理器,诸如ARM处理器和无线宽带信号处理器执行的操 作。依赖于具体的实施例或实现方案,可以执行额外的、更少的或者 不同的操作。
根据至少一个示例性实施例,WBSP被用作信号处理器,并且因 此需要在主处理器的控制下,诸如ARM处理器。ARM处理器因此需 要有读和写WBSP的能力。图7中说明的接口完全是软件定义的,并 且因此是高度灵活的。ARM处理器和WBSP可被编程用于定义支持任 何协议的接口。
"读"请求是用于将特定WBSP缓冲器内部的特定存储器位置的 内容传送到ARM处理器的机制。"写"请求是用于将特定值从ARM 处理器传送到WBSP处理器的机制,该特定值被安置在WBSP处理器 的特定缓冲器内部的特定存储器位置中。
"读"请求支持ARM处理器出于多种目的,诸如校准、关于主机 GUI显示(如RSSI)的PHY统计,可访问的来自WBSP处理器的信 息以及针对ARM处理的动态算法输入。"写"请求支持ARM传递到 WBSP的信息通信,诸如TX上的DC消除(I和Q)、作为数据速率 的函数的TX功率更新、调制解调器802.11 a/b/c的操作模式(在不需要双重采集时允许针对功耗的较少的处理)和RSSI计算激活(再一次 地,允许针对功耗的禁用)。
在状态A1中,ARM处理器发起关于读或写请求的请求。通常, 由于处理器相互异步操作,因此WBSP处理器处于状态Wl,其包括某 些通用处理。周期性地,WBSP处理器变换到状态W2以检査 WBSP—STATUS比特。这些比特可作为GPI指令而被访问。如果 WBSP—STATUS=0 ,则通用处理在状态Wl中继续。如果 WBSP一STATUS非零,则变换到状态W3,其中执行ARM命令。
如果操作是"读",则WBSP处理器访问WBSP一ADDRESS中指
明的地址。该一维地址被翻译为二维WBSP地址,包括缓冲器编号和 该缓冲器中的地址。访问该位置的内容并且将输出流引导至与 WBSP—DATA相关联的GPO。
如果操作是"写",则WBSP处理器访问WBSP_ADDRESS中指 明的地址。该一维地址被翻译为二维WBSP地址,包括缓冲器编号和 该缓冲器中的地址。经由GPI机制访问WBSP—DATA的值。WBSP处 理器将该值路由到针对解码的缓冲器编号和该缓冲器中的地址的输出 流。
在"读"和"写"的情况中,WBSP—STATUS的值被重置为0。 同时,ARM处理器在状态A2中继续其通用处理。周期性地,ARM处 理器经由其MIMO寄存器ARM_WBSP—ACCESS检査WBSP—STATUS 的值。当该值是0时,ARM处理器了解"读"或"写"命令已被完成。 如果该操作是读,则ARM处理器可以访问WBSP—DATA寄存器中的 读取值。受到"读"操作的影响,可能发生继续的操作(状态A4), 其包括发起另一 "读"或"写"命令的选择。同时,受到"写"操作 的影响,WBSP操作可以在状态W3中继续操作。图8说明了无线宽带信号处理系统10中执行的示例性FFT算法中 执行的操作。依赖于具体的实施例或实现方案,可以在算法中执行额 外的、更少的或者不同的操作。FFT算法可被编码到驻留在程序存储 器12中的软件程序中。在操作82中,将经历FFT/IFFT变换的数据被 加载到缓冲器中。初始化管理后继操作的操作的设置。第二计数器被 初始化为2,并且N被设定为输入矢量的1og2长度。在操作84中,GPIO 指令编号23引起了处理单元18中的主计数器的重置。GPIO指令13 将FFT长度(N)通知处理单元18 (图1)。主计数器负责生成地址, 如下文更加详细描述的。
在操作86中,处理单元18执行与FFT/IFFT算法相关联的矢量操 作。在至少一个实施例中,待由矢量指令操作的矢量长度的上限是128 字。对于大于128字的数据长度,有必要通过FFT/IFFT循环足够次数 (例如,如果数据长度是2048字,并且最大矢量长度是128字,则需 要FFT/IFFT算法的16次迭代来执行变换)。在操作87中,仅在操作 86中FFT/IFFT算法对数据的一个128字的区段(除非经由GPIO指令 23明确重置)进行操作之后,使主计数器的值渐增。
在操作88中,使第二计数器增加2以前进至FFT/IFFT处理的下 一阶段。而且,切换INPUT和OUTPUT缓冲器,实现FFT/IFFT阶段 之间的处理的级联。在操作89中,如果FFT/IFFT处理的所有阶段已 被执行,则FFT/IFFT变换数据可用于处理器的进一步处理。
参考图l,存储器38向处理单元16、 18和20提供数学函数。在 优选实施例中,存储器38是只读存储器(ROM) 。 ROM功耗相对高。 因此,使对存储器38的访问最少减少了所需的总功率。在FFT算法中, 有必要访问存储器38以获得数学函数,该数学函数包括用于基-4运算 输出的旋转因子。
通过对给定阶段中的FFT算法操作的输入矢量的区段重新排序,可以使用相同的3个旋转因子组用于连续的基-4运算的输出。作为示
例,考虑4096字FFT,其中需要log4(4096)=6个阶段。对于阶段l, 在每次基-4运算中自存储器38访问3个旋转因子。应当注意,基-4运 算的第一个输出具有总是为单位因子的旋转因子,因此仅有3个输出 是非零解。然而,对于FFT算法的下一阶段或者阶段2,如果如下文 所述使用最优的地址生成方案,则相同的三个旋转因子的组可用于4 个连续的基-4运算。对于FFT算法的阶段3,相同的三个旋转因子的 组可用于16个连续的基-4运算。对于阶段4,该数据继续几何增长到 64个连续的基-4运算。
其他的设计考虑可以减少存储器38中所需的旋转因子空间量。例 如,由于2的较大幂是2的较小幂的超集,因此仅需要存储对应于最 大FFT尺寸的旋转因子。因此,旋转地址生成支持将所有的FFT尺寸 分散到单个表格中。该地址生成方案还支持旋转因子数目的减少,即 使是针对最大的FFT尺寸。例如,采用8192字的FFT,相邻的旋转因 子是相差exp(j*2*pi/8192)的因子,其过小以至于不能在10比特的定点 表示中分辨。因此,存储减少的旋转因子组,其中所有的奇数值被丢 弃。简而言之,通过存储旋转因子的pi/4 (—个八分圆)等值,可以构 建2 i弧度的完整的单位周期。单位周期减少了额外的1/8th的存储需 要。与旋转八分圆计算模块(在处理单元18中示出,参考图9描述) 耦合的旋转地址生成实现了该存储减少。
图9说明了参考图1描述的处理器18的功能的更加详细的视图。 在至少一个实施例中,由于处理器自单端口 RAM串行接收数据,因此 处理器18缓存四个输入(Xl、 X2、 X3和X4)用于确保基-4FFT。例 外情况是非4的整数次幂的FFT尺寸的最后基-2阶段。在该情况中, 仅缓存2个输入,X2和X4被设定为零。
基-4 FFT引擎在相对于无线宽带信号处理系统10的剩余部分减低 的时钟速率下操作。在许多实施例中,基-4 FFT引擎在系统时钟频率减少到1/4的频率下操作。例外情况是,非4的整数次幂的FFT尺寸 的最后基-2阶段,在该情况中系统时钟频率减少到1/2。基-4FFT引擎 被最优化为,可以执行8个复加法以产生4个输出。基-4 FFT引擎包 括2组级联的加法器。第一组加法器基于4个复输入产生下面的部分 和
P1=X1+X3 P2=X1-X3 P3=X2+X4 P4=X2-X4
第二组加法器基于该部分和计算输出
Y1=P1+P3
Y2=P2-j*P4
Y3=P1-P3
Y4二P2+pP4
其中关于j的乘法是经由切换I和Q并且使I输出反相实现的。 通常,在该运算中不存在截断。
每次标量旋转因子乘法的输出被截断为11比特。因此,复乘法器 的输出是12比特。比特[10:1]被映射到处理单元18的输出。为了减少 访问旋转因子的速率,存在3个存储寄存器92用于存储非单位旋转因 子。如下文参考图10 13进一步描述的,存储寄存器92仅在旋转地址 变换到旋转地址生成器映射块外部时更新。操作106中生成的旋转地 址变换指示符将该变换信号通知给存储寄存器92,其将在下文中更加 详细地讨论。当应用单位旋转因子时,乘法器94支持关于每个第四次 乘法的旁路功能。基于来自图10中示出和下文描述的乘法器110的3 比特控制字,旋转八分圆计算器90如下被访问的旋转因子计算。旋转 因子经历3次运算的级联作用
If比特1 xor比特2==1交换旋转因子的I和Q并且略去实部和虚部
If比特2==1
略去旋转因子的实部
If比特3==1
略去旋转因子的实部和虚部
图10说明了关于参考图9描述的FFT算法的地址生成中执行的操 作。依赖于具体的实施例或实现方案,可以执行额外的、更少的或者 不同的操作。在操作104中,输入地址生成器映射操作102提供的主 计数器信息以创建输入地址。图11说明了主计数器信息的示例性映射。 如所说明的,根据FFT算法变换的输入矢量的尺寸N构成输入地址。 在图11中说明的示例性映射中,输入地址长13比特,其中最高阶的 13-N比特被设定为零并且N4og2(FFT尺寸),次高阶的比特是主计数 器的s个比特,其中s=2, 4, ...,N-2,N(其中N是偶数)和s-2, 4, ...,N-l, N(其中N是奇数),并且输入地址的较低阶的比特是主计数器的N-s 比特。再次参考图10, 一旦操作104生成了输入地址,则输入缓冲器 接收输入地址并且,除了下文描述的最后的阶段的例外情况外,输出 缓冲器还接收输入地址。
在操作106中,生成旋转因子地址。图12说明了关于旋转地址的 示例性映射。该示例性映射牵涉重新打乱在操作104中生成的输入地 址的次序。旋转地址具有11比特。较高阶的比特是输入地址比特(N-s) 为1。旋转因子地址的剩余的较低阶的比特(通过将输入地址尺寸11 减去N-s确定)被设定为零。
为了确定是否需要新的旋转因子,并且出于节约功率的目的,进 行变换确定,以限制对存储器38 (诸如ROM)的访问的次数。通过操 作106生成旋转地址变换指示符,该旋转地址变换指示符指示了在旋 转地址中存在改变或变换,并且需要新的旋转因子。旋转地址变换指 示符被发送到处理单元18中的存储寄存器92和数学函数存储器38。当访问存储器38时,调取三个旋转因子,如上文所述进行计算,并且
存储在存储寄存器92中。
下文描述了具有旋转因子的存储寄存器92的构成和旋转因子的 使用。在该过程中,使用乘法器110使主计数器的两个最低有效位 (LSB)与旋转地址相乘。该乘法的乘积(在该示例性实施例中是13 比特)被分为数个部分。其中十个比特作为输入被提供给求和器112 和复用器114。求和器112从512中减去该十个比特并且将结果提供给 复用器114的输入端1。复用器114的另一输入端(输入端O)自乘法 器110接收来自乘法结果的十个比特。来自乘法结果的剩余比特中的 一个比特被用作对复用器114的选择,并且乘法结果的3个最高阶比 特作为前面提及的控制字被提供给处理器18中的旋转八分圆计算器90. 复用器114的输出是发送到数学函数存储器38的地址,用于调取旋转 因子。
如果经历FFT变换的输入矢量的长度是2的奇数次幂(非4的整 数倍),则输出缓冲器接收在操作108中形成的输入地址的内插版本。 如图13中说明的,输入地址的内插版本取决于N的值,其如上文所指 示的,表示1og2(FFT尺寸)。提供给输出缓冲器的地址的13个比特包 括第一个13-N比特中的零,跟随有图13中示出的输入地址的配置。 通过设计,图10~13中执行和说明的处理限制了对包含旋转因子的存 储器38的访问,由此节约了功率。
图14说明了无线宽带信号处理系统10中执行的上下文切换过程 中执行的操作。依赖于实施例或实现方案,可以执行额外的、更少的 或者不同的操作。在操作142中,执行关键任务1操作。关键任务是 一个或多个操作,每个操作需要在新的处理迭代时长(PID)开始之前 完成。例如,关键任务1可以包括802.11操作,该操作是在接收到处 理迭代时长(PID)指令之前执行,每个操作在接收到新的PID之前完 成。 一旦完成了关键任务1操作,则可以在操作144中执行关键任务2操作。例如,关键任务2可以是将DVB样本复制到中间缓冲器时涉及 的操作。如果关键任务2操作是在非关键任务3结束之前完成的,则 执行程序引入的上下文切换,其中在操作146中执行非关键任务操作。 非关键操作可以延伸跨越PID边界。该非关键任务3可以是DVB解调。 当接收到PID指令时,引入的上下文切换结束。如果在关键任务2完 成时非关键任务完成,则进入睡眠模式,直至PID结束。
上下文的传统定义是信息集合,先前停止的任务可自其重新开始。 在上下文切换的过程中,存储"当前"任务的上下文,并且加载"下 一"任务的上下文。通过加载回先前存储的上下文,将在未来的某个 时间重访"当前"任务。WBSP的状态由处理器寄存器组定义。在说明 性实施例中,处理器寄存器是指令指针,然而可以存在数个额外的处 理器寄存器。WBSP并入了存储器元件组(例如,硬件存储器),用于 上下文的完整描述。存储器元件组的数目确定了同时的上下文的最大 数目。在WBSP中,当关于给定上下文的存储器元件组中存储的信息 作为处理器寄存器组被加载时,发生了上下文切换。在WBSP中,在 单个时钟中将完整的存储器元件组加载到处理器寄存器。在这一点上, WBSP继续指令的正常稳定状态执行。
图15示出了参考图14描述的上下文切换过程的时序。PID1发起 关键任务1操作。关键任务1操作在PID 2开始之前完成,允许执行关 键任务2操作和非关键任务3操作。在接收到PID2之后,停止非关键 任务3 (尽管仍未完成)并且执行关键任务l操作。该过程继续,其中 PID的接收触发了关键任务操作的执行。按照顺序执行关键任务操作, 并且如果仍未接收到新的PID,则可以执行非关键任务操作。因此,关 键任务操作是在PID内完成的,但是利用非活跃周期执行非关键任务。
图16说明了无线宽带信号处理系统10中的处理单元。该处理单 元可以执行巻积运算(FIR滤波)和抽头加载。将初始值和步幅值提供 给地址生成逻辑202。地址生成逻辑202生成地址,这些地址被提供给R0M1、 ROM 2、 ROM 3、 ROM 4、 ROM 5、 ROM 6、 ROM 7和ROM
8。处理单元在输入移位器204处接收输入数据。输入移位器204执行 抽头加载,将接收数据加载到寄存器206、 208和212中。寄存器可以
是触发器结构。
对已被加载到ROM结构中的对应于地址生成逻辑22生成的地址 的位置处的数据和通信数据执行复乘法运算。复加法器树216对这些 复乘法运算的乘积求和。组合移位器218允许超过八倍并行乘法的乘 法,该组合移位器218将组合流馈送到复加法器树216中。因此通过 累加抽头建立了巻积。因此复加法器树216中包括组合流输入,允许 动态范围控制。输出移位器220使来自复加法器树216的数据移位作 为处理单元的数据输出流。
图17更加详细地说明了来自图16的处理单元的地址操作逻辑 202。地址生成逻辑202经由GPIO指令接收初始化地址。该初始化地 址是当前地址。传送到ROM存储器结构(图16)的地址是当前地址 (AO)、当前地址加上步幅值、当前地址加上两倍步幅值等等。在自 ROM结构读取数据时,使当前地址增加步幅值。因此,在不需要重新 加载"顶值"或者通信数据求和值的情况下,自动地完成了地址渐增。
可以使用下面的公式确定图16中的ROM 1、 ROM 2、 ROM 3、 ROM 4、 ROM 5、 ROM 6、 ROM 7和ROM 8的内容
256
其中R是地址A处的第n个ROM的内容,而A是对于0~255的
值定义的地址。
尽管已描述了本发明的数个实施例,但是应当理解,本发明所属 领域的技术人员将想到修改方案和改变方案。因此,附于本说明书的 权利要求的目的在于精确地限定本发明。
权利要求
1.一种获得处理器诊断数据的方法,所述方法包括接收指令;选择性使能对诊断存储器的输出流的写访问;以第一频率写入所述诊断存储器;并且以第二频率从所述诊断存储器中读取,其中所述第一频率大于所述第二频率。
2. 如权利要求l所述的方法,进一步包括将所述诊断存储器的内 容传送到逻辑分析仪。
3. 如权利要求1所述的方法, 通信数据。
4. 如权利要求1所述的方法, 收通信数据。
5. 如权利要求1所述的方法, 述输出流对诊断存储器的写访问。
6. 如权利要求1所述的方法,高。
7. 如权利要求1所述的方法,低。
8. 如权利要求1所述的方法,段。其中所述诊断存储器自外部源接收其中所述诊断存储器自处理单元接其中当所述接收指令改变时使能所其中所述第一频率是40 MHz或更其中所述第二频率是40 MHz或更其中所述接收指令包括诊断邮箱字
9. 如权利要求8所述的方法,其中如果所述接收指令的所述诊断邮箱字段被设定为1,则所述接收指令的所述输出流被写入到所述诊断 存储器。
10. 如权利要求9所述的方法,其中所述第一频率和所述第二频 率被选择为,所述第二频率小于或等于所述第一频率乘以与诊断邮箱 字段被设定为1的指令相关联的时钟的分数。
11. 如权利要求1所述的方法,其中所述诊断存储器是具有至少 一个读端口和至少一个写端口的随机存取存储器(RAM)。
12. 如权利要求11所述的方法,其中所述随机存取存储器(RAM) 是具有一个写端口和一个读端口的双端口 RAM。
13. 如权利要求ll所述的方法,其中在针对所述诊断存储器的每 次读或写访问之后,自动地使应用到所述诊断存储器的读和写地址渐 增,直至任一地址与最大RAM地址匹配,此时所述读和写地址绕回到 零。
14. 如权利要求13所述的方法,进一步包括,当所述诊断存储器 装满未被读取的数据并且所述接收指令指示输出流将被写入到所述诊 断存储器时,传送溢出指示。
15. 如权利要求13所述的方法,进一步包括,当所述诊断存储器 中存储的所有数据已被读取时,传送空指示。
16. —种用于获得处理器诊断数据的系统,所述系统包括 包含指令的存储器;接收和执行所述指令的控制器,包括选择性地使能针对诊断存储 器的输出流的写访问;和以第一频率接收所述输出流并且以第二频率递送内容的诊断存储 器,其中所述第一频率高于所述第二频率。
17. 如权利要求16所述的系统,进一步包括逻辑分析仪,所述逻 辑分析仪接收所述诊断存储器的内容。
18. 如权利要求16所述的系统,其中所述诊断存储器自外部源接 收通信数据。
19. 如权利要求16所述的系统,其中所述诊断存储器自处理单元 接收通信数据。
20. 如权利要求16所述的系统,其中当所述接收指令改变时,所 述控制器使能对所述诊断存储器的写访问。
21. 如权利要求16所述的系统,其中所述第一频率是40 MHz或 更高。
22. 如权利要求16所述的系统,其中所述第二频率是40 MHz或 更低。
23. 如权利要求16所述的系统,其中所述接收指令包括诊断邮箱 字段。
24. 如权利要求23所述的系统,其中如果接收指令的所述诊断邮 箱字段被设定为1,则所述接收指令的所述输出流被写入到所述诊断存 储器。
25. 如权利要求24所述的系统,其中所述第一频率和所述第二频 率被选择为,所述第二频率小于或等于所述第一频率乘以与诊断邮箱字段被设定为1的指令相关联的时钟的分数。
26. 如权利要求16所述的系统,其中所述诊断存储器是具有至少 一个读端口和至少一个写端口的随机存取存储器(RAM)。
27. 如权利要求26所述的系统,其中所述随机存取存储器(RAM) 是具有一个写端口和一个读端口的双端口 RAM。
28. 如权利要求26所述的系统,其中在针对所述诊断存储器的每 次读或写访问之后,自动地使应用到所述诊断存储器的读和写地址渐 增,直至任一地址与最大RAM地址匹配,此时所述读和写地址绕回到零。
29. 如权利要求28所述的系统,进一步包括当所述诊断存储器 装满未被读取的数据并且所述接收指令指示所述输出通信流将被写入 到所述诊断存储器时,传送溢出指示。
30. 如权利要求28所述的系统,进一步包括当所述诊断存储器 中存储的所有数据已被读取时,传送空指示。
31. —种控制多模式无线处理系统中的输入和输出的方法,所述 方法包括-接收用于控制多模式无线处理系统外部的元件和所述多模式无线 处理系统之间的接口的指令;并且由所述接收指令中的字段确定指定的处理单元生成输出数据还是 接收输入数据。
32. 如权利要求31所述的方法,其中所述接收指令指示帧错误率 的记录。
33. 如权利要求31所述的方法,其中所述接收指令指示了所述多 模式无线处理系统内部的样本缓冲器的管理。
34. 如权利要求31所述的方法,进一步包括由接收指令中的字段 确定通用输入作为输入数据源。
35. 如权利要求34所述的方法,其中所述接收指令指示了所述指 定处理单元和所述通用输入之间的通信速率。
36. 如权利要求34所述的方法,进一步包括将所述输入数据从所 述源路由到所述指定的处理单元。
37. 如权利要求31所述的方法,进一步包括由所述接收指令中的 所述字段确定通用输出作为所述生成的输出数据的目标。
38. 如权利要求37所述的方法,其中所述接收指令指示了所述指 定的处理单元和所述通用输出之间的通信速率。
39. 如权利要求37所述的方法,进一步包括将所述生成的输出数 据从所述指定的处理单元路由到所述目标。
40. —种用于同多模式无线处理系统中的处理单元连接的输入/输 出部件的配置,所述配置包括-多个通用输入端,用于将输入数据提供给多模式无线处理系统中 的处理单元;和多个通用输出端,用于接收所述多模式无线处理系统中的所述处 理单元生成的输出数据。
41. 一种用于控制多模式无线处理器中的输入和输出的系统,所 述系统包括存储器,包括多模式无线处理器系统中的指令,所述指令控制所 述多模式无线处理系统外部的元件和所述多模式无线处理系统之间的 接口;和控制器,接收所述指令并且由指令字段确定所述多模式无线处理 系统中的指定处理单元生成所述输出数据还是接收输入数据。
42. 如权利要求41所述的系统,其中所述接收指令指示了帧错误 率的记录。
43. 如权利要求41所述的系统,其中所述接收指令指示了所述多 模式无线处理系统内部的样本缓冲器的管理。
44. 如权利要求41所述的系统,其中所述控制器进一步由所述指 令字段确定通用输入作为输入数据源。
45. 如权利要求44所述的系统,其中所述控制器将所述输入数据 从所述源路由到所述指定的处理单元。
46. 如权利要求44所述的系统,其中所述接收指令指示了所述指 定处理单元和所述通用输入之间的通信速率。
47. 如权利要求41所述的系统,其中所述控制器进一步由所述指 令字段确定通用输出作为所述生成的输出数据的目标。
48. 如权利要求47所述的系统,其中所述控制器将所述输出数据 从所述指定的处理单元路由到所述目标。
49. 如权利要求47所述的系统,其中所述接收指令指示了所述指 定的处理单元和所述通用输出之间的通信速率。
50. —种动态控制针对多模式处理系统中的样本缓冲器的速率连 接的方法,所述方法包括接收用于多模式无线处理系统中的通信的指令-,确定多个缓冲器串行连接到所述多模式无线处理系统外部的元件用于接收或传送数据的速率;并且基于所述接收的指令对控制所述多个缓冲器串行连接到所述外部 元件的速率的多个寄存器进行编程。
51. 如权利要求50所述的方法,其中一个寄存器控制所述多个缓 冲器串行连接到所述外部元件的速率。
52. 如权利要求50所述的方法,其中所述多个缓冲器串行连接到 所述外部元件的速率基于所述接收指令动态变化。
53. 如权利要求50所述的方法,其中所述接收指令中的字段确定 所述多个缓冲器串行连接到所述外部元件的速率是否将改变。
54. —种用于动态控制针对多模式处理系统中的样本缓冲器的速 率连接的系统,所述系统包括存储器,包括用于多模式无线处理系统中的多模式无线处理器通 信的指令;和控制器,接收指令并且确定多个缓冲器串行连接到所述多模式无 线处理系统外部的元件用于接收或传送数据的速率;和多个寄存器,控制所述多个缓冲器串行连接到所述外部元件的速率。
55. 如权利要求54所述的系统,其中所述控制器基于所述接收的 指令动态地改变所述多个缓冲器串行连接到所述外部元件的速率。
56. 如权利要求54所述的系统,其中一个寄存器控制所述多个缓冲器串行连接到所述外部元件的所述速率。
57. 如权利要求54所述的系统,其中所述控制器基于所述接收指令中的字段确定是否将对所述多个寄存器进行编程。
58. —种连接两个处理器的方法,所述方法包括在第一处理器处生成读/写请求,其中所述读/写请求以所述第一处理器不能直接访问的目标存储器为目标;在第二处理器处接收所述读/写请求,其中所述第二处理器通过所述读/写请求直接访问待访问的所述目标存储器; 在所述第二处理器处完成读/写操作;并且在所述第一处理器处接收所述读/写操作已完成的指示。
59. 如权利要求58所述的方法,进一步包括在自所述第二处理 器接收读取数据之后,在所述第一处理器处继续操作,所述继续操作 与所述读/写请求相关,所述读/写请求是读操作。
60. 如权利要求58所述的方法,进一步包括在所述第二处理器 完成写操作之后,在所述第二处理器处继续操作,所述继续操作与所 述读/写请求相关,所述读/写请求是写操作。
61. 如权利要求58所述的方法,进一步包括 生成读/写地址,其包括目标缓冲器编号和目标缓冲器中的目标地址,所述目标存储器是作为所述第二处理器的一部分的所述目标缓沖 器;并且在所述第二处理器处接收所述读/写地址。
62. 如权利要求58所述的方法,进一步包括,如果所述读/写请求 是写请求,则在所述第二处理器处接收写数据。
63. 如权利要求58所述的方法,进一步包括在所述第二处理器处 轮询所述第一处理器的所述读/写请求。
64. 如权利要求63所述的方法,其中通过周期性监视状态比特执 行所述第二处理器处的轮询。
65. 如权利要求64所述的方法,其中读/写请求由被设定为非零值 的状态比特指示。
66. 如权利要求64所述的方法,其中在所述第二处理器完成读/ 写操作时,清除所述状态比特。
67. 如权利要求58所述的方法,进一步包括在所述第一处理器 处轮询已完成所述读/写操作的指示。
68. 如权利要求67所述的方法,其中通过周期性监视所述状态比 特执行所述第一处理器处的所述轮询。
69. —种用于连接两个处理器的系统,所述系统包括 第一处理器,生成读/写请求,其中所述读/写请求以所述第一处理器不能直接访问的目标存储器为目标;第二处理器,接收所述读/写请求并且完成读/写操作,其中所述第 二处理器通过所述读/写请求直接访问待访问的所述目标存储器;目标存储器;和用于在所述第一处理器和所述第二处理器之间通信的装置。
70. 如权利要求69所述的系统,其中所述第二处理器是多模式无 线处理器。
71. 如权利要求69所述的系统,其中所述第一处理器是ARM处理器。
72. 如权利要求69所述的系统,其中所述目标存储器是所述第二 处理器的一部分。
73. 如权利要求69所述的系统,其中如果所述读/写请求是写请 求,则所述第二处理器接收写数据。
74. 如权利要求69所述的系统,其中在自所述第二处理器接收到 读数据之后,所述第一处理器执行受所述读/写请求影响的操作,所述 读/写请求是读操作。
75. 如权利要求69所述的系统,其中在所述第二处理器完成写操 作之后,所述第二处理器执行受所述读/写请求影响的操作,所述读/写 请求是所述写操作。
76. 如权利要求69所述的系统,其中所述目标存储器是缓冲器。
77. 如权利要求76所述的系统,其中所述第一处理器生成读/写地 址,该读/写地址包括目标缓冲器编号和所述目标缓冲器中的目标地址, 所述目标存储器是作为所述第二处理器的一部分的所述目标缓沖器; 并且所述第二处理器接收所述生成的读/写地址。
78. 如权利要求69所述的系统,其中所述第二处理器轮询所述第 一处理器的所述读/写请求。
79. 如权利要求78所述的系统,其中通过周期性监视状态比特执 行所述第二处理器进行的轮询。
80. 如权利要求79所述的系统,其中读/写请求由被设定为非零值的所述状态比特指示。
81. 如权利要求69所述的系统, 读/写操作的指示。
82. 如权利要求81所述的系统, 行所述第一处理器的轮询。
83. 如权利要求82所述的系统, 读/写操作时,清除所述状态比特。其中所述第一处理器轮询已完成其中通过周期性监视状态比特执其中在所述第二处理器完成所述
84. —种两个处理器之间的接口,所述接口包括 用于在第一处理器处生成读/写请求的装置; 用于由所述第一处理器或第二处理器设定状态比特的装置; 用于由所述第一处理器轮询所述状态比特的装置; 用于由所述第二处理器轮询所述状态比特的装置;和 用于在所述第一处理器和所述第二处理器之间传送额外数据的装置。
85. 如权利要求84所述的接口,其中所述第二处理器周期性地轮 询所述状态比特。
86. 如权利要求84所述的接口,其中所述第一处理器将所述状态 比特设定为零以指示读/写请求。
87. 如权利要求84所述的接口,其中如果所述读/写请求是用于写 操作,则所述第一处理器进一步将写数据提供给所述第二处理器。
88. 如权利要求84所述的接口,其中当所请求的读/写操作已完成 时,所述第二处理器清除所述状态比特。
89. 如权利要求84所述的接口,其中当所述第二处理器完成写操 作时,所述第二处理器向所述第一处理器发送写数据。
90. 如权利要求84所述的接口,其中所述第一处理器周期性地轮 询所述状态比特。
91. 如权利要求84所述的接口,其中第一处理器将地址作为所述 读/写请求的一部分提供给所述第二处理器。
92. 如权利要求91所述的接口,其中所述地址包括目标缓冲器编 号和目标缓冲器中的目标地址。
93. —种多模式无线处理系统中的快速傅立叶变换(FFT)方法, 所述方法包括将输入矢量加载到输入缓冲器中;初始化第二计数器和变量N,其中N二log2(输入矢量大小),并且s 是所述第二计数器的值;执行FFT阶段,所述FFT阶段包括对所述输入缓冲器中的数据执行矢量运算,并且将结果发送到输 出缓冲器,所述输入缓冲器中的所述数据包括多个区段; 使所述第二计数器的值增加;并且 切换所述输入和输出缓冲器的作用;并且 将s同N比较并执行额外的FFT阶段,直至^N。
94. 如权利要求93所述的方法,其中所述第二计数器被初始化为 2,在所述FFT阶段中增加2,并且如果N是奇数,则在最后的FFT 阶段中被设定为N。
95. 如权利要求93所述的方法,其中所述矢量运算每次对所述输入缓冲器中的所述数据的一个区段操作,直至所述所有区段被操作。
96. 如权利要求93所述的方法,其中所述矢量运算包括 从所述输入缓冲器中将四个输入数据加载到处理单元中; 利用基-4 FFT引擎对所述处理单元中加载的所述四个输入数据执行基-4 FFT矢量运算,所述基-4 FFT引擎接受四个输入矢量并且生成 四个输出矢量;使所述四个生成的输出矢量同旋转因子相乘,每个输出矢量具有 相关联的旋转因子,所述旋转因子具有实部分量和虚部分量;并且当所述相关联的旋转因子是单位因子时,旁路所述输出矢量的乘法。
97. 如权利要求96所述的方法,进一步包括旁路所述第一输出矢 量的乘法。
98. 如权利要求96所述的方法,其中如果N是奇数并且执行最后 的FFT阶段,则两个输入数据从所述输入缓冲器加载到所述处理单元 中并且被用作第一和第三基-4 FFT引擎输入矢量,第二和第四基-4 FFT 引擎输入矢量被设定为零。
99. 如权利要求96所述的方法,其中被加载到所述处理单元中的 所述四个输入数据由所述处理单元串行接收并且被并行提供给所述基 -4 FFT引擎,并且所述基-4 FFT引擎的所述四个输出矢量通过所述基 -4 FFT引擎被并行接收并且被串行写入到所述输出缓冲器。
100. 如权利要求96所述的方法,其中所述处理单元在多模式无 线处理系统的时钟频率减少到1/4的频率下操作,例外情况是,最后的 FFT阶段被执行并且N是奇数,在所述情况中,所述处理单元在所述 多模式无线处理系统的时钟频率减少到1/2的频率下操作。
101. 如权利要求100所述的方法,其中主计数器被用作循环变量, 该循环变量被初始化、增加并且同所述输入缓冲器中的数据的长度比 较,以确定所述输入缓冲器数据中的所有数据区段何时均被操作。
102. 如权利要求101所述的方法,其中如下生成输入缓冲器地址主计数器的比特N至(s+l)被映射到所述输入缓冲器地址的比特(N-s) 至1,所述主计数器的比特s至1被映射到所述输入缓冲器地址的比特 N至(N-s+l),并且所述输入缓冲器地址的剩余的最高阶比特被设定 为零,其中比特1是所述输入缓冲器地址和所述主计数器的最低阶比特。
103. 如权利要求102所述的方法,其中所述输入地址是13比特。
104. 如权利要求102所述的方法,其中除了如下生成输出缓冲器 地址的最后的FFT阶段以外,对于所有FFT阶段,所述输出缓冲器地 址等于所述输入缓冲器地址所述输出缓冲器地址的比特13至13-N 比特被设定为零,并且如果N是偶数,则所述输出缓冲器的比特N至 l遵循第一映射序列l2,1!, 14, 13, ...,In, In-i,并且如果N是奇数,则所 述输出缓冲器的比特N至l遵循第二映射序列Ii, I3, I2, 15, 14, ..., IN, IN.p其中I是所述输入缓冲器地址,并且其中比特1是所述输出缓冲 器的最低阶比特,其中比特1是所述输入和输出缓冲器地址的最低阶 比特。
105. 如权利要求96所述的方法,其中所述旋转因子通过如下方 法生成生成初步旋转地址;生成控制字,用于控制所述旋转因子的计算; 生成最终的旋转地址;基于所述初步旋转地址确定是否需要从存储器访问所述旋转因 子;并且如果需要访问所述旋转因子,贝廿在所述最终旋转地址处从所述存储器读取所述旋转因子; 基于所述控制字计算所述旋转因子;并且 将计算的旋转因子存储在所述处理单元中。
106. 如权利要求105所述的方法,其中存储在所述处理单元中的 所述计算的旋转因子被存储在寄存器中。
107. 如权利要求105所述的方法,其中如下生成所述初步旋转地 址所述初步旋转地址的最高阶(N-S)比特被映射到所述输入缓冲器 地址的比特(N-s)至1,并且所述初步旋转地址的剩余的较低阶比特被设定为零,其中比特1是所述输入缓冲器地址的最低阶比特。
108. 如权利要求105所述的方法,其中所述初步和最终旋转地址 是11比特。
109. 如权利要求105所述的方法,其中所述控制字是所述初步旋 转地址和所述主计数器的两个最低阶比特之间的乘积的三个最高阶比 特。
110. 如权利要求105所述的方法,其中如下根据所述控制字比特 计算所述旋转因子第一,如果所述控制字的比特l XOR所述控制字的比特2-l,则 交换所述旋转因子的实部和虚部分量并且略去所述旋转因子的实部和 虚部分量;第二,如果所述控制字的比特2=1,则略去所述旋转因子的所述 实部分量;并且第三,如果所述控制字的比特3=1,则略去所述旋转因子的所述 实部和所述虚部分量。
111. 如权利要求105所述的方法,其中所述最终的旋转地址通过 如下方法生成使所述初步旋转地址与所述主计数器的两个最低阶比特相乘并且 生成乘积;从512中减去乘积的比特9至0并且产生余数,其中比特0是所 述乘积的最低有效位,将所述余数发送到2:1复用器的第一输入端,将所述乘积的比特9 至0发送到所述2:1复用器的第二输入端,并且将所述乘积的比特10 发送到所述2:1复用器的选择输入端,所述最终的旋转地址是所述2:1 复用器的输出。
112. —种多模式无线处理系统中的快速傅立叶变换(FFT)系统, 所述系统包括处理单元,用于执行矢量运算;存储器,用于向所述处理单元提供数学函数; 程序存储器,包含用于执行FFT算法的指令; 指令控制器,用于自所述程序存储器接收指令并执行指令;和 缓冲器对,在FFT算法的连续的FFT阶段中,交替用作输入缓冲 器和输出缓冲器,所述输入缓冲器中的数据包括多个区段。
113. 如权利要求112所述的系统,其中提供数学函数的所述存储 器包含旋转因子。
114. 如权利要求112所述的系统,其中提供数学函数的所述存储 器是ROM。
115. 如权利要求112所述的系统,其中所述处理单元包括 基-4 FFT引擎,对四个输入矢量执行八次复加法并且生成四个输出矢量;旋转乘法器,用于使生成的输出矢量与相关联的旋转因子相乘,所述旋转因子具有实部分量和虚部分量;串行并行转换器,用于自所述输入缓冲器串行接收所述四个输入 矢量并且将所述四个输入矢量并行发送到所述基-4 FFT引擎;并行串行转换器,用于并行接收四个生成的输出矢量并且串行地将所述四个输出矢量递送到所述旋转乘法器和输出缓冲器;寄存器组,用于将计算的旋转因子存储在所述处理单元中;旋转八分圆计算器,基于控制字计算旋转因子;主计数器,用作用于监视给定FFT阶段中的FFT算法的进程的循环变量;第二计数器,用作用于跟踪FFT算法的当前阶段的循环变量,其 中s是所述第二计数器的值;输入地址生成器,生成输入缓冲器地址,所述输入缓冲器地址用 作除了正在执行最后的FFT阶段并且N是奇数,其中N二log2(所述输 入缓冲器中的数据尺寸)时以外的所有FFT阶段的输出缓冲器地址;旋转地址生成器,用于生成初步旋转地址;DiBit内插生成器,其生成N是奇数时关于最后的FFT阶段的所 述输出缓冲器地址;旋转地址乘法器,用于生成所述控制字;求和器,用于从512中减去所述旋转地址乘法器生成的乘积的比 特9至0并且生成余数;和2:1复用器,用于由所述余数和所述旋转地址乘法器生成的乘积生 成所述最终旋转地址。
116. 如权利要求115所述的系统,其中所述第二计数器被初始化 为2,在FFT阶段中增加2,并且如果N是奇数,则在最后的FFT阶 段中被设定为N。
117. 如权利要求115所述的系统,其中所述处理单元每次对所述 输入缓冲器中的所述数据的一个区段操作,直至所述所有区段被操作。
118. 如权利要求115所述的系统,进一步包括乘法器旁路指示符, 用于指示所述旋转乘法器何时被旁路。
119. 如权利要求115所述的系统,其中当N是奇数并且执行最后 的FFT阶段时,串行并行转换器自所述输入缓冲器接收两个输入数据 并且所述两个接收的输入数据变为第一和第三基-4 FFT引擎输入矢量, 而第二和第四基-4 FFT引擎输入矢量被设定为零。
120. 如权利要求115所述的系统,其中所述处理单元在多模式无 线处理系统的时钟频率减少到1/4的频率下操作,例外情况是,最后的 FFT阶段被执行并且N是奇数,在所述情况中,所述处理单元在系统 时钟频率减少到1/2的频率下操作。
121. 如权利要求115所述的系统,其中如下生成所述输入缓冲器 地址所述主计数器的比特N至(s+l)被映射到所述输入缓冲器地址 的比特(N-s)至1,所述主计数器的比特s至1被映射到所述输入缓 冲器地址的比特N至(N-s+l),并且所述输入缓冲器地址的剩余的最 高阶比特被设定为零,其中比特1是所述输入缓冲器地址和所述主计 数器的最低阶比特。
122. 如权利要求115所述的系统,其中所述输入缓冲器地址是13 比特。
123. 如权利要求115所述的系统,其中除了如下生成输出缓冲器 地址的最后的FFT阶段以外,对于所有FFT阶段,所述输出缓冲器地 址等于所述输入缓冲器地址所述输出缓冲器地址的比特13至13-N 比特被设定为零,并且如果N是偶数,则所述输出缓冲器的比特N至 l遵循第一映射序列l2,Ii,14,13, ...,In,IN-p并且如果N是奇数,则所 述输出缓冲器的比特N至l遵循第二映射序列Ih I3, I2, 15, 14, ..., IN, In.p其中I是所述输入缓冲器地址,其中比特1是所述输入和输出缓冲器地址的最低阶比特。
124. 如权利要求115所述的系统,其中所述旋转地址生成器确定 是否需要从提供数学函数的所述存储器访问新的旋转因子并且生成旋 转地址变换指示符,该旋转地址变换指示符指示需要从提供数学函数 的所述存储器访问新的旋转因子,所述旋转地址变换指示符被发送到 所述寄存器组。
125. 如权利要求115所述的系统,其中如下生成所述初步旋转地 址所述初步旋转地址的最高阶(N-S)比特被映射到所述输入缓冲器 地址的比特(N-s)至1,并且所述初步旋转地址的剩余的较低阶比特被设定为零,其中比特1是所述输入缓冲器地址的最低阶比特。
126. 如权利要求115所述的系统,其中所述初步和所述最终旋转 地址是11比特。
127. 如权利要求115所述的系统,其中所述控制字是所述初步旋 转地址和所述主计数器的两个最低阶比特之间的乘积的三个最高阶比 特。
128. 如权利要求115所述的系统,其中如下根据所述控制字计算 所述旋转因子第一,如果所述控制字的比特1 XOR所述控制字的比特2-l,则 交换所述旋转因子的所述实部和虚部分量并且略去所述旋转因子的所 述实部和虚部分量;第二,如果所述控制字的比特2-1,则略去所述旋转因子的实部分量;并且第三,如果所述控制字的比特3=1,则略去所述旋转因子的实部 和虚部分量。
129. 如权利要求115所述的系统,其中将所述余数发送到所述2:1 复用器的第一输入端,将所述旋转地址乘法器生成的所述乘积的比特9 至0发送到所述2:1复用器的第二输入端,将所述旋转地址乘法器生成 的乘积的比特10发送到所述2:1复用器的选择输入端,所述最终的旋 转地址是2:1复用器的输出。
130. —种用于在多模式无线宽带处理系统中在时间间隔内切换 指令上下文的方法,所述方法包括执行关键任务操作,每个关键任务操作在时间间隔内执行,关键 任务包括多个关键任务操作;执行非关键任务操作,每个非关键任务操作的执行能够跨越时间 间隔边界,非关键任务包括多个非关键任务操作;并且进入睡眠模式,其中如果在下一时间间隔开始之前已完成在时间 间隔内开始的关键任务操作和非关键任务操作,则不执行关键任务操 作或者执行非关键任务操作。
131. 如权利要求130所述的方法,其中在所述关键任务操作已被 执行之前,在所述时间间隔中不开始所述非关键任务操作。
132. 如权利要求130所述的方法,其中至少一个关键任务操作在 所述时间间隔中执行。
133. 如权利要求130所述的方法,其中上下文存储在硬件寄存器中。
134. 如权利要求130所述的方法,其中硬件寄存器组的数目确定 同时的上下文的最大数目。
135. —种用于在多模式无线宽带处理系统中在时间间隔内切换 指令上下文的系统,所述系统包括包含指令的存储器,所述指令包括关键和非关键任务操作,关键 任务包括多个关键任务操作并且非关键任务包括多个非关键任务操 作;接收和执行指令的控制器,所述关键任务操作在时间间隔中执行, 并且每个非关键任务操作的执行能够跨越时间间隔边界,其中包括所述控制器和所述存储器的多模式无线宽带处理系统进 入睡眠模式,其中如果在下一时间间隔开始之前已完成在时间间隔内 开始的关键任务操作和非关键任务操作,则不执行关键任务操作或者 执行非关键任务操作。
136. 如权利要求135所述的系统,其中在所述关键任务操作已被 执行之前,在时间间隔中不开始所述非关键任务操作。
137. 如权利要求135所述的系统,其中至少一个关键任务操作在 时间间隔中执行。
138. 如权利要求135所述的系统,其中上下文存储在存储器元件中。
139. 如权利要求135所述的系统,其中存储器元件组的数目确定 同时的上下文的最大数目。
140. —种用于在多模式无线处理系统中执行巻积运算的方法,所 述方法包括将初始值和步幅值加载到地址生成器中; 基于所述初始值和所述步幅值生成地址; 将所述生成的地址提供给一系列存储器;将输入数据加载到一系列寄存器中,所述寄存器系列的数目等于 所述存储器系列的数目,每个寄存器与一个存储器相关联;使每个寄存器的内容乘以与每个寄存器相关联的存储器中的所述生成地址处存储的值;使乘积系列相加并且产生乘积求和;并且 由所述乘积求和生成输出流。
141. 如权利要求140所述的方法,其中所述生成的地址被初始设 定为初始值。
142. 如权利要求140所述的方法,其中所述寄存器是触发器结构。
143. 如权利要求MO所述的方法,其中所述存储器是ROM。
144. 如权利要求140所述的方法,其中寄存器内容同存储器内容 的乘法并行执行。
145. 如权利要求140所述的方法,其中乘积的加法由复加法器树 执行。
146. 如权利要求140所述的方法,其中所述乘积求和中包括来自 组合移位器的输入。
147. 如权利要求140所述的方法,其中如下确定所述存储器n的 地址A处存储的值R:并且A针对值0 255定义。
148.如权利要求140所述的方法,其中存在八个存储器和八个寄 存器。
149. 如权利要求140所述的方法,进一步包括执行每个寄存器内容和与每个寄存器相关联的存储器中的所述生 成地址处存储的值的后继乘法,在所述后继乘法中使生成的地址增加 所述步幅值;使后继乘法的乘积相加并且产生后继乘积求和;并且 基于所述后继乘积求和生成后继输出流。
150. 如权利要求149所述的方法,其中所述地址生成器自动地使 所述生成的地址增加步幅值。
151. —种用于在多模式无线处理系统中执行巻积运算的系统,所 述系统包括地址生成器,用于生成关于给定的初始值和步幅值的地址; 一系列存储器;一系列寄存器,用于存储输入值;一系列复乘法器,所述乘法器系列、寄存器系列和存储器系列的 数目相等,每个乘法器与一个寄存器和一个存储器相关联,每个乘法 器生成相关联的寄存器的内容和相关联的存储器中的生成地址处存储 的值的乘积;和复加法器树,用于使乘积系列相加并且产生乘积求和。
全文摘要
一种无线宽带信号处理系统包括程序存储器、指令控制器和处理单元。该系统还可以包括样本缓冲器;单端口存储器;和四端口存储器。程序存储器存储指令控制器使用的编程指令。处理单元被配置为执行矢量过程,诸如解调过程。一个处理单元可被配置用于在每个时钟下计算卷积运算,另一处理单元可被配置用于FFT功能,其中在每个时钟下执行基-4蝶形运算,并且另一处理单元可被配置用于其他矢量运算,诸如解扩、矢量加法、矢量减法、点积和分量间乘法。该系统可以收集诊断数据,跨越多个网络操作,减少基带电路并且使多模式操作最大化。
文档编号G06F13/38GK101288058SQ200580051301
公开日2008年10月15日 申请日期2005年9月8日 优先权日2005年8月8日
发明者丹尼尔·托马斯·维尔纳, 刘易斯·尼尔·科恩, 天·Q·源, 弗雷德里克·威尔士·普赖斯, 罗伯特·W·伯泽尔, 肯尼斯·卡努拉斯·辛苏安, 西奥多·约翰·迈尔斯 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1