一种基带和协处理器间的通信方法、装置及系统的制作方法

文档序号:7698644阅读:258来源:国知局
专利名称:一种基带和协处理器间的通信方法、装置及系统的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及一种基带和协处理器间的通信方 法、装置及系统。
背景技术
协处理器是一种芯片,用于减轻系统微处理器的特定处理任务。而多媒 体协处理器(即多媒体芯片)已经成为诸多手机芯片厂商在手机市场大举斩 获的一个重要途径。所述多媒体协处理器包括移动多媒体处理器、移动音频 处理器、移动视频处理器等等。
在多々某体手机的开发中,基带和多媒体协处理器的通信机制一直是非常 重要的一项关键技术,因为 一套高效而稳定的通信机制对整个系统的稳定性 和性能有着至关重要的作用。现有的通信机制都是基于共享内存的方式来实
现,即基带和多媒体协处理器共享一块内存区域,该内存区域可以是SDRAM (Synchronous Dynamic random access memory , 同步动态f逭才几存小者器,即同 步内存)或者是SRAM ( Static random access memory,静态随机存储器)。 基带和多々某体协处理器分时读写这部分区域,并根据预先定义好的协议进行 通信。
但是,这种基于共享内存的通信方式存在以下问题
第一,通信效率不高,因为基带对共享内存的访问速度比较慢,而且用 于通信的共享内存区域一般需要关闭緩存,这样速度会更慢;
第二,通信协议较为复杂,因为可以使用的共享内存的空间比较大,所 以一般通信协议制定的比较复杂,造成通信的稳定性差;
第三,占用内存资源,因为用于通信的共享内存区域无法给其他模块使用。

发明内容
本发明所要解决的技术问题是提供一种基带和协处理器间的通信方法、装置及系统,以解决现有的通信机制存在通信效率不高、通信协议较为复杂、 占用内存资源的问题。
为了解决上述问题,本发明公开了 一种基带和协处理器间的通信方法,
包括
判断传输数据量的大小,如果未超过预置阈值,则根据所述传输数据量 的大小,选择协处理器中一个或多个空闲的寄存器,进行基带和协处理器间 的通信;
如果超过预置阈值,则动态分配所述协处理器中全部或部分空闲的内存 空间,进行基带和协处理器间的通信,并在通信结束后释》文该内存空间。
其中,所述动态分配所述协处理器的内存空间,进行基带和协处理器间 的通信,具体包括选择空闲的寄存器;动态分配所述协处理器中全部或部 分空闲的内存空间,并将分配的内存地址保存到所选择的寄存器中;当进行 基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。
其中,所述选^H"办处理器中一个或多个空闲的寄存器,进行基带和协处 理器间的通信,具体包括 一端构建需要传输的命令字,将所述命令字保存 到所选择的寄存器中,并发送中断通知另一端;另一端接到所述中断通知后, 根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返 回;所述一端对所述返回进行确认;其中,当所述一端为基带时,所述另一 端为协处理器;当所述一端为协处理器时,所述另一端为基带。
其中,所述中断服务程序包括低级中断服务程序和高级中断服务程序; 则所述另 一端根据所述寄存器中的命令字调用相应的中断服务程序执行,具 体包括所述另一端根据所述寄存器中的命令字调用相应的低级中断服务程 序执行,或者调用相应的高级中断服务程序执行;或者,调用相应的低级中 断服务程序,该低级中断服务程序再激活相应的高级中断服务程序执行。
其中,所述命令字的格式统一,所述命令字分为两级,分别是主命令字 和次命令字。
本发明还提供了 一种基带和协处理器间的通信装置,包括
判断单元,用于判断传输数据量的大小,如果未超过预置阈值,则触发
7寄存器选择单元;如果超过预置阈值,则触发内存动态分配单元;
寄存器选择单元,用于根据所述传输数据量的大小,选择协处理器中一 个或多个空闲的寄存器,并触发通信单元;
内存动态分配单元,用于动态分配所述协处理器中全部或部分空闲的内 存空间,并触发通信单元;在通信结束后释放该内存空间;
通信单元,用于进行基带和协处理器间的通信。
其中,所述内存动态分配单元具体包括调用子单元,用于调用所述寄 存器选择单元选择空闲的寄存器;内存分配子单元,用于动态分配所述协处 理器中全部或部分空闲的内存空间,并将分配的内存地址保存到所选择的寄 存器中;则所述通信单元当进行基带和协处理器间的通信时,从所述寄存器 中读取内存地址并访问内存。
其中,所述通信单元具体包括命令字构建子单元,用于一端构建需要 传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另 一端;中断处理子单元,用于另一端接到所述中断通知后,根据所述寄存器 中的命令字调用相应的中断服务程序执行,并将执行结果返回;确认子单元, 用于所述一端对所述返回进行确认;其中,当所述一端为基带时,所述另一 端为协处理器;当所述一端为协处理器时,所述另一端为基带。
其中,所述中断服务程序包括低级中断服务程序和高级中断服务程序;
序执行,具体包括根据所述寄存器中的命令字调用相应的低级中断服务程 序执行,或者调用相应的高级中断服务程序执行;或者,调用相应的低级中 断服务程序,该低级中断服务程序再激活相应的高级中断服务程序执行。
其中,所述命令字的格式统一,所述命令字分为两级,分别是主命令字 和次命令字。
本发明还提供了一种基带和协处理器间的通信系统,包括基带、协处 理器以及基带和协处理器间的通信装置,其中,所述协处理器包括内存存储 区域及一个或多个寄存器;
所述通信装置包括判断单元,用于判断传输数据量的大小,如果未超过预置阈值,则触发
寄存器选择单元;如果超过预置阈值,则触发内存动态分配单元;
寄存器选择单元,用于根据所述传输数据量的大小,选择协处理器中一 个或多个空闲的寄存器,并触发通信单元;
内存动态分配单元,用于动态分配所述内存存储区域中全部或部分空闲 的区域,并触发通信单元;在通信结束后释放所述分配的内存存储区域;
通信单元,用于进行基带和协处理器间的通信。
其中,所述通信装置中的内存动态分配单元具体包括调用子单元,用 于调用所述寄存器选择单元选择空闲的寄存器;内存分配子单元,用于动态 分配所述内存存储区域中全部或部分空闲的区域,并将分配的内存地址保存 到所选择的寄存器中;则所述通信单元当进行基带和协处理器间的通信时, 从所述寄存器中读取内存地址并访问内存。
其中,所述通信装置中的通信单元具体包括命令字构建子单元,用于 一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发 送中断通知另一端;中断处理子单元,用于另一端接到所述中断通知后,根 据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返 回;确认子单元,用于所述一端对所述返回进行确认;其中,当所述一端为 基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为 基带。
与现有技术相比,本发明具有以下优点
本发明采用共享寄存器的方式来实现基带和协处理器间的通信,该方式 选择协处理器中空闲的寄存器作为通信使用,并制定相应的通信协议,完成 基带和协处理器间的通信。
第一,通信效率高,因为基带对寄存器的访问速度要比内存快很多;
第二,通信协议简洁高效,因为寄存器的空间比内存小,所以通信协议 可以制定的比较简单,易于通信的稳定性;
第三,节省内存空间,如果传输数据量不大,不需要占用内存,使用寄存器就可以完成通信;如果需要传输大量数据,则会动态分配所需要的空闲
内存,通信完成后会立刻释放,所以也会节省内存空间。


图1是本发明实施例所述一种基带和协处理器间的通信方法流程图2是本发明实施例中使用寄存器进行通信的流程图3是本发明实施例中通过动态分配内存进行通信的流程图4是本发明实施例中命令字的格式示意图5是本发明实施例所述一种基带和协处理器间的通信装置结构图; 图6是本发明实施例所述通信装置中内存动态分配单元U53的结构图; 图7是本发明实施例所述通信装置中通信单元具体U54的结构图; 图8是本发明实施例所述一种基带和协处理器间的通信系统结构图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图 和具体实施方式
对本发明作进一步详细的说明。
基带不仅可以访问协处理器的内存,还可以访问协处理器的寄存器。基 于这种思想,本发明通过共享寄存器的方式代替共享内存的方式来实现基带 和协处理器间的通信。 一般协处理器都有很多寄存器,而这些寄存器在某个 模式下并不会都用到,因此配置这些寄存器的值,并不会对协处理器的实际 处理产生影响。例如对于多媒体协处理器,在进行MP4播放的时候,使用 传感器相关的寄存器,并不会对MP4的播放有影响。所以选取几个在特定 模式下不使用的寄存器作为通信使用就可以,具体使用的寄存器可以根据协 处理器工作的模式动态改变。基于这个思想,再制定相应的通信协议,就可 以高效稳定的完成基带和协处理器间的通信工作。
下面以基带与多i某体协处理器间的通信为例进行详细说明。 参照图1,是实施例所述一种基带和协处理器间的通信方法流程图。 Sl01 ,判断基带和协处理器间传输数据量的大小是否超过预置阈值; 如果未超过预置阈值,则转S102;如果超过预置阈值,则转S103;S102,当未超过预置阈值时,根据所述传输数据量的大小,选择协处理 器中一个或多个空闲的寄存器,进行基带和协处理器间的通信;
一般协处理器会有多个寄存器,协处理器在进行不同处理时会使用不同 的寄存器,所以会有一些寄存器在进行某些处理时不会用到。当基带和协处 理器间需要通信时,可以使用空闲的寄存器进行通信。而且,每次通信过程 中使用的寄存器可能不同,需要根据协处理器使用寄存器的状况动态调整。
如果传输数据量未超过预置阈值,还需要根据传输数据量的大小判断当 前通信需要使用几个寄存器,因为寄存器的容量有限,当数据量超过一个寄 存器的容量时,就需要使用多个寄存器来完成通信。例如, 一个寄存器可以 存储32位,如果传输的命令字是64位,就需要使用两个32位的寄存器来 存储该命令字。
S103,当超过预置阈值时,动态分配所述协处理器中全部或部分空闲的 内存空间,并继续S104;
如果需要传输大量数据(如文件传输),而当前所有空闲的寄存器都不 能满足需要,则可以使用共享内存来实现通信。但本实施例采用的共享内存 是一种动态分配的方式,不同于现有的预先分配内存的方式。现有的共享内 存方式是预先分配好内存空间,当通信过程中需要使用内存时,从所述预先 分配好的内存空间中选择一块区域用作通信,此时协处理器的其他模块无法 使用该区域,因此现有的这种方式会占用内存资源。而本实施例是在需要使 用内存时,在已经分配好的内存区域之外,再动态分配一块空闲的内存区域 用作通信(每次分配的空闲区域可能不同,可能占用部分空闲内存,也可能 占用全部空闲内存),使用完后还会立刻释放该区域,不会影响之前已经分 配好的内存的使用,因此这种动态分配的方式更能节省内存空间。
优选的,本实施例动态分配内存的方法如下
首先,选择空闲的寄存器,具体为判断所述协处理器是否有空闲的寄 存器,如果是,则选择一个空闲的寄存器(由于动态分配内存的过程中使用 寄存器是用来存放分配的内存地址,所以通常一个寄存器的容量即能存储该 内存地址);然后,动态分配所述协处理器的内存空间,并将分配的内存地址保存到所选择的寄存器中。
上述动态分配内存的方法需要使用寄存器来存放分配的内存地址,当进 行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。 当然,也可以使用其他方法来动态分配内存,本实施例在此不作限定。
S104,进行基带和协处理器间的通信,并在通信结束后释》文该内存空间。
在上述通信方法中,本实施例还制定了相应的通信协议,该通信协议可 以具体实现S102和S104中基带和协处理器间的通信。由于协议制定基带和 协处理器的命令处理机制对称,所以基带向协处理器发起的通信过程与协处 理器向基带发起的通信过程,都遵循相同的处理流程。其中,当通信一端为 基带时,通信另一端为协处理器;当通信一端为协处理器时,通信另一端为 基带。
对于S102中进行基带和协处理器间的通信,具体参照图2所示,如下
S201, 一端构建需要传输的命令字,将所述命令字保存到所选择的寄存 器中,并发送中断通知另一端;
S202,另一端接到所述中断通知后,根据所述寄存器中的命令字调用相 应的中断服务程序执行,并将执行结果返回;
其中,不同操作系统的内部中断处理机制也不同,有一级中断处理,也 有多级中断处理。例如,在Nucleus操作系统中是两级中断处理,即所述中 断服务程序包括低级中断服务程序(LISR, Low Interrupt Service Routines ) 和高级中断服务程序(HISR, High Interrupt Service Routines )。使用LISR还 是HISR由具体命令决定,通常,如果是获取一个变量的值等简单操作,在 LISR中进行就可以;如果需要调用操作系统函数或者耗时比较长的操作, 就需要放到HISR中进行。
因此,所述另 一端根据所述寄存器中的命令字调用相应的中断服务程序 执行,可以是以下三种情况
一种是所述另一端根据所述寄存器中的命令字调用相应的LISR执行, 另一种是调用相应的HISR执行,还有一种是调用相应的USR,该LISR再激活相应的HISR执行。
S203,所述一端对所述返回进4亍确i人。
下面举例说明,以Malloc命令的实现为例,说明基带向协处理器发起 的用于分配内存的命令处理流程 首先,基带的处理如下
1) 构建传输的命令字
Msg.CMD = MAJ—SYS|MIN—SYS—MALLOC;
Msg.OPl=size;
Msg.OP2=0;
2) 将传输的命令字保存到通信使用的寄存器中,并向协处理器发送软
中断;
3) 等待协处理器返回的结果,没有参数返回的命令处理到此结束。 上述1)至3 )即是S201的处理。
其次,协处理器的处理如下,以Nucleus操作系统的两级中断处理为例
Mode—Sys—Lisr函数,在所述Mode—Sys—Lisr函数里做读取命令字和参数的 操作;
2) 由于Malloc功能需要调用Nucleus l喿作系统的系统函数,所以 Mode—Sys—Lisr函lt会激活HISR处理;
3) 协处理器的软中断HISR处理函数根据命令字调用相应的 Mode—Sys—Hisr函数;
4) 在Mode_Sys_Hisr函数处理里判断子命令字是Malloc,则调用 SD—Malloc函数分配内存,执行结束后把分配的内存地址,放到OPl里返回;
5) 协处理器命令处理结束,没有参数返回的命令处理到此全部结束。 上述1)至5 )即是S202中同时使用LISR和HISR的中断处理情况。 再次,基带的处理如下
1 )收到协处理器传来的ACK命令(Acknowledge的简写,就是收到确 认),基带的软中断LISR处理函数根据命令字调用相应的MMD—Mode_Sys_Lisr函数;2)在MMD—Mode—Sys—Lisr函数里会把ACK命令读到全局变量中 g—Ack—MinCmd=min; g—Ack—OPl=Msg.OPl; g—Ack—OP2=Msg.OP2;3 )在MMD—SYS—Malloc函数里判断g—Ack—MinCmd值的变化,如果 变化(说明ACK命令返回),则返回Malloc的地址值,此命令处理结束。上述1 )至3 )即是S203对协处理器的返回进行确认。与上述通信流程类似,对于S104中进行基带和协处理器间的通信,具 体参照图3所示,如下5301, —端构建需要传输的命令字,将所述命令字保存到动态分配的内 存区域中,并发送中断通知另一端;其中,所述动态分配的内存地址保存在 寄存器中;5302, 另一端接到所述中断通知后,首先读取寄存器中的内存地址,然 后根据所述内存地址到相应的内存区域读取命令字,再根据命令字调用相应 的中断服务程序执行,并将执行结果返回;其中,中断处理可以是以下三种情况一种是所述另 一端根据所述寄存器中的命令字调用相应的LISR执行, 另一种是调用相应的HISR执行,还有一种是调用相应的LISR,该LISR再 激活相应的HISR执行。5303, 所述一端对所述返回进行确认。综上所述,图2和图3中构建的命令字具有以下特点 1 )命令为固定格式,例如图2的举例说明中,命令字CMD、 OP1 、 OP2 均是32位数据;2)命令需要有ACK,并且返回ACK的命令字需要和原来的命令字保 持相同,以便于验证返回的ACK是对应哪个命令的ACK;例如返回ACK 的CMD和原来的CMD保持相同;3 )命令分2级组织,分别为Major Cmd (主命令字)和Min Cmd (次 命令字);14例如,命令字的格式如图4所示,其中Reserved字段是可扩展字段,占 前16位,Major Cmd占中间的8位,Min Cmd占最后的8位。通常,Major Cmd和Min Cmd即可存下一个命令,但Reserved字段可扩展存放更多信息。4) 命令的处理按照主命令字在中断的LISR和HISR,注册处理函数;5) 基带和协处理器的命令处理机制对称,即基带向协处理器发起的通 信过程与协处理器向基带发起的通信过程,都遵循相同的处理流程。综上所述,上述通信方法具有以下优点第一,通信效率高,因为基带对寄存器的访问速度要比内存快很多; 第二,通信协议简洁高效,因为寄存器的空间比内存小,所以通信协议可以制定的比较简单,易于通信的稳定性;第三,节省内存空间,如果传输数据量不大,不需要占用内存,使用寄存器就可以完成通信;如果需要传输大量数据,则会动态分配所需要的空闲内存,通信完成后会立刻释放,所以也会节省内存空间。针对上述方法实施例的描述,本发明还提供了相应的装置实施例。 参照图5,是实施例所述一种基带和协处理器间的通信装置结构图。所 述装置主要包括判断单元U51,用于判断传输数据量的大小,如果未超过预置阈值,则 触发寄存器选择单元U52;如果超过预置阔值,则触发内存动态分配单元 U53;寄存器选择单元U52,用于根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,并触发通信单元U54;内存动态分配单元U53,用于动态分配所述协处理器中全部或部分空闲的内存空间,并触发通信单元U54;在通信结束后释放该内存空间; 通信单元U54,用于进行基带和协处理器间的通信。 优选的,参照图6,所述内存动态分配单元U53具体包括 调用子单元U531 ,用于调用所述寄存器选择单元U52选择空闲的寄存内存分配子单元U532,用于动态分配所述协处理器中全部或部分空闲的内存空间,并将分配的内存地址保存到所选择的寄存器中;
则所述通信单元U54当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。
优选的,参照图7,所述通信单元具体U54包括
命令字构建子单元U541,用于一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;
中断处理子单元U542,用于另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;
确认子单元U543,用于所述一端对所述返回进行确认;
其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为基带。
其中,所述中断服务程序可以为一级中断处理或多级中断处理,如包括低级中断服务程序和高级中断服务程序;
则所述中断处理子单元U542根据所述寄存器中的命令字调用相应的中断处理函数执行,具体包括
用相应的高级中断处理函数执行;或者,调用相应的低级中断处理函数,该低级中断处理函数再激活相应的高级中断处理函数执行。
其中,所述命令字的格式统一,所述命令字分为两级,分别是主命令字和次命令字。
综上所述,所述通信装置具有通信效率高、通信协议简洁高效、节省内存空间的优点。
在上述装置实施例的基础上,本发明实施例还提供了一种基带和协处理器间的通信系统。
参照图8,是实施例所述一种基带和协处理器间的通信系统结构图。所述通信系统包括基带U81、协处理器U82以及通信装置U83,所述通信装置U83用于实现所述基带U81和协处理器U82间的通信。其中,所述协处理器U82包括内存存储区域U84及一个或多个寄存器U85。所述通信装置U83具体包括
判断单元U831,用于判断传输数据量的大小,如果未超过预置阈值,则触发寄存器选择单元U832;如果超过预置阈值,则触发内存动态分配单元U833;
寄存器选择单元U832,用于根据所述传输数据量的大小,选择协处理器U82中一个或多个空闲的寄存器U85,并触发通信单元U834;
内存动态分配单元U833,用于动态分配所述内存存储区域U84中全部或部分空闲的区域,并触发通信单元U834;在通信结束后释放所述分配的内存存储区域;
通信单元U834,用于进行基带U81和协处理器U82间的通信。优选的,所述通信装置U83中的内存动态分配单元U833具体包括调用子单元,用于调用所述寄存器选择单元U832选择空闲的寄存器
U85;
内存分配子单元,用于动态分配所述内存存储区域U84中全部或部分空闲的区域,并将分配的内存地址保存到所选择的寄存器U85中;
则所述通信单元U834当进行基带U81和协处理器U82间的通信时,从所述寄存器U85中读取内存地址并访问内存。
优选的,所述通信装置U83中的通信单元U834具体包括
命令字构建子单元,用于一端构建需要传输的命令字,将所迷命令字保存到所选择的寄存器U85中,并发送中断通知另一端;
中断处理子单元,用于另一端接到所述中断通知后,根据所述寄存器U85中的命令字调用相应的中断服务程序执行,并将执行结果返回;
确认子单元,用于所述一端对所述返回进行确认;
其中,当所述一端为基带U81时,所述另一端为协处理器U82;当所述一端为协处理器U82时,所述另一端为基带U81。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较筒单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的 一种基带和协处理器间的通信方法、装置及系
行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思
想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种基带和协处理器间的通信方法,其特征在于,包括判断传输数据量的大小,如果未超过预置阈值,则根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,进行基带和协处理器间的通信;如果超过预置阈值,则动态分配所述协处理器中全部或部分空闲的内存空间,进行基带和协处理器间的通信,并在通信结束后释放该内存空间。
2、 根据权利要求1所述的方法,其特征在于,所述动态分配所述协处 理器的内存空间,进行基带和协处理器间的通信,具体包括选择空闲的寄存器;动态分配所述协处理器中全部或部分空闲的内存空间,并将分配的内存 地址保存到所选择的寄存器中;当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访 问内存。
3、 根据权利要求1所述的方法,其特征在于,所述选择协处理器中一 个或多个空闲的寄存器,进行基带和协处理器间的通信,具体包括一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中, 并发送中断通知另一端;另 一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中 断服务程序执行,并将执行结果返回;所述一端对所述返回进行确认;其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协 处理器时,所述另一端为基带。
4、 根据权利要求3所述的方法,其特征在于所述中断服务程序包括低级中断服务程序和高级中断服务程序; 则所述另 一端根据所述寄存器中的命令字调用相应的中断服务程序执 行,具体包括执行,或者调用相应的高级中断服务程序执行;或者,调用相应的低级中断服务程序,该低级中断服务程序再激活相应的高级中断服务程序执行。
5、 根据权利要求3所述的方法,其特征在于所述命令字的格式统一,所述命令字分为两级,分别是主命令字和次命令字。
6、 一种基带和协处理器间的通信装置,其特征在于,包括判断单元,用于判断传输数据量的大小,如果未超过预置阈值,则触发寄存器选择单元;如果超过预置阈值,则触发内存动态分配单元;寄存器选择单元,用于根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,并触发通信单元;内存动态分配单元,用于动态分配所述协处理器中全部或部分空闲的内存空间,并触发通信单元;在通信结束后释放该内存空间;通信单元,用于进行基带和协处理器间的通信。
7、 根据权利要求6所述的装置,其特征在于,所述内存动态分配单元具体包括调用子单元,用于调用所述寄存器选择单元选择空闲的寄存器;内存分配子单元,用于动态分配所述协处理器中全部或部分空闲的内存空间,并将分配的内存地址保存到所选择的寄存器中;则所述通信单元当进行基带和协处理器间的通信时,从所述寄存器中读取内存i也址并i方问内存。
8、 根据权利要求6所述的装置,其特征在于,所述通信单元具体包括命令字构建子单元,用于一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;中断处理子单元,用于另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;确认子单元,用于所述一端对所述返回进行确认;其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为基带。
9、 根据权利要求8所述的装置,其特征在于所述中断服务程序包括低级中断服务程序和高级中断服务程序;务程序执行,具体包括用相应的高级中断服务程序执行;或者,调用相应的低级中断服务程序,该低级中断服务程序再激活相应的高级中断服务程序执行。
10、 根据权利要求8所述的装置,其特征在于所述命令字的格式统一,所述命令字分为两级,分别是主命令字和次命令字。
11、 一种基带和协处理器间的通信系统,其特征在于,包括基带、协处理器以及基带和协处理器间的通信装置,其中,所述协处理器包括内存存储区域及一个或多个寄存器;所述通信装置包括判断单元,用于判断传输数据量的大小,如果未超过预置阔值,则触发寄存器选择单元;如果超过预置阈值,则触发内存动态分配单元;寄存器选择单元,用于根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,并触发通信单元;内存动态分配单元,用于动态分配所述内存存储区域中全部或部分空闲的区域,并触发通信单元;在通信结束后释放所述分配的内存存储区域;通信单元,用于进行基带和协处理器间的通信。
12、 根据权利要求11所述的系统,其特征在于,所述通信装置中的内存动态分配单元具体包括调用子单元,用于调用所述寄存器选择单元选择空闲的寄存器;内存分配子单元,用于动态分配所述内存存储区域中全部或部分空闲的区域,并将分配的内存地址保存到所选择的寄存器中;则所述通信单元当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。
13、 根据权利要求11所述的系统,其特征在于,所述通信装置中的通信单元具体包括命令字构建子单元,用于一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;中断处理子单元,用于另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;确认子单元,用于所述一端对所述返回进行确认;其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为基带。
全文摘要
本发明提供了一种基带和协处理器间的通信方法、装置及系统,以解决现有的通信机制存在通信效率不高、通信协议较为复杂、占用内存资源的问题。所述方法包括判断传输数据量的大小,如果未超过预置阈值,则根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,进行基带和协处理器间的通信;如果超过预置阈值,则动态分配所述协处理器中全部或部分空闲的内存空间,进行基带和协处理器间的通信,并在通信结束后释放该内存空间。本发明通信效率高,通信协议简洁高效,而且通信过程节省内存空间。
文档编号H04W88/00GK101521960SQ20091007769
公开日2009年9月2日 申请日期2009年2月11日 优先权日2009年2月11日
发明者李志刚 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1