数据传输方法、装置、电子设备和计算机存储介质与流程

阅读: 评论:0



1.本技术涉及芯片通信技术领域,尤其涉及一种数据传输方法、装置、电子设备和计算机存储介质。


背景技术:



2.在单总线架构下一主多从芯片通信场景中,目前多采用分配不同的器件地址,主设备通过总线先后访问多个从设备,导致数据传输也存在先后顺序,从设备的实时响应度不高。
3.相关技术中,在考虑到实时性的问题时,常用的解决办法是在主设备增加竞争仲裁的手段,但是该方法又会导致在多个从设备需要同时与主设备进行通信时,主设备会严格按照各从设备的优先级进行通信,仍然存在通信时效性不高的问题。


技术实现要素:



4.本技术提供了一种数据传输方法、装置、电子设备和计算机存储介质,能够提高多个从设备与主设备进行通信时的时效性。
5.本技术的技术方案是这样实现的:
6.第一方面,本技术提供了一种数据传输方法,所述方法包括:
7.确定主设备的目标发送数据和对应的多个从设备;其中,所述目标发送数据包括若干个数据字段,每一个数据字段均包括所述多个从设备各自的至少一位比特数据;
8.通过总线将所述目标发送数据发送至所述多个从设备。
9.在一些实施例中,所述确定主设备的目标发送数据,包括:
10.确定所述多个从设备各自的待接收数据;每一个从设备的待接收数据均包括若干位比特数据;
11.按照预设方式对所述多个从设备各自的待接收数据进行交织编码处理,确定所述主设备的目标发送数据。
12.在一些实施例中,所述按照预设方式对所述多个从设备各自的待接收数据进行交织编码处理,包括:
13.确定每一个从设备的待接收数据在进行交织编码处理时的连续比特位数;
14.按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理。
15.在一些实施例中,所述多个从设备包括n个从设备,每一个数据字段包括n位比特数据,n、n均为大于1的整数;
16.相应地,所述按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理,包括:
17.在n等于n时,在按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理时,将处理后得到的数据中每n位比特依次写入一个所述数据字段。
18.在一些实施例中,所述按照所述连续比特位数对所述多个从设备各自的待接收数
据进行交织编码处理,包括:
19.在n小于n时,在按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理时,若每一次从所述多个从设备中获取的所述连续比特位数之和小于或等于n/2位比特,则将每至少两次从所述多个从设备中获取的所述连续比特位数写入一个所述数据字段;
20.若每一次从所述多个从设备中获取的所述连续比特位数之和大于n/2位比特且小于或等于n位比特,则将每一次从所述多个从设备中获取的所述连续比特位数写入一个所述数据字段。
21.在一些实施例中,所述方法还包括:
22.若每一次从所述多个从设备中获取的所述连续比特位数之和大于n/2位比特且小于n位比特,则确定所述数据字段中保留预设个数的空白数据位;
23.其中,所述预设个数是由n位比特与每一次从所述多个从设备中获取的所述连续比特位数之和进行差值计算得到的。
24.在一些实施例中,所述按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理,包括:
25.从每一个从设备的待接收数据的第一位比特开始,按照从第一从设备到第n从设备的顺序依次获取所述多个从设备的所述连续比特位数,作为第一次从所述多个从设备中获取的所述连续比特位数;
26.在第一次从所述多个从设备中获取所述连续比特位数之后,按照从所述第n从设备到所述第一从设备的顺序依次获取所述多个从设备的所述连续比特位数,作为第二次从所述多个从设备中获取的所述连续比特位数;
27.在第二次从所述多个从设备中获取所述连续比特位数之后,重复执行按照从第一从设备到第n从设备的顺序依次获取所述多个从设备的所述连续比特位数、以及按照从所述第n从设备到所述第一从设备的顺序依次获取所述多个从设备的所述连续比特位数的步骤,以实现对所述多个从设备各自的待接收数据进行交织编码处理。
28.在一些实施例中,所述方法还包括:
29.在n大于n时,按照预设优先级对所述多个从设备进行分组,使得每一分组包括的从设备数量小于或等于n;
30.按照所述预设优先级从高到低的顺序,依次对每一分组包括的多个从设备各自的待接收数据进行交织编码处理。
31.在一些实施例中,所述总线至少包括下述其中一项:i2c总线、spi总线以及uart总线。
32.第二方面,本技术实施例提供了一种数据传输装置,所述装置包括:
33.确定模块,用于确定主设备的目标发送数据和对应的多个从设备;其中,所述目标发送数据包括若干个数据字段,每一个数据字段均包括所述多个从设备各自的至少一位比特数据;
34.发送模块,用于通过总线将所述目标发送数据发送至所述多个从设备。
35.第三方面,本技术提供一种电子设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述一个或多个
技术方案提供的数据传输方法。
36.第四方面,本技术提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后能够实现前述一个或多个技术方案提供的数据传输方法。
37.本技术实施例提供一种数据传输方法、装置、电子设备和计算机存储介质,通过确定主设备的目标发送数据和对应的多个从设备;其中,所述目标发送数据包括若干个数据字段,每一个数据字段均包括所述多个从设备各自的至少一位比特数据;通过总线将所述目标发送数据发送至所述多个从设备。这样,本技术实施例中,由于目标发送数据中的每一个数据字段均包括多个从设备各自的至少一位比特数据,这样,当目标发送数据被发送至多个从设备时,多个从设备中的每个从设备均可以从每一个数据字段中获取到相应的有效比特数据;如此,可以提高多个从设备与主设备进行通信时的时效性,同时还能够降低通信数据丢失的风险。
附图说明
38.图1为本技术实施例提供的一种数据传输方法的流程示意图;
39.图2本技术实施例提供的一种数据传输系统的组成结构示意图;
40.图3为本技术实施例提供的一种在i2c总线下主从设备的组成结构示意图;
41.图4为本技术实施例提供的一种在i2c总线下进行交织编码处理的流程示意图;
42.图5为本技术实施例提供的一种在spi总线下主从设备的组成结构示意图;
43.图6为本技术实施例提供的一种在spi总线下进行交织编码处理的流程示意图;
44.图7为本技术实施例提供的一种在uart总线下主从设备的组成结构示意图;
45.图8为本技术实施例提供的一种在uart总线下进行交织编码处理的流程示意图;
46.图9是本技术实施例提供的数据传输装置的组成结构示意图;
47.图10为本技术实施例提供的一种电子设备的组成结构示意图。
具体实施方式
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
49.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
50.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
51.需要指出,本技术实施例所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
52.在本技术的一些实施例中,数据传输方法可以利用数据传输装置中的处理器实
现,上述处理器可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程逻辑门阵列(field programmable gate array,fpga)、中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器中的至少一种。
53.下面将结合附图对本技术各实施例进行详细说明。
54.在本技术的一实施例中,参见图1,其示出了本技术实施例提供的一种数据传输方法的流程示意图。如图1所示,该流程可以包括以下步骤:
55.步骤101、确定主设备的目标发送数据和对应的多个从设备;其中,目标发送数据包括若干个数据字段,每一个数据字段均包括多个从设备各自的至少一位比特数据。
56.本技术实施例中,数据传输方法可以应用于数据传输系统中,该系统包括一个主设备和大量的从设备。其中,对于主设备的目标发送数据来说,可以从这大量的从设备中确定出本次目标发送数据对应的目标从设备,即本技术实施例所述的多个从设备。这样,对于这多个从设备而言,多个从设备均通过同一总线连接至主设备,即,主设备可以与每个从设备通过总线进行数据通信;具体参见图2,其示出了本技术实施例提供的一种数据传输系统的组成结构示意图。如图2所示,主设备与四个从设备(对应图中从设备0至从设备3)通过总线进行数据通信。
57.需要说明的是,主设备具有总线的控制权,在确定主设备的目标发送数据和对应的多个从设备后,可以通过总线将主设备的目标发送数据发送至多个从设备中的每个从设备。
58.示例性地,主设备可以为cpu或微控制单元(microcontroller unit,mcu)等处理器芯片;从设备可以为数据采集设备或数模转换输出设备等;总线至少可以包括下述其中一项:集成电路(inter-integrated circuit,i2c)总线、串行外设接口(serial peripheral interface,spi)总线以及通用异步收发器(universal asynchronous receiver/transmitter,uart)总线;但是这里并不作任何限定。
59.在一些实施例中,确定主设备的目标发送数据,可以包括:确定多个从设备各自的待接收数据;按照预设方式对多个从设备各自的待接收数据进行交织编码处理,确定主设备的目标发送数据。
60.示例性地,每一个从设备的待接收数据可以是根据主设备自身生成的控制指令、采集指令或设置指令等相关数据得到的,也可以是根据其他设备转发给主设备的数据得到的;本技术实施例对此不作限定。
61.本技术实施例中,每一个从设备的待接收数据均可以包括若干位比特数据;这里,对于每个从设备的待接收数据包括的比特数据位数不作限定;需要说明的是,对于不同的从设备,待接收数据包括的比特数据位数可以相同,也可以不同。
62.进一步地,在确定多个从设备各自的待接收数据后,可以按照预设方式对多个从设备各自的待接收数据进行编码处理,并将编码处理后的数据确定为主设备的目标发送数据。需要说明的是,本技术实施例对于编码方式的类型不作限定,例如,可以是交织编码方式,也可以是其他类型的编码方式;下面以交织编码方式为例作进一步说明。
63.在一些实施例中,按照预设方式对多个从设备各自的待接收数据进行交织编码处
理,可以包括:确定每一个从设备的待接收数据在进行交织编码处理时的连续比特位数;按照连续比特位数对多个从设备各自的待接收数据进行交织编码处理。
64.这里,连续比特位数表征每次对多个从设备各自的待接收数据进行交织编码处理时的比特位数;示例性地,对于连续比特位数的取值可以参考从设备的数量,本技术实施例对此不作限定;例如,在从设备的数量为4的情况下,连续比特位数的取值可以为4或8等。
65.可以理解地,在从设备的数量为4的情况下,若连续比特位数的取值为8,则说明每次需要对多个从设备各自的待接收数据中的两位比特进行交织编码处理;在从设备的数量为4的情况下,若连续比特位数的取值为4,则说明每次需要对多个从设备各自的待接收数据中的一位比特进行交织编码处理。
66.步骤102、通过总线将目标发送数据发送至多个从设备。
67.本技术实施例中,在根据上述步骤得到主设备的目标发送数据后,可以通过总线将主设备的目标发送数据发送至多个从设备,进而实现对每个从设备的协同控制。
68.示例性地,由于目标发送数据中的每一个数据字段均包括多个从设备各自的至少一位比特数据;因而,在每个从设备接收到主设备的目标发送数据后,均可以从每一个数据字段获取到有效的若干位比特数据,通过将这些有效的若干位比特数据进行组合,即可得到每个从设备各自的待接收数据;后续,可以对每个从设备各自的待接收数据进行进一步的操作,例如将待接收数据进行处理后输出。
69.可以理解地,由于多个从设备中的每个从设备可以从目标发送数据包括的每一个数据字段接收到各自的有效数据,因而可以减少每个从设备获取数据的时间间隔;进一步地,由于每个从设备与主设备之间的总线距离对有效数据获取时效性的影响较小,若忽略这部分影响,本技术实施例能够确保多个从设备与主设备进行通信时的时效性,使得每一个从设备能够同时接收到各自的待接收数据,降低通信数据丢失的风险的同时实现主设备对多个从设备的同步控制。
70.本技术实施例提供一种数据传输方法,该方法包括:确定主设备的目标发送数据和对应的多个从设备;其中,目标发送数据包括若干个数据字段,每一个数据字段均包括多个从设备各自的至少一位比特数据;通过总线将目标发送数据发送至多个从设备。可以看出,本技术实施例中,由于目标发送数据中的每一个数据字段均包括多个从设备各自的至少一位比特数据,这样,当目标发送数据被发送至多个从设备时,多个从设备中的每个从设备均可以从每一个数据字段中获取到相应的有效比特数据;如此,可以提高多个从设备与主设备进行通信时的时效性,降低通信数据丢失的风险。
71.在本技术的另一实施例中,基于前述实施例所述的数据传输方法,这里可以设定多个从设备(如n个从设备),每一个数据字段包括n位比特数据,n、n均为大于1的整数。下面将分别针对n等于n,n小于n以及n大于n这三种不同情况,对交织编码处理的过程进行示例性说明。
72.在一些实施例中,按照连续比特位数对多个从设备各自的待接收数据进行交织编码处理,可以包括:在n等于n时,在按照连续比特位数对多个从设备各自的待接收数据进行交织编码处理时,将处理后得到的数据中每n位比特依次写入一个数据字段。
73.需要说明的是,n等于n,即表示多个从设备的数量等于每一个数据字段包括的比特数据位数;示例性地,假设多个从设备的数量为8,相应地,则每一个数据字段包括8位比
特数据,该数据字段中包括的每一位比特数据是从8个从设备各自的待接收数据中获取的,具体地,该数据字段中的第一位比特数据是从第1个从设备的待接收数据获取的,第二位比特数据是从第2个从设备的待接收数据获取的,依次类推;可见,当前情况下,每一个数据字段均包括多个从设备各自的一位比特数据。此时,在按照连续比特位数对多个从设备各自的待接收数据进行交织编码处理时,可以将处理后得到的数据中每8位比特依次写入一个数据字段。
74.在一些实施例中,按照连续比特位数对多个从设备各自的待接收数据进行交织编码处理,可以包括:从每一个从设备的待接收数据的第一位比特开始,按照从第一从设备到第n从设备的顺序依次获取多个从设备的连续比特位数,作为第一次从多个从设备中获取的连续比特位数;在第一次从多个从设备中获取连续比特位数之后,按照从第n从设备到第一从设备的顺序依次获取多个从设备的连续比特位数,作为第二次从多个从设备中获取的连续比特位数;在第二次从多个从设备中获取连续比特位数之后,重复执行按照从第一从设备到第n从设备的顺序依次获取多个从设备的连续比特位数、以及按照从第n从设备到第一从设备的顺序依次获取多个从设备的连续比特位数的步骤,以实现对多个从设备各自的待接收数据进行交织编码处理。
75.可以理解地,在n等于n的情况下,为了确保每一个数据字段均包括多个从设备各自的至少一位比特数据,可以每次对多个从设备各自的待接收数据中的其中一位比特数据进行交织编码处理。
76.需要说明的是,在n等于n时,还可以按照非连续比特位数对多个从设备各自的待接收数据进行交织编码处理;例如,在第一次从多个从设备中获取到多个从设备的第一位比特后,再获取多个从设备的第三位比特,以此类推,在多个从设备的奇数位比特获取完毕后,接着获取多个从设备的第二位比特、第四位比特,以此类推,直至完成对多个从设备各自的待接收数据的交织编码处理;之后,将处理后得到的数据中每8位比特依次写入一个数据字段。可以理解地,第一数据字段中包括这每个从设备的第1位比特数据;第二数据字段中包括这每个从设备的第3位比特数据。
77.在一些实施例中,按照连续比特位数对多个从设备各自的待接收数据进行交织编码处理,可以包括:在n小于n时,在按照连续比特位数对多个从设备各自的待接收数据进行交织编码处理时,若每一次从多个从设备中获取的连续比特位数之和小于或等于n/2位比特,则将每至少两次从多个从设备中获取的连续比特位数写入一个数据字段;若每一次从多个从设备中获取的连续比特位数之和大于n/2位比特且小于或等于n位比特,则将每一次从多个从设备中获取的连续比特位数写入一个数据字段。
78.还需要说明的是,n小于n,即表示多个从设备的数量小于每一个数据字段包括的比特数据位数;这种情况下,在按照连续比特位数对多个从设备各自的待接收数据进行交织编码处理时,需要进一步判断每一次从多个从设备中获取的连续比特位数之和是否大于n/2位比特;若判断为否,则可以将每至少两次从多个从设备中获取的连续比特位数写入一个数据字段;反之,若判断为是,则将每一次从多个从设备中获取的连续比特位数写入一个数据字段。需要说明的是,若上述判断为否,也可以将每一次从多个从设备中获取的连续比特位数写入一个数据字段。
79.示例性地,以多个从设备的数量为2,每一个数据字段包括8位比特数据为例进行
说明。首先需要判断每一次从多个从设备中获取的连续比特位数之和是否大于4位比特,若判断为否,则可以将每至少两次从多个从设备中获取的连续比特位数写入一个数据字段;这样,相比于将每一次从多个从设备中获取的连续比特位数写入一个数据字段,可以节省一定的存储空间率;若判断为是,则将每一次从多个从设备中获取的连续比特位数写入一个数据字段。
80.在一些实施例中,上述方法还可以包括:若每一次从多个从设备中获取的连续比特位数之和大于n/2位比特且小于n位比特,则确定数据字段中保留预设个数的空白数据位;其中,预设个数是由n位比特与每一次从多个从设备中获取的连续比特位数之和进行差值计算得到的。
81.示例性地,以每一个数据字段包括8位比特数据为例进行说明,若判断每一次从多个从设备中获取的连续比特位数之和大于4位比特且小于8位比特,则将每一次从多个从设备中获取的连续比特位数写入一个数据字段后,数据字段中还会保留预设个数的空白数据位;这里,预设个数等于8减去每一次从多个从设备中获取的连续比特位数之和,假设每一次从多个从设备中获取的连续比特位数为6,则预设个数的取值为8-6=2,即数据字段中保留2个空白数据位。
82.示例性地,在n小于n时,还可以按照非连续比特位数对多个从设备各自的待接收数据进行交织编码处理;这里,假设多个从设备的数量为4,此时,可以按照从第1从设备到第4从设备的顺序,依次获取每个从设备的第1和第3位比特数据;再依次获取每个从设备的第2和第4位比特数据;接着,依次获取每个从设备的第5和第7位比特数据,直至完成对多个从设备各自的待接收数据的交织编码处理;之后,将处理后得到的数据中每8位比特依次写入一个数据字段。可以理解地,第一数据字段中包括这四个从设备的第1和第3位比特数据;第二数据字段中包括这四个从设备的第2和第4位比特数据。
83.示例性地,在n小于n时,可以继续确定n与n/2的大小关系;基于该大小关系,进一步确定每一个数据字段包括的多个从设备各自的比特数据位数。
84.若n大于n/2,则每一个数据字段可以包括多个从设备各自的一位比特数据以及若干空白数据位,空白数据位的个数为n-n;例如,假设多个从设备的数量为6,则每一个数据字段包括多个从设备各自的一位比特数据以及两个空白数据位。
85.若n小于n/2,则每一个数据字段可以包括多个从设备各自的至少两位比特数据;例如,假设多个从设备的数量为4,则每一个数据字段可以包括多个从设备各自的两位比特数据,也可以包括多个从设备各自的一位比特数据以及四个空白数据位。假设多个从设备的数量为2,则每一个数据字段可以包括多个从设备各自的四位比特数据,也可以包括多个从设备各自的三位比特数据以及两个空白数据位,还可以包括多个从设备各自的两位比特数据以及四个空白数据位等。
86.在一些实施例中,上述方法还可以包括:在n大于n时,按照预设优先级对多个从设备进行分组,使得每一分组包括的从设备数量小于或等于n;按照预设优先级从高到低的顺序,依次对每一分组包括的多个从设备各自的待接收数据进行交织编码处理。
87.还需要说明的是,n大于n,即表示多个从设备的数量大于每一个数据字段包括的比特数据位数;这种情况下,在按照连续比特位数对多个从设备各自的待接收数据进行交织编码处理之前,需要先按照预设优先级对多个从设备进行分组,得到多个分组,其中,每
一分组包括的从设备数量小于或等于n。
88.示例性地,每个从设备具有一个对应的预设优先级;按照预设优先级对多个从设备进行分组,可以包括:先按照多个从设备中每个从设备的预设优先级,对多个从设备进行排序,按照设定数量对排序后的多个从设备进行分组;这里,设定数量的取值小于或等于n。
89.示例性地,在得到多个分组后,按照预设优先级从高到低的顺序,依次对每一分组包括的多个从设备各自的待接收数据进行交织编码处理;需要说明的是,若多个分组中某一分组包括的多个从设备数量等于n,则对应的交织编码处理过程与上述n等于n时对应的交织编码处理过程类似;同样地,若多个分组中某一分组包括的多个从设备数量小于n,则对应的交织编码处理过程与上述n小于n时对应的交织编码处理过程类似,此处不再赘述。
90.为了能够更加体现本技术的目的,下面以一个主设备和四个从设备为例,对三种不同类型总线下的交织编码处理过程,作进一步的说明。
91.图3为本技术实施例提供的一种在i2c总线下主从设备的组成结构示意图,如图3所示,主设备与从设备0、从设备1、从设备2以及从设备3通过i2c总线连接;这里,i2c总线包括串行数据线(serial data,sda)和串行时钟线(serial clock,scl);sda负责在设备间传输串行数据,scl负责产生同步时钟脉冲。
92.图4为本技术实施例提供的一种在i2c总线下进行交织编码处理的流程示意图,结合图3和图4可知,packet_data0表示从设备0的待接收数据,packet_data1表示从设备1的待接收数据,packet_data2表示从设备2的待接收数据,packet_data3表示从设备3的待接收数据;packet_data_new表示对上述四个从设备各自的待接收数据进行交织编码处理后的数据,即目标发送数据;其中,目标发送数据中的每一个数据字段包括8位比特数据。
93.示例性地,根据图中的s型虚线可知,在i2c总线下进行交织编码处理的过程为:从packet_data0的第一位比特开始,按照从设备0到从设备3的顺序依次获取这四个从设备的第一位比特,作为第一次从四个从设备中获取的连续比特位数;在第一次从四个从设备中获取连续比特位数之后,按照从设备3到从设备0的顺序依次获取这四个从设备的第二位比特,作为第二次从四个从设备中获取的连续比特位数;以此类推,直至获取到第n次从四个从设备中获取的连续比特位数。
94.可以看出,每一次从四个从设备中获取的连续比特位数之和为4;由于目标发送数据中的每一个数据字段包括8位比特数据,因而,可以将每两次从四个从设备中获取的连续比特位数写入一个数据字段;如图所示,第一个数据字段中包括第一次从四个从设备中获取的连续比特位数(1,1,1,1)和第二次从四个从设备中获取的连续比特位数(2,2,2,2);进一步地,通过将目标发送数据包括的每一个数据字段中的内容依次放入i2c总线传输协议中的数据帧data中,可以实现i2c总线下主设备与多个从设备的实时通信。
95.图5为本技术实施例提供的一种在spi总线下主从设备的组成结构示意图,如图5所示,主设备与从设备0、从设备1、从设备2以及从设备3通过spi总线连接;这里,spi总线包括四根信号线,分别为片选线(slave select,cs)、串行数据输入线(sdi)、串行数据输出线(sdo)和串行时钟线(sclk)。
96.图6为本技术实施例提供的一种在spi总线下进行交织编码处理的流程示意图,结合图5和图6可知,packet_data0表示从设备0的待接收数据,packet_data1表示从设备1的待接收数据,packet_data2表示从设备2的待接收数据,packet_data3表示从设备3的待接
收数据;packet_data_new表示对上述四个从设备各自的待接收数据进行交织编码处理后的数据,即目标发送数据;其中,目标发送数据中的每一个数据字段包括8位比特数据。
97.示例性地,根据图中的s型虚线可知,在spi总线下进行交织编码处理的过程与上述在i2c总线下进行交织编码处理的过程类似,此处不再赘述。可以看出,通过将目标发送数据包括的每一个数据字段中的内容依次放入spi总线传输协议中的数据帧data中,可以实现spi总线下主设备与多个从设备的实时通信。
98.图7为本技术实施例提供的一种在uart总线下主从设备的组成结构示意图,如图7所示,主设备与从设备0、从设备1、从设备2以及从设备3通过spi总线连接;这里,uart总线是一种通用的串行异步通信总线,该总线有两条数据线,分别为发送线tx_wire和接收线rx_wire,可以实现全双工的发送和接收。
99.图8为本技术实施例提供的一种在uart总线下进行交织编码处理的流程示意图,结合图7和图8可知,packet_data0表示从设备0的待接收数据,packet_data1表示从设备1的待接收数据,packet_data2表示从设备2的待接收数据,packet_data3表示从设备3的待接收数据;packet_data_new表示对上述四个从设备各自的待接收数据进行交织编码处理后的数据,即目标发送数据;其中,目标发送数据中的每一个数据字段包括8位比特数据。
100.示例性地,根据图中的s型虚线可知,在uart总线下进行交织编码处理的过程与上述在i2c总线下进行交织编码处理的过程类似,此处不再赘述。可以看出,通过将目标发送数据包括的每一个数据字段中的内容依次放入uart总线传输协议中的数据帧data中,可以实现uart总线下主设备与多个从设备的实时通信。
101.在本技术实施例中,上述针对三种不同类型总线下的交织编码处理方式仅作为本技术实施例中的部分示例;本技术实施例还可以实现针对其他类型总线下的交织编码处理,即,通过对各种总线传输协议的数据包采用交织方式编码,可以提高数据通道的低时延,从而能够确保多个从设备与主设备进行通信时的时效性,降低通信数据丢失的风险。
102.在本技术的又一实施例中,参见图9,其示出了本技术实施例提供的数据传输装置的组成结构示意图。如图9所示,该数据传输装置90包括:确定模块201和发送模块202,其中:
103.确定模块201,用于确定主设备的目标发送数据和对应的多个从设备;其中,所述目标发送数据包括若干个数据字段,每一个数据字段均包括所述多个从设备各自的至少一位比特数据;
104.发送模块202,用于通过总线将所述目标发送数据发送至所述多个从设备。
105.在一些实施例中,参见图9,数据传输装置90还包括编码模块203,其中:
106.确定模块201,还用于确定所述多个从设备各自的待接收数据;每一个从设备的待接收数据均包括若干位比特数据;
107.编码模块203,用于按照预设方式对所述多个从设备各自的待接收数据进行交织编码处理,确定所述主设备的目标发送数据。
108.在一些实施例中,确定模块201,还用于确定每一个从设备的待接收数据在进行交织编码处理时的连续比特位数;
109.编码模块203,还用于按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理。
110.在一些实施例中,所述多个从设备包括n个从设备,每一个数据字段包括n位比特数据,n、n均为大于1的整数;
111.相应地,编码模块203,还用于在n等于n时,在按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理时,将处理后得到的数据中每n位比特依次写入一个所述数据字段。
112.在一些实施例中,编码模块203,还用于:
113.在n小于n时,在按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理时,若每一次从所述多个从设备中获取的所述连续比特位数之和小于或等于n/2位比特,则将每至少两次从所述多个从设备中获取的所述连续比特位数写入一个所述数据字段;
114.若每一次从所述多个从设备中获取的所述连续比特位数之和大于n/2位比特且小于或等于n位比特,则将每一次从所述多个从设备中获取的所述连续比特位数写入一个所述数据字段。
115.在一些实施例中,确定模块201,还用于:
116.若每一次从所述多个从设备中获取的所述连续比特位数之和大于n/2位比特且小于n位比特,则确定所述数据字段中保留预设个数的空白数据位;
117.其中,所述预设个数是由n位比特与每一次从所述多个从设备中获取的所述连续比特位数之和进行差值计算得到的。
118.在一些实施例中,编码模块203,还用于:
119.从每一个从设备的待接收数据的第一位比特开始,按照从第一从设备到第n从设备的顺序依次获取所述多个从设备的所述连续比特位数,作为第一次从所述多个从设备中获取的所述连续比特位数;
120.在第一次从所述多个从设备中获取所述连续比特位数之后,按照从所述第n从设备到所述第一从设备的顺序依次获取所述多个从设备的所述连续比特位数,作为第二次从所述多个从设备中获取的所述连续比特位数;
121.在第二次从所述多个从设备中获取所述连续比特位数之后,重复执行按照从第一从设备到第n从设备的顺序依次获取所述多个从设备的所述连续比特位数、以及按照从所述第n从设备到所述第一从设备的顺序依次获取所述多个从设备的所述连续比特位数的步骤,以实现对所述多个从设备各自的待接收数据进行交织编码处理。
122.在一些实施例中,参见图9,该数据传输装置90还包括分组模块204,用于在n大于n时,按照预设优先级对所述多个从设备进行分组,使得每一分组包括的从设备数量小于或等于n;
123.编码模块203,还用于按照所述预设优先级从高到低的顺序,依次对每一分组包括的多个从设备各自的待接收数据进行交织编码处理。
124.在一些实施例中,所述总线至少包括下述其中一项:i2c总线、spi总线以及uart总线。
125.在实际应用中,上述确定模块201、发送模块202、编码模块203和分组模块204均可以由位于电子设备中的处理器实现,该处理器可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。
126.另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
127.集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
128.具体来讲,本实施例中的一种数据传输方法对应的计算机程序指令可以被存储在光盘、硬盘、u盘等存储介质上,当存储介质中的与一种数据传输方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种数据传输方法。
129.基于前述实施例相同的技术构思,参见图10,其示出了本技术实施例提供的一种电子设备300,可以包括:存储器301和处理器302;其中,
130.存储器301,用于存储计算机程序和数据;
131.处理器302,用于执行存储器中存储的计算机程序,以实现前述实施例的任意一种数据传输方法。
132.在实际应用中,上述存储器301可以是易失性存储器(volatile memory),例如ram;或者非易失性存储器(non-volatile memory),例如rom、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者上述种类的存储器的组合,并向处理器302提供指令和数据。
133.上述处理器302可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的数据传输系统,用于实现上述处理器功能的电子器件还可以为其他,本技术实施例不作具体限定。
134.在一些实施例中,本技术实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
135.上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
136.本技术所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
137.本技术所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
138.本技术所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
139.本领域内的技术人员应明白,本技术的实施例可提供为方法、装置、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形
式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
140.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
141.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
142.以上,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。

技术特征:


1.一种数据传输方法,其特征在于,所述方法包括:确定主设备的目标发送数据和对应的多个从设备;其中,所述目标发送数据包括若干个数据字段,每一个数据字段均包括所述多个从设备各自的至少一位比特数据;通过总线将所述目标发送数据发送至所述多个从设备。2.根据权利要求1所述的数据传输方法,其特征在于,所述确定主设备的目标发送数据,包括:确定所述多个从设备各自的待接收数据;每一个从设备的待接收数据均包括若干位比特数据;按照预设方式对所述多个从设备各自的待接收数据进行交织编码处理,确定所述主设备的目标发送数据。3.根据权利要求2所述的数据传输方法,其特征在于,所述按照预设方式对所述多个从设备各自的待接收数据进行交织编码处理,包括:确定每一个从设备的待接收数据在进行交织编码处理时的连续比特位数;按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理。4.根据权利要求3所述的数据传输方法,其特征在于,所述多个从设备包括n个从设备,每一个数据字段包括n位比特数据,n、n均为大于1的整数;相应地,所述按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理,包括:在n等于n时,在按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理时,将处理后得到的数据中每n位比特依次写入一个所述数据字段。5.根据权利要求4所述的数据传输方法,其特征在于,所述按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理,包括:在n小于n时,在按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理时,若每一次从所述多个从设备中获取的所述连续比特位数之和小于或等于n/2位比特,则将每至少两次从所述多个从设备中获取的所述连续比特位数写入一个所述数据字段;若每一次从所述多个从设备中获取的所述连续比特位数之和大于n/2位比特且小于或等于n位比特,则将每一次从所述多个从设备中获取的所述连续比特位数写入一个所述数据字段。6.根据权利要求5所述的数据传输方法,其特征在于,所述方法还包括:若每一次从所述多个从设备中获取的所述连续比特位数之和大于n/2位比特且小于n位比特,则确定所述数据字段中保留预设个数的空白数据位;其中,所述预设个数是由n位比特与每一次从所述多个从设备中获取的所述连续比特位数之和进行差值计算得到的。7.根据权利要求4至6任一项所述的数据传输方法,其特征在于,所述按照所述连续比特位数对所述多个从设备各自的待接收数据进行交织编码处理,包括:从每一个从设备的待接收数据的第一位比特开始,按照从第一从设备到第n从设备的顺序依次获取所述多个从设备的所述连续比特位数,作为第一次从所述多个从设备中获取的所述连续比特位数;
在第一次从所述多个从设备中获取所述连续比特位数之后,按照从所述第n从设备到所述第一从设备的顺序依次获取所述多个从设备的所述连续比特位数,作为第二次从所述多个从设备中获取的所述连续比特位数;在第二次从所述多个从设备中获取所述连续比特位数之后,重复执行按照从第一从设备到第n从设备的顺序依次获取所述多个从设备的所述连续比特位数、以及按照从所述第n从设备到所述第一从设备的顺序依次获取所述多个从设备的所述连续比特位数的步骤,以实现对所述多个从设备各自的待接收数据进行交织编码处理。8.根据权利要求4所述的数据传输方法,其特征在于,所述方法还包括:在n大于n时,按照预设优先级对所述多个从设备进行分组,使得每一分组包括的从设备数量小于或等于n;按照所述预设优先级从高到低的顺序,依次对每一分组包括的多个从设备各自的待接收数据进行交织编码处理。9.根据权利要求1所述的数据传输方法,其特征在于,所述总线至少包括下述其中一项:i2c总线、spi总线以及uart总线。10.一种数据传输装置,其特征在于,所述装置包括:确定模块,用于确定主设备的目标发送数据和对应的多个从设备;其中,所述目标发送数据包括若干个数据字段,每一个数据字段均包括所述多个从设备各自的至少一位比特数据;发送模块,用于通过总线将所述目标发送数据发送至所述多个从设备。11.一种电子设备,其特征在于,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至9任一项所述的方法。12.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9任一项所述的方法。

技术总结


本申请实施例公开了一种数据传输方法、装置、电子设备和计算机存储介质,该方法应用于芯片通信领域中,该方法包括:确定主设备的目标发送数据和对应的多个从设备;其中,所述目标发送数据包括若干个数据字段,每一个数据字段均包括所述多个从设备各自的至少一位比特数据;通过总线将所述目标发送数据发送至所述多个从设备。这样,由于目标发送数据中的每一个数据字段均包括多个从设备各自的至少一位比特数据,因而,能够解决多个从设备与主设备进行通信时实时响应度不高的问题。进行通信时实时响应度不高的问题。进行通信时实时响应度不高的问题。


技术研发人员:

冯广博 董舒 柯毅 刘德珩

受保护的技术使用者:

武汉市聚芯微电子有限责任公司

技术研发日:

2022.08.26

技术公布日:

2022/12/5

本文发布于:2022-12-16 16:15:02,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/34608.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:多个   设备   数据   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图