CN115173998A - 一种多处理器交互通信方法、***及存储介质 - Google Patents
一种多处理器交互通信方法、***及存储介质 Download PDFInfo
- Publication number
- CN115173998A CN115173998A CN202210790858.7A CN202210790858A CN115173998A CN 115173998 A CN115173998 A CN 115173998A CN 202210790858 A CN202210790858 A CN 202210790858A CN 115173998 A CN115173998 A CN 115173998A
- Authority
- CN
- China
- Prior art keywords
- data
- output
- processors
- multiprocessor
- universal serial
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请提供一种多处理器交互通信方法、***及存储介质,涉及数据传输技术领域。该方法通过根据数据输出指令获取待输出数据;采用基于反向不归零编码的数位插零编码方法对待输出数据进行编码,获取编码后的输出数据;通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据。从而,采用通用串行总线进行数据传输,使得数据传输更加稳定高效,节省了布线成本;采用基于反向不归零编码的数位插零编码方法对待输出数据进行编码,使得数据传输更加精准,提高了数据传输效率。
Description
技术领域
本发明涉及数据传输技术领域,具体而言,涉及一种多处理器交互通信方法、***及存储介质。
背景技术
目前,在自动化控制***中,由于控制器需求越来越复杂,单个控制器模块所承载的功能越来越多,为提升控制器处理能力,往往采用多个嵌入式微处理器协同处理控制站的任务,为了能够使***更加稳定且准确的运行,处理器之间交互通信是必须的。
在现有的多处理器交互方式中,在处理器间通信输出带宽大于100Mbps的场景下,UART(通用异步收发传输器,Universal Asynchronous Transceiver)的带宽较低,不适用于数据量大且实时性较高的场景。以太网信号速度快,但是一般处理器的以太网MAC(媒体访问控制,Media Access Control)接口数量是固定有限的,且控制器经常需要通过以太网对外通信,因此在多个处理器之间交互通信的场景时,UART的带宽较低,以太网具有局限性,存在交互效率较低的问题。
发明内容
本发明的目的在于,针对上述现有技术中的不足,本申请提供了一种充电控制方法、装置、服务器、存储介质、***,以解决现有技术中处理器间交互效率较低等问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种多处理器交互通信方法,应用于多处理器交互通信***中的任一处理器,所述多处理器交互通信***中的多个处理器之间通过通用串行总线连接,所述方法包括:
根据数据输出指令获取待输出数据;
采用基于反向不归零编码的数位插零编码方法对所述待输出数据进行编码,获取编码后的输出数据;
通过所述通用串行总线向多个所述处理器中的目标处理器传输所述编码后的输出数据。
可选地,所述采用基于反向不归零编码的数位插零编码方法对所述待输出数据进行编码,获取编码后的输出数据,包括:
对所述待输出数据进行01编码,得到包含01码的待输出数据;
若所述包含01码的待输出数据中连续1的数量大于或等于预设数量,则对所述包含01码的待输出数据进行插0操作,得到插0后的待输出数据;
采用反向不归零编码法对所述插0后的待输出数据进行编码操作,获取所述编码后的输出数据。
可选地,所述方法还包括:
根据数据输入指令以及对应的端点模式,通过所述通用串行总线获取待输入数据;
采用基于反向不归零编码的数位插零解码方法对所述待输入数据进行解码操作,完成数据传输。
可选地,所述处理器包括:驱动软件模块、驱动器、控制器驱动器;
所述通过所述通用串行总线向多个所述处理器中的目标处理器传输所述编码后的输出数据,包括:
通过所述驱动软件模块向所述驱动器发送数据输出指令以及所述编码后的输出数据;
通过所述驱动器根据所述数据输出指令调用所述控制器驱动器,并通过所述通用串行总线向多个所述处理器中的目标处理器传输所述编码后的输出数据。
可选地,所述多处理器交互通信***中的多个处理器包括:一个主处理器、一个或多个从处理器。
可选地,所述多处理器交互通信***包括:协同处理板卡,多个所述处理器基于所述协同处理板卡内部的通用串行总线信号的印制电路板PCB布线来连接。
第二方面,本申请实施例提供一种多处理器交互通信***,包括:多个处理器,多个所述处理器之间通过通用串行总线连接;
各所述处理器用于执行如第一方面任一项所述的方法。
可选地,所述多处理器交互通信***中的多个处理器包括:一个主处理器、一个或多个从处理器。
可选地,所述多处理器交互通信***包括:协同处理板卡,多个所述处理器基于所述协同处理板卡内部的通用串行总线信号的印制电路板PCB布线来连接。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的多处理器交互通信方法的步骤。
相对于现有技术而言,本申请具有以下有益效果:
本申请提供一种多处理器交互通信方法、***及存储介质,该方法通过根据数据输出指令获取待输出数据;采用基于反向不归零编码的数位插零编码方法对待输出数据进行编码,获取编码后的输出数据;通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据。从而,采用通用串行总线进行数据传输,使得数据传输更加稳定高效,节省了布线成本;采用基于反向不归零编码的数位插零编码方法对待输出数据进行编码,使得数据传输更加精准,提高了数据传输效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种多处理器交互通信***的结构示意图;
图2为本申请实施例提供的一种模块之间的多处理器交互拓扑框图;
图3为本申请实施例提供的一种多处理器交互通信方法的流程示意图;
图4为本申请实施例提供的一种基于反向不归零编码的逻辑图;
图5为本申请实施例提供的一种基于反向不归零编码的数位插零编码方法的流程示意图;
图6为本申请实施例提供的一种接收数据的方法的流程示意图;
图7为本申请实施例提供的一种输出数据的传输方法的流程示意图;
图8为本申请实施例提供的一种驱动软件模块的示意图;
图9为本申请实施例提供的一种处理器的示意图。
图标:100-处理器、200-通用串行总线、300-第一模块、400-第二模块、801-获取子模块、802-编码子模块、803-传输子模块、901-处理模块、902-存储介质。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
目前,在自动化控制***中,由于控制器需求越来越复杂,单个控制器模块所承载的功能越来越多,为提升控制器处理能力,往往采用多个嵌入式微处理器协同处理控制站的任务,为了能够使***更加稳定且准确地运行,处理器之间交互通信是必须的。为使得处理器之间的交互通信更加稳定高效,本申请提供了一种多处理器交互通信方法、***及存储介质。
如下先对本申请实施例提供的一种多处理器交互通信***进行解释说明。图1为本申请实施例提供的一种多处理器交互通信***的结构示意图。
如图1所示,该***包括:多个处理器100,多个处理器100之间通过USB(通用串行总线,Universal Serial Bus)200连接;各处理器100用于执行本申请实施例提供的任一项的方法。
通用串行总线200连接处理器100的通用串行接口端,以将多个处理器100连接。
示例地,图1中所示的四个处理器100的连接方式仅为一种示例,在该***中,处理器100的数量可以是多个,处理器100之间的而连接方式可以是每两个处理器100之间都通过通用串行总线200连接,也可以是一个处理器100与其它处理器100中的部分处理器100通过通用串行总线200连接,可根据实际需求而设置,此处并不限定。处理器100之间的拓扑方式除了图1中所示的环形拓扑,还可以为星型拓扑、网状拓扑、半网状拓扑。
示例地,处理器100可以为:CPU(中央处理器,central processing unit)、FPGA(现场可编程逻辑门阵列,Field Programmable Gate Array)、CPLD(复杂可编程逻辑器,Complex Programmable Logic Device)。通用串行总线200可以为:USB2.0或USB3.0,USB2.0的传输带宽为480Mbps,USB3.0的传输带宽为5.0Gbps,支持应用在处理器100间通信带宽大于100Mbps的场景,提高了数据传输效率。通用串行总线200不需要以太网PHY芯片、网络变压器等外设即可实现交互通信,减少了产品的物料成本,减少了故障点,提升了产品的可靠性。
综上,在本实施例中,该***包括:多个处理器,多个处理器之间通过通用串行总线连接;各处理器用于执行本申请实施例提供的任一项的方法。从而,通过采用通信带宽较大的通用串行总线,提高了数据传输效率,另外,通用串行总线不需要以太网PHY芯片、网络变压器等外设即可实现交互通信,节省了成本。
进一步地,继续参照图1,多处理器交互通信***中的多个处理器100包括:一个主处理器、一个或多个从处理器。
在多处理器交互通信***中,多个处理器100之间进行交互通信时,处理器100可以用于传输输出数据,处理器100也可以用于接收输入数据。当处理器100用于传输输出数据时,该处理器100为主处理器;当处理器100用于接收输入数据时,该处理器100为从处理器。
进一步,图2为本申请实施例提供的一种模块之间的多处理器交互拓扑框图,如图2所示。
本申请实施例中,一种可能的场景是:多个处理器位于多个不同的模块中,每个模块包括至少一个处理器,每个模块用于完成对应的处理任务。可选地,每个模块内部的处理器采用通用串行总线连接,每个模块之间的处理器也采用通用串行总线连接。示例地,多个模块是根据实体关系进行划分,例如,根据物理距离或根据物理位置划分得到模块。以图2中所示为例,多处理器交互通信***中包括两个模块,分别为第一模块300、第二模块400。
示例地,多个模块之间的互联的通用串行总线200可以为采用USB OTG(通用串行转换总线,Universal Serial Bus On-The-Go)端口,模块内部的互联需要的通用串行总线200仍然采用USB端口,模块之间的互联可以基于USB OTG端口进行通信。模块之间的工作权位分为工作和备用,因此在工作权位进行切换时,USB端口需要重新匹配。以处理器A为例,第一模块300为工作卡,第二模块400为备用卡时,第一模块300的处理器A中的USB OTG端口配置为USB主端口,以控制USB总线,第二模块400的处理器C中的USB OTG端口配置为USB从端口。第二模块400为工作卡,第一模块300为备用卡时,第二模块400中的处理器C中的USBOTG端口配置为USB主端口控制USB总线,第一模块300中的处理器A中的USB OTG端口配置为USB从端口。
在上述图1-图2所提供的实施例的基础上,对于多处理器交互通信***中的多处理器的连接关系进行了进一步说明。
可选地,继续参照图1,多处理器交互通信***包括:协同处理板卡,多个处理器100基于协同处理板卡内部的通用串行总线200信号的印制电路板布线来连接。
通过设置协同处理板卡,将多个处理器100嵌入在协同处理板卡内部,协同处理板卡采用PCB(印制电路板,Printed Circuit Board)布线将多个处理器100连接。其中,印制电路板传输通用串行总线200信号,实现多个处理器100之间的通用串行总线200信号传输,使得通用串行总线200信号传输的硬件线路更加稳定,便于数据传输。
在图1-图2所示的一种多处理器交互通信***的基础上,本申请实施例还提供了一种多处理器交互通信方法。图3为本申请实施例提供的一种多处理器交互通信方法的流程示意图。如图3所示,该方法应用于多处理器交互通信***中的任一处理器,多处理器交互通信***中的多个处理器之间通过通用串行总线连接,该方法包括:
S101、根据数据输出指令获取待输出数据。
示例地,接收到目标处理器发送的数据输出指令之后,可以根据接收到的数据输出指令,进而获取待输出数据,其中,目标处理器为获取待输出数据的处理器,目标处理器也可以是多处理器交互通信***中的任一处理器。可选地,可以以预设传输周期获取待输出数据。示例地,该待输出数据可以为控制***中的控制数据、查询数据等。
S102、采用基于反向不归零编码的数位插零编码方法对待输出数据进行编码,获取编码后的输出数据。
示例的,图4为本申请实施例提供的一种基于反向不归零编码的逻辑图。如图4所示,通用串行总线采用NRZI(反向不归零,Non-Return-to-Zero Inverted)编码的逻辑进行数据编码。图中,Data为原数据,NRZI为编码后的数据,电平翻转代表逻辑0,电平不变代表逻辑1。即,在数据传输的过程中,数据中逢0电平必翻转,逢1电平不变。由于逻辑0可以造成通用串行总线电平翻转,因此,当数据出现长0时,接收端可以在接收数据的同时,根据翻转信号调整同步频率。
但是,在实际数据传输的过程中,通用串行总线的接收端和发送端还是会存在误差。尤其是在环境较恶劣的情况下,时序存在发生扰动的可能性,导致通信异常,传输数据丢失。因此,可预设基于反向不归零编码的数位插零编码方法。采用基于反向不归零编码的数位插零编码方法对待输出数据进行强制插零编码,获取编码后的输出数据。以此,编码后的输出数据可以克服时序扰动,使得数据传输更加精准,提高了数据传输效率。
S103、通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据。
根据数据输出指令确定多个处理器中的目标处理器,通过通用串行总线向目标处理器传输编码后的输出数据。示例地,多处理之间基于通用串行总线的通信依靠中断通信或轮询通信。
采用通用串行总线进行数据传输,使得数据传输更加稳定高效,且通用串行总线布线简洁,节省了布线成本。
综上,在本实施例中,通过根据数据输出指令获取待输出数据;采用基于反向不归零编码的数位插零编码方法对待输出数据进行编码,获取编码后的输出数据;通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据。从而,采用通用串行总线进行数据传输,使得数据传输更加稳定高效,节省了布线成本;采用基于反向不归零编码的数位插零编码方法对待输出数据进行编码,使得数据传输更加精准,提高了数据传输效率。
图5为本申请实施例提供的一种基于反向不归零编码的数位插零编码方法的流程示意图。如图5所示,S102中的采用基于反向不归零编码的数位插零编码方法对待输出数据进行编码,获取编码后的输出数据,包括:
S201、对待输出数据进行01编码,得到包含01码的待输出数据。
示例地,采用二进制,对待输出数据进行01编码,得到包含01码的待输出数据。通过0、1的形式表达待输出数据,便于数据在数字电路中传输,以及被识别。
S202、若包含01码的待输出数据中连续1的数量大于或等于预设数量,则对包含01码的待输出数据进行插0操作,得到插0后的待输出数据。
预设连续1的预设数量,例如,若预设数量为2,则连续两位1,若预设数量为3,则连续三位1。当检测到包含01码的待输出数据中连续1的数量大于或等于预设数量,即可能会出现时序扰动,导致通信异常,传输数据丢失等情况。因此,可对待输出数据中连续1的数位之间进行插0操作,得到插0后的待输出数据。插0后的待输出数据不会再出现连续1的数量大于或等于预设数量,避免了数据丢失。
示例地,插0前的数据为:01111001,预设数量为3,则插0后的数据为:011011001。
S203、采用反向不归零编码法对插0后的待输出数据进行编码操作,获取编码后的输出数据。
采用反向不归零编码法对插0后的待输出数据进行编码操作,获取编码后的输出数据。编码后的输出数据,不仅易被识别,并且避免了由于数据中连续1的情况导致的数据传输不稳定等情况,提升了数据传输的精准度。
综上,在本实施例中,通过对待输出数据进行01编码,得到包含01码的待输出数据;若包含01码的待输出数据中连续1的数量大于或等于预设数量,则对包含01码的待输出数据进行插0操作,得到插0后的待输出数据;采用反向不归零编码法对插0后的待输出数据进行编码操作,获取编码后的输出数据。从而,避免了由于数据中连续1的情况导致的数据传输不稳定等情况,提升了数据传输的精准度。
图6为本申请实施例提供的一种接收数据的方法的流程示意图。如图6所示,该方法还包括:
S301、根据数据输入指令以及对应的端点模式,通过通用串行总线获取待输入数据。
在本申请中,除处理上述所提供的处理器传输输出数据的方法之外,还存在处理器接收输入数据的情况。
当接收到数据输入指令以及对应的端点模式,则需要接收待输入数据。此时待输入数据已由发送待输入数据的处理器发送至通用串行总线,即可通过通用串行总线获取待输入数据。其中,端点模式为通用串行总线的端点模式,即端点模式中携带了通用串行总线中哪个端口为发送端、哪个端口为接收端的端点,通用串行总线的端点模式可以根据数据传输的需要而调整。
S302、采用基于反向不归零编码的数位插零解码方法对待输入数据进行解码操作,完成数据传输。
由上述实施例可知,传输数据为经过基于反向不归零编码的数位插零编码方法进行编码后的数据。因此,接收到待输入数据之后,需要采用基于反向不归零编码的数位插零解码方法对待输入数据进行解码操作,完成数据传输。具体的基于反向不归零编码的数位插零解码方法与其编码方法正好相反,此处不再赘述。
综上,在本实施例中,根据数据输入指令以及对应的端点模式,通过通用串行总线获取待输入数据;采用基于反向不归零编码的数位插零解码方法对待输入数据进行解码操作,完成数据传输。从而,通过采用通用串行总线接收数据,并采用基于反向不归零编码的数位插零解码方法对待输入数据进行解码,使得数据传输更加精准。
图7为本申请实施例提供的一种输出数据的传输方法的流程示意图。如图7所示,处理器包括:驱动软件模块、驱动器、控制器驱动器。
则S103中的通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据,包括:
S401、通过驱动软件模块向驱动器发送数据输出指令以及编码后的输出数据。
在发送输出数据的处理器中,驱动软件模块接收到数据输出指令,并得到编码后的输出数据之后,将数据输出指令以及编码后的输出数据发送至驱动器,由驱动器进行后续操作。
S402、通过驱动器根据数据输出指令调用控制器驱动器,并通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据。
驱动器接收到数据输出指令以及编码后的输出数据之后。首先,根据数据输出指令确定需要进行数据输出操作,并确定数据输出指令中的目标处理器,并调用控制器驱动器。其次,将编码后的输出数据以及对应的目标处理器发送至控制器驱动器,并由控制器驱动器将通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据。从而通过通用串行总线,提高了数据传输效率。
综上,在本实施例中,通过驱动软件模块向驱动器发送数据输出指令以及编码后的输出数据;通过驱动器根据数据输出指令调用控制器驱动器,并通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据。从而通过通用串行总线,提高了数据传输效率。
进一步地,多处理器交互通信***中的多个处理器包括:一个主处理器、一个或多个从处理器。在多处理器交互通信***中,多个处理器之间进行交互通信时,每个处理器可以用于传输输出数据,处理器也可以用于接收输入数据。当处理器用于传输输出数据时,该处理器为主处理器;当处理器用于接收输入数据时,该处理器为从处理器。
进一步地,多处理器交互通信***包括:协同处理板卡,多个处理器基于协同处理板卡内部的通用串行总线信号的印制电路板PCB布线来连接。通过设置协同处理板卡,采用印制电路板PCB布线传输通用串行总线信号,使得通用串行总线信号传输的硬件线路更加稳定,便于数据传输。
下述对用以执行的本申请所提供的驱动软件模块、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图8为本申请实施例提供的一种驱动软件模块的示意图,如图8所示,该驱动软件模块应用于多处理器交互通信***中的任一处理器,多处理器交互通信***中的多个处理器之间通过通用串行总线连接,该驱动软件模块可包括:
获取子模块801,用于根据数据输出指令获取待输出数据。
编码子模块802,还用于采用基于反向不归零编码的数位插零编码方法对待输出数据进行编码,获取编码后的输出数据;
传输子模块803,用于通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据。
进一步地,编码子模块802,用于对待输出数据进行01编码,得到包含01码的待输出数据;若包含01码的待输出数据中连续1的数量大于或等于预设数量,则对包含01码的待输出数据进行插0操作,得到插0后的待输出数据;采用反向不归零编码法对插0后的待输出数据进行编码操作,获取编码后的输出数据。
进一步地,编码子模块802,具体用于根据数据输入指令以及对应的端点模式,通过通用串行总线获取待输入数据;采用基于反向不归零编码的数位插零解码方法对待输入数据进行解码操作,完成数据传输。
进一步地,传输子模块803包括:驱动软件模块、驱动器、控制器驱动器;
所述通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据,包括:通过驱动软件模块向驱动器发送数据输出指令以及编码后的输出数据;用于通过驱动器根据数据输出指令调用控制器驱动器,并通过通用串行总线向多个处理器中的目标处理器传输编码后的输出数据。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
图9为本申请实施例提供的一种处理器的示意图,该处理器可以是具备计算处理功能的设备。
该处理器包括:处理模块901、存储介质902。处理模块901和存储介质902通过总线连接。
存储介质902用于存储程序,处理模块901调用存储介质902存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种多处理器交互通信方法,其特征在于,应用于多处理器交互通信***中的任一处理器,所述多处理器交互通信***中的多个处理器之间通过通用串行总线连接,所述方法包括:
根据数据输出指令获取待输出数据;
采用基于反向不归零编码的数位插零编码方法对所述待输出数据进行编码,获取编码后的输出数据;
通过所述通用串行总线向多个所述处理器中的目标处理器传输所述编码后的输出数据。
2.根据权利要求1所述的方法,其特征在于,所述采用基于反向不归零编码的数位插零编码方法对所述待输出数据进行编码,获取编码后的输出数据,包括:
对所述待输出数据进行01编码,得到包含01码的待输出数据;
若所述包含01码的待输出数据中连续1的数量大于或等于预设数量,则对所述包含01码的待输出数据进行插0操作,得到插0后的待输出数据;
采用反向不归零编码法对所述插0后的待输出数据进行编码操作,获取所述编码后的输出数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据数据输入指令以及对应的端点模式,通过所述通用串行总线获取待输入数据;
采用基于反向不归零编码的数位插零解码方法对所述待输入数据进行解码操作,完成数据传输。
4.根据权利要求3所述的方法,其特征在于,所述处理器包括:驱动软件模块、驱动器、控制器驱动器;
所述通过所述通用串行总线向多个所述处理器中的目标处理器传输所述编码后的输出数据,包括:
通过所述驱动软件模块向所述驱动器发送数据输出指令以及所述编码后的输出数据;
通过所述驱动器根据所述数据输出指令调用所述控制器驱动器,并通过所述通用串行总线向多个所述处理器中的目标处理器传输所述编码后的输出数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述多处理器交互通信***中的多个处理器包括:一个主处理器、一个或多个从处理器。
6.根据权利要求5所述的方法,其特征在于,所述多处理器交互通信***包括:协同处理板卡,多个所述处理器基于所述协同处理板卡内部的通用串行总线信号的印制电路板PCB布线来连接。
7.一种多处理器交互通信***,其特征在于,包括:多个处理器,多个所述处理器之间通过通用串行总线连接;
各所述处理器用于执行如权利要求1-6任一项所述的方法。
8.根据权利要求7所述的***,其特征在于,所述多处理器交互通信***中的多个处理器包括:一个主处理器、一个或多个从处理器。
9.根据权利要求8所述的***,其特征在于,所述多处理器交互通信***包括:协同处理板卡,多个所述处理器基于所述协同处理板卡内部的通用串行总线信号的印制电路板PCB布线来连接。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至6任一所述的多处理器交互通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210790858.7A CN115173998A (zh) | 2022-07-05 | 2022-07-05 | 一种多处理器交互通信方法、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210790858.7A CN115173998A (zh) | 2022-07-05 | 2022-07-05 | 一种多处理器交互通信方法、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115173998A true CN115173998A (zh) | 2022-10-11 |
Family
ID=83491273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210790858.7A Pending CN115173998A (zh) | 2022-07-05 | 2022-07-05 | 一种多处理器交互通信方法、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115173998A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5192949A (en) * | 1989-08-31 | 1993-03-09 | Sony Corporation | Digital data transmission system having error detecting and correcting function |
JPH05152970A (ja) * | 1991-11-27 | 1993-06-18 | Mitsubishi Electric Corp | 情報変換方式及び情報変換装置 |
US5247657A (en) * | 1989-09-19 | 1993-09-21 | Psion Plc | Serial data transmission including idle bits |
US5361366A (en) * | 1989-12-26 | 1994-11-01 | Hitachi, Ltd. | Computer equipped with serial bus-connected plural processor units providing internal communications |
US20100275037A1 (en) * | 2004-03-17 | 2010-10-28 | Super Talent Electronics Inc. | Low-Power USB SuperSpeed Device with 8-bit Payload and 9-bit Frame NRZI Encoding for Replacing 8/10-bit Encoding |
CN210691309U (zh) * | 2019-12-30 | 2020-06-05 | 武汉康柏科特科技有限公司 | 一种基于多板卡协同处理的数据采集装置 |
CN113656053A (zh) * | 2021-08-17 | 2021-11-16 | 生迪智慧科技有限公司 | 处理器升级方法、装置、设备、存储介质及产品 |
-
2022
- 2022-07-05 CN CN202210790858.7A patent/CN115173998A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5192949A (en) * | 1989-08-31 | 1993-03-09 | Sony Corporation | Digital data transmission system having error detecting and correcting function |
US5247657A (en) * | 1989-09-19 | 1993-09-21 | Psion Plc | Serial data transmission including idle bits |
US5361366A (en) * | 1989-12-26 | 1994-11-01 | Hitachi, Ltd. | Computer equipped with serial bus-connected plural processor units providing internal communications |
JPH05152970A (ja) * | 1991-11-27 | 1993-06-18 | Mitsubishi Electric Corp | 情報変換方式及び情報変換装置 |
US20100275037A1 (en) * | 2004-03-17 | 2010-10-28 | Super Talent Electronics Inc. | Low-Power USB SuperSpeed Device with 8-bit Payload and 9-bit Frame NRZI Encoding for Replacing 8/10-bit Encoding |
CN210691309U (zh) * | 2019-12-30 | 2020-06-05 | 武汉康柏科特科技有限公司 | 一种基于多板卡协同处理的数据采集装置 |
CN113656053A (zh) * | 2021-08-17 | 2021-11-16 | 生迪智慧科技有限公司 | 处理器升级方法、装置、设备、存储介质及产品 |
Non-Patent Citations (2)
Title |
---|
侯方西;: ""终端***双处理器的USB通信电路设计"", 《单片机与嵌入式***应用》, no. 12 * |
陈启美 等: ""USB电气特性"", 《电力自动化设备》, no. 09, pages 3 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763140B (zh) | 一种双向通信的方法、***及终端设备 | |
KR20160125411A (ko) | 에러 검출 최적화를 용이하게 하는 공유된 버스를 통한 비트 할당 | |
CN108052473B (zh) | 串行通信装置 | |
CN101895549A (zh) | 车辆通信网络数据转换网关及其转换方法 | |
US10579581B2 (en) | Multilane heterogeneous serial bus | |
CN201717878U (zh) | 车辆通信网络数据转换网关 | |
EP3284229B1 (en) | Clock and data recovery for pulse based multi-wire link | |
CN114721992A (zh) | 一种服务器及其服务器管理*** | |
CN115173998A (zh) | 一种多处理器交互通信方法、***及存储介质 | |
CN218647390U (zh) | 一种接口扩展板卡 | |
CN111813596A (zh) | 芯片重启方法、装置及计算设备 | |
CN114185830A (zh) | 基于mailbox的多处理器通信方法、设备、***和存储介质 | |
CN113890781B (zh) | 基于定时器扩展的通信方法、***及存储介质 | |
CN110740085A (zh) | 一种基于并机***的通信方法、通信装置及终端 | |
CN112615739B (zh) | 一种多主机应用环境下ocp3.0网卡的适配方法及*** | |
CN113961489B (zh) | 数据访问的方法、装置、设备及存储介质 | |
CN116185938A (zh) | 多核异构***及其交互方法 | |
CN115129552A (zh) | I2c总线的传输状态监测方法、装置、设备及存储介质 | |
CN117708035A (zh) | Ad芯片的通信***和方法 | |
CN117033276B (zh) | 总线通信方法、***、电子设备及存储介质 | |
CN114860630B (zh) | 一种数字处理电路、信号处理方法 | |
CN114884768B (zh) | 一种总线空闲状态的检测装置、***及检测方法 | |
CN218632697U (zh) | 一种算力服务终端 | |
CN108804362A (zh) | 串口批量数据传输方法、装置及存储介质 | |
CN112597092B (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 |