一种芯片控制系统转让专利

申请号 : CN202010032558.3

文献号 : CN111240238B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李大维刘洋

申请人 : 大唐微电子技术有限公司

摘要 :

本申请公开了一种芯片控制系统,包括主控制装置、一或多个虚拟机、一或多个芯片电路转接装置,主控制装置与虚拟机之间通过网络连接,芯片电路转接装置与虚拟机一一对应,且通过通信接口连接,主控制装置用于发送控制指令至虚拟机,接收虚拟机发送的测试结果;虚拟机用于接收控制指令,根据控制指令控制芯片电路转接装置上的芯片启动或停止测试,获取芯片的测试结果并发送至主控制装置;芯片电路转接装置包括用于放置芯片的芯片底座和用于芯片测试的系统电路。本申请通过多个虚拟机控制芯片,保障了在测试过程中,不会产生由于重新插拔读写器导致给错误编号的芯片测试的问题,提高了芯片并行测试的稳定性和测试效率,降低了测试成本。

权利要求 :

1.一种芯片控制系统,其特征在于,包括主控制装置、一个或多个虚拟机、一个或多个芯片电路转接装置,所述主控制装置与一个或多个虚拟机之间通过网络连接,所述芯片电路转接装置与所述虚拟机一一对应,且通过通信接口连接,其中:所述主控制装置,用于发送控制指令至所述虚拟机,接收所述虚拟机发送的测试结果;

所述虚拟机,用于接收控制指令,根据控制指令控制所述芯片电路转接装置上的芯片启动或停止测试,获取芯片的测试结果并发送至所述主控制装置;

所述芯片电路转接装置,包括用于放置芯片的芯片底座和用于芯片测试的系统电路;

所述主控制装置为计算机,所述一个或多个虚拟机安装在所述主控制装置上,每个虚拟机挂载一个读写器设备,通过读写器设备控制所述芯片电路转接装置上的芯片启动或停止测试;

每个读写器设备的编号相同,所述读写器设备通过个人电脑/智能卡PC/SC标准应用程序接口控制所述芯片电路转接装置上的芯片启动或停止测试。

2.根据权利要求1所述的芯片控制系统,其特征在于,还包括机械手控制机台和机械手控制装置,其中:

所述机械手控制机台包括机械手以及一个或多个机械手点位,当所述芯片电路转接装置放置在机械手控制机台上后,一个所述机械手点位对应一个所述芯片底座;

所述机械手控制装置,用于发送机械手控制指令至机械手控制机台,以使得机械手根据所述机械手控制指令放置芯片、根据测试结果分拣芯片。

3.根据权利要求2所述的芯片控制系统,其特征在于,所述主控制装置还用于,与所述机械手控制装置建立连接;

在所述发送控制指令至所述虚拟机之前,所述主控制装置还用于,接收所述机械手控制装置的芯片放置完成通知;

在接收所述虚拟机发送的测试结果之后,所述主控制装置还用于,存储并显示所述测试结果,将所述测试结果发送至所述机械手控制装置;

所述机械手控制装置还用于,在所述机械手根据所述机械手控制指令放置好芯片后,发送芯片放置完成通知至所述主控制装置。

4.根据权利要求3所述的芯片控制系统,其特征在于,所述主控制装置通过通用输入输出GPIO接口与所述机械手控制装置建立连接。

5.根据权利要求1所述的芯片控制系统,其特征在于,所述主控制装置还用于,存储片内操作系统数据和测试数据;

所述芯片内置启动加载程序,在接收到启动测试指令时,通过启动加载程序下载片内操作系统数据和测试数据,并进行测试。

6.根据权利要求1所述的芯片控制系统,其特征在于,所述控制指令和所述测试结果通过网际协议报文发送,所述网际协议报文包括数据长度字段、命令类型字段、命令数据字段和校验码字段,其中:

所述数据长度字段用于指示所述命令类型字段、命令数据字段和校验码字段的总长度;

所述命令类型字段用于按照预设协议指示本报文为控制指令或测试结果;

所述命令数据字段用于指示测试结果;

所述校验码字段用于对所述数据长度字段、命令类型字段、命令数据字段进行校验。

7.根据权利要求6所述的芯片控制系统,其特征在于,当所述命令类型字段为控制指令时,所述命令数据字段为空;当所述命令类型字段为测试结果时,所述命令数据字段为预设的第一值或第二值,其中,第一值用于指示测试成功,第二值用于指示测试失败。

8.根据权利要求1至7任一所述的芯片控制系统,其特征在于,所述通信接口包括以下一种或多种接口:通用串行总线USB、通用异步收发传输器UART、串行外设接口SPI、两线式串行总线I2C、安全数字输入输出SDIO、安全数字SD接口。

说明书 :

一种芯片控制系统

技术领域

[0001] 本申请涉及但不限于芯片技术领域,尤其涉及一种芯片控制系统。

背景技术

[0002] IC(Integrated Circuit)芯片是一种集成电路的芯片,可以有效地降低电子信息系统产品的开发成本,是工业界采用的最主要的产品开发方式。
[0003] 当多个IC芯片同时测试时,一般使用带微软操作系统的个人计算机(Personal Computer,PC)作为主控端,多个IC芯片作为服从端,主控端PC通过通用串行总线
(Universal Serial Bus,USB)读写器与IC芯片连接。在多个IC芯片同时测试时,主控端PC
在使用微软动态库提供的接口函数获得和所有主控端PC连接的USB读写器名称时,按照USB
读写器的插入顺序分配给USB读写器句柄,即USB读写器的设备范例编号(Identification,
ID)。例如,有A、B两个USB读写器,USB读写器A第一个插入,则其句柄就是0,USB读写器B第二
个插入,其句柄就是1;如果USB读写器B第一个插入,则其句柄就是0,USB读写器A第二个插
入,其句柄就是1。如果根据主控端PC连接的外设USB接口顺序来编排USB读写器的编号,那
么在第一个依次插入之后,读写器的句柄编号就会和外设USB接口顺序一致,被测的芯片顺
序也会和读写器句柄编号一致。如果人为的对USB读写器进行编号,即1号对应USB读写器1,
2号对应USB读写器2,那么在测试结束以后重新插拔USB读写器就会有可能导致这种顺序错
乱,1号就可能对应USB读写器3,这种是人为因素导致的,因此上位机程序就会在测试过程
中出现给错误编号的芯片测试,降低了IC并行测试的稳定性和测试效率。
[0004] 另外,一台主控端PC可供使用的外设接口数量通常有限,有时为了避免出现读写器句柄与读写器实际编号不一致的问题,一台主控端PC只承担测试一至两个芯片,这样就
造成了测试资源的浪费。

发明内容

[0005] 本申请提供了一种芯片控制系统,能够提高芯片并行测试的稳定性和测试效率、降低测试成本。
[0006] 本申请提供了一种芯片控制系统,包括主控制装置、一个或多个虚拟机、一个或多个芯片电路转接装置,所述主控制装置与一个或多个虚拟机之间通过网络连接,所述芯片
电路转接装置与所述虚拟机一一对应,且通过通信接口连接,其中:所述主控制装置,用于
发送控制指令至所述虚拟机,接收所述虚拟机发送的测试结果;所述虚拟机,用于接收控制
指令,根据控制指令控制所述芯片电路转接装置上的芯片启动或停止测试,获取芯片的测
试结果并发送至所述主控制装置;所述芯片电路转接装置,包括用于放置芯片的芯片底座
和用于芯片测试的系统电路。
[0007] 本实施例中,所述芯片控制系统还包括机械手控制机台和机械手控制装置,其中:所述机械手控制机台包括机械手以及一个或多个机械手点位,当所述芯片电路转接装置放
置在机械手控制机台上后,一个所述机械手点位对应一个所述芯片底座;所述机械手控制
装置,用于发送机械手控制指令至机械手控制机台,以使得机械手根据所述机械手控制指
令放置芯片、根据测试结果分拣芯片。
[0008] 本实施例中,所述主控制装置还用于,与所述机械手控制装置建立连接;在所述发送控制指令至所述虚拟机之前,所述主控制装置还用于,接收所述机械手控制装置的芯片
放置完成通知;在接收所述虚拟机发送的测试结果之后,所述主控制装置还用于,存储并显
示所述测试结果,将所述测试结果发送至所述机械手控制装置;所述机械手控制装置还用
于,在所述机械手根据所述机械手控制指令放置好芯片后,发送芯片放置完成通知至所述
主控制装置。
[0009] 本实施例中,所述主控制装置通过通用输入输出GPIO接口与所述机械手控制装置建立连接。
[0010] 本实施例中,所述主控制装置为计算机,所述一个或多个虚拟机安装在所述主控制装置上,每个虚拟机挂载一个读写器设备,通过读写器设备控制所述芯片电路转接装置
上的芯片启动或停止测试。
[0011] 本实施例中,每个读写器设备的编号相同,所述读写器设备通过个人电脑/智能卡PC/SC标准应用程序接口控制所述芯片电路转接装置上的芯片启动或停止测试。
[0012] 本实施例中,所述主控制装置还用于,存储片内操作系统数据和测试数据;所述芯片内置启动加载程序,在接收到启动测试指令时,通过启动加载程序下载片内操作系统数
据和测试数据,并进行测试。
[0013] 本实施例中,所述控制指令和所述测试结果通过网际协议报文发送,所述网际协议报文包括数据长度字段、命令类型字段、命令数据字段和校验码字段,其中:所述数据长
度字段用于指示所述命令类型字段、命令数据字段和校验码字段的总长度;所述命令类型
字段用于按照预设协议指示本报文为控制指令或测试结果;所述命令数据字段用于指示测
试结果;所述校验码字段用于对所述数据长度字段、命令类型字段、命令数据字段进行校
验。
[0014] 本实施例中,当所述命令类型字段为控制指令时,所述命令数据字段为空;当所述命令类型字段为测试结果时,所述命令数据字段为预设的第一值或第二值,其中,第一值用
于指示测试成功,第二值用于指示测试失败。
[0015] 本实施例中,所述通信接口包括以下一种或多种接口:通用串行总线USB、通用异步收发传输器UART、串行外设接口SPI、两线式串行总线I2C、安全数字输入输出SDIO、安全
数字SD接口。
[0016] 本申请的芯片控制系统,通过设置与芯片电路转接装置一一对应的虚拟机,并通过虚拟机控制芯片电路转接装置上的芯片启动或停止测试,各个被测芯片的编号相互独
立,保障了在测试过程中,不会产生由于重新插拔读写器导致给错误编号的芯片测试的问
题,且一台主控制装置可以测试多个芯片,提高了芯片并行测试的稳定性和测试效率,降低
了测试成本。
[0017] 本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中
所描述的方案来实现和获得。

附图说明

[0018] 附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
[0019] 图1为本发明实施例的一种芯片控制系统的结构示意图;
[0020] 图2为本发明实施例的一种主控制装置与虚拟机的连接关系示意图;
[0021] 图3为本发明实施例的另一种芯片控制系统的结构示意图;
[0022] 图4为本发明实施例的一种虚拟机与读写器设备的连接关系示意图;
[0023] 图5为本发明实施例的一种主控制装置与虚拟机之间的通信数据格式示意图;
[0024] 图6为本发明实施例的芯片控制系统的芯片测试步骤示意图。

具体实施方式

[0025] 本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更
多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中
进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情
况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结
合使用,或可以替代任何其它实施例中的任何其他特征或元件。
[0026] 本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定
的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元
件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示
出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利
要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保
护范围内进行各种修改和改变。
[0027] 此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法
或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺
序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此
外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术
人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
[0028] 如图1所示,本发明实施例提供了一种芯片控制系统,包括主控制装置10、一个或多个虚拟机11以及一个或多个芯片电路转接装置12,所述主控制装置10与一个或多个虚拟
机11之间通过网络连接,所述芯片电路转接装置12与所述虚拟机11一一对应,且通过通信
接口13连接。
[0029] 其中,主控制装置10,用于发送控制指令至虚拟机11,接收虚拟机11发送的测试结果。虚拟机11,用于接收控制指令,根据控制指令控制芯片电路转接装置12上的芯片20启动
或停止测试,获取芯片20的测试结果并发送至主控制装置10。芯片电路转接装置12,包括用
于放置芯片20的芯片底座14和用于芯片20测试的系统电路(图中未示出)。
[0030] 本实施例的芯片控制系统,通过设置与芯片电路转接装置12一一对应的虚拟机11,并通过虚拟机11控制芯片电路转接装置12上的芯片20启动或停止测试,各个被测芯片
20的编号相互独立,保障了在测试过程中,不会产生由于重新插拔读写器导致给错误编号
的芯片20测试的问题,且一台主控制装置10可以测试多个芯片20,提高了芯片20并行测试
的稳定性和测试效率。
[0031] 本实施例中,通过对虚拟机11进行编号,主控制装置10只需要定位虚拟机11的编号就可以正确对每个芯片20进行测试。
[0032] 在一种示例性实施例中,芯片20为集成电路(Integrated Circuit,IC)芯片。
[0033] IC芯片,也称片上系统,它是信息系统核心的芯片集成,将系统关键部件如微处理器、模拟IP核、数字IP核、存储器等集成在一块芯片上,对外开放多种不同类型的外设接口,
如通用串行总线(Universal Serial Bus,USB)、通用输入输出(General Purpose Input 
Output,GPIO)、通用同步/异步串行接收/发送器(Universal Synchronous/Asynchronous 
Receiver/Transmitter,USART)、串行外设接口(Serial Peripheral Interface,SPI)、两
线式串行总线(Inter Integrated Circuit,I2C)等,本实施例中的IC芯片可以对外提供
USB、串口接口等。
[0034] 在一种示例性实施例中,如图2所示,主控制装置10与一个或多个虚拟机11通过网口建立连接,各个虚拟机分别设置静态IP,每个虚拟机的IP地址与虚拟机的顺序编号相对
应。
[0035] 在一种示例性实施例中,如图3所示,所述芯片控制系统还包括机械手控制机台15和机械手控制装置16,其中:
[0036] 所述机械手控制机台15包括机械手151以及一个或多个机械手点位(图中未示出),当所述芯片电路转接装置12放置在机械手控制机台15上后,一个机械手点位对应一个
芯片底座14;
[0037] 所述机械手控制装置16,用于发送机械手控制指令至机械手控制机台15,以使得机械手151根据所述机械手控制指令放置芯片20、根据测试结果分拣芯片20。
[0038] 在一种示例性实施例中,主控制装置10还用于,与机械手控制装置16建立连接;
[0039] 在发送控制指令至虚拟机11之前,主控制装置10还用于,接收机械手控制装置16的芯片放置完成通知;
[0040] 在接收虚拟机11发送的测试结果之后,主控制装置10还用于,存储并显示测试结果,将测试结果发送至机械手控制装置16。
[0041] 在一种示例性实施例中,机械手控制装置16还用于,在机械手151根据机械手控制指令放置好芯片20后,发送芯片放置完成通知至主控制装置10。
[0042] 在一种示例性实施例中,主控制装置10为计算机,所述一个或多个虚拟机11安装在主控制装置10上,每个虚拟机11挂载一个读写器设备,通过读写器设备控制芯片电路转
接装置12上的芯片20。
[0043] 如图4所示,每个虚拟机下都挂载一个读写器设备,每个虚拟机的IP地址是唯一的,和PC物理主机在一个网段,因此可以编写一个寻址编号与虚拟机IP地址对应关系表,就
可以保证被测芯片的位置不受读写器插拔的影响。
[0044] 在一种示例性实施例中,每个读写器设备的编号相同(例如,在图4中,各个读写器设备的编号均为0),所述读写器设备通过个人电脑/智能卡(Personal Computer/Smart 
Card,PC/SC)标准应用程序接口(Application Program Interface,API)控制所述芯片电
路转接装置12上的芯片20启动或停止测试。
[0045] PC/SC协议规范由微软公司与世界其它著名的智能卡厂商共同提出,是一个基于Windows平台的标准用户接口,提供了一个从个人电脑(Personal Computer)到智能卡
(Smart Card)的统一环境平台,利用PC/SC接口API,可以通过智能卡读写设备访问智能卡。
[0046] 在一种示例性实施例中,主控制装置10端的测试程序作为客户端程序,虚拟机11端的测试程序作为服务器端程序,主控制装置10与机械手控制装置16可以通过通用输入输
出(General Purpose Input Output,GPIO)接口进行通信,机械手控制装置16调动机械手
负责测试芯片的替换,虚拟机11的服务器端程序负责通过主控制装置10的通信接口(例如,
该通信接口可以为USB接口)与IC芯片通信,启动芯片下载数据测试,待测试结束后,虚拟机
11的服务器端程序将测试结果返回给主控制装置10端的客户端程序,客户端程序在接收到
测试结果后将记录日志信息,并显示更新界面上的测试结果信息。
[0047] 在一种示例性实施例中,主控制装置10的客户端程序,主要实现测试主界面控制、测试结果展示、与虚拟机11建立网络通信连接,机械手控制装置16与主控制装置10的客户
端程序建立通信,通知主控制装置10开始启动测试,主控制装置10就会通知虚拟机11上的
服务器程序开始启动测试程序,主控制装置10等待返回的测试结果。
[0048] 在一种示例性实施例中,在主控制装置10上安装多个虚拟机11,虚拟机11的操作系统可以为Windows操作系统或Linux操作系统。
[0049] 在一种示例性实施例中,将主控制装置10的读写器设备按照顺序分别分配给每个虚拟机11,每个虚拟机11绑定主控制装置10的一个USB接口,各个虚拟机11之间互相不会有
干扰,而且如果每个虚拟机11只挂一个读写器设备时,读写器设备的编号可以固定为0,不
会出现被测芯片编号紊乱的现象。
[0050] 在一种示例性实施例中,虚拟机11的服务器程序,用于连接主控制装置10的客户端程序,通过PC/SC接口API,控制IC芯片开始或停止测试。
[0051] 在一种示例性实施例中,机械手控制装置16,通过GPIO接口与主控制装置10的测试程序通信,控制机械手将IC芯片放到指定位置的机械手点位上,发送芯片放置完成通知
至主控制装置10,以触发IC芯片开始测试,接收测试结果,根据测试结果控制机械手将IC芯
片放到不同的区域。
[0052] 在一种示例性实施例中,主控制装置10还用于,存储片内操作系统(Chip Operating System,COS)数据和测试数据。
[0053] 在一种示例性实施例中,芯片20内置启动加载(Bootloader)程序,在接收到启动测试指令时,通过启动加载程序下载片内操作系统数据和测试数据,并进行测试。
[0054] 启动加载程序,也称Loader OS,是嵌入式系统在上电后执行的第一段程序,这段小程序一般完成CPU和相关硬件的初始化工作,之后将操作系统带到一个合适稳定的状态,
本申请实施例中所述的启动加载程序主要完成通过IC芯片的USB接口下载片内操作系统数
据和测试数据的功能。
[0055] 在某些情况下,为了提高应用的灵活性,在IC芯片晶圆(Chip Probe,CP)测试阶段内置一个BootLoader程序,在最终测试(Final Test,FT)阶段时,根据不同的应用需求,下
载不同的COS数据或测试数据,然后进行功能测试。
[0056] 在一种示例性实施例中,所述控制指令和所述测试结果通过网际协议(Internet Protocol,IP)报文发送。
[0057] 如图5所示,该IP报文在通信数据格式上,包括数据长度字段、命令类型字段、命令数据字段和校验码字段,其中,所述数据长度字段用于指示所述命令类型字段、命令数据字
段和校验码字段的总长度;所述命令类型字段用于按照预设协议指示本报文为控制指令或
测试结果;所述命令数据字段用于指示测试结果;所述校验码字段用于对所述数据长度字
段、命令类型字段、命令数据字段进行校验。
[0058] 在一种示例性实施例中,当所述命令类型字段为控制指令时,所述命令数据字段为空;当所述命令类型字段为测试结果时,所述命令数据字段为第一值或第二值,其中,第
一值用于指示测试成功,第二值用于指示测试失败。
[0059] 在一种示例性实施例中,由主控制装置10通知虚拟机11开始测试,此时,命令类型字段为0x0001,命令数据字段为空;测试完成后,虚拟机11发送测试结果至主控制装置10,
此时,命令类型字段为0x8001,若测试成功则命令数据字段为0x00,若测试失败则命令数据
字段为0x01。
[0060] 在一种示例性实施例中,所述校验码字段为循环冗余校验码(Cyclic Redundancy Check,CRC32)。循环冗余校验码,表示4个字节的校验值,由数据长度字段、命令类型字段和
命令数据字段通过CRC32校验算法得到。
[0061] 在一种示例性实施例中,所述通信接口包括以下一种或多种接口:通用串行总线(Universal Serial Bus,USB)、通用异步收发传输器(Universal Asynchronous 
Receiver/Transmitter,UART)、串行外设接口(Serial Peripheral Interface,SPI)、两线
式串行总线(Inter Integrated Circuit,I2C)、安全数字输入输出(Secure Digital 
Input and Output,SDIO)、安全数字(Secure Digital,SD)接口。
[0062] 在一种示例性实施例中,如图6所示,该芯片控制系统的测试步骤可以包括:
[0063] 步骤1、机械手控制装置控制机械手将芯片放置在指定位置。
[0064] 步骤2、机械手控制装置与主控制装置通信,通知其可以启动测试。
[0065] 步骤3、主控制装置的客户端程序与虚拟机的服务器程序建立通信连接,发送控制指令(命令类型字段可以为0x0001)通知服务器程序可以启动测试。
[0066] 步骤4、虚拟机的服务器程序通过PC/SC API接口函数控制芯片,启动测试。
[0067] 步骤5、芯片内置的bootLoader程序启动测试程序,下载数据并测试。
[0068] 步骤6、虚拟机的服务器程序接收测试结果后,发送测试结果(命令类型字段可以为0x8001)给主控制装置的客户端程序。
[0069] 步骤7、主控制装置的客户端程序接收到测试结果后,通知机械手控制装置每个位置的芯片测试结果,机械手控制装置根据测试结果分拣芯片。
[0070] 循环上述步骤1至步骤7,直至完成所有芯片的测试。
[0071] 本申请实施例在节约成本的前提下可以大幅度提高测试的效率,因为一台主控制装置可以安装多个虚拟机,每个虚拟机可以测试一个机械手点位,以16个虚拟机预估测试
能力,已经远远超过了现有的芯片控制系统的测试能力,每个虚拟机可以管理至少一个芯
片,即使出现芯片插拔顺序错误的情况,也不会导致被测芯片的测试编号紊乱的现象。
[0072] 本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,
在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个
物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组
件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被
实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读
介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时
性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如
计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非
易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其
他存储器技术、CD‑ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他
磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此
外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模
块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息
递送介质。