CN112699075B - 通讯方法、装置、计算机设备和可读存储介质 - Google Patents
通讯方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN112699075B CN112699075B CN202011561429.XA CN202011561429A CN112699075B CN 112699075 B CN112699075 B CN 112699075B CN 202011561429 A CN202011561429 A CN 202011561429A CN 112699075 B CN112699075 B CN 112699075B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- command
- byte
- slave devices
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本申请的实施例提供了一种通讯方法、装置、计算机设备和可读存储介质,涉及通信技术领域,通讯方法包括:发送启动信号至所述多个从器件,以使所述多个从器件完成初始化;发送执行数据流至所述多个从器件,以使所述执行数据流在多个所述从器件中遍历确定出目标从器件,并对所述目标从器件执行所述执行数据流对应的命令;发送查验数据流至所述目标从器件,以获取所述目标从器件执行所述命令的反馈数据,通过上述步骤,无需大量的数字线路与开关就能够实现器件之间的通讯。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种通讯方法、装置、计算机设备和可读存储介质。
背景技术
随着通信技术的发展,现在用户对产品中的器件数目、通道数、空间密度、数字线路数等等提出了更高的要求,为了满足上述需求,一般采取并行机制的接口控制。在少量的器件控制下,可用简单的代码、牺牲空间来换取控制稳定性,但是随着器件数目翻倍增多,多芯片封装亦成为产品小型化趋势,仍旧采取并行接口机制会导致代码行数增多、布局走线复杂、电路板空间增大密度减小等问题,最终导致需要大量的数字线路与开关进行维护。
有鉴于此,如何提供一种无需大量的数字线路与开关实现的通讯方案,是本领域技术人员需要解决的。
发明内容
本申请提供了一种通讯方法、装置、计算机设备和可读存储介质。
本申请的实施例可以这样实现:
第一方面,本申请提供一种通讯方法,应用于通讯***中的主器件,通讯***还包括多个从器件,主器件与多个从器件之间串行连接,每个从器件之间串行连接;
方法包括:
发送启动信号至多个从器件,以使多个从器件完成初始化;
发送执行数据流至多个从器件,以使执行数据流在多个从器件中遍历确定出目标从器件,并对目标从器件执行数据流对应的命令;
发送查验数据流至目标从器件,以获取目标从器件执行命令的反馈数据。
在可选的实施方式中,通讯***还包括时钟线、控制使能线、数据输入线和数据输出线,时钟线和控制使能线为主器件和多个从器件的公共线,每个从器件之间通过数据输入线和数据输出线串行连接,启动信号包括时钟线的上升沿锁存预设数量的高电平信号和控制使能线输出的低电平信号;
发送启动信号至多个从器件,以使多个从器件完成初始化的步骤,包括:
通过时钟线的上升沿锁存预设数量的高电平信号,并通过控制使能线输出低电平信号,以使多个从器件完成初始化,其中,所初始化包括多个从器件获取时钟线配置的频率;
发送执行数据流至多个从器件,以使执行数据流在多个从器件中遍历确定出目标从器件的步骤,包括:
发送执行数据流至多个从器件,以使执行数据通过数据输入线和数据输出线在多个从器件中遍历。
在可选的实施方式中,执行数据流包括地址数据和命令数据;
发送执行数据流至多个从器件,以使执行数据流在多个从器件中遍历确定出目标从器件,并对目标从器件执行数据流对应的命令的步骤,包括:
发送执行数据流至多个从器件,以根据地址数据从多个从器件中确定出目标从器件,并对目标从器件执行命令数据对应的命令。
在可选的实施方式中,地址数据包括地址字节位数,每个从器件均配置有对应的标号,通讯***预先存储有多个标号和多个预设地址字节位数之间的对应关系;
根据地址数据从多个从器件中确定出目标从器件的步骤,包括:
根据地址数据的地址字节位数从多个预设地址字节位数中确定出目标地址字节位数,其中,目标地址字节位数与地址数据的地址字节位数相同;根据目标地址字节位数和对应关系,确定出目标标号;
将目标标号对应的从器件作为目标从器件。
在可选的实施方式中,每个从器件均配置有对应的标号,通讯***预先存储有多个标号组和多个预设地址字节位数之间的对应关系,每个标号组至少对应两个标号;
根据地址数据从多个从器件中确定出目标从器件的步骤,包括:
根据地址数据的地址字节位数从多个预设地址字节位数中确定出目标地址字节位数,其中,目标地址字节位数与地址数据的地址字节位数相同;
根据目标地址字节位数和对应关系,确定出目标标号组;
将目标标号组对应的至少两个从器件作为目标从器件。
在可选的实施方式中,命令数据为写命令,命令数据包括第一命令字节和第一数据字节,每个从器件存储有对应的寄存器,查验数据流包括地址数据和第三命令字节;
发送执行数据流至多个从器件,以根据地址数据从多个从器件中确定出目标从器件,并对目标从器件执行命令数据对应的命令的步骤,包括:
将第一命令字节和第一数据字节发送至目标从器件,以根据第一命令字节将第一数据字节写入目标寄存器;
发送查验数据流至目标从器件,以获取目标从器件执行命令的反馈数据的步骤,包括:
根据地址数据将第三命令字节发送至目标从器件,以获取0或者1作为反馈数据,其中,当反馈数据为1时,第一数据字节写入成功,当反馈数据为0时,第一数据字节写入失败。
在可选的实施方式中,命令数据为读命令,命令数据包括第二命令字节,每个从器件存储有对应的寄存器,查验数据流包括地址数据和第三命令字节;
发送执行数据流至多个从器件,以根据地址数据从多个从器件中确定出目标从器件,并对目标从器件执行命令数据对应的命令的步骤,包括:
将第二命令字节发送至目标从器件;
根据第二命令字节从目标寄存器中读取目标回读数据;
发送查验数据流至目标从器件,以获取目标从器件执行命令的反馈数据的步骤,包括:
根据地址数据将第三命令字节发送至目标从器件,以获取0和失败回读数据作为反馈数据,或者,获取1和成功回读数据作为反馈数据;
其中,当反馈数据为1时,目标回读数据为成功回读数据,目标回读数据读取成功,当反馈数据为0时,目标回读数据为失败回读数据,目标回读数据读取失败。
第二方面,本申请提供一种通讯装置,应用于通讯***中的主器件,通讯***还包括多个从器件,主器件与多个从器件之间串行连接,每个从器件之间串行连接;
装置包括:
启动模块,用于发送启动信号至多个从器件,以使多个从器件完成初始化;
执行模块,用于发送执行数据流至多个从器件,以使执行数据流在多个从器件中遍历确定出目标从器件,并对目标从器件执行数据流对应的命令;
反馈模块,用于发送查验数据流至目标从器件,以获取目标从器件执行命令的反馈数据。
第三方面,本申请提供一种计算机设备,计算机设备包括处理器及存储有计算机指令的非易失性存储器,计算机指令被处理器执行时,计算机设备执行前述实施方式中任意一项的通讯方法。
第四方面,本申请提供一种可读存储介质,可读存储介质包括计算机程序,计算机程序运行时控制可读存储介质所在计算机设备执行前述实施方式中任意一项的通讯方法。
本申请实施例的有益效果包括,例如:采用本申请实施例提供的一种通讯方法、装置、计算机设备和可读存储介质,通过发送启动信号至所述多个从器件,以使所述多个从器件完成初始化;然后发送执行数据流至所述多个从器件,以使所述执行数据流在多个所述从器件中遍历确定出目标从器件,并对所述目标从器件执行所述执行数据流对应的命令;进而发送查验数据流至所述目标从器件,以获取所述目标从器件执行所述命令的反馈数据,通过上述步骤,巧妙地设置了主器件和从器件之间的通信关系,无需大量的数字线路与开关就能够实现器件之间的通讯。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的通讯***的一种交互示意图;
图2为本申请实施例提供的通讯方法的一种步骤流程示意图;
图3为本申请实施例提供的通讯***的另一种交互示意图;
图4为本申请实施例提供的一种时序示意图;
图5为本申请实施例提供的另一种时序示意图;
图6为本申请实施例提供的一种通讯***数据流流向示意图;
图7为本申请实施例提供的一种天线板串行控制连接示意图;
图8为本申请实施例提供的一种天线板数据流流向示意图;
图9为本申请实施例提供的一种通讯装置的结构示意框图;
图10为本申请实施例提供的一种计算机设备的结构示意框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
随着通信技术的发展,现在用户对产品中的器件数目、通道数、空间密度、数字线路数等等提出了更高的要求,为了满足上述需求,一般采取并行机制的接口控制。在少量的器件控制下,可用简单的代码、牺牲空间来换取控制稳定性,但是随着器件数目翻倍增多,多芯片封装亦成为产品小型化趋势,仍旧采取并行接口机制会导致代码行数增多、布局走线复杂、电路板空间增大密度减小、***平台复杂、线长控制精确度极高(若不等长,则出现时序问题的概率会大大增加),以及成本增加的问题。
基于此,请参考图1,图1为本申请实施例提供的通讯***的交互示意图。该通讯***包括主器件10以及与主器件10串行连接的多个从器件20,每个从器件20之间串行连接。在本申请实施例的其他实施方式中,通讯***还可以包括更多或者更少的组件,在此不作限制。
为了解决上述提出的问题,请结合参考图2,图2为本申请实施例提供的通讯方法的步骤流程示意图,该通讯方法可以由图1中的主器件10执行实施。下面对该通讯方法进行详细的描述。
步骤201,发送启动信号至多个从器件20,以使多个从器件20完成初始化。
步骤202,发送执行数据流至多个从器件20,以使执行数据流在多个从器件20中遍历确定出目标从器件20,并对目标从器件20执行数据流对应的命令。
步骤203,发送查验数据流至目标从器件20,以获取目标从器件20执行命令的反馈数据。
在本申请实施例中,利用了主器件10与多个从器件20之间串行连接,以及每个从器件20之间的串行连接,相较于现有技术中采取并行通信的机制,能够大量的减少数据线路以及开关,应当理解的是,本申请实施例中的主器件10和从器件20可以是两个不同的硬件,也可以是在同一软件***下的模块之间的交互,在此不做限制。
为了能够更加清楚的描述本申请实施例提供的方案,通讯***还包括时钟线、控制使能线、数据输入线和数据输出线,时钟线和控制使能线为主器件10和多个从器件20的公共线,每个从器件20之间通过数据输入线和数据输出线串行连接,启动信号包括时钟线的上升沿锁存预设数量的高电平信号和控制使能线输出的低电平信号。作为一种可替换的实施例,前述步骤201可以由以下实施方式实现。
子步骤201-1,通过时钟线的上升沿锁存预设数量的高电平信号,并通过控制使能线输出低电平信号,以使多个从器件20完成初始化。
其中,所初始化包括多个从器件20获取时钟线配置的频率。
相应的,前述步骤202可以由以下步骤实施实现。
子步骤202-1,发送执行数据流至多个从器件20,以使执行数据通过数据输入线和数据输出线在多个从器件20中遍历。
在前述基础上,执行数据流包括地址数据和命令数据,作为一种可替换的具体实施方式,前述步骤202可以由以下步骤实施实现。
子步骤202-2,发送执行数据流至多个从器件20,以根据地址数据从多个从器件20中确定出目标从器件20,并对目标从器件20执行命令数据对应的命令。
请结合参考图3,图3为本申请实施例提供的较为详细的通讯***的交互示意图,其中,由一个主器件10MASTER与多个从器件20SLAVE组成。整体***通信由四根信号线组成:CLK时钟线、CONTROL_EN控制使能线、输入DATA_IN数据线(即数据输入线)、输出DATA_OUT数据线(即数据输出线)。四根线中,CLK时钟线与CONTROL_EN控制使能线为所有器件的公用线,由MASTER控制SLAVE进行数据传输。而DATA线的数据流向为并行,命令从MASTER出发逐个通过1-n个SLAVE,由此得到数据的互联。
基于此,可以由MASTER控制CONTROL_EN、CLK、DATA_IN信号。当MASTER准备发送命令到SLAVE之前,先拉低CONTROL_EN信号使得SLAVE进入有待响应状态,在CONTROL_EN为低电平之时,只要CLK开始周期传输,则SLAVE在其上升沿锁存数据。
请结合参考图4,前述的初始化过程,可以在时钟线的上升沿锁存预设数量的高电平信号,并通过控制使能线输出低电平信号,以使多个从器件20完成初始化,即在控制使能线输出低电平信号,且接收到时钟线发送的预设数量的高电平信号的条件下,使得所有的SLAVE准备开始传输,以及收到此次传输的频率,使其后面阶段传输频率趋于稳定。
通过上述步骤,解决了现有技术中,直接进行数据流传输时可能会造成器件在未知传输频率的基础上无法及时适应该频率进而出现故障的问题。
在此基础上,可以结合参考图5,初始化完成后,此时通讯***中的信号线分别发送如图5所示的信号,地址数据包括地址字节位数,每个从器件20均配置有对应的标号,通讯***预先存储有多个标号和多个预设地址字节位数之间的对应关系。前述子步骤202-2可以由以下的具体实施方式实施。
(1)根据地址数据的地址字节位数从多个预设地址字节位数中确定出目标地址字节位数。
其中,目标地址字节位数与地址数据的地址字节位数相同;根据目标地址字节位数和对应关系,确定出目标标号。
(2)将目标标号对应的从器件20作为目标从器件20。
请结合参考表一,在本申请实施了中,每个从器件20均配置有对应的标号,例如以ID1、ID2…IDn的形式作为其标号,同时每个标号与预设地址字节为数之间存在对应关系,例如,标号ID1对应预设地址字节“00000001”。在得知执行数据流中的地址数据包括的地址字节位数时,便可以对应找到目标标号,即目标从器件20。
表一
除了前述方案,每个从器件20均配置有对应的标号,通讯***预先存储有多个标号组和多个预设地址字节位数之间的对应关系,每个标号组至少对应两个标号。作为一种可替换的具体实施方式,前述子步骤202-2可以由以下步骤实现。
(3)根据地址数据的地址字节位数从多个预设地址字节位数中确定出目标地址字节位数。
其中,目标地址字节位数与地址数据的地址字节位数相同。
(4)根据目标地址字节位数和对应关系,确定出目标标号组。
(5)将目标标号组对应的至少两个从器件20作为目标从器件20。
应当理解的是,除了单独控制每个从器件20,为了提高控制效率以及实现需求的功能(需要多个从器件20参与),执行数据流可以同时对多个从器件20执行操作。请在此参考表一,若用户想对所有的从器件20均执行需求的命令,可以将地址数据的地址字节位数设置为“00000000”,可以从上表中,即对应关系中得出,预设地址字节中的“00000000”,即目标地址字节对应的目标标识为“ALL ANT”(目标标号组),即表征所有的从器件20,应当理解是,除了所有的从器件20,还可以仅对前一半(即“1/2front ANT”)或者后一半(即“1/2behind ANT”)的从器件20进行执行数据流的发送。值得说明的是,一些功能所需的从器件20分布顺序并不连续,可以将实现同一功能的多个从器件20单独标号,并配置单独的预设地址字节,而此时的预设地址字节可以预先进行设置。
为了能够更加清楚的表达本申请提供的方案,命令数据为写命令,命令数据包括第一命令字节和第一数据字节,每个从器件20存储有对应的寄存器,查验数据流包括地址数据和第三命令字节,前述子步骤202-2还可以由以下的具体实施方案实现。
(6)将第一命令字节和第一数据字节发送至目标从器件20,以根据第一命令字节将第一数据字节写入目标寄存器。
在本申请实施例中,执行数据流具体执行命令的对象可以是存储在器件中的寄存器,提供的命令数据可以是写命令(command Read),即将用户需求的数据写入目标从器件20的寄存器中,应当理解的是,写命令可以包括需要写入的具体数据,即由第一命令字节(写入命令字节)完成将第一数据字节(写入数据)写入目标寄存器的操作,在此不在赘述。
相应的,前述步骤203可以由以下的步骤实现。
子步骤203-1,根据地址数据将第三命令字节发送至目标从器件20,以获取0或者1作为反馈数据,其中,当反馈数据为1时,第一数据字节写入成功,当反馈数据为0时,第一数据字节写入失败。
在命令数据是写命令的情况下,前述发送获取反馈数据可以仅获取吸入结果,即根据地址数据将第三命令字节发送至目标从器件20,以获取0或者1作为反馈数据。应当理解的是,当反馈数据为1时,第一数据字节写入成功,当反馈数据为0时,第一数据字节写入失败,无需获取其余数据。
除了上述实施例,命令数据为读命令,命令数据包括第二命令字节,每个从器件20存储有对应的寄存器,查验数据流包括地址数据和第三命令字节;作为一种可替换的具体实施方式,前述步骤207还可以由以下步骤实现。
(7)将第二命令字节发送至目标从器件20。
(8)根据第二命令字节从目标寄存器中读取目标回读数据。
相应的,前述步骤203可以由以下的步骤实现。
子步骤203-2,根据地址数据将第三命令字节发送至目标从器件20,以获取0和失败回读数据作为反馈数据,或者,获取1和成功回读数据作为反馈数据。
其中,当反馈数据为1时,目标回读数据为成功回读数据,目标回读数据读取成功,当反馈数据为0时,目标回读数据为失败回读数据,目标回读数据读取失败。
相对的,命令数据除了是写入命令,还可以是读取命令。可以通过第二命令字节,即读取命令字节,将目标寄存器中的数据进行读取,应当理解的是,由于是进行读取,在进行前述反馈数据的操作中,若读取成功,即成功读取到了目标回读数据,那可以目标回读数据就是成功回读数据,若读取失败,说明没有读取到目标回读数据,因此将失败回读数据作为反馈数据,以便用户基于读取的失败回读数据进行故障排查。
通过上述基于菊花链式的通讯方案,以串行接口实现编程,器件逐个配置,并以统一的控制信号同步寄存器数据。与并行接口通信机制对比,可大幅度减少所需数字线路数与开关数目、在有限的空间内实现通道数最大化。
为了能够更加清楚的描述本申请实施例提供的方案,请结合参考图6,下面提供一种以标识“1/2 front register”为例,进行读操作流程与数据流向。读操作需要经历两个控制周期,第一个控制周期发送执行数据流,循环后,MASTER再次开启第二次控制周期,发送查验数据流,数据流每次经过SLAVE之后,都会有属于自己的回读命令以此加入在地址数据之后传输。经过查验数据流需要回复1bit的1/0表示回读成功/失败和目标回读数据8bit,最后按照SLAVE的ID顺序累积回传到MASTER中。
在执行上述步骤的基础上,可以配置SLAVE数据流水线与出口缓存机制,即每次控制周期(发送执行数据流或者查验数据流),数据流都会从MASTER遍历一次SLAVE。一个读/写命令则至少包含2个控制周期。为提高数据传输的速度,采用流水线传输,以减少每次控制周期的时间。MASTER发送的命令在每个SLAVE的DATA_OUT出口处被缓存,因CONTROL_EN每个控制周期只会被拉低一次,所有每次拉低之后,SLAVE只缓存一次,在CONTROL_EN被拉高之后判断是否数据地址字节是否匹配,匹配则执行命令,不匹配则缓存失败位,等待第二次控制周期回传失败数据。
同时也配置了二次控制回传机制,即无论MASTER是进行读或者写的操作,都会有第二次的回传控制周期。若是写操作,每个SLAVE回传1/0表示写入成功/失败;若是读操作,每个SLAVE回传1/0+回读数据,1/0回读数据是否成功。每个SLAVE回传的数据都以数据叠加的方式一起送回MASTER。MASTER靠识别数据的bit数来判断是否回传成功/失败,并识别每个address匹配的SLAVE回读的数据。
还配置了SLAVE误码/漏码信息补全机制,包括因整个链路为串行链路,长时间通信与数据传输,若遇到外界干扰或数据出错的情况,可用误码/漏码信息补全机制。误码机制为增加1/0位表示命令执行成功/失败。漏码机制为每个SLAVE回传数据的时候,都会依照自己的address去判断自己地址之前的数据是否都回传完毕,若存在数据长度不够的情况,该SLAVE会补全自己address之前的数据,失败位0+data00000000,再开始回传自己的数据。使得整体恢复数据在规定的位数之内,以保证传输正确性,便于MASTER统计信息。
除了前述的三种机制,还配置了MASTER信息不正确作废机制,若传输过程中遇到信息错误或命令临时中断的情况,MASTER可以在一个命令周期的任意时间内,开启STOP+START+STOP信息作废命令。简单来说就是拉高CONTROL_EN后,再拉低,传送X个CLK周期(即预设数量的高电平),再拉高。则可清零SLAVE内的缓存。
除此之外,在实际应用中,例如用在天线板的控制传输中,结构上ACU(antennacontrol unit,简称天线控制组件)同时控制4块天线板,以实现配置子阵号、读写天线板上器件数据等性能需求。ACU与ANT都以FPGA编程实现传输控制功能。STAR阶段(即初始化)CLK预设高平信号为256次。如图7所示中控ACU为命令发送端,承担MASTER角色,天线板ANT(antenna)为接收命令器件SLAVE。整个接口采用SPI连接。每个ANT共用ACU的CS与CLK线,MOSI(串行输入)与MISO(串行输出)串行连接,如图8所示。
基于此,请再次参考表一和并结合参考表二。
表二
命令数据 | r/w | command |
配置子阵号 | 0/1 | 1111111 |
读开发板flash数据 | 0 | 0001010 |
写射频芯片幅相数据 | 1 | 1000000 |
…… | 0/1 | else |
若为配置子阵号阶段,发送ALL ANT-00000000,数据命令发送10000000,直到4个子阵都被遍历完成后,CS拉高实现数据下发。若子阵收到配置子阵号的操作,从第一个子阵开始配置,每个子阵传输数据后,会更新command,如ANT1输出的command为10000001,ANT2输出command为10000010以此类推。配置完成后,再进行一次控制周期,每个子阵回传配置成功/失败的标志至ACU。若全阵配置成功,回传命令为00000000+1111,表示所有子阵配置完成。
在实际使用中,子阵接收处理模块需要的功能有子阵号判断功能,目的是为了不做多的传输功能,是自己子阵的命令与数据就不下发到下一级,这样不会占用总线,并且能避免外部干扰,使后续子阵误触发。同时,由于整个链路是串行的,命令需要逐级的传输,包括接收时间+发送时间+命令判断时间,初步计算4个阵面的波束切换时间为:(22*8*100+100*10)*4+150000≈230us(最远端子阵波束切换时间)。除此之外,线板在上传时需要注意冲突,在发送模块需要添加缓存(主要是避免错误主动上传)。最后应当注意,共享CS、CLK、MOSI、MISO依次串行传输,因线延迟会导致数据不同步问题。所以每次拉高CS让所有天线板执行命令的时候,需要等待一个线延迟的时间,所有子阵才能全部判断并执行完命令。
本申请实施例提供一种通讯装置110,应用于通讯***中的主器件10,通讯***还包括多个从器件20,主器件10与多个从器件20之间串行连接,每个从器件20之间串行连接。如图9所示,通讯装置110包括:
启动模块1101,用于发送启动信号至多个从器件20,以使多个从器件20完成初始化。
执行模块1102,用于发送执行数据流至多个从器件20,以使执行数据流在多个从器件20中遍历确定出目标从器件20,并对目标从器件20执行数据流对应的命令。
反馈模块1103,用于发送查验数据流至目标从器件20,以获取目标从器件20执行命令的反馈数据。
进一步地,通讯***还包括时钟线、控制使能线、数据输入线和数据输出线,时钟线和控制使能线为主器件10和多个从器件20的公共线,每个从器件20之间通过数据输入线和数据输出线串行连接,启动信号包括时钟线的上升沿锁存预设数量的高电平信号和控制使能线输出的低电平信号;
启动模块1101具体用于:
通过时钟线的上升沿锁存预设数量的高电平信号,并通过控制使能线输出低电平信号,以使多个从器件20完成初始化,其中,所初始化包括多个从器件20获取时钟线配置的频率;
执行模块1102具体用于:
发送执行数据流至多个从器件20,以使执行数据通过数据输入线和数据输出线在多个从器件20中遍历。
进一步地,执行数据流包括地址数据和命令数据;
执行模块1102具体用于:
发送执行数据流至多个从器件20,以根据地址数据从多个从器件20中确定出目标从器件20,并对目标从器件20执行命令数据对应的命令。
进一步地,地址数据包括地址字节位数,每个从器件20均配置有对应的标号,通讯***预先存储有多个标号和多个预设地址字节位数之间的对应关系;执行模块1102进一步具体用于:
根据地址数据的地址字节位数从多个预设地址字节位数中确定出目标地址字节位数,其中,目标地址字节位数与地址数据的地址字节位数相同;根据目标地址字节位数和对应关系,确定出目标标号;将目标标号对应的从器件20作为目标从器件20。
进一步地,每个从器件20均配置有对应的标号,通讯***预先存储有多个标号组和多个预设地址字节位数之间的对应关系,每个标号组至少对应两个标号;执行模块1102进一步具体用于:
根据地址数据的地址字节位数从多个预设地址字节位数中确定出目标地址字节位数,其中,目标地址字节位数与地址数据的地址字节位数相同;根据目标地址字节位数和对应关系,确定出目标标号组;将目标标号组对应的至少两个从器件20作为目标从器件20。
进一步地,命令数据为写命令,命令数据包括第一命令字节和第一数据字节,每个从器件20存储有对应的寄存器,查验数据流包括地址数据和第三命令字节;
执行模块1102进一步具体用于:
将第一命令字节和第一数据字节发送至目标从器件20,以根据第一命令字节将第一数据字节写入目标寄存器;
反馈模块1103具体用于:
根据地址数据将第三命令字节发送至目标从器件20,以获取0或者1作为反馈数据,其中,当反馈数据为1时,第一数据字节写入成功,当反馈数据为0时,第一数据字节写入失败。
进一步地,命令数据为读命令,命令数据包括第二命令字节,每个从器件20存储有对应的寄存器,查验数据流包括地址数据和第三命令字节;
执行模块1102进一步具体用于:
将第二命令字节发送至目标从器件20;根据第二命令字节从目标寄存器中读取目标回读数据;
反馈模块1103具体用于:
根据地址数据将第三命令字节发送至目标从器件20,以获取0和失败回读数据作为反馈数据,或者,获取1和成功回读数据作为反馈数据;其中,当反馈数据为1时,目标回读数据为成功回读数据,目标回读数据读取成功,当反馈数据为0时,目标回读数据为失败回读数据,目标回读数据读取失败。
本申请实施例提供一种计算机设备100,计算机设备100包括处理器及存储有计算机指令的非易失性存储器,计算机指令被处理器执行时,计算机设备100执行前述的通讯方法。如图10所示,图10为本申请实施例提供的计算机设备100的结构框图。计算机设备100包括通讯装置110、存储器111、处理器112及通信单元113。
为实现数据的传输或交互,存储器111、处理器112以及通信单元113各元件相互之间直接或间接地电性连接。例如,可通过一条或多条通讯总线或信号线实现这些元件相互之间电性连接。通讯装置110包括至少一个可以软件或固件(firmware)的形式存储于存储器111中或固化在计算机设备100的操作***(operating system,OS)中的软件功能模块。处理器112用于执行存储器111中存储的可执行模块,例如通讯装置110所包括的软件功能模块及计算机程序等。
本申请实施例提供一种可读存储介质,可读存储介质包括计算机程序,计算机程序运行时控制可读存储介质所在计算机设备执行前述的通讯方法。
综上,本申请实施例提供了一种通讯方法、装置、计算机设备和可读存储介质,通过发送启动信号至所述多个从器件,以使所述多个从器件完成初始化;然后发送执行数据流至所述多个从器件,以使所述执行数据流在多个所述从器件中遍历确定出目标从器件,并对所述目标从器件执行所述执行数据流对应的命令;进而发送查验数据流至所述目标从器件,以获取所述目标从器件执行所述命令的反馈数据,通过上述步骤,巧妙地设置了主器件和从器件之间的通信关系,无需大量的数字线路与开关就能够实现器件之间的通讯。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种通讯方法,其特征在于,应用于通讯***中的主器件,所述通讯***还包括多个从器件,所述主器件与多个从器件之间串行连接,每个从器件之间串行连接;
所述方法包括:
发送启动信号至所述多个从器件,以使所述多个从器件完成初始化;
发送执行数据流至所述多个从器件,以使所述执行数据流在多个所述从器件中遍历确定出目标从器件,并对所述目标从器件执行所述执行数据流对应的命令;
发送查验数据流至所述目标从器件,以获取所述目标从器件执行所述命令的反馈数据;
其中,所述通讯***还包括时钟线、控制使能线、数据输入线和数据输出线,所述时钟线和所述控制使能线为所述主器件和所述多个从器件的公共线,每个所述从器件之间通过所述数据输入线和所述数据输出线串行连接,所述启动信号包括所述时钟线的上升沿锁存预设数量的高电平信号和所述控制使能线输出的低电平信号;
所述发送启动信号至所述多个从器件,以使所述多个从器件完成初始化的步骤,包括:
通过所述时钟线的上升沿锁存预设数量的高电平信号,并通过所述控制使能线输出低电平信号,以使所述多个从器件完成初始化,其中,所初始化包括所述多个从器件获取所述时钟线配置的频率;
所述发送执行数据流至所述多个从器件,以使所述执行数据流在多个所述从器件中遍历确定出目标从器件的步骤,包括:
发送执行数据流至所述多个从器件,以使所述执行数据通过所述数据输入线和所述数据输出线在多个所述从器件中遍历。
2.根据权利要求1所述的方法,其特征在于,所述执行数据流包括地址数据和命令数据;
所述发送执行数据流至所述多个从器件,以使所述执行数据流在多个所述从器件中遍历确定出目标从器件,并对所述目标从器件执行所述执行数据流对应的命令的步骤,包括:
发送执行数据流至所述多个从器件,以根据所述地址数据从所述多个从器件中确定出目标从器件,并对所述目标从器件执行所述命令数据对应的命令。
3.根据权利要求2所述的方法,其特征在于,所述地址数据包括地址字节位数,每个所述从器件均配置有对应的标号,所述通讯***预先存储有多个所述标号和多个预设地址字节位数之间的对应关系;
所述根据所述地址数据从所述多个从器件中确定出目标从器件的步骤,包括:
根据所述地址数据的地址字节位数从所述多个预设地址字节位数中确定出目标地址字节位数,其中,所述目标地址字节位数与所述地址数据的地址字节位数相同;根据所述目标地址字节位数和所述对应关系,确定出目标标号;
将所述目标标号对应的从器件作为所述目标从器件。
4.根据权利要求2所述的方法,其特征在于,每个所述从器件均配置有对应的标号,所述通讯***预先存储有多个标号组和多个预设地址字节位数之间的对应关系,每个所述标号组至少对应两个所述标号;
所述根据所述地址数据从所述多个从器件中确定出目标从器件的步骤,包括:
根据所述地址数据的地址字节位数从所述多个预设地址字节位数中确定出目标地址字节位数,其中,所述目标地址字节位数与所述地址数据的地址字节位数相同;
根据所述目标地址字节位数和所述对应关系,确定出目标标号组;
将所述目标标号组对应的至少两个从器件作为所述目标从器件。
5.根据权利要求2所述的方法,其特征在于,所述命令数据为写命令,所述命令数据包括第一命令字节和第一数据字节,每个所述从器件存储有对应的寄存器,所述查验数据流包括所述地址数据和第三命令字节;
所述发送执行数据流至所述多个从器件,以根据所述地址数据从所述多个从器件中确定出目标从器件,并对所述目标从器件执行所述命令数据对应的命令的步骤,包括:
将所述第一命令字节和所述第一数据字节发送至所述目标从器件,以根据所述第一命令字节将所述第一数据字节写入目标寄存器;
所述发送查验数据流至所述目标从器件,以获取所述目标从器件执行所述命令的反馈数据的步骤,包括:
根据所述地址数据将所述第三命令字节发送至所述目标从器件,以获取0或者1作为反馈数据,其中,当所述反馈数据为1时,所述第一数据字节写入成功,当所述反馈数据为0时,所述第一数据字节写入失败。
6.根据权利要求2所述的方法,其特征在于,所述命令数据为读命令,所述命令数据包括第二命令字节,每个所述从器件存储有对应的寄存器,所述查验数据流包括所述地址数据和第三命令字节;
所述发送执行数据流至所述多个从器件,以根据所述地址数据从所述多个从器件中确定出目标从器件,并对所述目标从器件执行所述命令数据对应的命令的步骤,包括:
将所述第二命令字节发送至所述目标从器件;
根据所述第二命令字节从目标寄存器中读取目标回读数据;
所述发送查验数据流至所述目标从器件,以获取所述目标从器件执行所述命令的反馈数据的步骤,包括:
根据所述地址数据将所述第三命令字节发送至所述目标从器件,以获取0和失败回读数据作为反馈数据,或者,获取1和成功回读数据作为反馈数据;
其中,当所述反馈数据为1时,所述目标回读数据为所述成功回读数据,所述目标回读数据读取成功,当所述反馈数据为0时,所述目标回读数据为所述失败回读数据,所述目标回读数据读取失败。
7.一种通讯装置,其特征在于,应用于通讯***中的主器件,所述通讯***还包括多个从器件,所述主器件与多个从器件之间串行连接,每个从器件之间串行连接;
所述装置包括:
启动模块,用于发送启动信号至所述多个从器件,以使所述多个从器件完成初始化;
执行模块,用于发送执行数据流至所述多个从器件,以使所述执行数据流在多个所述从器件中遍历确定出目标从器件,并对所述目标从器件执行所述执行数据流对应的命令;
反馈模块,用于发送查验数据流至所述目标从器件,以获取所述目标从器件执行所述命令的反馈数据;
其中,所述通讯***还包括时钟线、控制使能线、数据输入线和数据输出线,所述时钟线和所述控制使能线为所述主器件和所述多个从器件的公共线,每个所述从器件之间通过所述数据输入线和所述数据输出线串行连接,所述启动信号包括所述时钟线的上升沿锁存预设数量的高电平信号和所述控制使能线输出的低电平信号;
所述启动模块具体用于:
通过所述时钟线的上升沿锁存预设数量的高电平信号,并通过所述控制使能线输出低电平信号,以使所述多个从器件完成初始化,其中,所初始化包括所述多个从器件获取所述时钟线配置的频率;
所述执行模块具体用于:
发送执行数据流至所述多个从器件,以使所述执行数据通过所述数据输入线和所述数据输出线在多个所述从器件中遍历。
8.一种计算机设备,其特征在于,所述计算机设备包括处理器及存储有计算机指令的非易失性存储器,所述计算机指令被所述处理器执行时,所述计算机设备执行权利要求1-6中任意一项所述的通讯方法。
9.一种可读存储介质,其特征在于,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在计算机设备执行权利要求1-6中任意一项所述的通讯方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011561429.XA CN112699075B (zh) | 2020-12-25 | 2020-12-25 | 通讯方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011561429.XA CN112699075B (zh) | 2020-12-25 | 2020-12-25 | 通讯方法、装置、计算机设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112699075A CN112699075A (zh) | 2021-04-23 |
CN112699075B true CN112699075B (zh) | 2023-02-24 |
Family
ID=75510477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011561429.XA Active CN112699075B (zh) | 2020-12-25 | 2020-12-25 | 通讯方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112699075B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174522B (zh) * | 2022-07-05 | 2024-07-19 | 易事特储能科技有限公司 | 电子设备id配置方法、装置、设备及可读存储介质 |
CN115168282B (zh) * | 2022-09-08 | 2022-12-02 | 江西萤火虫微电子科技有限公司 | 总线协议上配置数据处理方法、***、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634460A (zh) * | 2014-11-07 | 2016-06-01 | 宁波舜宇光电信息有限公司 | 一种对输入脉冲的主动学习与同步的方法及其*** |
CN109581942A (zh) * | 2019-01-28 | 2019-04-05 | 上海太易检测技术有限公司 | 一种缓解主机压力的重量分选***及方法 |
CN208985152U (zh) * | 2017-07-04 | 2019-06-14 | 意法半导体(大西部)公司 | 通信*** |
CN110059030A (zh) * | 2019-04-23 | 2019-07-26 | 南京天数智芯科技有限公司 | 一种基于uart串联环路网络的数据传输***及方法 |
CN110233620A (zh) * | 2019-06-05 | 2019-09-13 | 长沙景美集成电路设计有限公司 | 一种应用于usb从设备时钟***的自校正算法 |
US10416602B1 (en) * | 2018-04-16 | 2019-09-17 | Lexmark International, Inc. | System and methods for detecting non-authentic slave components using clock frequency changes |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089838A (zh) * | 2007-07-28 | 2007-12-19 | 中兴通讯股份有限公司 | 一种实现i2c读写时序的方法 |
-
2020
- 2020-12-25 CN CN202011561429.XA patent/CN112699075B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634460A (zh) * | 2014-11-07 | 2016-06-01 | 宁波舜宇光电信息有限公司 | 一种对输入脉冲的主动学习与同步的方法及其*** |
CN208985152U (zh) * | 2017-07-04 | 2019-06-14 | 意法半导体(大西部)公司 | 通信*** |
US10416602B1 (en) * | 2018-04-16 | 2019-09-17 | Lexmark International, Inc. | System and methods for detecting non-authentic slave components using clock frequency changes |
CN109581942A (zh) * | 2019-01-28 | 2019-04-05 | 上海太易检测技术有限公司 | 一种缓解主机压力的重量分选***及方法 |
CN110059030A (zh) * | 2019-04-23 | 2019-07-26 | 南京天数智芯科技有限公司 | 一种基于uart串联环路网络的数据传输***及方法 |
CN110233620A (zh) * | 2019-06-05 | 2019-09-13 | 长沙景美集成电路设计有限公司 | 一种应用于usb从设备时钟***的自校正算法 |
Also Published As
Publication number | Publication date |
---|---|
CN112699075A (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112699075B (zh) | 通讯方法、装置、计算机设备和可读存储介质 | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
CN101828174B (zh) | 用于同步串行接口nand的数据读取的***及方法 | |
CN101110047B (zh) | 存储器重放机制 | |
US20060271720A1 (en) | System and method for transmitting data packets in a computer system having a memory hub architecture | |
KR20140009586A (ko) | 직렬로 상호접속된 장치들에 대한 id 생성 기기 및 방법 | |
CN116841932B (zh) | 一种可灵活连接的便携式高速数据存取设备及其工作方法 | |
CN104428836A (zh) | 环形拓扑状态指示 | |
CN101398801A (zh) | 扩展内部集成电路总线的方法及装置 | |
US6170035B1 (en) | Dynamic random access memory (DRAM) having variable configuration for data processing system and corresponding expansion support for the interleaved-block configuration thereof | |
CN112463702A (zh) | 一种级联背板的cpld i2c通道地址分配方法及*** | |
US9594715B2 (en) | Integrated circuit devices, systems and methods having automatic configurable mapping of input and/or output data connections | |
CN111736792A (zh) | 可编程逻辑器件及其控制方法、控制***和视频处理器 | |
CN112087359B (zh) | 一种串行通信*** | |
CN116737624B (zh) | 一种高性能数据存取装置 | |
CN113434442A (zh) | 一种交换机及数据访问方法 | |
CN100395744C (zh) | 实现中央控制单元对单板集中控制的方法和*** | |
CN112988634A (zh) | 多天线通道装置及配置方法 | |
US6292851B1 (en) | System for allowing a supervisory module to obtain alarm and status information from at least one supervised module without having to specify physical addresses | |
CN111030950B (zh) | 一种堆叠交换机拓扑构造方法与装置 | |
CN114756498A (zh) | 芯片、主控芯片、芯片通信方法、芯片阵列及相关设备 | |
CN117573588B (zh) | 并行apb协议转串行scom协议的装置、方法及芯片 | |
CN115295053B (zh) | 配置信息存储电路、易失性配置方法、装置及闪速存储器 | |
CN103729213A (zh) | 一种Flash在线升级的方法及装置 | |
CN221378621U (zh) | 一种接口电路和soc芯片 |
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 |