一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于射频设备的模块内串行通信接口的制作方法

2022-04-16 21:34:55 来源:中国专利 TAG:

用于射频设备的模块内串行通信接口
1.相关申请的交叉引用
2.本技术要求于2020年8月26日在美国专利商标局提交的非临时申请序列号17/003,724和于2019年9月12日在美国专利商标局提交的临时专利申请序列号62/899,223的优先权和权益,这些申请的内容并入本文,如同在下文中完整阐述并且用于所有适用目的。
技术领域
3.本公开总体上涉及共享串行总线之上的串行通信,并且更具体地涉及可以支持射频设备操作的高速低时延串行总线。


背景技术:

4.移动通信设备可以包括各种组件,包括电路板、集成电路(ic)器件和/或片上系统(soc)器件。该组件可以包括处理电路、用户接口组件、存储装置和通过串行总线通信的其他外围组件。串行总线可以根据标准化或专有协议进行操作。在一个示例中,串行总线根据内部集成电路(i2c总线或i2c)进行操作。i2c总线被开发用于将低速外围设备连接到处理器,其中i2c总线被配置为多点总线。两线i2c总线包括承载数据信号的串行数据线(sda)和承载时钟信号的串行时钟线(scl)。
5.串行总线可以采用多主机协议,其中一个或多个设备可以用作在串行总线上传输的不同消息的主机和从机。在一个示例中,改进的集成电路间(i3c)协议可以用于控制串行总线上的操作。i3c协议由移动行业处理器接口(mipi)联盟定义,并且从i2c协议中导出某些实现方面。在另一示例中,由联盟定义的射频前端(rffe)接口提供了用于控制各种射频(rf)前端设备的通信接口,包括功率放大器(pa)、低噪声放大器(lna)、天线调谐器、滤波器、传感器、电源管理设备、开关等。这些器件可以并置在单个ic器件中,或者设置在多个ic器件中。在移动通信设备中,多个天线和无线电收发机可以支持多个并发rf链路。在另一示例中,由mipi联盟定义的系统电源管理接口(spmi)提供了可以在基带或应用处理器与外围组件之间实现的硬件接口。在一些实现中,系统采用spmi来支持设备内的电源管理操作。
6.在很多情况下,可以提供多点串行总线来支持高优先级低时延通信和低优先级通信的组合。当耦合到串行总线的多个设备同时处于活动状态并且试图获取总线访问以用于传输发起时,时延可能会受到不利影响。降级的时延可能导致无法满足某些应用性能限制。随着移动通信设备继续包括更高级别的功能,需要改进的串行通信技术来适应高优先级低时延功能。


技术实现要素:

7.本公开的某些方面涉及可以缓解多用途多点串行总线上的拥塞的系统、装置、方法和技术。从设备可以配备有定序器逻辑,该定序器逻辑可以被配置为通过自动生成访问一个或多个下游设备中的多个寄存器和/或发起下游设备中的动作的命令序列来扩展从常规多点串行总线接收的短命令。
8.在本公开的各个方面,一种在耦合到串行总线的从设备处执行的数据通信方法包括:通过第一接口电路与总线主机通信,第一接口电路被配置为将从设备耦合到主串行总线,通过第二接口电路与一个或多个下游设备通信,第二接口电路被配置为将从设备耦合到多个辅串行总线,以及通过发起预配置序列的执行来对从主串行总线接收的第一命令进行响应,预配置序列引起命令序列通过第二接口电路被传输。命令序列可以被配置为访问至少一个下游设备中的寄存器。
9.在一个方面,命令序列包括寻址到第一下游设备中的寄存器的第一命令和寻址到第二下游设备中的寄存器的第二命令,第一下游设备被耦合到第一辅串行总线,第二下游设备被耦合到第二辅串行总线。在一些情况下,命令序列包括寄存器写入命令、寄存器屏蔽写入命令或寄存器读取命令。在一些情况下,命令序列包括触发屏蔽写入命令或触发命令。
10.在一个方面,第一串行总线协议用于在主串行总线之上以第一数据速率传输数据,并且第二串行总线协议可以用于在多个辅串行总线之上以大于第一数据速率的第二数据速率传输数据。在一个示例中,主串行总线根据rffe协议进行操作。
11.在某些方面,该方法包括:从主串行总线接收第二命令,以及响应于第二命令而发起第三命令在多个辅串行总线中的一个辅串行总线之上的传输。第三命令的传输可以在第二命令被接收的同时开始。该方法可以包括:根据在第二命令中传输的命令代码确定第二命令的类型,以及在确定第二命令的类型之后并且在第二命令的地址信息已被完全接收到之前开始第三命令的传输。
12.在某些方面,该方法包括管理多个辅串行总线之上的通信,以及在第一命令被完全接收到之前使用第一命令的内容从一个或多个预配置序列中选择预配置序列。多个辅串行总线中的每个辅串行总线可以被配置为点对点串行链路。
13.在本公开的各个方面,一种数据通信装置具有:被配置为将数据通信装置耦合到主串行总线的第一接口电路、被配置为将数据通信装置耦合到多个辅串行总线的第二接口电路、以及被配置为通过发起预配置序列的执行来对从主串行总线接收的第一命令的定序器进行响应,预配置序列引起命令序列通过第二接口电路被传输。命令序列可以被配置为或被选择以访问耦合到辅串行总线中的一个辅串行总线的至少一个设备中的寄存器。数据通信装置可以被配置为作为从设备进行操作。
14.在本公开的各个方面,一种数据通信装置具有:被配置为将数据通信装置耦合到主串行总线的用于通过第一接口电路与总线主机通信的模块、被配置为将数据通信装置耦合到多个辅串行总线的用于通过第二接口电路与一个或多个下游设备通信的模块、以及用于执行预配置序列的模块,预配置序列引起命令序列通过第二接口电路被传输。预配置序列可以响应于从主串行总线接收的第一命令而被执行。命令序列可以被配置为访问一个或多个下游设备中的寄存器。数据通信装置可以被配置为作为从设备进行操作。
15.在本公开的各个方面,一种处理器可读存储介质存储或维护用于以下操作的代码:通过第一接口电路与总线主机通信,第一接口电路被配置为将从设备耦合到主串行总线,通过第二接口电路与一个或多个下游设备通信,第二接口电路被配置为将从设备耦合到多个辅串行总线,以及通过发起预配置序列的执行来对从主串行总线接收的第一命令进行响应,预配置序列引起命令序列通过第二接口电路被传输。命令序列可以被配置为访问至少一个下游设备中的寄存器。
16.在一些示例中,命令序列包括寻址到第一下游设备中的寄存器的第一命令和寻址到第二下游设备中的寄存器的第二命令,第一下游设备被耦合到第一辅串行总线,第二下游设备被耦合到第二辅串行总线。命令序列可以包括寄存器写入命令、寄存器屏蔽写入命令或寄存器读取命令。命令序列可以包括触发屏蔽写入命令或触发命令。
17.在一些示例中,第一串行总线协议用于在主串行总线之上以第一数据速率传输数据,并且第二串行总线协议可以用于在多个辅串行总线之上以大于第一数据速率的第二数据速率传输数据。在某些情况下,主串行总线根据rffe协议进行操作。
18.在一些示例中,从设备可以从主串行总线接收第二命令并且可以响应于第二命令而发起第三命令在多个辅串行总线中的一个辅串行总线之上的传输。第三命令的传输可以在第二命令被接收到的同时开始。在一些示例中,从设备可以根据在第二命令中传输的命令代码确定第二命令的类型,并且可以在确定第二命令的类型之后并且在第二命令的地址信息已被完全接收到之前开始第三命令的传输。
19.在一些示例中,从设备可以管理多个辅串行总线之上的通信。从设备可以在第一命令已被完全接收到之前使用第一命令的内容从一个或多个预配置序列中选择预配置序列。多个辅串行总线中的每个辅串行总线可以被配置为点对点串行链路。
附图说明
20.图1示出了在ic设备之间采用数据链路并且根据标准或专有协议选择性地操作的装置。
21.图2示出了在ic器件之间采用数据链路的装置的系统架构。
22.图3包括示出当串行总线以由i3c规范定义的单数据速率(sdr)操作模式操作时串行总线上的信令的时序图。
23.图4示出了包括被配置为根据spmi协议进行操作的两线串行总线的数据通信链路的系统。
24.图5示出了用于使用多个rffe总线耦合各种射频前端设备的设备配置。
25.图6示出了由rffe和/或spmi协议定义的数据报结构。
26.图7示出了采用根据本文中公开的某些方面而适配的串行总线协议的系统。
27.图8示出了根据本文中公开的某些方面而适配的串行总线协议的命令结构的示例。
28.图9示出了根据本文中公开的某些方面的触发器的致动。
29.图10示出了由根据本文中公开的某些方面而适配的串行总线协议定义的触发相关命令。
30.图11示出了由根据本文中公开的某些方面而适配的串行总线协议定义的功率模式命令。
31.图12示出了由根据本文中公开的某些方面而适配的串行总线协议定义的读取/写入命令。
32.图13示出了使用根据本文中公开的某些方面而适配的串行总线协议的直通事务的示例。
33.图14示出了采用可以根据本文中公开的某些方面而适配的处理电路的装置的一
个示例。
34.图15是示出根据本文中公开的某些方面的可以由耦合到串行总线的从设备执行的方法的流程图。
35.图16示出了根据本文中公开的某些方面而适配的装置的硬件实现的第一示例。
具体实施方式
36.下面结合附图阐述的详细描述旨在作为对各种配置的描述,而非旨在表示可以在其中实践本文中描述的概念的唯一配置。详细描述包括用于提供对各种概念的透彻理解的特定细节。然而,对于本领域技术人员很清楚的是,可以在没有这些具体细节的情况下实践这些概念。在某些情况下,众所周知的结构和组件以框图形式示出以避免混淆这样的概念。
37.现在将参考各种装置和方法来呈现本发明的若干方面。这些装置和方法将在以下详细描述中进行描述,并且在附图中通过各种块、模块、组件、电路、步骤、过程、算法等(统称为“元素”)进行说明。这些元素可以使用电子硬件、计算机软件或其任何组合来实现。这样的元素实现为硬件还是软件取决于特定应用和对整个系统施加的设计约束。
38.概述
39.包括多个soc和其他ic器件的设备通常采用共享通信接口,该共享通信接口可以包括用于将处理器与调制解调器和其他外围设备连接的串行总线或其他数据通信链路。串行总线或其他数据通信链路可以根据定义的多个标准或协议进行操作。例如,串行总线可以根据i2c、i3c、spmi和/或rffe协议或其他协议进行操作。串行总线可以被配置用于半双工操作。串行总线利用率的提高和/或为支持应用、外围设备和传感器而施加更严格的时序约束可能会导致对降低传输时延的需求。传输时延可以包括终止串行总线上正在进行的事务、总线周转(在传输模式与接收模式之间)、总线仲裁或由协议指定的命令传输所需要的时间。
40.高总线时延会限制串行总线在某些应用中的能力和功能。在一个示例中,总线时延考虑可能会限制可以通过i3c、rffe或spmi总线耦合的传感器的数目。例如,某些应用指定在事件发生之后和/或响应于中断而读取传感器信息的最大时延,并且可以指定读取多个传感器的时间限制。在另一示例中,总线时延考虑可能会限制可以通过i3c、rffe或spmi总线耦合的rf设备的数目。射频ic中的某些操作需要非常低时延的通信。例如,用于驱动多个天线的电路的配置和重新配置可能会生成针对多个射频组件的大量消息、命令和信令。在很多情况下,该消息可以包括将在由控制设备确定的时间应用的配置参数。与用于控制串行总线的某些协议相关联的通信开销也可能导致拥塞和时延增加。
41.rf技术的进步和通信设备中增加的能力的引入增加了对时延时间的压力。例如,部署无线电接入技术(诸如由第三代合作伙伴计划(3gpp)定义的5g新无线电技术和由电气和电子工程师协会(ieee)802.11工作组定义的802.11ax wlan标准)可能需要将常规总线时钟频率下的时延减少50%,增加了rffe总线架构的复杂性,并且增加了总线上业务拥塞的可能性。例如,rffe总线拥塞和时序瓶颈可能会加剧共存问题。增加的总线活动可能会增加rffe总线时序复杂的总线争用问题。当支持载波聚合时,总线争用事件可能会增加。
42.根据本文中公开的某些方面而实现的串行通信接口可以适于支持命令扩展。被配置为作为扩展器操作的设备从主串行总线接收短命令,并且通过在点对点辅串行接口之上
传输一个或多个命令来进行响应。在一个示例中,主串行总线根据通用或标准定义的协议进行操作。从主串行总线接收的短命令可以引起扩展器中的控制器或定序器执行序列,该序列引起多个命令通过点对点辅串行接口被传输到下游设备。扩展器可以使用预先配置的序列来使得系统能够执行复杂的操作,而无需考虑主串行总线的拥塞。辅串行接口可以使用针对时延和简单性而优化的协议来操作。例如,辅串行接口可以使用简化的数据报结构、最小化的协议开销来操作,和/或可以为某些下游设备提供专用通信链路。
43.在一个示例中,射频串行总线(rfsb)接口可以用于向多个rf设备提供低时延通信。为支持更新的无线电接入技术(包括第四代(4g)和第五代(5g)无线通信技术)而配置的rffe总线架构的复杂性增加可能会增加rffe总线上的业务拥塞的可能性。扩展器可以使用i2c协议、i3c协议、spmi协议和/或rffe协议或其他合适的协议耦合到主机。扩展器可以可操作以在主设备与从设备之间中继数据,从而可以实现某些从设备之间的高度同步。可以实现多个rfsb接口以使得rffe设备或其他低时延设备能够在严格的时间限制内进行通信,包括其中总线吞吐量、利用率和/或其他操作特性受到来自低时延从设备的需求的影响。
44.根据本公开的某些方面,一种适于实现rfsb协议的数据通信装置具有:被配置为将数据通信装置耦合到主串行总线的第一接口电路、被配置为将数据通信装置耦合到多个辅串行总线的第二接口电路、以及被配置为通过发起预配置序列的执行来对从主串行总线接收的第一命令的定序器进行响应,预配置序列引起命令序列通过第二接口电路被传输。命令序列可以被配置为或被选择以访问耦合到辅串行总线中的一个辅串行总线的至少一个设备中的寄存器。
45.采用串行数据链路的装置的示例
46.根据某些方面,串行数据链路可以用于互连作为装置的子组件的电子设备,诸如蜂窝电话、智能电话、会话发起协议(sip)电话、膝上型电脑、笔记本电脑、上网本、智能本、个人数字助理(pda)、卫星收音机、全球定位系统(gps)设备、智能家居设备、智能照明、多媒体设备、视频设备、数字音频播放器(例如,mp3播放器)、相机、游戏机、娱乐设备、车辆组件、可穿戴计算设备(例如,智能手表、健康或健身追踪器、眼镜等)、电器、传感器、安全设备、自动售货机、智能仪表、无人机、多轴飞行器或任何其他类似功能的设备。
47.图1示出了采用数据通信总线的装置100的示例。装置100可以包括soc、或具有多个电路或设备104、106和/或108的处理电路102,该多个电路或设备104、106和/或108可以在一个或多个asic中实现。在一个示例中,装置100可以作为通信设备进行操作,并且处理电路102可以包括设置在asic 104中的处理设备、一个或多个外围设备106、以及使得该装置能够通过天线124与无线电接入网、核心接入网、互联网和/或其他网络通信的收发机108。
48.asic 104可以具有一个或多个处理器112、一个或多个调制解调器110、板载存储器114、总线接口电路116、和/或其他逻辑电路或功能。处理电路102可以由操作系统控制,该操作系统可以提供应用程序编程接口(api)层,该api层使得一个或多个处理器112能够执行驻留在板载存储器114或设置在处理电路102上的其他处理器可读存储装置122中的软件模块。软件模块可以包括存储在板载存储器114或处理器可读存储装置122中的指令和数据。asic 104可以访问其板载存储器114、处理器可读存储装置122、和/或处理电路102外部的存储装置。板载存储器114、处理器可读存储装置122可以包括只读存储器(rom)或随机存
取存储器(ram)、电可擦除可编程rom(eeprom)、闪存卡、或者可以用于处理系统和计算平台的任何存储器设备。处理电路102可以包括、实现或能够访问本地数据库或其他参数存储装置,该本地数据库或其他参数存储装置可以维护用于配置和操作装置100和/或处理电路102的操作参数和其他信息。本地数据库可以使用寄存器、数据库模块、闪存、磁介质、eeprom、软或硬盘等实现。处理电路102还可以可操作地耦合到外部设备,诸如天线124、显示器126、操作者控件(诸如开关或按钮128、130或外部小键盘132)以及其他组件。用户接口模块可以被配置为通过专用通信链路或通过一个或多个串行数据互连与显示器126、外部小键盘132等一起操作。
49.处理电路102可以提供使得某些设备104、106和/或108能够通信的一个或多个总线118a、118b、120。在一个示例中,asic 104可以包括总线接口电路116,总线接口电路116包括电路、计数器、定时器、控制逻辑和其他可配置电路或模块的组合。在一个示例中,总线接口电路116可以被配置为根据标准定义的通信规范或协议进行操作。处理电路102可以包括或控制电源管理功能,该电源管理功能配置和管理装置100的操作。
50.图2示出了包括耦合到串行总线220的多个设备202和222
0-222n的装置200的某些方面。设备202和222
0-222n可以用一个或多个半导体ic器件实现,诸如应用处理器、soc或asic。在各种实现中,设备202和222
0-222n可以包括、支持或用作调制解调器、信号处理设备、显示驱动器、相机、用户接口、传感器、传感器控制器、媒体播放器、收发机、和/或其他这样的组件或设备。在一些示例中,从设备222
0-222n中的一个或多个可以用于控制、管理或监测传感器设备。串行总线220之上的设备202和222
0-222n之间的通信由总线主设备202控制。某些类型的总线可以支持多个总线主设备202。
51.在一个示例中,主设备202可以包括接口控制器204,接口控制器204管理对串行总线的访问,配置从设备222
0-222n的动态地址,和/或生成要在串行总线220的时钟线路218上传输的时钟信号228。主设备202可以包括配置寄存器206或其他存储装置224、以及被配置为处理协议和/或更高级别功能的其他控制逻辑212。控制逻辑212可以包括具有诸如状态机、定序器、信号处理器或通用处理器的处理设备的处理电路。主机202包括收发机210和线路驱动器/接收机214a和214b。收发机210可以包括接收机、发射机和公共电路,其中公共电路可以包括定时、逻辑和存储电路和/或设备。在一个示例中,发射机基于由时钟生成电路208提供的时钟信号228中的定时来编码和传输数据。其他定时时钟信号226可以由控制逻辑212和其他功能、电路或模块使用。
52.至少一个设备222
0-222n可以被配置为作为串行总线220上的从设备操作,并且可以包括支持显示器、图像传感器的电路和模块、和/或控制测量环境条件的一个或多个传感器并且与该传感器通信的电路和模块。在一个示例中,被配置为作为从设备操作的从设备2220可以提供控制功能、模块或电路232,该控制功能、模块或电路232包括支持显示器、图像传感器的电路和模块、和/或控制测量环境条件的一个或多个传感器并且与该传感器通信的电路和模块。从设备2220可以包括配置寄存器234或其他存储装置236、控制逻辑242、收发机240和线路驱动器/接收机244a和244b。控制逻辑242可以包括具有诸如状态机、定序器、信号处理器或通用处理器的处理设备的处理电路。收发机240可以包括接收机、发射机和公共电路,其中公共电路可以包括定时、逻辑和存储电路和/或设备。在一个示例中,发射机基于由时钟生成和/或恢复电路246提供的时钟信号248中的定时来编码和传输数据。时
钟信号248可以从来自时钟线218接收的信号中导出。其他定时时钟信号238可以由控制逻辑242和其他功能、电路或模块使用。
53.串行总线220可以根据rffe、i2c、i3c、spmi或其他协议来操作。在一些情况下,两个或更多个设备202、222
0-222n可以被配置为作为串行总线220上的总线主设备来操作。
54.在一些实现中,串行总线220可以根据i3c协议来操作。使用i3c协议进行通信的设备可以与使用i2c协议进行通信的设备在同一串行总线220上共存。i3c协议可以支持不同通信模式,包括与i2c协议兼容的单数据速率(sdr)模式。高数据速率(hdr)模式可以提供6兆比特每秒(mbps)到16mbps之间的数据传输速率,并且一些hdr模式可以提供更高数据传输速率。i2c协议可以符合事实上的i2c标准,以提供可以在100千比特每秒(kbps)到3.2mbps之间的范围内的数据速率。除了数据格式和总线控制方面之外,i2c和i3c协议可以为在2线串行总线220上传输的信号定义电气和定时方面。在一些方面,i2c和i3c协议可以定义影响与串行总线220相关联的某些信号电平的直流(dc)特性、和/或影响在串行总线220上传输的信号的某些定时方面的交流(ac)特性。在一些示例中,基于在串行总线220的时钟线218上传输的时钟信号中提供的时序信息,在串行总线220的数据线216上传输数据。在一些情况下,数据可以在信令状态中被编码,或在数据线216和时钟线218两者的信令状态的转变中被编码。
55.图3包括时序图300,时序图300示出了当串行总线以由i3c规范定义的单数据速率(sdr)操作模式进行操作时串行总线上的信令。在串行总线的第一线(数据线302)上传输的数据可以使用在串行总线的第二线(时钟线304)上传输的时钟信号来捕获。在数据传输期间,当时钟线304处于高电压电平时,数据线302的信令状态312预期保持恒定达脉冲314的持续时间。当时钟线304处于高电压电平时数据线302上的转变指示开始条件306、停止条件308或重复开始310。
56.在i3c串行总线上,定义开始条件306以允许当前总线主机发信号通知要传输的数据。当数据线302从高转变为低而时钟线304为高时,开始条件306发生。总线主机可以使用停止条件308发信号通知传输的完成和/或终止。当时钟线304为高的同时,数据线302从低转变为高时指示停止条件308。重复开始310可以由希望在第一传输完成时发起第二传输的总线主机传输。重复开始310取而代之被传输,并且具有停止条件308后面紧跟开始条件306的意义。在时钟线304为高电平的同时,在数据线302从高电平转变为低电平时重复开始310发生。
57.总线主机可以在传输从设备的广播地址或唯一地址、命令和/或数据之前传输诸如开始条件306或重复开始310等发起符322。图3示出了由总线主机进行的命令代码传输320。发起符322可以在传输中跟随有指示命令代码326将跟随的保留地址324。例如,命令代码326可以引起串行总线转变到期望的操作模式。在某些情况下,可以传输数据328。命令代码传输320可以由诸如停止条件308或重复开始310的终止符330结束。
58.某些串行总线接口支持提供更高数据速率的信令方案。在一个示例中,i3c规范定义了多种高数据速率(hdr)模式,包括高数据速率、双倍数据速率(hdr-ddr)模式,在hdr-ddr模式下,数据在时钟信号的上升沿和下降沿两者传输。
59.mipi联盟spmi协议和标准规定了可以在基带或应用处理器与外围组件之间实现的用于支持各种数据通信功能(包括与电源管理操作相关的数据通信)的硬件接口。图4示
出了包括两个数据通信链路410、412的系统400的示例,其中每个数据通信链路410、412被配置为根据spmi协议进行操作的两线串行总线。在一个示例中,第一数据通信链路410可以用于将应用处理器402的集成电源控制器与第一电源管理集成电路(pmic 406)中的电压调节系统连接,并且第二数据通信链路412可以用于将调制解调器4041的集成电源控制器与第二pmic 408中的电压调节系统连接。数据通信链路410、412可以用于准确地监测和控制给定工作负载或应用所需要的处理器性能水平,并且基于性能水平实时地动态地控制各种电源电压。数据通信链路410、412可以用于在应用处理器402与第一pmic 406之间和/或在调制解调器4041与第二pmic 408之间承载其他类型的数据。spmi数据通信链路可以实现为多点串行链路,该多点串行链路用于连接各种不同设备并且用于承载其他类型的数据。一些spmi数据通信链路可以针对实时电源管理功能进行优化。一些spmi数据通信链路可以用作共享总线,该共享总线为设备提供高速低时延连接,其中数据传输可以根据分配给不同业务类别的优先级来管理。
60.在图4所示的系统400中,应用处理器402可以用作各种数据通信链路410、412、422、424、多个外围设备404
1-404n以及一个或多个pmic 406上的主机设备。应用处理器402和调制解调器4041可以使用利用spmi主机414、418实现的电源管理接口耦合到相应pmic 406、408。spmi主机414、418与设置在pmic 406、408中的对应spmi从机416、420通信,以促进对pmic 406、408的实时控制。应用处理器402可以使用不同类型的数据通信链路422、424耦合到外围设备404
1-404n中的每个。例如,数据通信链路422、424可以根据诸如rffe、spmi、i3c协议等协议来操作。
61.图5示出了装置500的某些方面,该装置500包括耦合到各种rf前端设备518、520、522、524、526、528的多个rffe总线530、532、534。调制解调器502包括将调制解调器502耦合到第一rffe总线530的rffe接口508。调制解调器502可以通过一个或多个通信链路510、536与基带处理器506和射频ic(rfic 512)通信。所示装置500可以体现在以下中的一个或多个中:移动通信设备、移动电话、移动计算系统、移动电话、笔记本电脑、平板计算设备、无人机、电器、传感器、媒体播放器、游戏设备、可穿戴计算和/或通信设备、电器等。
62.在各种示例中,装置500可以用一个或多个基带处理器506、调制解调器504、rfic 512、多个通信链路510、536、多个rffe总线530、532、534和/或其他类型的总线来实现。装置500可以包括其他处理器、电路、模块,并且可以被配置用于各种操作和/或不同功能。在图5所示的示例中,调制解调器504通过其rffe接口508和第一rffe总线530耦合到rf调谐器518。rfic 512可以包括一个或多个rffe接口514、516、控制器、状态机和/或处理器,它们可以配置和控制rf前端的某些方面。rfic 512可以通过其rffe接口514中的第一rffe接口和第二rffe总线530与pa 520和功率跟踪模块522通信。rfic 512可以与开关524和一个或多个lna 526、528通信。
63.总线时延会影响串行总线处理高优先级、实时和/或其他时间受限消息的能力。低时延消息、或需要低总线时延的消息可以与传感器状态、设备生成的实时事件和虚拟化通用输入/输出(gpio)相关。在一个示例中,总线时延可以被测量为消息变得可用于传输与消息的传递或者在一些情况下消息的传输开始之间经过的时间。可以采用总线时延的其他度量。总线时延通常包括在传输较高优先级消息时发生的时延、中断处理、终止串行总线上正在处理的数据报所需要的时间、传输导致传输模式与接收模式之间的总线转换的命令的时
间、总线仲裁、和/或由协议指定的命令传输。
64.在某些示例中,时延敏感消息可以包括共存消息。共存消息在多系统平台中传输,以防止或减少某些设备类型相互影响的情况,包括例如开关524、lna 526、528、pa 520和其他类型的设备,它们以可以生成设备间干扰的方式同时操作,或者可能通过大功率电磁干扰对一个或多个有源设备造成损坏。可能相互干扰的设备可以交换共存管理(cxm)消息,以允许每个设备发信号通知可能导致干扰或冲突的即将发生的动作。cxm消息可以用于管理包括开关524、lna 526、528、pa 520和/或天线的共享组件的操作。
65.rffe、spmi和在多点串行总线之上提供通信的某些其他协议可以具有某些共同特征。在一个示例中,用于在多点串行总线之上传输命令、控制和数据有效载荷的数据报结构可能在协议之间表现出一些相似性。在其他示例中,在中断技术、地址分配过程、用于选择用于接收或传输数据的设备的地址、时钟生成和设备优先级的管理之间可能存在相似性。
66.图6示出了用于寄存器写入命令和扩展寄存器写入命令的数据报结构600、620。数据报结构600、620包括可能存在于由spmi和/或rffe协议定义的数据报结构中的某些元素。在一些情况下,数据报结构600、620可以用于将数据高效地写入根据spmi和/或rffe协议进行操作的从设备的可寻址寄存器地址范围内的寄存器。这些数据报结构600、620和由其他协议定义的类似或相当的数据报结构可以适于在根据本文中公开的某些方面而实现的系统中使用。数据报结构600、620开始于传输两位序列开始条件(ssc 602、622),随后是四位设备id 604、624。接下来传输九位命令字段606、626。在寄存器写入命令数据报结构600中,九位命令字段606包括三位命令代码612、五位地址字段614和奇偶校验位。在扩展寄存器写入命令数据报结构620中,九位命令字段606被八位命令代码和奇偶校验位占据,并且随后是地址字段628,地址字段628承载八位寄存器地址和奇偶校验位。在寄存器写入命令数据报结构600中,数据字段608承载单个数据字节,而在扩展寄存器写入命令数据报结构620中,数据字段630承载多达16个数据字节。每个数据字节与奇偶校验位一起传输。总线停放信令610、632终止数据报结构600、620。
67.虽然本文中公开的概念适用于各种串行总线协议和标准,但本文中经常使用rffe协议的示例来说明本公开的某些方面。无线通信技术的不断变化可能导致rffe接口的新配置和rffe总线架构的不断增加的复杂性。例如,这些类型的变化会增加在通信设备中提供的一个或多个rffe总线上的业务拥塞的可能性。例如,支持4g和5g无线通信技术共存的无线手机中可能会出现rffe总线拥塞和时序瓶颈。在某些实现中,对载波聚合(ca)的支持会因为增加的总线争用事件而增加rffe总线时序复杂度。例如,bom可能无法在为在5g网络中传送数据帧而定义的时间线内将大量设置动态传送到大量rffe设备,包括当5g网络的更多模式和指定行为的数目增加时。
68.本公开的某些方面涉及提供包括扩展器和/或定序器逻辑的从设备,该扩展器和/或定序器逻辑被配置为使得从设备能够从bom接收短命令,该短命令引起从设备访问一个或多个rf中的寄存器设备。扩展器和/或定序器逻辑可以被配置为响应于短命令而执行序列。在一个示例中,扩展器和/或定序器逻辑执行寄存器写入以配置一个或多个rf设备,而无需进一步涉及bom和/或无需使用将从设备耦合到bom的总线。扩展器和/或定序器逻辑可以引起从设备使用针对低时延通信而优化的串行数据链路协议来读取或写入rf设备中的寄存器。优化的串行总线在本文中可以称为射频串行总线(rfsb)协议,尽管rfsb协议可以
用于或适于在其他类型的系统中使用。例如,包括扩展器和/或定序器逻辑的从设备可以适于使用rfsb协议或其派生协议来控制、管理或服务多个传感器设备,以与传感器设备通信。
69.rfsb接口的使用的示例
70.图7示出了根据本文中公开的某些方面的采用rfsb协议的系统700的某些方面。在所示示例中,从设备704被配置为根据rffe协议在串行总线710之上进行通信。为方便起见,串行总线710可以称为主串行总线。在一些实现中,串行总线710可以根据spmi或i3c协议来操作。所示串行总线710是具有时钟线(sclk 712)和数据线(sdata 714)的两线总线。串行总线710可以对应于图2中的串行总线220、图4中的数据通信链路410、412、422、424中的一个或多个、和/或图5所示的rffe总线530、532、534。
71.从设备704可以包括总线接口716,总线接口716使得能够在串行总线710之上与bom设备702通信。总线接口716可以可配置用于与一个或多个协议一起使用并且可以用作串行总线710上的从设备。某些总线协议支持多主机配置,并且总线接口716可以可配置用于在某些情况下作为bom操作。当用作从设备时,总线接口716与当前bom设备702中的对应总线接口708通信。bom设备702可以被配置为管理和控制串行总线710之上的通信。
72.所示从设备704包括可以执行一个或多个预配置序列的定序器720。在一个示例中,预配置序列可以引起从设备704以配置或预定义顺序写入和/或读取一组寄存器。该组寄存器可以包括一个或多个rf设备706a、706b、706c、706d中的所选择的寄存器。定序器720可以使用组合逻辑、寄存器和/或触发器的配置来实现。在一个示例中,定序器720包括微控制器或其他通用处理设备。在另一示例中,定序器720包括可以可配置或可编程的一个或多个状态机。在另一示例中,定序器720包括可编程逻辑控制器或能够执行逻辑控制步骤序列的另一类型的逻辑。定序器720可以执行时间驱动和/或事件驱动序列。定序器720可以从本地提供的时钟信号中导出时间信息。在一些情况下,定序器720可以从在串行总线710的sclk 712上传输的时钟信号中获取时间信息。
73.从设备704可以通过一个或多个点对点串行总线730a、730b、730c、730d访问该组寄存器。为方便起见,点对点串行总线730a、730b、730c、730d可以称为辅串行总线。点对点串行总线730a、730b、730c、730d可以根据rfsb协议来操作。所示系统700中的每个点对点串行总线730a、730b、730c、730d包括时钟和数据线。从设备704包括总线接口718,总线接口718包括将从设备704耦合到点对点串行总线730a、730b、730c、730d的电路。总线接口718相对于rf设备706a、706b、706c、706d作为总线主设备进行操作。总线接口718可以根据rfsb协议管理通信。在一些情况下,点对点串行总线730a、730b、730c、730d可以根据i3c、rffe、spmi或其他协议来操作。
74.在一些实现中,rf设备706a、706b、706c、706d可以执行与图5所示的rf前端设备518、520、522、524、526、528相关联的功能中的一个或多个。在所示系统700中,rf设备706a、706b、706c、706d中的每个包括总线接口722a、722b、722c、722d,总线接口722a、722b、722c、722d使得能够在相应点对点串行总线730a、730b、730c、730d之上与从设备704通信。总线接口722a、722b、722c、722d可以可配置为与rfsb协议和/或一个或多个其他协议一起使用。每个总线接口722a、722b、722c、722d可以用作相应点对点串行总线730a、730b、730c、730d上的从设备。每个总线接口722a、722b、722c、722d与管理和控制点对点串行总线730a、730b、730c、730d之上的通信的从设备704的总线接口716通信。
75.在所示系统700中,rf设备706a、706b、706c、706d中的每个包括使用rfsb协议可寻址的一组寄存器724a、724b、724c、724d。从设备704可以使用由rfsb协议提供的命令读取和写入个体寄存器和/或读取或写入位于连续地址的一批寄存器。在一些实现中,寄存器724a、724b、724c、724d中的某些可以用于配置诸如传感器、rf电路和/或模拟电路726a、726b、726c、726d等组件。在一些实现中,寄存器724a、724b、724c、724d中的某些可以用于保持从传感器、rf电路和/或模拟电路726a、726b、726c、726d接收的状态信息或数据。
76.在操作的示例中,bom设备702可以向从设备704传输发起涉及rf设备706a、706b、706c、706d中的一个或多个的动作的命令。该命令可以引起定序器720执行寄存器访问序列,包括寄存器读取和寄存器写入访问。bom设备702不进一步参与该寄存器访问序列。在一个示例中,从设备704使用从bom设备702接收的命令的类型和/或内容来从多个预配置的序列中选择预配置序列来执行。该预配置序列在执行时可以包括或生成寄存器访问序列。
77.使用定序器720来执行寄存器访问序列会产生某些优点。例如,bom设备702可以通过在串行总线710之上传输单个命令来配置多个rf设备706a、706b、706c、706d,其中该命令可以是短命令。单个命令的使用可以减少繁忙的串行总线710上的业务,包括在经历不断增加的复杂性和业务的4g/5g无线通信设备中。从设备704可以使用定序器720通过在内部控制下执行寄存器编程序列来扩展由bom设备702传输的短命令,而无需串行总线710或bom设备702的参与。除了降低拥塞,当在串行总线710上观察到高拥塞或高时延时,配备有定序器720的从设备704可以提供改进的性能。
78.定序器720的使用可以降低rf模块的总功耗。串行总线730a、730b、730c、730d的操作所消耗的电流可以显著小于在单个rffe总线上进行相同操作所消耗的电流。耦合到rffe总线的每个接口提供的负载可以增加传输接口的电流驱动。根据本公开的某些方面,rfsb总线可以具有点对点架构并且可以最小化归因于每个寄存器读取或写入操作的电流消耗。
79.在一些实现中,配备有定序器720的从设备704可以被部署为集线器设备,该集线器设备接收bom命令并且将它们扩展为用于模块上的多个下游rf组件的一系列寄存器编程命令。rf组件可以包括pa、lna、滤波器、开关等。集线器可以解释和扩展从可以是调制解调器或应用处理器的bom设备702接收的命令,并且可以将命令扩展为下游rf设备706a、706b、706c、706d的寄存器设置。
80.在一些实现中,点对点串行总线730a、730b、730c、730d中的一个或多个可以根据i3c、rffe、spmi或其他通用串行总线协议来操作。当使用当前公开的rfsb协议将rf设备706a、706b、706c、706d耦合到配备有定序器720的从设备704时,可以获取时序效率、最小化的物理空间开销和简化的设计。用于控制点对点串行总线730a、730b、730c、730d的协议的选择可以基于系统700的配置来选择。例如,电路和组件的物理布局以及与另一串行总线的接近度可以指示应当使用哪种协议。在选择协议时也可以考虑rf设备706a、706b、706c、706d的能力。
81.本文中公开的rfsb协议可以在soc设备内和/或ic设备之间使用。例如,rfsb协议可以支持模块内通信(在单个rf模块内),并且可以支持rf模块之间的通信。根据本公开的某些方面,rfsb接口在部署在能够以比其他接口更快的数据速率或更快的有效数据速率操作的模块内通信中时提供优化和最小化的开销,其中有效数据速率考虑协议开销和/或总线拥堵的影响。rfsb接口可以使用比用于rffe接口的时钟速率更高频率的传输时钟速率。
在一个示例中,耦合bom设备702和从设备704的串行总线710可以根据rffe协议来操作,并且控制点对点串行总线730a、730b、730c、730d之上的通信的rfsb协议可以以比在串行总线710的sclk 712上传输的时钟信号的频率更高的时钟频率来操作,从而确保从bom设备702接收的命令可以被从设备704扩展并且及时传输到适当的rf设备706a、706b、706c、706d。
82.rfsb从设备使用简化的总线接口,该总线接口可以制造为具有比常规rffe从设备更小的区域占位面积,从而提供降低的设备成本开销。例如,rfsb从设备支持不太复杂的数据报结构和较少的命令。因为可以在rf模块中部署相对少量的rf设备706a、706b、706c、706d,所以可以减少地址开销。
83.本文中公开的rfsb协议可以提供定制的和高度优化的串行接口,该接口可以用于在配备有定序器720的从设备704与rf模块中的多个rf设备706a、706b、706c、706d之间进行通信。rf模块中的多个rf设备706a、706b、706c、706d的寄存器值可以通过根据rfsb协议进行操作的点对点串行接口从从设备704发送到rf设备706a、706b、706c、706d。发起bom设备702可以受益于显著减少的业务量,并且当仅向从设备704传输短命令而不是直接写入每个rf设备706a、706b、706c、706d的所有寄存器设置时,bom设备702可以经历减少的处理开销。rfsb协议的使用可以提供更高的速度、更低的实现成本和高效的rf模块编程时间线。从设备704可以本地编程,以允许更高程度的可配置性,同时减少与bom设备702相关联的总业务。
84.图8示出了根据本公开的某些方面而提供的rfsb协议的命令结构800的示例。在一方面,rfsb协议可以定义在具有时钟线(sbck802)和数据线(sbdata 804)的串行总线之上传输的命令结构和相关联的数据报结构。表820示出了符合命令结构800的命令的示例。在一个示例中,rfsb协议和命令结构800可以被配置为支持rf前端设备。在另一示例中,rfsb协议和命令结构800可以被配置为支持传感器网络。
85.表820定义了与命令代码822中的位设置相对应的部分命令集。在所示示例中,命令代码822具有6位值并且与奇偶校验位一起传输。某些命令与有效载荷824一起传输,有效载荷824可以承载数据、屏蔽和/或地址。为rfsb接口而定义的命令数目可以最小化和/或限制为基本命令。减少的命令集可以最小化从设备和/或rf设备中的通信和处理开销。相对于常规rffe命令和数据报结构,可以优化命令和数据报结构以最小化帧传输时间和每个事务传输的比特数。某些下游设备可以被配置为支持为rfsb协议而定义的命令的子集。
86.命令结构800示出了可以用最小化的传输时间传输的某些全局命令的格式。在所示示例中,使用12个时钟周期来传输全局命令。命令帧808在7个时钟周期内传输,其中5个时钟周期用于控制信令,包括ssc 806和总线停放(bp 812)。在bp 812传输期间,传输设备中的驱动器可以转变其输出以向sbdata 804呈现高阻抗,从而将sbdata 804释放到未驱动状态。
87.在所示rfsb协议中,命令帧808包括6位命令代码810和1位奇偶校验818。在该示例中,全局命令由命令代码810指示,命令代码810的三个最高有效位(msb 814)设置为逻辑0,并且其中三个最低有效位(c[2:0]816)定义命令。在一个示例中,全局命令包括:
[0088]
c[2:0]='b010:reset(pm_startup),其中所有寄存器包括三个内部功率模式寄存器,并且触发禁用寄存器被重置。
[0089]
c[2:0]='b011:reset_alt(udr_rst),其中用户定义的寄存器被重置,而不重置
功率模式寄存器和触发禁用寄存器。
[0090]
c[2:0]='b01?:地址位7的值,其中地址位7的值是为分页目的而定义的。
[0091]
可以定义用于全局命令的其他命令代码,并且可以保留一些命令代码用于用户定义的使用、应用特定的使用或将来使用。命令结构800示出了使用rfsb协议来支持rf前端操作的示例,尽管命令结构800可以在其他应用中使用。表820定义了附加命令,包括触发屏蔽命令、触发命令、功率模式命令、寄存器写入命令、寄存器屏蔽写入命令和寄存器读取命令。
[0092]
某些短命令由rfsb协议定义以管理和/或控制触发器。在一个示例中,触发器提供了一种用于rf前端控制的机制,从而可以使用某些触发器来协调不同前端组件的活动。触发器可以用于多种用途,包括波束控制或波束成形、增益设置、天线路径多路复用器控制等。在一些设备中,触发器可以在根据rffe协议进行操作的串行总线之上进行配置、激活和/或致动。在第一示例中,bom可以传输包括触发器配置的命令,该触发器配置包括与触发器相关联的动作,并且其中命令的接收引起触发器在接收时生效或被应用。在后一示例中,由命令配置的触发器可以称为自致动触发器。在第二示例中,bom传输配置一个或多个触发器的第一命令。该配置可以定义与配置的触发器相关联的动作并且可以激活一个或多个触发器。bom可以传输致动激活的触发器的第二命令。
[0093]
图9示出了图示激活的触发器的致动的方案900。在所示示例中,配置信息被接收作为多个数据字节902,该数据字节902可以存储在触发配置寄存器904中。触发配置寄存器904可以在串行总线之上进行的配置事务期间被写入,该串行总线可以根据rffe协议来操作。触发配置寄存器904的内容可以使用触发激活过程被转发到一个或多个目标寄存器。目标寄存器可以配置或控制一个或多个天线、接口、调制解调器、控制电路、处理器等。例如,存储在目标寄存器中的值的变化可以引起从设备中的电路生成信号、消息、中断或其他类型的事件。
[0094]
触发器激活逻辑906可以被配置为响应于从控制设备接收的触发命令或触发器致动信号910而使得触发器配置寄存器904的内容能够被传送到相应目标设备。在常规系统中,可以传输一个或多个触发致动命令以触发目标触发元件908的至少一部分的配置的激活。触发元件908可以包括开关、lna、pa和rf前端中并发操作的其他类型的设备。在一个示例中,触发致动传输可以配置屏蔽或门控逻辑,该屏蔽或门控逻辑确定在由触发致动信号910发起的致动期间哪些触发元件908将从触发配置寄存器904接收数据。
[0095]
图10示出了由rfsb协议定义的用于管理和/或控制触发器的短命令1000、1020。第一短命令1000被定义为触发屏蔽命令,该触发屏蔽命令可以用于设置或清除触发致动电路中的屏蔽位。触发屏蔽命令由ssc 1006发起,ssc 1006是使用时钟线(sbck 1002)和数据线(sbdata 1004)发信号通知的。命令帧1008携带6位命令代码('b001000),随后是奇偶校验位。屏蔽帧1010作为有效载荷被传输并且包括与奇偶校验位一起传输的3位屏蔽信息。触发屏蔽命令以总线停放信令(bp 1012)终止。
[0096]
第二短命令1020被定义为可以用于致动一个或多个触发器的触发命令。触发命令由ssc 1026发起,ssc 1026是使用时钟线(sbck 1022)和数据线(sbdata 1024)发信号通知的。命令帧1028承载3位命令代码1030(设置为'b011)、三个触发位1032、随后是奇偶校验位。触发命令以总线停放信令(bp 1034)终止。在一个示例中,rf设备响应于三个触发位1032中的一个或多个的值被设置为逻辑1而生成一个时钟周期选通作为触发信号。在该示
例中,当所有三个触发位1032都设置为逻辑0时,触发禁用模式被激活。当三个触发位1032中的任何一个设置为逻辑1时,触发禁用模式被禁用。对启用触发的用户定义寄存器的写入命令可以引起触发配置寄存器904和与触发元件908相对应的输出寄存器两者的自动更新。触发命令通常是对耦合到rfsb总线的所有rf设备起作用的全局命令。
[0097]
图11示出了由rfsb协议定义的用于管理和/或控制一个或多个rf设备中的功率模式的功率模式命令1100。功率模式命令1100是由ssc 1106发起的短命令,ssc 1106是使用时钟线(sbck 1102)和数据线(sbdata 1104)发信号通知的。命令帧1108携带3位命令代码1110(设置为'b010)、三个功率模式位1112、随后是奇偶校验位。触发命令以总线停放信令(bp 1114)终止。功率模式命令1100是对耦合到rfsb总线的所有rf设备起作用的全局命令。
[0098]
图12示出了由rfsb协议定义的用于读取或写入寄存器的长命令1200、1220、1240。图12中的第一长命令1200定义为寄存器写入命令,该寄存器写入命令可以用于配置存储在一个或多个寄存器中的值。寄存器写入命令是支持批量写入并且由ssc 1202发起的长命令。寄存器写入命令包括命令帧1204,命令帧1204承载3位命令代码('b100)和3位标识符1214、随后的奇偶校验位。有效载荷包括配置有寄存器地址的地址帧1206,该寄存器地址选择要写入的第一寄存器。有效载荷包括一个或多个数据帧1208、1210,该一个或多个数据帧1208、1210包括8位数据和奇偶校验位。寄存器写入命令以总线停放信令(bp 1212)终止。在所示示例中,未提供定义有效载荷中的数据的帧数(n)的字节计数。只要有要传输的有效数据帧,寄存器写入命令就会继续。第一数据帧1208被写入由地址帧1206标识的地址处的寄存器,并且在每次寄存器写入之后,地址递增(例如,值0x01)以指向要写入的下一寄存器。在一些实现中,地址不回绕,而是在地址0x7f处停止改变。如果有附加的有效数据帧可供传输,则地址0x7f处的寄存器将被重写。地址0x7f处的寄存器可以通过单个寄存器写入命令被无限期地更新。
[0099]
图12中的第二长命令1220被定义为寄存器屏蔽写入命令,该寄存器屏蔽写入命令可以用于配置存储在一个或多个寄存器中的值。寄存器屏蔽写入命令是支持批量写入并且由ssc 1222发起的长命令。寄存器屏蔽写入命令包括命令帧1224,命令帧1224承载3位命令代码('b101)和3位标识符1234、随后的奇偶校验位。有效载荷包括配置有寄存器地址的地址帧1226,该寄存器地址选择要写入的第一寄存器。有效载荷包括屏蔽帧1228,随后是数据帧1230,每个帧1228、1230包括8位信息和奇偶校验位。屏蔽帧1228包括定义目标寄存器的位是否将由数据帧1230的对应位写入的位。可以在有效载荷中承载多对屏蔽和数据帧。寄存器屏蔽写入命令以总线停放信令(bp 1232)终止。在所示示例中,未提供定义有效载荷中的数据的帧数的字节计数。只要有要传输的有效数据帧,寄存器屏蔽写入命令就会继续。第一数据帧1230中未被屏蔽帧1228的操作屏蔽的位被写入由地址帧1226标识的地址处的寄存器中的对应位,并且在每次寄存器写入后,地址递增0x01以指向要写入的下一寄存器。在一些实现中,地址不回绕,而是在地址0x7f处停止改变。如果有附加的有效数据帧可供传输,则地址0x7f的寄存器将被重写。地址0x7f处的寄存器可以通过单个寄存器屏蔽写入命令被无限期更新。
[0100]
图12中的第三长命令1240被定义为寄存器读取命令,该寄存器读取命令可以用于读取存储在已标识寄存器中的值。寄存器读取命令是由ssc 1242发起的长命令。寄存器读取命令包括命令帧1244,该命令帧1244承载3位命令代码('b100)和3位标识符1254、随后的
奇偶校验位。有效载荷包括配置有寄存器地址的地址帧1246,该寄存器地址选择要读取的寄存器。然后,发射机提供总线停放信令(bp 1248),在该信令中它释放数据线。在数据线被释放之后的时间1250,被寻址的rf设备激活其线驱动器并且传输数据帧1252,该数据帧1252包括要与奇偶校验位一起读取的寄存器的内容。当rf设备提供总线停放信令(bp 1256)时,寄存器读取命令终止。
[0101]
图13示出了直通事务的示例,其中由rffe bom传输的rffe命令由已经根据本文中公开的某些方面而适配的rffe从设备接收。当rffe事务正在进行时,rffe从设备可以发起利用下游rf设备的寄存器读取或写入事务。
[0102]
第一示例涉及rffe扩展寄存器写入命令1300,该rffe扩展寄存器写入命令1300引起由rffe从设备传输用于配置存储在一个或多个寄存器中的值的寄存器写入命令1320。rffe扩展寄存器写入命令1300由ssc 1302发起。传输设备标识符1304,随后是命令代码1306。地址帧1308标识要写入的第一寄存器。可以传输一个或多个数据帧1310、1312,并且rffe扩展寄存器写入命令1300以总线停放信令(bp 1314)终止。
[0103]
寄存器写入命令1320由ssc 1302在rffe扩展寄存器写入命令1300已经开始之后的时间点1316发起。在一个示例中,寄存器写入命令1320可以在已经从rffe bom接收到命令代码1306并且已经确定命令的性质之后被发起。rffe从设备可以传输ssc 1322,随后是命令帧1324,并且可以在地址帧1326中中继从rffe bom接收的地址帧1308的内容以选择要写入的第一寄存器。寄存器写入命令1320的有效载荷包括在rffe扩展寄存器写入命令1300中接收的一个或多个数据帧1328、1330。寄存器写入命令以总线停放信令(bp 1332)终止。
[0104]
第二示例涉及调试模式rffe扩展寄存器读取命令1340,该调试模式rffe扩展寄存器读取命令1340引起由rffe从设备传输用于读取存储在rf设备的寄存器中的值的寄存器读取命令1360。rffe扩展寄存器读取命令1340由ssc 1342发起。传输设备标识符1344,随后是命令代码1346。地址帧1348和1350标识要写入的第一寄存器。然后,bom提供总线停放信令(bp 1352),以指示数据线的释放。在数据线被释放之后的时间1354,被寻址的rffe从设备激活其线驱动器并且传输包括从目标rf设备读取的寄存器内容的数据帧1356。当rffe从设备提供总线停放信令(bp 1358)时,寄存器读取命令终止。
[0105]
寄存器读取命令1360可以用于读取存储在由rffe扩展寄存器读取命令1340中的地址帧1348和1350标识的寄存器中的值。寄存器读取命令由在rffe扩展寄存器读取命令1340开始之后的时间点1380提供的ssc 1362发起。在一个示例中,寄存器读取命令1360可以在已经从rffe bom接收到命令代码1346并且已经确定命令的性质之后被发起。寄存器读取命令包括命令帧1364,该命令帧1366包括地址帧1366,该地址帧1366配置有从rffe扩展寄存器读取命令1340中的地址帧1348和1350的内容中导出的寄存器地址。然后发射机提供总线停放信令(bp 1368),以指示数据线的释放。在数据线被释放之后的时间1370,被寻址的rf设备激活其线驱动器并且传输包括已标识寄存器的内容的数据帧1372。当rf设备提供总线停放信令(bp 1374)时,寄存器读取命令1360终止。
[0106]
处理电路和方法的示例
[0107]
图14是示出装置1400的硬件实现的示例的图。在一些示例中,装置1400可以执行本文中公开的一个或多个功能。根据本公开的各个方面,本文中公开的元素或元素的任何部分或元素的任何组合可以使用处理电路1402来实现。处理电路1402可以包括由硬件和软
件模块的某种组合控制的一个或多个处理器1404。处理器1404的示例包括微处理器、微控制器、数字信号处理器(dsp)、soc、asic、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、定序器、门控逻辑、离散硬件电路、和被配置为执行本公开中通篇描述的各种功能的其他合适的硬件。一个或多个处理器1404可以包括专用处理器,该专用处理器执行特定功能并且可以由软件模块1416中的一个配置、扩充或控制。一个或多个处理器1404可以通过在初始化期间加载的软件模块1416的组合来配置,并且通过在操作期间加载或卸载一个或多个软件模块1416来进一步配置。
[0108]
在所示示例中,处理电路1402可以用总线架构来实现,总线架构总体上由总线1410表示。取决于处理电路1402的具体应用和总体设计约束,总线1410可以包括任何数目的互连总线和桥接器。总线1410将包括一个或多个处理器1404和存储装置1406在内的各种电路链接在一起。存储装置1406可以包括存储器设备和大容量存储设备,并且在本文中可以称为计算机可读介质和/或处理器可读介质。总线1410还可以链接各种其他电路,诸如定时源、定时器、外围设备、电压调节器和电源管理电路。总线接口1408可以提供总线1410与一个或多个收发机1412a、1412b之间的接口。可以为由处理电路支持的每种联网技术提供收发机1412a、1412b。在一些情况下,多种联网技术可以共享在收发机1412a、1412b中发现的一些或全部电路系统或处理模块。每个收发机1412a、1412b提供用于在传输介质之上与各种其他装置通信的模块。在一个示例中,收发机1412a可以用于将装置1400耦合到多线总线。在另一示例中,收发机1412b可以用于将装置1400连接到无线电接入网。取决于装置1400的性质,还可以提供用户接口1418(例如,小键盘、显示器、扬声器、麦克风、操纵杆),并且用户接口1418可以直接或通过总线接口1408通信耦合到总线1410。
[0109]
处理器1404可以负责管理总线1410并且负责一般处理,该处理可以包括存储在计算机可读介质中的软件的执行,该计算机可读介质可以包括存储装置1406。在这点上,处理电路1402(包括处理器1404)可以用于实现本文中公开的任何方法、功能和技术。存储装置1406可以用于存储在执行软件时由处理器1404操纵的数据,并且软件可以被配置为实现本文中公开的某些方法。
[0110]
处理电路1402中的一个或多个处理器1404可以执行软件。软件应当广义地解释为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行文件、执行线程、过程、函数、算法等,无论是称为软件、固件、中间件、微代码、硬件描述语言还是其他。软件可以以计算机可读形式驻留在存储装置1406中或外部计算机可读介质中。外部计算机可读介质和/或存储装置1406可以包括非暂态计算机可读介质。非暂态计算机可读介质包括例如磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(cd)或数字多功能盘(dvd))、智能卡、闪存设备(例如,“闪存驱动器”、卡、棒或密钥驱动器)、ram、rom、可编程只读存储器(prom)、可擦除prom(eprom)(包括eeprom)、寄存器、可移动磁盘、以及用于存储可以由计算机访问和读取的软件和/或指令的任何其他合适的介质。例如,计算机可读介质和/或存储装置1406还可以包括载波、传输线、以及用于传输可以由计算机访问和读取的软件和/或指令的任何其他合适的介质。计算机可读介质和/或存储装置1406可以驻留在处理电路1402中、在处理器1404中、在处理电路1402外部、或分布在包括处理电路1402在内的多个实体中。计算机可读介质和/或存储装置1406可以体现在计算机程序产品中。例如,计算机程序产品可以包括包装材料中的计算机可读介质。本领
域技术人员将认识到如何根据特定应用和强加在整个系统上的整体设计约束来最好地实现本公开中呈现的所描述的功能。
[0111]
存储装置1406可以维护在可加载代码段、模块、应用、程序等中维护和/或组织的软件,该软件在本文中可以称为软件模块1416。每个软件模块1416可以包括指令和数据,该指令和数据当安装或加载到处理电路1402上并且由一个或多个处理器1404执行时有助于运行时映像1414,该运行时映像1414控制一个或多个处理器1404的操作。当被执行时,某些指令可以引起处理电路1402根据本文中描述的某些方法、算法和过程来执行功能。
[0112]
软件模块1416中的一些可以在处理电路1402的初始化期间加载,并且这些软件模块1416可以将处理电路1402配置为启用本文中公开的各种功能的执行。例如,一些软件模块1416可以配置处理器1404的内部设备和/或逻辑电路1422,并且可以管理对诸如收发机1412a、1412b、总线接口1408、用户接口1418、定时器、数学协处理器等外部设备的访问。软件模块1416可以包括与中断处理程序和设备驱动程序交互并且控制对由处理电路1402提供的各种资源的访问的控制程序和/或操作系统。资源可以包括存储器、处理时间、对收发机1412a、1412b的访问、用户接口1418等。
[0113]
处理电路1402的一个或多个处理器1404可以是多功能的,其中软件模块1416中的一些被加载并且被配置为执行不同功能或相同功能的不同实例。例如,一个或多个处理器1404可以另外适配为管理响应于来自用户接口1418、收发机1412a、1412b和设备驱动器的输入而发起的后台任务。为了支持多个功能的执行,一个或多个处理器1404可以被配置为提供多任务环境,其中多个功能中的每个被实现为由一个或多个处理器1404根据需要或期望而服务的一组任务。在一个示例中,多任务环境可以使用分时程序1420来实现,分时程序1420在不同任务之间传递处理器1404的控制,其中每个任务在任何未完成的操作完成时和/或响应于诸如中断等输入将一个或多个处理器1404的控制返回给分时程序1420。当任务控制一个或多个处理器1404时,处理电路有效地专门用于由与控制任务相关联的功能所解决的目的。分时程序1420可以包括操作系统、在循环基础上转移控制的主循环、根据功能的优先级来分配一个或多个处理器1404的控制的功能、和/或通过将一个或多个处理器1404的控制提供给处理功能来响应于外部事件的中断驱动主循环。
[0114]
图15是可以由耦合到主串行总线和多个辅串行总线的从设备执行的方法的流程图1500。在一个示例中,主串行总线可以根据rffe协议进行操作。在另一示例中,主串行总线可以根据spmi协议进行操作。在一个示例中,主串行总线可以根据i3c协议进行操作。
[0115]
在框1502,从设备可以通过第一接口电路与总线主机通信,第一接口电路被配置为将从设备耦合到主串行总线。在框1504,从设备可以通过第二接口电路与一个或多个下游设备通信,第二接口电路被配置为将从设备耦合到多个辅串行总线。多个辅串行总线中的每个辅串行总线被配置为点对点串行链路。相对于总线主机和从设备,下游设备可以被视为下游,使得下游数据可以从主设备流向从设备和/或从从设备流向下游设备,而上游数据可以从下游设备流向从设备和/或从从设备流向主设备。在框1506,从设备可以通过发起预配置序列的执行来对从主串行总线接收的第一命令进行响应,预配置序列引起命令序列通过第二接口电路被传输。命令序列可以被配置为访问至少一个下游设备中的寄存器。
[0116]
在一些情况下,命令序列包括寻址到第一下游设备中的寄存器的第一命令和寻址到第二下游设备中的寄存器的第二命令,第一下游设备被耦合到第一辅串行总线,第二下
游设备被耦合到第二辅串行总线。命令序列可以包括寄存器写入命令、寄存器屏蔽写入命令或寄存器读取命令。命令序列可以包括触发屏蔽写入命令或触发命令。
[0117]
在一些实现中,用于在主串行总线(例如,rffe、spmi、i3c等)之上传输数据的串行总线协议可以以低于与不同串行总线协议一起使用的数据速率的数据速率操作以在多个辅串行总线之上传输数据。
[0118]
在某些示例中,从设备可以从主串行总线接收第二命令,并且可以响应于第二命令而发起第三命令在多个辅串行总线中的一个辅串行总线之上的传输。第三命令的传输可以在第二命令被接收的同时开始。从设备可以根据在第二命令中传输的命令代码确定第二命令的类型,并且可以在确定第二命令的类型之后并且在第二命令的地址信息已被完全接收到之前开始第三命令的传输。
[0119]
在一些实现中,从设备可以管理多个辅串行总线之上的通信,并且可以在第一命令已被完全接收到之前使用第一命令的内容从一个或多个预配置序列中选择预配置序列。
[0120]
图16是示出用于采用处理电路1602的装置1600的硬件实现的简化示例的图。处理电路通常具有通常由处理器表示1616的一个或多个微处理器、微控制器、数字信号处理器、定序器和/或状态机。处理电路1602可以用总线架构来实现,总线架构总体上由总线1620表示。取决于处理电路1602的具体应用和总体设计约束,总线1620可以包括任何数目的互连总线和桥接器。总线1620将各种电路链接在一起,包括一个或多个处理器1616、模块或电路1604、1606和1608、以及处理器可读存储介质1618。一个或多个总线接口电路和/或模块1614可以被提供以支持多个串行总线1612之上的通信。总线1620还可以链接本领域众所周知并且因此将不再进一步描述的各种其他电路,诸如定时源、外围设备、电压调节器和电源管理电路。
[0121]
处理器1616可以负责一般处理,包括存储在处理器可读存储介质1618上的软件、代码和/或指令的执行。处理器可读存储介质1618可以包括非暂态存储介质。该软件在由处理器1616执行时引起处理电路1602为任何特定装置执行上文所述的各种功能。处理器可读存储介质可以用于存储在执行软件时由处理器1616操纵的数据。处理电路1602还包括模块1604、1606和1608中的至少一个。模块1604、1606和1608可以是驻留/存储在处理器可读存储介质1618中的在处理器1616中运行的软件模块、耦合到处理器1616的一个或多个硬件模块、或其某种组合。模块1604、1606和1608可以包括微控制器指令、状态机配置参数或其某种组合。
[0122]
在一种配置中,装置1600包括适于管理、配置和/或控制总线接口电路和/或模块1614的模块和/或电路1604、以及适于处理从bom接收的命令并且通过总线接口电路和/或模块1614生成和传输命令序列的模块和/或电路1606。装置1600可以包括适于管理定序器操作和/或选择要执行的序列的模块和/或电路1608。
[0123]
在一个示例中,装置1600被配置为作为如下数据通信装置来操作,该数据通信装置具有被配置为将装置1600耦合到主串行总线的第一总线接口电路和/或模块1614、被配置为将数据通信装置耦合到多个辅串行总线的第二总线接口电路和/或模块1614、以及定序器。定序器可以被配置为通过发起预配置序列的执行来响应于从主串行总线接收的第一命令,预配置序列引起命令序列通过第二接口电路被传输。命令序列可以被配置为访问耦合到辅串行总线中的一个辅串行总线的至少一个设备中的寄存器。
[0124]
命令序列可以包括寻址到第一设备中的寄存器的第一命令和寻址到第二设备中的寄存器的第二命令,第一设备被耦合到第一辅串行总线,第二设备被耦合到第二辅串行总线。命令序列可以包括寄存器写入命令、寄存器屏蔽写入命令或寄存器读取命令。命令序列可以包括触发屏蔽写入命令或触发命令。
[0125]
第一串行总线协议可以用于在主串行总线之上以第一数据速率传输数据,并且第二串行总线协议可以用于在多个辅串行总线之上以大于第一数据速率的第二数据速率传输数据。
[0126]
定序器可以被配置为从主串行总线接收第二命令,并且响应于第二命令而发起第三命令在多个辅串行总线中的一个辅串行总线之上的传输。第三命令的传输可以在第二命令被接收到的同时开始。第三命令的传输可以在确定第二命令的类型之后并且在第二命令的地址信息已被完全接收到之前被发起。
[0127]
第二总线接口电路和/或模块1614可以被配置为管理多个辅串行总线之上的通信,并且在第一命令已被完全接收到之前使用第一命令的内容从一个或多个预配置序列中选择预配置序列。在一些情况下,多个辅串行总线中的每个辅串行总线被配置为点对点串行链路。主串行总线可以根据rffe、spmi、i3c或其他协议进行操作。
[0128]
处理器可读存储介质1618可以包括引起处理电路1602进行以下操作的指令:通过第一接口电路与总线主机通信,第一接口电路被配置为将从设备耦合到主串行总线,通过第二接口电路与一个或多个下游设备通信,第二接口电路被配置为将从设备耦合到多个辅串行总线,并且通过发起预配置序列的执行来响应于从主串行总线接收的第一命令,预配置序列引起命令序列通过第二接口电路被传输。该命令序列可以被配置为访问至少一个下游设备中的寄存器。
[0129]
第一串行总线协议可以用于在主串行总线之上以第一数据速率传输数据,并且第二串行总线协议可以用于在多个辅串行总线之上以大于第一数据速率的第二数据速率传输数据。多个辅串行总线中的每个辅串行总线可以被配置为点对点串行链路。在一些实现中,主串行总线可以根据rffe、spmi、i3c或其他协议来操作。
[0130]
处理器可读存储介质1618可以包括引起处理电路1602进行以下操作的指令:从主串行总线接收第二命令,并且响应于第二命令而发起第三命令在多个辅串行总线中的一个辅串行总线之上的传输。第三命令的传输可以在第二命令被接收到的同时开始。
[0131]
处理器可读存储介质1618可以包括引起处理电路1602进行以下操作的指令:根据在第二命令中传输的命令代码确定第二命令的类型,并且在确定第二命令的类型之后并且在第二命令的地址信息已被完全接收到之前开始第三命令的所述传输。
[0132]
处理器可读存储介质1618可以包括引起处理电路1602进行以下操作的指令:管理多个辅串行总线之上的通信,并且在第一命令已被完全接收到之前使用第一命令的内容从一个或多个预配置序列中选择预配置序列。
[0133]
应当理解,所公开的过程中步骤的特定顺序或层次结构是示例性方法的说明。可以理解,基于设计偏好,可以重新布置过程中步骤的特定顺序或层次结构。此外,可以组合或省略一些步骤。随附的方法权利要求以示例顺序呈现各个步骤的元素,而不表示限于所呈现的特定顺序或层次结构。
[0134]
提供先前描述以使得本领域技术人员能够实践本文中描述的各个方面。对这些方
面的各种修改对于本领域技术人员来说将是很清楚的,并且本文中定义的一般原理可以应用于其他方面。因此,权利要求不旨在限于本文中所示的方面,而是符合与语言权利要求一致的全部范围,其中除非具体如此陈述,否则对单数形式的元素的引用并不旨在表示“一个且仅一个”,而是表示“一个或多个”。除非另有特别说明,否则术语“一些”是指一个或多个。本领域普通技术人员已知或以后变得已知的在本公开中描述的各个方面的元素的所有结构和功能等效物通过引用明确地并入本文并且旨在被权利要求所涵盖。此外,本文中公开的任何内容均不旨在专供公众使用,无论这样的公开是否在权利要求中明确引用。任何权利要求要素均不得解释为模块加功能,除非使用短语“用于
……
的模块”明确叙述该要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献