CN111541823A - 一种调制解调器以及通信装置 - Google Patents

一种调制解调器以及通信装置 Download PDF

Info

Publication number
CN111541823A
CN111541823A CN202010307194.5A CN202010307194A CN111541823A CN 111541823 A CN111541823 A CN 111541823A CN 202010307194 A CN202010307194 A CN 202010307194A CN 111541823 A CN111541823 A CN 111541823A
Authority
CN
China
Prior art keywords
data
modem
module
cache
shared memory
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
Application number
CN202010307194.5A
Other languages
English (en)
Other versions
CN111541823B (zh
Inventor
苏加军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN202010307194.5A priority Critical patent/CN111541823B/zh
Publication of CN111541823A publication Critical patent/CN111541823A/zh
Application granted granted Critical
Publication of CN111541823B publication Critical patent/CN111541823B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • H04M11/06Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
    • H04M11/066Telephone sets adapted for data transmision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

一种调制解调器以及通信装置,所述调制解调器包括:功能模块;缓存模块,用于缓存所述功能模块访问过的数据;其中,所述调制解调器与外部处理器件耦接,所述功能模块通过所述外部处理器件间接访问共享存储模块以获取数据,所述外部处理器件与所述共享存储模块耦接并可直接访问所述共享存储模块。通过本发明方案能够有效改善外部存储器的高延迟特性对调制解调器的实时性要求的不利影响。

Description

一种调制解调器以及通信装置
技术领域
本发明涉及通信技术领域,具体地涉及一种调制解调器以及通信装置。
背景技术
现有的调制解调器对双倍速率同步动态随机存储器(Double Data RateSynchronous Dynamic Random Access Memory,简称DDR SDRAM,可简称DDR)的访问是不可或缺的。MCU和各个硬件(Hardware,简称HW)加速器都需要DDR承担大数据量缓存。DDR的带宽和访问延迟是关键指标。
已有技术方案中,有的方案为调制解调器配置专用DDR,这虽然能够满足调制解调器的数据缓存需求,但实现成本高昂。有的方案为调制解调器配置共享DDR,以在降低产品成本的同时满足数据缓存需求。但是,外部存储器访问通常伴随访问延迟过大的问题,无法满足调制解调器的访问性能实时性需求。
发明内容
本发明解决的技术问题是如何解决外部存储器的高延迟特性对调制解调器的实时性要求的不利影响。
为解决上述技术问题,本发明实施例提供一种调制解调器,包括:功能模块;缓存模块,用于缓存所述功能模块访问过的数据;其中,所述调制解调器与外部处理器件耦接,所述功能模块通过所述外部处理器件间接访问共享存储模块以获取数据,所述外部处理器件与所述共享存储模块耦接并可直接访问所述共享存储模块。
可选的,所述调制解调器读取数据时,先读取所述缓存模块,如果命中就返回读取结果,如果未命中就继续通过所述外部处理器件访问所述共享存储模块。
可选的,所述缓存模块缓存的是所述功能模块历史上高频访问的数据。
可选的,所述缓存模块包括多个第一缓存子模块,所述功能模块的数量为多个,不同的第一缓存子模块对应不同的功能模块,对于每一所述功能模块,所述功能模块读取数据时,先读取相对应的所述第一缓存子模块,如果命中就返回读取结果,如果未命中就继续通过所述外部处理器件访问所述共享存储模块。
可选的,所述缓存模块还包括第二缓存子模块,所述第二缓存子模块对应多个功能模块,对于每一所述功能模块,所述功能模块读取数据时,先读取相对应的第一缓存子模块,如果命中就返回读取结果,如果未命中就读取所述第二缓存子模块,如果仍未命中就继续通过所述外部处理器件访问所述共享存储模块。
可选的,所述调制解调器包括:接口单元,用于与所述外部处理器件基于串行总线相通信,其中,所述第二缓存子模块与所述接口单元直接耦接。
可选的,所述第一缓存子模块优先缓存相对应的功能模块访问过的数据,所述第二缓存子模块优先缓存所述调制解调器历史上高频访问的数据。
可选的,所述功能模块选自:MCU以及硬件加速器。
可选的,所述外部处理器件为应用处理器。
为解决上述技术问题,本发明实施例还提供一种通信装置,包括:应用处理器;上述调制解调器;共享存储模块,所述应用处理器与所述共享存储模块耦接并可直接访问所述共享存储模块,所述调制解调器与所述应用处理器耦接并通过所述应用处理器间接访问所述共享存储器。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明实施例提供一种调制解调器,包括:功能模块;缓存模块,用于缓存所述功能模块访问过的数据;其中,所述调制解调器与外部处理器件耦接,所述功能模块通过所述外部处理器件间接访问共享存储模块以获取数据,所述外部处理器件与所述共享存储模块耦接并可直接访问所述共享存储模块。
采用本实施例方案,通过在调制解调器内部增设缓存模块的方式,缓存各功能模块访问过的数据,以降低调制解调器访问共享存储模块的频率。由此,能够在外部存储器的高延迟与调制解调器的实时性需求之间更好的取得平衡。
进一步,本发明实施例还提供一种通信装置,包括:应用处理器;上述调制解调器;共享存储模块,所述应用处理器与所述共享存储模块耦接并可直接访问所述共享存储模块,所述调制解调器与所述应用处理器耦接并通过所述应用处理器间接访问所述共享存储器。
本实施例方案提供一种改进的通信装置,能够使多个有大容量、高带宽、低延迟内存访问需求的系统共享同一物理存储器,利于降低整体成本,提高系统竞争力。具体而言,共享存储模块挂在应用处理器下,应用处理器能够直接访问共享存储模块,而调制解调器则通过应用处理器间接地访问共享存储模块。由此,可以使得多个大容量、高带宽、低延迟系统共享一个片外物理内存。进一步,通过改进调制解调器的功能结构,通过在其中增设缓存模块的方式来降低访问共享存储模块的延迟,以更好的满足调制解调器对实时性的要求。
附图说明
图1是本发明实施例一种通信装置的原理示意图;
图2是本发明实施例第一种串行总线的数据传输方法的流程图;
图3是图2中短包的结构示意图;
图4是图2中长包的结构示意图;
图5是本发明实施例第二种串行总线的数据传输方法的流程图;
图6是本发明实施例第三种串行总线的数据传输方法的流程图;
图7是图6中数据包的结构示意图;
图8是本发明实施例第四种串行总线的数据传输方法的流程图;
图9是本发明实施例一种调制解调器的原理示意图。
具体实施方式
如背景技术所言,当调制解调器与DDR分离设置时,由于外部存储器访问通常伴随访问延迟过大的问题,导致现有通信装置内的数据传输模式无法满足调制解调器的访问性能实时性需求。
为解决上述技术问题,本发明实施例提供一种调制解调器,包括:功能模块;缓存模块,用于缓存所述功能模块访问过的数据;其中,所述调制解调器与外部处理器件耦接,所述功能模块通过所述外部处理器件间接访问共享存储模块以获取数据,所述外部处理器件与所述共享存储模块耦接并可直接访问所述共享存储模块。
采用本实施例方案,通过在调制解调器内部增设缓存模块的方式,缓存各功能模块访问过的数据,以降低调制解调器访问共享存储模块的频率。由此,能够在外部存储器的高延迟与调制解调器的实时性需求之间更好的取得平衡。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例一种通信装置的原理示意图。
所述通信装置可以为手机等用户设备。
具体地,参考图1,本实施例所述的通信装置1可以包括:应用处理器11;调制解调器12;共享存储模块13,所述应用处理器11与所述共享存储模块13耦接并可直接访问所述共享存储模块13,所述调制解调器12与所述应用处理器11耦接并通过所述应用处理器11间接访问所述共享存储器13。
其中,直接可以是相对于间接而言的,也即,应用处理器11对共享存储模块13的数据存取无需经过其他系统中转,而调制解调器12对共享存储模块13的数据存取需要经过其他系统(如应用处理器11)中转。
需要指出的是,本实施例所述直接访问并不意味着应用处理器11与共享存储模块13是采用数据线直接连接的。在实际应用中,应用处理器11与共享存储模块13之间可以通过接口等连接,此时同样可以认为应用处理器11是直接访问共享存储模块13的。
在一个具体实施中,所述应用处理器11可以包括:存储控制单元111,所述存储控制单元111与所述共享存储模块13相通信,所述存储控制单元111可以用于接收所述调制解调器12的访问请求,并根据所述访问请求访问所述共享存储模块13。
进一步地,所述存储控制单元111还可以用于向所述调制解调器12反馈对所述共享存储模块13的访问结果。
例如,应用处理器11内的数据传输基于第一总线(bus)112进行,调制解调器12内的数据传输基于第二总线121进行。所述第一总线112上进行数据传输时采用的标准数据格式与所述第二总线121上进行数据传输时采用的标准数据格式可以相同,也可以不同。应用处理器11和调制解调器12内部可以各自采用现有协议规定的数据传输协议进行数据传输。
所述第一总线112可以理解为应用处理器11内的公共通道。类似的,所述第二总线121可以理解为调制解调器12内的公共通道。
进一步,存储控制单元111与共享存储模块13之间也可以基于总线进行数据传输,且数据传输时采用的标准数据格式与所述第一总线112上进行数据传输时采用的标准数据格式与所述第二总线121上进行数据传输时采用的标准数据格式可以相同,也可以不同。
进一步,应用处理器11可以包括第一处理模块(Processor)113,所述第一处理模块113可以根据系统运行需要通过第一总线112和存储控制单元111访问所述共享存储模块13。
进一步,调制解调器12可以包括第二处理模块122,所述第二处理模块122可以根据系统运行需要通过第二总线121发送访问请求,以请求访问共享存储模块13。所述访问请求通过调制解调器12和应用处理器11之间的耦接关系传递至第一总线112,进而通过存储控制单元111发送至共享存储模块13。
接下来对调制解调器12和应用处理器11之间的耦接关系以及相应的数据传输方式进行具体阐述。
在一个具体实施中,所述应用处理器11和调制解调器12之间可以通过串行总线14相通信。具体地,所述串行总线14传输数据时采用私有数据格式,并且,所述私有数据格式不同于前述第一总线112、第二总线121以及存储控制单元111和共享存储模块13之间所采用的所述标准数据格式。
由此,通过特别设计的数据包格式和相应的打包/解包方式,将数据传输的延迟降低到调制解调器12能够接受的范围,使得提高数据传输效率和带宽成为可能,利于更好的降低延迟。
例如,参考图1,所述应用处理器11和调制解调器12分别包括接口单元(link),为便于区分,将应用处理器11的接口单元记作第一接口单元114,将调制解调器12的接口单元记作第二接口单元123。
所述第一接口单元114和第二接口单元123用于连接所述串行总线14,并将数据的数据格式在私有数据格式与应用处理器11和调制解调器12各自的标准数据格式之间转换。
在一个典型的应用场景中,第二处理模块122发起读取命令,所述读取命令依次通过第二总线121、串行总线14、第一接口单元114、第一总线112传输至存储控制单元111。进而通过存储控制单元111传输至共享存储模块13。
所述共享存储模块13反馈所述读取命令指向的数据时,所述数据经由前述路径的反向路径逐步传送至所述第二处理模块122。
在传送过程中,当所述数据传送至所述第一接口单元114时,所述第一接口单元114可以将所述数据中的每一数据包的数据格式从所述应用处理器11采用的标准数据格式转换至所述串行总线14所采用的私有数据格式。然后再通过串行总线14传送至第二接口单元123。
响应于接收到基于私有数据格式的数据,所述第二接口单元123可以将所述数据中每一数据包的数据格式从私有数据格式转换为调制解调器12所采用的标准数据格式。然后再通过第二总线121传送至第二处理模块122。
在另一个典型的应用场景中,第二处理模块122发起写命令,所述写命令以及需要写入共享存储模块13的数据依次通过第二总线121、串行总线14、第一接口单元114、第一总线112传输至存储控制单元111。进而通过存储控制单元111传输至共享存储模块13。
在传送过程中,当所述数据传送至所述第二接口单元123时,所述第二接口单元123可以将所述数据中每一数据包的数据格式从调制解调器12所采用的标准数据格式转换至所述串行总线14所采用的私有数据格式。然后再通过串行总线14传送至所述第一接口单元114。
响应于接收到基于私有数据格式的数据,所述第一接口单元114可以将所述数据中每一数据包的数据格式从私有数据格式转换为所述应用处理器11采用的标准数据格式。然后再通过第一总线112传送至存储控制单元111进行数据写入。
在一个具体实施中,所述共享存储模块13可以是双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,简称DDR SDRAM,可简称DDR)。
所述串行总线14传输的数据可以打包为至少一个数据包,接下来对所述串行总线14的几种不同的数据传输过程进行具体阐述。
在一个具体实施中,参考图2,本发明实施例第一种串行总线14的数据传输方法可以包括如下步骤:
步骤S101,获取待传输的数据,并将所述数据打包为至少一个数据包,所述数据包为长包或短包,所述长包和短包具有不同的数据长度;
步骤S102,使用所述串行总线传输所述至少一个数据包。
具体地,结合图1,当所述待传输的数据是由第一接口单元114传送至第二接口单元123时,所述步骤S101和步骤S102可以是由第一接口单元114执行的。反之,当所述待传输的数据是由第二接口单元123传送至第一接口单元114时,所述步骤S101和步骤S102可以是由第二接口单元123执行的。
进一步地,所述至少一个数据包可以都是长包,或者都是短包,或者是长包和短包的组合。在实际应用中,可以根据待传输的数据的大小灵活选择长包和/或短包以打包得到所述至少一个数据包。
在一个具体实施中,所述短包中的有效载荷(payload)的数据长度可以根据所述串行总线14传输的单个数据的宽度确定。
具体地,所述单个数据的宽度可以是以串行总线14上传输的大多数单个数据的宽度为准。
本申请发明人经过分析发现,现有高速传输技术一般都使用128比特作为一个基本的物理(PHY)传输单元。但在实际应用中,128比特的长度并不一定是最有效的。另一方面,为适应复杂的应用场景,现有高速传输技术如高速串行计算机扩展总线标准(Peripheral Component Interconnect Express,简称PCI Express,亦即PCIE)和USB打包都比较复杂。
针对前述两个问题,本实施通过设计一种简单的打包方式来尽量减少额外支出。进一步,通过优化数据包长度来兼顾效率和实现。具体而言,本实施定义两种不同长度的数据包,用来传输不同长度的数据。数据发送端(如第一接口单元114或第二接口单元123)可以根据待传输的数据的大小灵活选择短包和/或长包来打包。
以演进的可扩展界面(Advanced eXtensible Interface,简称AXI)总线协议为例,基于AXI传输数据时单个数据的宽度通常为73比特。则如果按照现有128比特为基本单位进行数据传输,显然会浪费很多比特。
基于此,本实施中,将所述短包的有效载荷的数据长度确定为77比特。进一步,所述短包整体的数据长度可以为112比特。以在确保有效容纳足够的传输信息以及77比特的有效载荷的,且为整包的基础上,将所述数据包的整体数据长度尽可能的缩小。其中,整包是指数据包的数据长度为16的整倍数,16由物理层定义。
在一个具体实施中,参考图3,短包3可以包括:包头31,用于承载所述数据包的传输信息;包体32,用于承载所述数据的至少一部分。
具体地,包体32可以包括有效载荷321,所述包体32的长度可以根据所述串行总线14传输的单个数据的宽度确定。例如,所述有效载荷321的数据长度为77比特。
进一步地,包头31可以包括信道标识字段(Channel Identification,简称ChID)311,用于指示传输所述数据包(本实施例为短包3)的信道。
进一步,所述包头31还可以包括信用计数器(Credit Counter,简称CC)指示字段312,用于支持流控。例如,CC指示字段312可以包括CC标识(CCID)和信用值(Credit)。其中,CC标识用于指示所述短包3所属信道,信用值用于指示所述信道的信用值。
进一步,所述包头31可以包括多组CC指示字段312,例如,图3示出了3组CC指示字段312,分别记作CCID0和Credit0组、CCID1和Credit1组以及CCID2和Credit2组。其中,不同组的CC指示字段312对应于不同的信道。
进一步,所述短包3还可以包括ECC纠错码33。相应的,所述数据包(本实施例为短包3)的接收端基于所述ECC纠错码33对所述短包3进行校验时,若校验结果为出现一比特错误时纠错,若校验结果为出现大于一比特的错误时上报上层。例如,所述上层可以为通信装置1的应用层。
在图3所示短包3中,ECC纠错码33的数据长度可以为9比特,包头31的数据长度可以为26比特。由此,包体32共同组成总长112比特的短包3。
在一个变化例中,对于采用如PCIE协议标准传输的数据,可以根据传输的单个数据的宽度调整所述包体32的有效载荷321的数据长度。相应的所述短包3的数据长度也可以适当调整。
在一个具体实施中,长包中的有效载荷的数据长度可以是所述短包中的有效载荷的数据长度的N倍,N为大于等于2的正整数。
例如,参考图4,长包4中有效载荷421的数据长度可以是图3所示短包3中有效载荷321的数据长度的3倍。由此,可以在长包4中打包入4组均为73比特的数据。
具体地,与短包3的结构相类似,所述长包4也可以包括包头41、包体42和ECC校验码43。
其中,包头41可以用于承载长包4的传输信息。例如,包头41可以包括信道标识字段(ChID)和CC指示字段。
进一步,包头41还可以包括数据线宽度指示字段(Data Width,简称DW),用于指示本次传输数据源所采用的数据线的宽度。
进一步,包头41还可以包括数据位置指示字段(Position,简称Pos),用于指示本次传输的数据包(本实施例为长包4)在所述数据线中的位置。
进一步,所述长包4的有效载荷421可以包括多个区间,其中每一区间具有相对应的ECC纠错码43。
例如,参考图4,所述有效载荷421可以包括3个区间,各区间的数据长度分别为86比特、103比特和103比特。每一区间后面配置有对应于该区间的ECC纠错码43。
所述ECC纠错码43的数据长度为9比特,所述包头41的数据长度为17比特。由此,长包4的长度为112×3=336比特。
在一个具体实施中,所述待传输的数据可以来自多个数据源,所述步骤S101可以包括步骤:将不同数据源的数据分别打包,以得到所述至少一个数据包。
相应的,所述步骤S102可以包括步骤:使用所述串行总线14的同一物理通路传输所述至少一个数据包,其中,不同数据源的数据包基于不同的信道标识字段(ChID)相区分。
也即,不同数据源的数据不会打包到一个数据包,但在通过串行总线14传输时,可以基于信道标识字段(ChID)支持将多路数据打包后用一套物理通路传输。
图5是本发明实施例第二种串行总线的数据传输方法的流程图。
具体地,结合图1和图2,当第一接口单元114采用图2所示实施例所述方案打包数据并通过串行总线14传输时,作为数据接收端的第二接口单元123可以执行本实施例方案,以接收所述短包3和/或长包4。反之,当第二接口单元123采用图2所示实施例所述方案打包数据并通过串行总线14传输时,作为数据接收端的第一接口单元114可以执行本实施例方案,以接收所述短包3和/或长包4。
具体地,参考图5,所述数据传输方法可以包括如下步骤:
步骤S201,使用所述串行总线接收至少一个数据包,所述数据包为长包或短包,所述长包和短包具有不同的数据长度;
步骤S202,解包接收到的所述至少一个数据包,以获取传输的数据。
本领域技术人员理解,所述步骤S201至步骤S202可以视为与上述图2至图4所示实施例所述步骤S101至步骤S102相呼应的执行步骤,两者在具体的实现原理和逻辑上是相辅相成的。因而,本实施例中涉及名词的解释可以参考图2至图4所示实施例的相关描述,这里不再赘述。
进一步地,在所述步骤S202中,可以作为数据接收端的所述第一接口单元114所属应用处理器11内进行数据传输时的标准数据格式,或者作为数据接收端的所述第二接口单元123所属所述调职解调器12内进行数据传输时的标准数据格式,对接收到的所述至少一个数据包进行解包处理。并将接收到的所述至少一个数据包的数据格式转换为对应的标准数据格式。
在一个具体实施中,在执行所述步骤S202时或之后,本实施例所述数据传输方法还可以包括步骤:对于接收到的每一数据包,基于所述ECC纠错码对所述数据包进行校验;若校验结果为出现一比特错误,则纠错;若校验结果为出现大于一比特的错误,则上报上层。
本申请发明人经过分析发现,现有的数据传输方案普遍采用循环冗余校验(Cyclic Redundancy Check,简称CRC)检错。虽然CRC可以很好地检查数据传输后有没有出错,但是CRC不能纠正数据错误。一旦发现数据出错后,现有技术方案普遍采用数据重传来补救。而重传不仅造成了很大的数据延时,而且实现也很复杂。
而在本实施例所述共享存储器场景中,传输的短包3和长包4选用了一比特纠错、两比特检错(SEC-DED ECC)模式。这样对于出现的一比特错误,数据接收端可以马上纠正,而不必重传。进一步,由于出现两比特或更多比特出错的概率已经很低,所以可以由上层处理。由此,使得通过串行总线14传输数据的低时延效果更为显著。
在一个变化例中,所述ECC纠错码可以替换为其他类型的纠错码,以供数据接收端校验。
图6是本发明实施例第三种串行总线的数据传输方法的流程图。
具体地,参考图6,本实施例所述串行总线14的数据传输方法可以包括如下步骤:
步骤S301,获取待传输的数据,并将所述数据打包为至少一个数据包,所述数据包的数据长度是可配置的,所述数据包中包含长度指示字段(Length)和至少一个数据包单元,所述长度指示字段用于指示所述数据包单元的数量;
步骤S302,使用所述串行总线传输所述至少一个数据包。
结合图1,当所述待传输的数据是由第一接口单元114传送至第二接口单元123时,所述步骤S301和步骤S302可以是由第一接口单元114执行的。反之,当所述待传输的数据是由第二接口单元123传送至第一接口单元114时,所述步骤S301和步骤S302可以是由第二接口单元123执行的。
由此,能够最大限度地提高传输效率。
具体而言,参考图7,本实施例所述数据长度可变的数据包5可以包括包头51和包体52。
所述包头51可以用于承载所述数据包5的传输信息。例如,与上述图2至图4所示实施例中的短包3和长包4相类似,所述包头51可以包括信道标识字段(ChID)以及CC指示字段。
所述包体52可以用于承载至少一个数据包单元521,图7中以Data0,Data1,…,Datan为例进行示例性展示。所述包头51还可以包括所述长度指示字段(Length),Length=n表示所述包体52承载的数据包单元521的数量为n个。
不同数据包单元521的数据长度可以是相同的,也可以是不相同的。例如,所述数据包5中每一数据包单元521的数据长度可以由配置(configuration)寄存器确定。
所述待传输的数据可以来自多个数据源,其中,同一数据包5内的至少一个数据包单元521可以来自相同的数据源,不同数据包5内的数据包单元521可以来自不同的数据源。也即,不同数据源的数据打包到不同的数据包5。
进一步地,传输所述数据包5时,在物理层,可以自所述数据包5的包头51开始,每单位数据长度打包得到一个传输块(block)53。换言之,在物理层的层面上,所述数据包5可以包括多个传输块53,每一传输块53的数据长度是固定的。而由于数据包5的数据长度是可配置的,因而不同数据包5包括的传输块53的数量可以是不相同的。
例如,所述单位数据长度可以为119比特。也即,自所述数据包5的包头51开始每119比特打一个包,这119比特可能没有包头51,甚至也可能打断某个数据包单元521。
进一步而言,还可能存在这样的情形,即前一数据包5的最后几个或最后一个数据包单元521的一部分可能与后一数据包5的包头51和/或至少一部分数据包单元521打包成一个传输块53。
在一个具体实施中,所述传输块53可以包括有效载荷531和纠错码532。其中,所述有效载荷531的数据长度为119比特。
在物理层,自所述数据包5的包头51开始每119比特打包得到所述传输块53的有效载荷531,然后再加上对应的纠错码532,从而形成所述传输块53。
例如,所述纠错码532可以为ECC纠错码。
在本实施例中,所采用的物理层传输块(block)长度为128比特。也即,所述传输块53的数据长度采用现有传输协议通用的128比特,其中有效载荷531的数据长度为119比特,用于传输数据,ECC纠错码532为9比特。
进一步地,所述至少一个数据包5可以是首尾相接地打包为一体。
图8是本发明实施例第四种串行总线的数据传输方法的流程图。
具体地,结合图1和图6,当第一接口单元114采用图6所示实施例所述方案打包数据并通过串行总线14传输时,作为数据接收端的第二接口单元123可以执行本实施例方案,以接收所述至少一个数据包5。反之,当第二接口单元123采用图2所示实施例所述方案打包数据并通过串行总线14传输时,作为数据接收端的第一接口单元114可以执行本实施例方案,以接收所述至少一个数据包5。
具体地,参考图8,所述数据传输方法可以包括如下步骤:
步骤S401,使用所述串行总线接收至少一个数据包,所述数据包的数据长度是可配置的,所述数据包中包含长度指示字段和至少一个数据包单元,所述长度指示字段用于指示所述数据包单元的数量;
步骤S402解包接收到的所述至少一个数据包,以获取传输的数据。
本领域技术人员理解,所述步骤S401至步骤S402可以视为与上述图6至图4所示实施例所述步骤S301至步骤S302相呼应的执行步骤,两者在具体的实现原理和逻辑上是相辅相成的。因而,本实施例中涉及名词的解释可以参考图6和图7所示实施例的相关描述,这里不再赘述。
进一步地,在所述步骤S402中,可以作为数据接收端的所述第一接口单元114所属应用处理器11内进行数据传输时的标准数据格式,或者作为数据接收端的所述第二接口单元123所属所述调职解调器12内进行数据传输时的标准数据格式,对接收到的所述至少一个数据包5进行解包处理。并将接收到的所述至少一个数据包5的数据格式转换为对应的标准数据格式。
在一个具体实施中,在执行所述步骤S402时或之后,本实施例所述数据传输方法还可以包括步骤:对于每一数据包5中的每一传输块53,基于所述传输块53中的ECC纠错码532对所述传输块53中包含的数据(承载于有效载荷531)进行校验;若校验结果为出现一比特错误,则纠错;若校验结果为出现大于一比特的错误,则上报上层。
本申请发明人经过分析发现,现有的数据传输方案普遍采用循环冗余校验(Cyclic Redundancy Check,简称CRC)检错。虽然CRC可以很好地检查数据传输后有没有出错,但是CRC不能纠正数据错误。一旦发现数据出错后,现有技术方案普遍采用数据重传来补救。而重传不仅造成了很大的数据延时,而且实现也很复杂。
而在本实施例所述共享存储器场景中,传输的数据包5选用了一比特纠错、两比特检错(SEC-DED ECC)模式。这样对于出现的一比特错误,数据接收端可以马上纠正,而不必重传。进一步,由于出现两比特或更多比特出错的概率已经很低,所以可以由上层处理。由此,使得通过串行总线14传输数据的低时延效果更为显著。
在一个变化例中,所述ECC纠错码可以替换为其他类型的纠错码,以供数据接收端校验。
在一个具体实施中,所述通信装置1还可以包括:附加共享模块(图未示),所述附加共享模块可以与所述应用处理器11耦接并通过所述应用处理器11间接访问所述共享存储模块13。
例如,所述附加共享模块可以为片外加速器。
又例如,所述附加共享模块还可以为嵌入式神经网络处理器(Neural-networkProcessing Unit,简称NPU)。
也即,本实施例所述共享存储器的方案,不仅适用于应用处理器11与调制解调器12共享所述共享存储模块13的场景,还可以适用于更多个系统共享所述共享存储模块13的场景。
进一步,在基于上述图1至图8所示多个芯片(如应用处理器11和调制解调器12)共享外部存储器(如所述共享存储模块13)方案的基础上,为解决外部存储器的高延迟与调制解调器12的实时性需求之间的冲突,本实施例方案还提供一种改进的调制解调器,旨在解决外部存储器的访问延迟过大,严重约束系统实时性能需求的问题。
具体而言,通过分析外部存储器(如所述共享存储模块13)的访问模式及调制解调器12的功能模块(如MCU和硬件加速器)的访问特点,提升访问延迟性能。进而改善与缓存未命中相关的共享存储模块13访问,改善未缓存的共享存储模块13访问。
在一个具体实施中,参考图9,调制解调器6可以包括:缓存模块62,用于缓存所述调制解调器6访问过的数据。
进一步,所述调制解调器6还可以包括功能模块61,所述缓存模块62缓存的是所述功能模块61访问过的数据。
进一步,所述调制解调器6可以与外部处理器件(图9未示)耦接,所述功能模块61通过所述外部处理器件间接访问共享存储模块13以获取数据,所述外部处理器件与所述共享存储模块13耦接并可直接访问所述共享存储模块13。
由此,通过在调制解调器6内部增设缓存模块62的方式,缓存各功能模块61访问过的数据,以降低调制解调器6访问共享存储模块13的频率。由此,能够在外部存储器的高延迟与调制解调器的实时性需求之间更好的取得平衡。
进一步,本实施例所述调制解调器6可以应用于图1所示共享存储器场景,如图1示出的调制解调器12可以采用本实施例所述调制解调器6的具体结构。相应的,所述外部处理器件即为图1示出的应用处理器11。
在一个具体实施中,所述功能模块61可以包括微控制单元(MicrocontrollerUnit,简称MCU)。进一步,所述MCU可以包括多个子单元,如图中处理器集群#1至处理器集群#N所示,N大于等于1。
在一个具体实施中,所述功能模块61可以包括硬件加速器。与MCU相类似,所述硬件加速器也可以包括多个子单元,如图中硬件加速器#1至硬件加速器#M所示,M大于等于1。
在一个具体实施中,读数据时,所述调制解调器6中的任一功能模块61读取数据时,可以先读取所述缓存模块62,如果命中就返回读取结果,如果未命中就继续通过所述应用处理器11访问所述共享存储模块13。
进一步地,所述缓存模块62缓存的可以是所述调制解调器6的功能模块61历史上高频访问的数据。
例如,通过仿真或实验等方式统计分析功能模块61历史上在共享存储模块13的访问结果,根据频度和访问的数据量大小等综合分析所述功能模块61历史上高频访问的数据。并将这些数据预先缓存至所述缓存模块62供功能模块61访问。
为进一步优化数据传输效率,缓存到缓存模块62的可以是所述调制解调器6的功能模块61历史上高频访问且数据量较小的数据。
在一个具体实施中,所述缓存模块62可以包括多个第一缓存子模块621,不同的第一缓存子模块621可以对应不同的功能模块61。
例如,每一处理器集群可以各自配置对应的第一缓存子模块621。
又例如,每一硬件加速器也可以各自配置对应的第一缓存子模块621。
对于每一所述功能模块61,所述功能模块61读取数据时,先读取相对应的所述第一缓存子模块621,如果命中就返回读取结果,如果未命中就继续通过所述应用处理器11访问所述共享存储模块13。
以处理器集群#1为例,所述处理器集群#1读取数据时,先读取与其相对应的第一缓存子模块621,如果命中就返回读取结果,如果未命中就继续通过所述应用处理器11访问所述共享存储模块13。
相应的,对于处理器集群#1通过所述应用处理器11访问所述共享存储模块13获取的数据,可以将该数据缓存到所述处理器集群#1对应的第一缓存子模块621,以备后用。
在一个具体实施中,所述缓存模块62还可以包括第二缓存子模块622,所述第二缓存子模块622可以对应多个功能模块61。
例如,所述第二缓存子模块622可以与所述调制解调器6内的总线63耦接,以缓存总线63上传输的数据。其中,所述总线63可以是图1中的第二总线121。
相应的,对于每一所述功能模块61,所述功能模块61读取数据时,先读取相对应的第一缓存子模块621,如果命中就返回读取结果,如果未命中就读取所述第二缓存子模块622,如果仍未命中就继续通过所述应用处理器11访问所述共享存储模块13。
以硬件加速器#1为例,所述硬件加速器#1读取数据时,先读取与其相对应的第一缓存子模块621,如果命中就返回读取结果,如果未命中就读取所述第二缓存子模块622,如果仍未命中就继续通过所述应用处理器11访问所述共享存储模块13。
相应的,对于硬件加速器#1通过所述应用处理器11访问所述共享存储模块13获取的数据,可以将该数据优先缓存到所述硬件加速器#1对应的第一缓存子模块621,以备后用。但是,如果此时所述硬件加速器#1对应的第一缓存子模块621已满,则可以将所述数据缓存到所述第二缓存子模块622。
在一个具体实施中,所述第二缓存子模块622可以与用于连接调制解调器6与外部处理器件之间的串行总线的接口单元直接耦接。例如,第二缓存子模块622可以与图1中的第二接口单元123耦接,以缓存第二接口单元123接收到的数据。
在一个具体实施中,处理器集群可以包括一致性接口,用于实现第一缓存子模块621、第二缓存子模块622与共享存储模块13之间的内存一致性管理。
在一个具体实施中,所述第一缓存子模块621可以优先缓存相对应的功能模块61访问过的数据。进一步,若第一缓存子模块621已满,再将第一缓存子模块621对应的功能模块61访问过的数据缓存到第二缓存子模块622。
在一个具体实施中,所述第二缓存子模块622可以优先缓存所述调制解调器6的功能模块61历史上高频访问的数据。例如,对于预缓存的数据,可以优先放到公共缓存空间(即第二缓存子模块622),以备后用。
在一个具体实施中,各第一缓存子模块621和第二缓存子模块622的数量以及大小,可以是根据对相对应的功能模块61以及调制解调器6整体访问共享存储模块13的统计结果来划分确定的。也即,各第一缓存子模块621和第二缓存子模块622的大小是可以灵活调整(Size Tuning)的。
进一步,针对访问需求较高的功能模块61,可以针对性的分配较大的第一缓存子模块621。或者,针对该功能模块61临时分配多个第一缓存子模块621,以充分利用调制解调器6的缓存空间。
在一个具体实施中,所述第二缓存子模块622的容量可以大于所述第一缓存子模块621的容量。进一步,所述第二缓存子模块622对延迟性能要求可以略低于所述第一缓存子模块621对延迟性能的要求。
在一个具体实施中,所述第一缓存子模块621可以是L1级随机存取存储器(RandomAccess Memory,简称RAM)。所述第二缓存子模块622可以是比较低级但容量大的RAM。
或者,所述第一缓存子模块621也可以是L2级RAM。
在一个具体实施中,所述调制解调器6本身可以配置传统的缓存(Cache)64。本实施例方案为改善外部存储器(如共享存储模块13)的访问延迟性能,在调制解调器6中额外配置适量的缓存模块62(如RAM)来降低访问数据量较少但频度较高的数据的外部访问需求。
具体而言,MCU里除配置传统的缓存(Cache)之外,额外配置一部分第一缓存子模块621。
类似的,硬件加速器里,也可以根据需求配置一部分第一缓存子模块621。
类似的,总线63也可以外置部分第二缓存子模块622(RAM和Cache)。
本实施例方案可以广泛适用于各类外部存储器,用于改善访问延迟性能。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (10)

1.一种调制解调器,其特征在于,包括:
功能模块;
缓存模块,用于缓存所述功能模块访问过的数据;
其中,所述调制解调器与外部处理器件耦接,所述功能模块通过所述外部处理器件间接访问共享存储模块以获取数据,所述外部处理器件与所述共享存储模块耦接并可直接访问所述共享存储模块。
2.根据权利要求1所述的调制解调器,其特征在于,所述调制解调器读取数据时,先读取所述缓存模块,如果命中就返回读取结果,如果未命中就继续通过所述外部处理器件访问所述共享存储模块。
3.根据权利要求1所述的调制解调器,其特征在于,所述缓存模块缓存的是所述功能模块历史上高频访问的数据。
4.根据权利要求1所述的调制解调器,其特征在于,所述缓存模块包括多个第一缓存子模块,所述功能模块的数量为多个,不同的第一缓存子模块对应不同的功能模块,
对于每一所述功能模块,所述功能模块读取数据时,先读取相对应的所述第一缓存子模块,如果命中就返回读取结果,如果未命中就继续通过所述外部处理器件访问所述共享存储模块。
5.根据权利要求4所述的调制解调器,其特征在于,所述缓存模块还包括第二缓存子模块,所述第二缓存子模块对应多个功能模块,
对于每一所述功能模块,所述功能模块读取数据时,先读取相对应的第一缓存子模块,如果命中就返回读取结果,如果未命中就读取所述第二缓存子模块,如果仍未命中就继续通过所述外部处理器件访问所述共享存储模块。
6.根据权利要求5所述的调制解调器,其特征在于,所述调制解调器包括:接口单元,用于与所述外部处理器件基于串行总线相通信,其中,所述第二缓存子模块与所述接口单元直接耦接。
7.根据权利要求5所述的调制解调器,其特征在于,所述第一缓存子模块优先缓存相对应的功能模块访问过的数据,所述第二缓存子模块优先缓存所述调制解调器历史上高频访问的数据。
8.根据权利要求1所述的调制解调器,其特征在于,所述功能模块选自:MCU以及硬件加速器。
9.根据权利要求1所述的调制解调器,其特征在于,所述外部处理器件为应用处理器。
10.一种通信装置,其特征在于,包括:
应用处理器;
上述权利要求1至9中任一项所述的调制解调器;
共享存储模块,所述应用处理器与所述共享存储模块耦接并可直接访问所述共享存储模块,所述调制解调器与所述应用处理器耦接并通过所述应用处理器间接访问所述共享存储器。
CN202010307194.5A 2020-04-17 2020-04-17 一种调制解调器以及通信装置 Active CN111541823B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010307194.5A CN111541823B (zh) 2020-04-17 2020-04-17 一种调制解调器以及通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010307194.5A CN111541823B (zh) 2020-04-17 2020-04-17 一种调制解调器以及通信装置

Publications (2)

Publication Number Publication Date
CN111541823A true CN111541823A (zh) 2020-08-14
CN111541823B CN111541823B (zh) 2022-04-19

Family

ID=71978735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010307194.5A Active CN111541823B (zh) 2020-04-17 2020-04-17 一种调制解调器以及通信装置

Country Status (1)

Country Link
CN (1) CN111541823B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021208734A1 (zh) * 2020-04-17 2021-10-21 展讯通信(上海)有限公司 一种串行总线的数据传输方法及通信装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1619524A (zh) * 2003-09-20 2005-05-25 三星电子株式会社 具有共享本地存储器的通信装置和方法
CN101354641A (zh) * 2008-08-20 2009-01-28 炬力集成电路设计有限公司 一种外部存储器的访问控制方法及访问控制装置
CN101604252A (zh) * 2009-07-10 2009-12-16 深圳华为通信技术有限公司 多处理器系统以及多处理器系统启动方法
CN102646073A (zh) * 2012-04-28 2012-08-22 华为技术有限公司 数据处理方法及装置
US20120233411A1 (en) * 2011-03-07 2012-09-13 Pohlack Martin T Protecting Large Objects Within an Advanced Synchronization Facility
US20130179527A1 (en) * 2012-01-11 2013-07-11 Renesas Mobile Corporation Application Engine Module, Modem Module, Wireless Device and Method
US20150161049A1 (en) * 2013-12-10 2015-06-11 Qualcomm Incorporated System and method for state-driven dynamic cache memory configuration for modems in a portable computing device
CN104838366A (zh) * 2012-12-07 2015-08-12 三星电子株式会社 用于处理数据的装置和电路

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1619524A (zh) * 2003-09-20 2005-05-25 三星电子株式会社 具有共享本地存储器的通信装置和方法
CN101354641A (zh) * 2008-08-20 2009-01-28 炬力集成电路设计有限公司 一种外部存储器的访问控制方法及访问控制装置
CN101604252A (zh) * 2009-07-10 2009-12-16 深圳华为通信技术有限公司 多处理器系统以及多处理器系统启动方法
US20120233411A1 (en) * 2011-03-07 2012-09-13 Pohlack Martin T Protecting Large Objects Within an Advanced Synchronization Facility
US20130179527A1 (en) * 2012-01-11 2013-07-11 Renesas Mobile Corporation Application Engine Module, Modem Module, Wireless Device and Method
CN102646073A (zh) * 2012-04-28 2012-08-22 华为技术有限公司 数据处理方法及装置
CN104838366A (zh) * 2012-12-07 2015-08-12 三星电子株式会社 用于处理数据的装置和电路
US20150161049A1 (en) * 2013-12-10 2015-06-11 Qualcomm Incorporated System and method for state-driven dynamic cache memory configuration for modems in a portable computing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021208734A1 (zh) * 2020-04-17 2021-10-21 展讯通信(上海)有限公司 一种串行总线的数据传输方法及通信装置

Also Published As

Publication number Publication date
CN111541823B (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
CN111541518A (zh) 一种串行总线的数据传输方法及通信装置
CN111427832B (zh) 一种串行总线的数据传输方法及通信装置
US11934261B2 (en) Flit-based parallel-forward error correction and parity
KR101796413B1 (ko) 스케일러블 메모리 시스템 프로토콜 내에서 패킷 송신들을 재배열하기 위한 시스템들 및 방법
CN111327603B (zh) 数据传输方法、装置和系统
EP1980952B1 (en) Methods and apparatus for high speed data processing by a user equipment UE
US11539623B2 (en) Single field for encoding multiple elements
US11412075B2 (en) Multiple protocol header processing
US20050034045A1 (en) System for optimizing PCI-Express communications
US8335867B1 (en) Method and apparatus for reducing host processor activity during interaction with peripheral devices
US10127184B2 (en) Low overheard high throughput solution for point-to-point link
CN111541823B (zh) 一种调制解调器以及通信装置
CN111541519B (zh) 一种通信装置
US11698791B2 (en) On-demand programmable atomic kernel loading
US11782636B2 (en) Method for data processing of an interconnection protocol to support multiple lanes, controller, and storage device
US11379365B2 (en) Memory access bounds checking for a programmable atomic operator
US20060015774A1 (en) System and method for transmitting data in storage controllers
TWI811396B (zh) 與記憶體裝置通訊的資料處理裝置以及與記憶體裝置通訊的方法
US20120166686A1 (en) Method, apparatus and system for aggregating interrupts of a data transfer
CN114157401B (zh) 一种支持长短两种报文格式的重传缓冲装置
CN113726755B (zh) 一种slip协议数据的处理方法
CN1265586C (zh) 一种城域传输设备中实现精简通用千兆接口的装置
CN117675101A (zh) 数据传输方法、装置、系统及计算机可读存储介质

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