CN110880998A - 一种基于可编程器件的报文传输方法及装置 - Google Patents

一种基于可编程器件的报文传输方法及装置 Download PDF

Info

Publication number
CN110880998A
CN110880998A CN201911219532.3A CN201911219532A CN110880998A CN 110880998 A CN110880998 A CN 110880998A CN 201911219532 A CN201911219532 A CN 201911219532A CN 110880998 A CN110880998 A CN 110880998A
Authority
CN
China
Prior art keywords
bus
message
identifier
slave
target bus
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
CN201911219532.3A
Other languages
English (en)
Other versions
CN110880998B (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.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks 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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN201911219532.3A priority Critical patent/CN110880998B/zh
Publication of CN110880998A publication Critical patent/CN110880998A/zh
Application granted granted Critical
Publication of CN110880998B publication Critical patent/CN110880998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请涉及电子信息技术领域,尤其涉及一种基于可编程器件的报文传输方法及装置,接收所述至少一个主设备中的第一主设备发送的自定义格式的报文,所述报文携带总线标识和访问数据;根据总线标识与从设备的关联关系、以及所述总线标识,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备;将所述报文发送给所述第一从设备,这样,能够实现一个SPI接口扩展多个SPI设备,并且能够访问多个SPI设备。

Description

一种基于可编程器件的报文传输方法及装置
技术领域
本申请涉及电子信息技术领域,尤其涉及一种基于可编程器件的报文传输方法及装置。
背景技术
目前,由于电子产品的市场竞争日益激烈,因此为降低电子产品设计的复杂度,电子产品模块化设计和复用原来的设计就显得尤为重要,例如,COMe模块(Computer OnModule Express module,COMe module),COMe模块是遵守外设部件互连标准(PeripheralComponent Interconnect,PCI)工业计算机制造者组织(PCI Industrial ComputerManufacturers Group,PICMG)定义的《COM
Figure BDA0002300413600000011
specification》标准的成品板,PICMG标准定义了产品尺寸以及接口形态,用户只需要遵守PICMG标准无需了解模块内部结构就能正确快速的使用COMe模块,COMe模块定义了一组串行外设接口(Serial PeripheralInterface,SPI),该SPI作为总线能够与载板相互连接。
SPI是一种高速的、全双工、同步的通信总线,SPI可以使主设备(master)与各种外围设备以串行方式进行通信以交换信息,由于SPI简单易用的特性,如今越来越多的芯片集成了SPI通信总线,目前根据SPI的定义,一个SPI接口只能和一个SPI设备,即从设备相互连接,也就是说,主设备只能通过SPI接口与一个从设备相连,主设备只能将报文发送给与其连接的一个从设备,但是随着通讯领域技术不断发展,需要接入的SPI设备越来越多,因此,在复用只有一个SPI接口模块,并不修改软、硬件前提下,如何实现连接多个SPI设备成为了一个需要亟待解决的问题。
发明内容
本申请实施例提供一种基于可编程器件的报文传输方法及装置,以实现一个SPI接口扩展多个SPI设备,可以访问多个SPI设备。
本申请实施例提供的具体技术方案如下:
一种基于可编程器件的报文传输方法,应用于报文传输系统包括的可编程器件中,所述报文传输系统还包括至少一个主设备和至少一个从设备,所述可编程器件通过不同的总线与所述至少一个主设备和所述至少一个从设备连接,各个总线的总线标识与所述可编程器件的标识不相同,所述方法包括:
接收所述至少一个主设备中的第一主设备发送的自定义格式的报文,所述报文携带总线标识和访问数据;
根据总线标识与从设备的关联关系、以及所述总线标识,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备;
将所述报文发送给所述第一从设备。
可选的,还包括:
监听所述至少一个主设备是否发送报文。
可选的,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备之后,还包括:
确定所述目标总线的工作状态;
若确定所述目标总线的工作状态为空闲状态,则将所述目标总线锁定给所述第一主设备;
将所述目标总线的工作状态设置为忙状态。
可选的,将所述目标总线的工作状态设置为忙状态之后,还包括:
判断所述目标总线接收所述报文是否超时;
若确定所述目标总线接收所述报文超时,则释放所述目标总线,并将所述目标总线的工作状态设置为空闲状态;
若确定所述目标总线接收所述报文未超时,则执行将所述报文发送给所述第一从设备的步骤。
可选的,将所述报文发送给所述第一从设备,具体包括:
删除所述报文中携带的总线标识,并按照标准格式修正所述报文;
将所述第一主设备和所述第一从设备之间的工作状态设置为选通状态;
将修正后的标准格式的报文发送给所述第一从设备。
可选的,还包括:
确定所述第一主设备是否访问结束;
若确定所述第一主设备访问结束,则释放所述目标总线;
将所述目标总线的工作状态设置为空闲状态。
可选的,还包括:
若确定所述报文中携带的总线标识为所述可编程器件的标识,则处理所述报文。
可选的,还包括:
接收所述第一主设备发送的总线工作状态询问请求,所述总线工作状态询问请求携带的总线标识为所述可编程器件的标识;
向所述第一主设备返回所述各个总线的工作状态,以使所述第一主设备从所述各个总线的工作状态中确定所述目标总线的工作状态为空闲状态时,发送携带所述目标总线的总线标识的所述报文。
一种基于可编程器件的报文传输装置,应用于报文传输系统包括的可编程器件中,所述报文传输系统还包括至少一个主设备和至少一个从设备,所述可编程器件通过不同的总线与所述至少一个主设备和所述至少一个从设备连接,各个总线的总线标识与所述可编程器件的标识不相同,所述装置包括:
第一接收模块,用于接收所述至少一个主设备中的第一主设备发送的自定义格式的报文,所述报文携带总线标识和访问数据;
第一处理模块,用于根据总线标识与从设备的关联关系、以及所述总线标识,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备;
发送模块,用于将所述报文发送给所述第一从设备。
可选的,还包括:
监听模块,用于监听所述至少一个主设备是否发送报文。
可选的,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备之后,还包括:
确定模块,用于确定所述目标总线的工作状态;
第二处理模块,用于若确定所述目标总线的工作状态为空闲状态,则将所述目标总线锁定给所述第一主设备;
设置模块,用于将所述目标总线的工作状态设置为忙状态。
可选的,将所述目标总线的工作状态设置为忙状态之后,第二处理模块还用于:
判断所述目标总线接收所述报文是否超时;
若确定所述目标总线接收所述报文超时,则释放所述目标总线,并将所述目标总线的工作状态设置为空闲状态;
若确定所述目标总线接收所述报文未超时,则以使所述发送模块执行将所述报文发送给所述第一从设备的步骤。
可选的,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备之后,还包括:
第三处理模块,用于若确定所述目标总线的工作状态为忙状态,则结束访问,不执行将所述报文发送给所述第一从设备的步骤。
可选的,发送模块具体用于:
删除所述报文中携带的总线标识,并按照标准格式修正所述报文;
将所述第一主设备和所述第一从设备之间的工作状态设置为选通状态;
将修正后的标准格式的报文发送给所述第一从设备。
可选的,所述第二处理模块还用于:
确定所述第一主设备是否访问结束;
若确定所述第一主设备访问结束,则释放所述目标总线;
将所述目标总线的工作状态设置为空闲状态。
可选的,还包括:
第四处理模块,用于若确定所述报文中携带的总线标识为所述可编程器件的标识,则处理所述报文。
可选的,还包括:
第二接收模块,用于接收所述第一主设备发送的总线工作状态询问请求,所述总线工作状态询问请求携带的总线标识为所述可编程器件的标识;
则第四处理模块,具体用于向所述第一主设备返回所述各个总线的工作状态,以使所述第一主设备从所述各个总线的工作状态中确定所述目标总线的工作状态为空闲状态时,发送携带所述目标总线的总线标识的所述报文。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述一种基于可编程器件的报文传输方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于可编程器件的报文传输方法的步骤。
本申请实施例中,通过可编程器件接收第一主设备发送的携带有总线标识的报文,然后根据各总线标识与从设备的关联关系、以及报文中的总线标识,确定目标总线,并确定目标总线对应的第一从设备,进而可编程器件能够将报文发送给第一从设备,使用本申请实施例中的这种方法,定义了报文的独特格式,至少划分为总线标识位和数据位,通过报文中的总线标识,能够实现一个主设备访问多个从设备,并且多个主设备还可以访问同一从设备,并且无需修改原有的硬件和软件,提高了兼容性和可靠性,加速开发进度,确保产品稳定性,从而即能够使得当只有一个SPI接口的情况下,实现一个SPI接口能够同时扩展多个SPI设备。
附图说明
图1为现有技术中扩展SPI设备结构示意图;
图2为现有技术中SPI接口模式示意图;
图3为本申请实施例中提供的一种应用架构图;
图4为本申请实施例中提供的另一种应用架构图;
图5为本申请实施例中一种基于可编程器件的报文传输方法的流程图;
图6为现有技术中标准SPI报文格式;
图7为本申请实施例中SPI报文格式;
图8为本申请实施例中一种基于可编程器件的报文传输方法的应用流程图;
图9为本申请实施例中另一种基于可编程器件的报文传输方法的应用流程图;
图10为本申请实施例中基于可编程器件的报文传输装置的结构示意图;
图11为本申请实施例中电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,面对电子产品日益激烈的市场竞争,电子产品设计正在面临日益苛刻的复杂集成要求,并且需要在最短的时间内将不同的电子产品推向市场,但是,若将电子产品整体重新设计进而完成电子产品不同需求,会提升电子产品的设计难度,因此为降低电子产品设计的复杂度,电子产品模块化设计和复用原来的设计就显得尤为重要,使用复用电子产品设计模块的方式,不但能加速电子产品推出进度,更能确保产品的稳定度,例如,COMe模块(Computer On Module Express module,COMe module),COMe模块是遵守外设部件互连标准(Peripheral Component Interconnect,PCI)工业计算机制造者组织(PCIIndustrial Computer Manufacturers Group,PICMG)定义的《COM
Figure BDA0002300413600000071
specification》标准的成品板,PICMG标准定义了产品尺寸以及接口形态,用户只需要遵守PICMG标准无需了解模块内部结构就能正确快速的使用COMe模块,COMe模块定义了一组串行外设接口(Serial Peripheral Interface,SPI),该SPI作为总线能够与载板相互连接。
SPI是一种高速的、全双工、同步的通信总线,SPI可以使主设备(master)与各种外围设备以串行方式进行通信以交换信息,例如,SPI可以使主设备与从设备(slave)进行通信连接,由于SPI简单易用的特性,如今越来越多的芯片集成了SPI通信总线,目前根据SPI的定义,一个SPI接口只能和一个SPI设备,即从设备相互连接,也就是说,主设备只能通过SPI接口与一个从设备相连,进而主设备只能将报文发送给与其连接的一个从设备,但是随着通讯领域技术不断发展,需要接入的SPI设备越来越多,因此如何实现一个主设备能够同时连接多个SPI设备就成为了一个值得思考的问题。
相关技术中提出了一种方法,客制化原来的模块来实现扩展,也就是说,在原来的模块基础上修改增加SPI接口数量,但是使用这种方法又会带来的新的问题,例如基本输入输出系统(Basic Input Output System,BIOS)的客制化问题,一次性工程费用(Non-Recurring Engineering,NRE)偏高、开发周期场、产品稳定度不高的问题,在相关技术中还可以使用另一种方式,来实现多个SPI设备的扩展,即使用其它低速总线替代SPI接口,例如,在模块中使用两线式串行总线(Inter-Integrated Circuit,I2C)来替代SPI接口,但是I2C的速率最大400K,远远达不到SPI的40M的速率,使用这种方式,会导致通讯带宽的下降,并且会影响产品整体的性能。
在仍然使用SPI接口的情况下,相关技术中扩展SPI设备的方法还有如下两种:
第一种方法:其它总线和SPI相互结合的方法。
参阅图1所示,为现有技术中扩展SPI设备结构示意图,在现有技术中,使用一个可编程器件以实现片选数据线(Chip select,CS)的扩展,可编程器件实现一个I2C slave,SPI的主设备通过I2C接口和可编程器件互联,通过调用可编程器件的寄存器实现CS与CS1或是其它CSn信号互联。主设备需要访问的时候只需要通过I2C将CS切换到对应的SPI从设备即可,使用这种方法能够实现SPI接口的扩展,并且保持的原来SPI的速率不变,但是,当主设备没有I2C接口或是只有SPI接口的时候就不能使用此方法,因此,使用该方法对接口有一定的限制。
第二种方法:通用型输入输出(General-purpose input/output,GPIO)和SPI接口结合。
在现有技术中,SPI接口一般使用四条线,即低电平有效的CS、主机输出/从机输入数据线(Master Output/Slave Input,MOSI)、主机输入/从机输出数据线(Master Input/Slave Output,MISO)、串行时钟线(Clock,CLK)等4条信号数据线,一个CS能够连接一个从设备,如果使用GPIO模拟CS就能扩展更多的从设备,扩展设备的具体方法步骤如下:S1、GPIO模拟CS写0。S2、访问SPI。S3、GPIO模拟CS写1,此时完成整个访问流程。
根据驱动结构GPIO和SPI分别属于不同的应用程序编程接口(ApplicationProgramming Interface,API),并且每个接口之间的访问是独立的,在访问GPIO的时候不能保证一定能够获取访问SPI的权限,在访问SPI的时候也不能保证一定能够获取GPIO的访问权限,因此必须把GPIO和SPI的访问打包到一个驱动API里面,那么这样必然需要客制化驱动,使用这种方法对产品的开发进度还是会有一定的影响,并且会影响产品的性能。
在现有技术中,无论是使用其它总线替代SPI接口的方法,或者是使用其它接口与SPI接口相结合的方法来实现对设备的扩展,都会造成电子产品性能降低,并且增加电子产品设计的复杂度的问题,因此,在复用只有一个SPI接口模块,并不修改软、硬件前提下,如何实现连接多个SPI设备成为了一个需要亟待解决的问题。
在本申请实施例中,提出了一种基于可编程器件的报文传输方法,可编程器件分别与至少一个主设备和至少一个从设备通过对应的总线连接,可编程器件监听连接的各主设备是否发送报文,若可编程器件接收到第一主设备发送的带有总线标识的报文,则根据各总线标识与从设备的关联关系,以及报文中的总线标识,确定目标总线及其对应的第一从设备,进而将报文发送给第一从设备,这样,通过可编程器件,设计基于可编程器件的应用拓扑图,可以连接多个主设备和多个从设备,实现一个SPI接口扩展多个从设备,规避一个SPI接口只能连接一个从设备的限制,并且不需要修改原来的硬件和软件模块,兼容性和可靠性更好,并定义报文的格式为总线标识位和数据位,进而主设备能够在报文中携带总线标识,通过可编辑器件将报文发送给对应的从设备,实现一个主设备可以访问多个从设备,多个主设备也可以访问同一从设备,没有接口数量限制,提高了性能。
为便于对本申请实施例的理解,下面先对本申请实施例中报文传输方法的应用架构进行说明,以SPI协议为例,当然,本申请实施例中并不仅限于SPI协议,还可以应用于其它总线协议,并不进行限制,为便于说明下面均以SPI协议并对SPI接口扩展多个从设备为例进行描述。
在现有技术中,提出了一种标准的SPI接口,参阅图2所示,为现有技术中SPI接口模式示意图,该接口一般使用4条数据线:CLK、MISO、MOSI和CS,一个SPI接口只能和一个SPI设备相连,无法同时连接多个SPI设备。
为解决现有技术中的这种问题,本申请实施例中,提出了一种新的应用架构图,参阅图3所示,为本申请实施例中提供的一种应用架构图,用于实现本申请实施例中的基于可编程器件的报文传输方法,该应用架构至少包括多个主设备,可编程器件和多个从设备,可编程器件分别与多个主设备和多个从设备通过对应的总线连接,每个主设备通过可编程器件与每个从设备进行通信,具体地,可以理解为SPI接口分为两层,第一层为支持SPI接口的可编程器件,第二层为普通的SPI接口,普通的SPI接口可以连接到任何一个支持SPI接口的可编程器件,并且所有可编程器件之间没有任何区别,没有从属或是优先级关系。使用本申请实施例中的这种应用架构,仍使用SPI协议,能够保持原来SPI速率不变,例如速率可达40Mhz,良好的保持通讯带宽,并且不需要其它接口的辅助,没有使用限制。
并且,本申请实施例中的这种架构,只需可编程器件、主设备和从设备就能实现,无需选用其它器件,因此,使用这种应用架构能够有效加快开发进度,确保产品稳定性。
例如,主设备0将报文发送给可编程器件,该报文中携带有总线标识,假设该报文中携带的总线标识为1,则可编程器件可以根据各总线标识与从设备的关联关系、以及报文中的总线标识,确定出可编程器件与从设备之间的目标总线,并确定目标总线对应的从设备为从设备0,进而可编程器件能够通过目标总线将报文发送给从设备0。
在本申请实施例中的这种架构,若使用其它协议,或将SPI协议稍作修改,也可以扩展到一对一的串行总线中使用。
基于上述应用架构,本申请实施例中,可编程器件分别与至少一个主设备和至少一个从设备通过对应的总线连接,每个主设备通过可编程器件与每个从设备进行通信,还可以预先设置各总线的总线标识和可编程器件的标识,各总线的总线标识和可编程器件的标识均不相同,基于可编程器件的结构和总线连接,参阅图4所示,为本申请实施例中提供的另一种应用架构图。
如图4所示,主设备0···主设备n可以分别通过总线A0···An与可编程器件连接,连接于可编程器件的监听模块和路由模块,从设备0···从设备n可以分别通过总线1···总线n+1与可编程器件连接,连接于可编程器件的路由模块。
下面简单介绍下可编辑器件的基本结构。如图4所示本申请实施例中可编程器件由四部分组成,分别为寄存器空间、监听模块、路由控制模块和路由模块。
寄存器件空间:每个可编程器件内部都有一个寄存器空间,该寄存器空间是可编程器件内部控制状态以及ERROR等表征寄存器,可以显示所有总线目前的访问状况和工作状态,例如,复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)或现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)中的可编程器件可以表征CPLD或FPGA的内部控制状态。
监听模块:用于监控所有主设备的访问情况,例如是否在访问,访问目标总线的总线标识等,并且该模块用于将主设备发送的报文进行分析。
路由模块:该模块具有选路和透传功能,用于实际执行SPI主设备和从设备之间报文的路由选通。
其中,透传功能表示可编程器件直接把主设备发送的报文经过修正后发送给相应的从设备,并且还能够把相应的从设备发来的数据透传给主设备。
路由控制模块:该模块用于对具有开关和选路功能的路由模块的控制,是具有开关和选路功能的路由模块的决策单元。
基于上述实施例,参阅图5所示为本申请实施例中一种基于可编程器件的报文传输方法的流程图,主要应用于可编程器件,具体包括:
步骤500:可编程器件接收至少一个主设备中的第一主设备发送的自定义格式的报文,报文携带总线标识和访问数据。
其中,自定义格式的报文中包括总线标识位和数据位,总线标识位用于承载总线标识,数据位用于承载访问数据,报文中至少携带有总线标识。
在本申请实施例中,可以预先在可编程器件中设置各个总线的总线标识和可编程器件的标识,其中,各个总线的总线标识至少包括第一主设备的总线标识和第一从设备的总线标识,第一主设备的总线标识和第一从设备的总线标识的能够实现的数量是依据可编程器件的逻辑量或者是可编程器件的需求决定的。需要说明的是,本申请实施例中的各个总线的总线标识与可编程器件的标识不相同。
在本申请实施例中,可以将第一主设备所对应的总线标识和第一从设备所对应的总线标识独立编排,例如,可以将第一主设备的总线标识设置为A1、A2···An,将第一从设备所对应的总线标识设置为1···n+1,本申请实施例中对设置总线标识的方法并不进行限制。
并且,在本申请实施例中,可以单独设置可编程器件的标识,例如,可以将可编程器件的标识设置为0,当可编程器件接收到报文后,读取报文中的总线标识为0时,则表示访问可编程器件,并读取可编程器件自身的寄存器空间,但是,需要说明的是,可编程器件的标识和主设备的总线标识、以及从设备的总线标识不能重复。
其中,本申请实施例中定义了报文的格式,对现有的报文的格式进行了改进,报文的自定义格式包括总线标识位和数据位,总线标识位用于承载总线标识,数据位用于承载访问数据。
例如,参阅图6所示,为现有技术中标准SPI报文格式,此格式对数据内部不做任何定义,每个比特位都用于承载访问数据。
本申请实施例中对此进行了改进,参阅图7所示,为本申请实施例中SPI报文格式,即把SPI报文格式中的前8bit定义为总线标识位,后面N*8bit定义为数据位,能够将访问数据存储到报文中的数据位中。
在本申请实施例中,当可编程器件监控到主设备发起访问,即可编程器件接收到第一主设备发送的报文,进而第一主设备从总线上获得8bit的总线标识,并解析该标识确定对应的目标总线,进而确定第一从设备。
进一步地,本申请实施例中还提供了另一种SPI报文格式,将SPI报文格式中的前8bit定义为7bit总线标识位和1bit读写标识符(R/W),本申请实施例中对SPI报文的自定义格式、总线标识位的长度以及数据位的长度并不进行限制。
也就是说,在本申请实施例中的SPI报文格式中,对报文进行了功能划分,图7中该报文格式仍然符合SPI报文格式的规范,仅仅是在应用层方面做了定义,没有修改SPI标准定义,可以兼容SPI协议,需要说明的是,图7仅是一种报文格式示例,本申请实施例中对该自定义格式并不进行限制,并且,本申请实施例中的报文格式的长度也可以任意扩展。
本申请实施例中定义的这种SPI报文格式,可编程器件在接收到报文时,读取报文的自定义格式中的前8bit中的总线标识位,进而可编程器件能够根据该总线标识确定对应的目标总线,将报文发送给对应的第一从设备,由于不同的报文中的总线标识可以是不同的,因此,当可编程器件读取到不同的总线标识时,能够将报文发送给不同的从设备,即一个SPI接口能够扩展多个SPI设备。
进一步地,本申请实施例中执行步骤500之前,还可以包括:可编程器件监听至少一个主设备是否发送报文。
在本申请实施例中,若可编程器件监听到至少一个主设备中的第一主设备发送报文,则能够确定可编程器件接收到至少一个主设备中的第一主设备发送的报文。
例如,可编程器件可以实现SPI从设备功能,默认情况下MISO输出高阻防止多驱情况发生,可编程器件可以通过监听CS信号的下降沿来判断第一主设备是否发起访问需要发送报文。
步骤510:根据总线标识与从设备的关联关系、以及总线标识,确定与总线标识对应的目标总线,以及目标总线对应的第一从设备。
在本申请实施例中,执行步骤510时,报文中携带的总线标识具体可以分为以下两种不同的情况:
第一种情况:报文中携带的总线标识为可编程器件的标识。
当报文中的总线标识为可编程器件的标识时,则具体包括:若确定报文中携带的总线标识为可编程器件的标识,则处理报文。
在本申请实施例中,可以单独设置可编程器件的标识,当可编程器件确定报文中携带的总线标识为可编程器件的标识时,则能够访问可编程器件自身的寄存器空间。例如,可以设置可编程器件的标识为0,那么当可编程器件接收到第一主设备发送的报文后,判断出报文中携带的总线标识为0,则可以确定报文中携带的总线标识即为可编程器件的标识,进而可编程器件访问自身寄存器空间,本申请实施例中对可编程器件的标识并不进行限制。
这样,在本申请实施例中第一主设备在发送携带目标总线标识的报文之前,还可以通过在报文中携带总线标识为可编程器件的标识,先向可编程器件询问目标总线的工作状态,以避免目标总线的工作状态为忙时而发送失败的情况,减少资源浪费,具体地本申请实施例中提供了一种可能的实施方式:
1)接收第一主设备发送的总线工作状态询问请求。
其中,总线工作状态询问请求的报文中携带的总线标识为可编程器件的标识。
具体地,当第一主设备发起总线工作状态询问请求时,进而可编程器件能够通过该请求中携带的可编程器件的标识,确定访问自身寄存器空间,并查询自身寄存器空间中存储的各个总线的工作状态,发送给第一主设备,通过向可编程器件发送总线工作状态询问请求,能够使得第一主设备在将报文发送给可编程器件之前,就能够获知目标总线的工作状态,可以预先确定是否将报文发送给可编程器件,这样也能够有效防止当目标总线的工作状态为忙状态时,第一主设备依然将报文发送给可编程器件而导致发送失败的情况,可以有效节约资源。
2)向第一主设备返回各个总线的工作状态,以使第一主设备从各个总线的工作状态中确定目标总线的工作状态为空闲状态时,发送携带目标总线的总线标识的报文。
具体地,第一主设备接收到可编程器件返回的各个总线的工作状态后,第一主设备可以根据从各个总线的工作状态中判断目标总线的工作状态是否为空闲,进而确定是否执行将报文发送给第一从设备的步骤。
第二种情况:报文中携带的总线标识为第一从设备的总线的标识。
则根据总线标识与从设备的关联关系、以及总线标识,确定与总线标识对应的目标总线,以及目标总线对应的第一从设备。
步骤520:将报文发送给第一从设备。
在本申请实施例中,执行步骤520时,具体包括:
S1:删除报文中携带的总线标识,并按照标准格式修正报文。
在本申请实施例中,当可编程器件监听到第一主设备发送的报文后,则识别出报文中携带的总线标识在报文中的位置,并将总线标识位置对应的报文段删除,然后修正为标准格式的报文。
S2:将第一主设备和第一从设备之间的工作状态设置为选通状态。
在本申请实施例中,若将第一主设备和第一从设备之间的工作状态设置为选通状态,则能够确定第一主设备和第一从设备之间已经连通,进而可编程器件能够通过目标总线将报文发送给对应的第一从设备。
S3:将修正后的标准格式的报文发送给第一从设备。
在本申请实施例中,当可编程器件将报文修正为标准格式后,没有修改SPI标准定义,因此能够兼容SPI协议。
进一步地,由于可编程器件的路由模块具有透传功能,因此当第一从设备接收到修正后的报文后,可编程器件还可以将第一从设备发来的数据透传给第一主设备。
进一步地,在执行上述步骤510之后,即确定与总线标识对应的目标总线,以及目标总线对应的第一从设备之后,本申请实施例中还可以确定目标总线的工作状态,若为空闲状态时,则可以向对应的第一从设备发送报文,若为忙状态时,则不能向对应的第一从设备发送报文,这样,通过工作状态判断可以提高报文传输的有效性和效率,避免忙时报文发送失败而导致报文传输资源的浪费,具体地,在本申请实施例中,可以将总线的工作状态分为空闲状态和忙状态,并具体分为以下两种不同的情况:
第一种情况:目标总线的工作状态为空闲状态。
在本申请实施例中,若确定目标总线的工作状态为空闲状态时,则具体执行下述步骤:
1)若确定目标总线的工作状态为空闲状态,则将目标总线锁定给第一主设备。
2)将目标总线的工作状态设置为忙状态。
在本申请实施例中,若确定目标总线的工作状态为空闲状态,则可编程器件能够通过该总线将报文发送给对应的第一从设备,进而可编程器件可以将目标总线锁定给第一主设备,也就是说,第一主设备能够将报文发送给对应的第一从设备。
并且,可编程器件将目标总线的工作状态设置为忙状态,进而当可编程器件读取到其它报文中携带有相同的总线标识时,由于该总线的工作状态已经被设置为忙状态,则无法对该总线进行访问。
3)将目标总线的工作状态设置为忙状态之后,还包括:判断目标总线接收报文是否超时,若确定目标总线接收报文超时,则释放目标总线,并将目标总线的工作状态设置为空闲状态,若确定目标总线接收报文未超时,则执行将报文发送给第一从设备的步骤。
在本申请实施例中,若想要将报文发送给第一从设备,不仅需要判断目标总线的工作状态,还需要判断目标总线是否在预定的时间内接收到报文,进而将报文发送给第一从设备,这样,可以防止在没有接收到报文的情况下,长时间占用总线资源,进而能够节约资源。
因此,在本申请实施例中,可以为接收报文的时长预先设置一个阈值,该阈值可以由网络管理人员直接在可编程器件中设置,具体可以根据实际经验和情况进行设置,本申请实施例中对阈值的设置方法以及阈值大小并不进行限制。
当可编程器件确定目标总线接收报文超过预设的阈值,则将目标总线释放,并将目标总线的工作状态设置为空闲状态,当可编程器件确定目标总线接收报文未超过预设的阈值,则可编程器件能够将报文发送给第一从设备。
在本申请实施例中,例如,可以设置阈值为10秒,当接收报文时长超过阈值时,即10秒后可编程器件依然没有接收到报文,则确定目标总线没有接收到报文,则将目标总线释放,并且,将该目标总线的工作状态由忙状态设置为空闲状态,进而总线能够接收其它报文,本申请实施例中对阈值的时长并不进行限制。
使用本申请实施例中的这种方法,第一主设备能够通过报文中的总线标识位,使得可编程器件根据该报文中的总线标识位,将报文发送给指定访问的第一从设备。
当第一从设备接收到可编程器件发送的标准格式的报文后,进一步地,本申请实施例中还可以实时判断第一主设备访问是否结束,以便能够及时释放资源,提高资源利用率,具体地提供了一种可能的实施方式:确定第一主设备是否访问结束,若确定第一主设备访问结束,则释放目标总线,并将目标总线的工作状态设置为空闲状态。
第二种情况:若确定目标总线的工作状态为忙状态,则结束访问,不执行将报文发送给第一从设备的步骤。
在本申请实施例中,若确定目标总线的工作状态为忙状态,则可编程器件无法将报文通过该目标总线发送给对应的从设备,当结束访问后,可编程器件还可以继续接收第一主设备发送的其它报文。
在本申请实施例中,可编程器件判断访问是否结束时,可以通过CS信号的电平信号是否跳变进而判断访问是否结束,例如,在本申请实施例中,若确定访问结束后,电平信号会由低电平跳变为高电平,这时可编程器件释放该目标总线,断开与第一从设备的连接,并返回监听状态,同时,可编程器件与第一主设备和第一从设备之间的连接也会断开,因此,当确定访问结束后,可编程器件和对应的第一从设备都无法接收到报文,本申请实施例中对判断访问结束的方式并不进行限制。若可编程器件确定没有结束访问,则电平信号仍然是低电平,没有发生电平信号的跳变,则可编程器件仍然能够监听是否接收到第一主设备发送的报文,并识别报文中的总线标识。
在本申请实施例中,可编程器件监听连接的各主设备是否发送报文,若第一主设备将报文发送给可编程器件,则可编程器件能够根据报文中携带的总线标识、以及总线标识与从设备的关联关系,确定目标总线,并确定目标总线对应的第一从设备,然后可编程器件判断目标总线的工作状态,若确定目标总线的工作状态为空闲状态,则将目标总线锁定给第一主设备,并将目标总线的工作状态设置为忙状态,若确定目标总线的工作状态为忙状态,则直接结束访问,当可编程器件确定目标总线的工作状态为空闲状态时,进一步地,可编程器件判断目标总线接收报文是否超时,若确定超时,则释放该目标总线,并将目标总线的工作状态设置为空闲状态,若确定未超时,则将报文中的总线标识对应的报文删除,并修正为标准格式的报文,然后可编程器件将第一主设备与第一从设备之间设置为选通状态,则第一主设备能够通过可编程器件将修正后的标准格式的报文发送给第一从设备,这样,通过可编程器件,由于可编程器件的并行处理特性,任何主设备都可以在任何时候发起访问,多个主设备只要访问的目标总线标识不冲突,就可以实现多个主设备同时访问多个从设备,并且在不同时间,多个主设备还可以访问同一从设备,从而能够在使用一个SPI接口,并且不修改软、硬件的条件下,一个主设备能够同时访问多个不同的从设备,扩展从设备数量。
基于上述实施例,参阅图8所示,为本申请实施例中一种基于可编程器件的报文传输方法的应用流程图。
步骤800:可编程器件初始化。
在本申请实施例中,首先需要将可编程器件初始化,使可编程器件与主设备和从设备都处于断开状态,例如,预先设置MISO输出高阻,则可编程器件与主设备和从设备都断开连接,此时无法进行访问,这样,可以防止多驱情况的发生,本申请实施例中对可编程器件初始化的方法并不进行限制。
步骤801:监听连接的各主设备是否发送自定义格式的报文,若是,则执行步骤802,若否,则继续执行步骤801。
例如,可编程器件监听连接的各主设备是否发送报文时,可以通过CS下降沿是否到来进而来判断。
若CS下降沿到来,则确定可编程器件能够接收到各主设备中的第一主设备发送的报文。
其中,报文中至少携带有总线标识,报文的自定义格式包括总线标识位和数据位,总线标识位用于承载总线标识,数据位用于承载访问数据。
若CS下降沿没有到来,则确定可编程器件没有接收到第一主设备发送的报文,需要继续等待接收。
步骤802:判断总线标识是否为0,若是,则执行步骤807,若否,则执行步骤803。
步骤803:可编程器件根据各总线标识与从设备的关联关系、以及报文中的总线标识,确定目标总线以及对应的第一从设备。
步骤804:将报文中携带的总线标识删除,并按照标准格式修正报文。
步骤805:将第一主设备和第一从设备之间的工作状态设置为选通状态,并将修正后的标准格式的报文发送给第一从设备。
步骤806:确定第一主设备是否访问结束,若是,则执行步骤801,若否,则执行步骤802。
步骤807:访问可编程器件,根据报文进行相应处理。
在本申请实施例中,先将可编程器件初始化,然后判断CS下降沿是否到来,监听所有主设备发来的访问,当CS下降沿到来时,则确定可编程器件接收到第一主设备发送的报文,然后可编程器件若确定该目标总线的总线标识为0,则确定访问可编程器件的寄存器空间,若确定该目标总线的总线标识不为0,则根据预先设置的各总线标识与从设备的关联关系,以及报文中携带的总线标识,确定目标总线,并确定目标总线对应的第一从设备,将报文中的总线标识删除,修正为标准格式的报文,然后将第一主设备和确定出的第一从设备之间设置为选通状态,并将修正后的标准格式的报文发送给第一从设备,进而可编程器件判断第一主设备是否访问结束,若确定访问结束,则继续判断下降沿是否到来,若访问未结束,则继续监听是否接收到报文,以使主设备能够同时将不同的报文发送给对应的从设备,通过本申请实施例中的这种方法,能够通过一个SPI接口,就能够和多个SPI设备相连,并将报文发送给多个SPI设备。
基于上述实施例,进一步地,本申请实施例中确定出目标总线后还可以判断目标总线的工作状态,从而进行相应处理,具体参阅图9所示,为本申请实施例中另一种基于可编程器件的报文传输方法的应用流程图。
步骤900:可编程器件初始化。
步骤901:监听连接的各主设备是否发送自定义格式的报文,若是,则执行步骤902,若否,则执行步骤901。
步骤902:判断总线标识是否为0,若是,则执行步骤912,若否,则执行步骤903。
步骤903:根据各总线标识与从设备的关联关系、以及报文中的总线标识,确定目标总线,并确定目标总线对应的第一从设备。
步骤904:判断目标总线的工作状态是否为空闲状态,若是,则执行步骤905,若否,则执行步骤901。
步骤905:将目标总线锁定给第一主设备,并将目标总线的工作状态设置为忙状态。
步骤906:判断目标总线接收报文是否超时,若是,则执行步骤911,若否,则执行步骤907。
步骤907:将报文中携带的总线标识删除,并按照标准格式修正报文。
步骤908:将第一主设备和第一从设备之间的工作状态设置为选通状态。
步骤909:将修正后的标准格式的报文发送给第一从设备。
步骤910:判断第一主设备是否访问结束,若是,则执行步骤913,若否,则执行步骤901。
步骤911:释放目标总线,并将目标总线的工作状态设置为空闲状态。
步骤912:访问可编程器件,根据报文进行相应处理。
步骤913:释放目标总线,并将目标总线的工作状态设置为空闲状态。
在本申请实施例中,当初始化后的可编程器件判断CS下降沿到来后,则连接各主设备和可编程器件,并监听各主设备的访问,当确定接收到第一主设备发送的报文,则读取报文中携带的总线标识,并根据各总线标识与从设备的关联关系、以及报文中的总线标识,确定目标总线,并确定目标总线对应的第一从设备,若确定该目标总线的总线标识为0,则访问可编程器件的寄存器空间,若确定该目标总线的总线标识不为0,则进一步地判断目标总线的工作状态是否为空闲状态,若确定目标总线的工作状态为空闲状态,并且该目标总线接收报文为超时,则将目标总线锁定给第一主设备,并将报文修正为标准格式的报文,以及将第一从设备和第一主设备之间设置为选通状态,进而第一从设备能够接收到第一主设备通过可编程器件发送的标准格式的报文,使用这种方法,能够实现在不改变SPI接口和软、硬件的前提下,可编程器件可以连接多个从设备和主设备,使用这种SPI架构不仅能够实现一个SPI接口扩展多个从设备,还能够确保产品的稳定性。
基于同一发明构思,本申请实施例中还提供了一种基于可编程器件的报文传输装置,该基于可编程器件的报文传输装置例如可以是前述实施例中的可编程器件,该可编程器件的报文传输装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图10所示为本申请实施例中基于可编程器件的报文传输装置,具体包括:
第一接收模块1000,用于接收所述至少一个主设备中的第一主设备发送的自定义格式的报文,所述报文携带总线标识和访问数据;
第一处理模块1010,用于根据总线标识与从设备的关联关系、以及总线标识,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备;
发送模块1020,用于将所述报文发送给所述第一从设备。
可选的,还包括:
监听模块1030,用于监听至少一个主设备是否发送报文。
可选的,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备之后,还包括:
确定模块1040,用于确定所述目标总线的工作状态;
第二处理模块1050,用于若确定所述目标总线的工作状态为空闲状态,则将所述目标总线锁定给所述第一主设备;
设置模块1060,用于将所述目标总线的工作状态设置为忙状态。
可选的,将所述目标总线的工作状态设置为忙状态之后,第二处理模块1050还用于:
判断所述目标总线接收所述报文是否超时;
若确定所述目标总线接收所述报文超时,则释放所述目标总线,并将所述目标总线的工作状态设置为空闲状态;
若确定所述目标总线接收所述报文未超时,则以使所述发送模块执行将所述报文发送给所述第一从设备的步骤。
可选的,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备之后,还包括:
第三处理模块1070,用于若确定所述目标总线的工作状态为忙状态,则结束访问,不执行将所述报文发送给所述第一从设备的步骤。
可选的,发送模块1020具体用于:
删除所述报文中携带的总线标识,并按照标准格式修正所述报文;
将所述第一主设备和所述第一从设备之间的工作状态设置为选通状态;
将修正后的标准格式的报文发送给所述第一从设备。
可选的,所述第二处理模块1050进一步用于:
确定所述至少一个主设备是否访问结束;
若确定所述第一主设备访问结束,则释放所述目标总线;
将所述目标总线的工作状态设置为空闲状态。
可选的,还包括:
第四处理模块1080,用于若确定所述报文中携带的总线标识为所述可编程器件的标识,则处理所述报文。
可选的,还包括:
第二接收模块1090,用于接收所述第一主设备发送的总线工作状态询问请求,所述总线工作状态询问请求携带的总线标识为所述可编程器件的标识;
则第四处理模块1100,具体用于向所述第一主设备返回所述各个总线的工作状态,以使所述第一主设备从所述各个总线的工作状态中确定所述目标总线的工作状态为空闲状态时,发送携带所述目标总线的总线标识的所述报文。
基于上述实施例,参阅图11所示为本申请实施例中电子设备的结构示意图。
本申请实施例提供了一种电子设备,该电子设备可以包括处理器1110(CenterProcessing Unit,CPU)、存储器1120、输入设备1130和输出设备1140等,输入设备1130可以包括键盘、鼠标、触摸屏等,输出设备1140可以包括显示设备,如液晶显示器(LiquidCrystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器1120可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器1110提供存储器1120中存储的程序指令和数据。在本申请实施例中,存储器1120可以用于存储本申请实施例中任一种基于可编程器件的报文传输方法的程序。
处理器1110通过调用存储器1120存储的程序指令,处理器710用于按照获得的程序指令执行本申请实施例中任一种基于可编程器件的报文传输方法。
基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的基于可编程器件的报文传输方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种基于可编程器件的报文传输方法,其特征在于,应用于报文传输系统包括的可编程器件中,所述报文传输系统还包括至少一个主设备和至少一个从设备,所述可编程器件通过不同的总线与所述至少一个主设备和所述至少一个从设备连接,各个总线的总线标识与所述可编程器件的标识不相同,所述方法包括:
接收所述至少一个主设备中的第一主设备发送的自定义格式的报文,所述报文携带总线标识和访问数据;
根据总线标识与从设备的关联关系、以及所述总线标识,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备;
将所述报文发送给所述第一从设备。
2.如权利要求1所述的方法,其特征在于,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备之后,还包括:
确定所述目标总线的工作状态;
若确定所述目标总线的工作状态为空闲状态,则将所述目标总线锁定给所述第一主设备;
将所述目标总线的工作状态设置为忙状态。
3.如权利要求2所述的方法,其特征在于,将所述目标总线的工作状态设置为忙状态之后,还包括:
判断所述目标总线接收所述报文是否超时;
若确定所述目标总线接收所述报文超时,则释放所述目标总线,并将所述目标总线的工作状态设置为空闲状态;
若确定所述目标总线接收所述报文未超时,则执行将所述报文发送给所述第一从设备的步骤。
4.如权利要求1-3任一项所述的方法,其特征在于,将所述报文发送给所述第一从设备,具体包括:
删除所述报文中携带的总线标识,并按照标准格式修正所述报文;
将所述第一主设备和所述第一从设备之间的工作状态设置为选通状态;
将修正后的标准格式的报文发送给所述第一从设备。
5.如权利要求2或3所述的方法,其特征在于,还包括:
确定所述第一主设备是否访问结束;
若确定所述第一主设备访问结束,则释放所述目标总线;
将所述目标总线的工作状态设置为空闲状态。
6.如权利要求1所述的方法,其特征在于,还包括:
若确定所述报文中携带的总线标识为所述可编程器件的标识,则处理所述报文。
7.如权利要求6所述的方法,其特征在于,还包括:
接收所述第一主设备发送的总线工作状态询问请求,所述总线工作状态询问请求携带的总线标识为所述可编程器件的标识;
向所述第一主设备返回所述各个总线的工作状态,以使所述第一主设备从所述各个总线的工作状态中确定所述目标总线的工作状态为空闲状态时,发送携带所述目标总线的总线标识的所述报文。
8.一种基于可编程器件的报文传输装置,其特征在于,应用于报文传输系统包括的可编程器件中,所述报文传输系统还包括至少一个主设备和至少一个从设备,所述可编程器件通过不同的总线与所述至少一个主设备和所述至少一个从设备连接,各个总线的总线标识与所述可编程器件的标识不相同,所述装置包括:
第一接收模块,用于接收所述至少一个主设备中的第一主设备发送的自定义格式的报文,所述报文携带总线标识和访问数据;
第一处理模块,用于根据总线标识与从设备的关联关系、以及所述总线标识,确定与所述总线标识对应的目标总线,以及所述目标总线对应的第一从设备;
发送模块,用于将所述报文发送给所述第一从设备。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
CN201911219532.3A 2019-12-03 2019-12-03 一种基于可编程器件的报文传输方法及装置 Active CN110880998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911219532.3A CN110880998B (zh) 2019-12-03 2019-12-03 一种基于可编程器件的报文传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911219532.3A CN110880998B (zh) 2019-12-03 2019-12-03 一种基于可编程器件的报文传输方法及装置

Publications (2)

Publication Number Publication Date
CN110880998A true CN110880998A (zh) 2020-03-13
CN110880998B CN110880998B (zh) 2022-09-20

Family

ID=69730347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911219532.3A Active CN110880998B (zh) 2019-12-03 2019-12-03 一种基于可编程器件的报文传输方法及装置

Country Status (1)

Country Link
CN (1) CN110880998B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112882975A (zh) * 2021-03-09 2021-06-01 苏州海光芯创光电科技股份有限公司 一种mcu外设访问系统及访问方法
CN114253206A (zh) * 2021-11-18 2022-03-29 加弘科技咨询(上海)有限公司 可编程逻辑器件的透传结构及可编程逻辑器件
CN114780476A (zh) * 2022-04-15 2022-07-22 北京经纬恒润科技股份有限公司 一种支持多主多从的spi分时复用电路
CN115525935A (zh) * 2022-10-19 2022-12-27 北京万协通信息技术有限公司 多安全芯片的并发数据运算方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254820A (ja) * 1997-03-06 1998-09-25 Canon Inc バス制御装置およびバス制御装置のバス制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
CN101067804A (zh) * 2007-05-29 2007-11-07 山东大学 一种高速可配置扩展spi总线及其工作方法
CN101263465A (zh) * 2005-09-14 2008-09-10 皇家飞利浦电子股份有限公司 用于总线仲裁的方法和系统
CN101582823A (zh) * 2008-05-13 2009-11-18 深圳迈瑞生物医疗电子股份有限公司 基于spi总线的通讯方法、通讯系统和通讯路由装置
US8364873B2 (en) * 2010-03-09 2013-01-29 Nuvoton Technology Corporation Data transmission system and a programmable SPI controller
CN105940661A (zh) * 2014-02-03 2016-09-14 高通股份有限公司 电子设备中的设备标识生成以允许对总线通信标识的设备标识的外部控制,以及相关的系统和方法
CN108108316A (zh) * 2017-12-14 2018-06-01 上海斐讯数据通信技术有限公司 一种基于现场可编程门阵列的接口扩展方法及系统
CN108471384A (zh) * 2018-07-02 2018-08-31 北京百度网讯科技有限公司 用于端到端通信的报文转发的方法和装置
CN108701052A (zh) * 2016-03-15 2018-10-23 英特尔公司 发送事务而不跟踪的方法、设备和系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254820A (ja) * 1997-03-06 1998-09-25 Canon Inc バス制御装置およびバス制御装置のバス制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
CN101263465A (zh) * 2005-09-14 2008-09-10 皇家飞利浦电子股份有限公司 用于总线仲裁的方法和系统
CN101067804A (zh) * 2007-05-29 2007-11-07 山东大学 一种高速可配置扩展spi总线及其工作方法
CN101582823A (zh) * 2008-05-13 2009-11-18 深圳迈瑞生物医疗电子股份有限公司 基于spi总线的通讯方法、通讯系统和通讯路由装置
US8364873B2 (en) * 2010-03-09 2013-01-29 Nuvoton Technology Corporation Data transmission system and a programmable SPI controller
CN105940661A (zh) * 2014-02-03 2016-09-14 高通股份有限公司 电子设备中的设备标识生成以允许对总线通信标识的设备标识的外部控制,以及相关的系统和方法
CN108701052A (zh) * 2016-03-15 2018-10-23 英特尔公司 发送事务而不跟踪的方法、设备和系统
CN108108316A (zh) * 2017-12-14 2018-06-01 上海斐讯数据通信技术有限公司 一种基于现场可编程门阵列的接口扩展方法及系统
CN108471384A (zh) * 2018-07-02 2018-08-31 北京百度网讯科技有限公司 用于端到端通信的报文转发的方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112882975A (zh) * 2021-03-09 2021-06-01 苏州海光芯创光电科技股份有限公司 一种mcu外设访问系统及访问方法
CN114253206A (zh) * 2021-11-18 2022-03-29 加弘科技咨询(上海)有限公司 可编程逻辑器件的透传结构及可编程逻辑器件
CN114253206B (zh) * 2021-11-18 2024-02-23 加弘科技咨询(上海)有限公司 可编程逻辑器件的透传结构及可编程逻辑器件
CN114780476A (zh) * 2022-04-15 2022-07-22 北京经纬恒润科技股份有限公司 一种支持多主多从的spi分时复用电路
CN114780476B (zh) * 2022-04-15 2024-03-22 北京经纬恒润科技股份有限公司 一种支持多主多从的spi分时复用电路
CN115525935A (zh) * 2022-10-19 2022-12-27 北京万协通信息技术有限公司 多安全芯片的并发数据运算方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110880998B (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
CN110880998B (zh) 一种基于可编程器件的报文传输方法及装置
CN102388583B (zh) 一种串口波特率配置方法及相关设备、系统
CN112732616B (zh) 一种基于spi控制器的bmc启动方法、装置及设备
CN115102896B (zh) 数据广播方法、广播加速器、noc、soc及电子设备
CN110968352A (zh) 一种pcie设备的复位系统及服务器系统
CN112073555A (zh) Ip地址的配置方法、电子设备和计算机可读存储介质
CN115904520A (zh) 基于pcie拓扑状态变更的配置保存方法及相关设备
US20070155422A1 (en) Method for controlling mobile data connection through USB Ethernet management of mobile station
CN114817115A (zh) 串口通信方法及相关装置
CN112084128B (zh) 消息中断通信方法、计算机设备和存储介质
CN110062396B (zh) 一种配置基站的方法及装置
CN112202600B (zh) 一种多节点单主机与多主机通信自动切换装置及方法
CN110120877B (zh) 一种交换芯片的配置电路及交换芯片的参数的配置方法
US8990468B2 (en) I/O connection system, method and program
CN111427806A (zh) 一种双核amp系统共用串口的方法、存储介质及智能终端
CN111158905A (zh) 调整资源的方法和装置
WO2020107460A1 (zh) 运算方法、芯片、系统、可读存储介质及计算机程序产品
US6732262B1 (en) Method and system for controlling reset of IEEE 1394 network
CN116010307A (zh) 服务器资源分配系统、方法和装置
CN112615739B (zh) 一种多主机应用环境下ocp3.0网卡的适配方法及系统
CN107454021B (zh) 一种通信方法及装置
CN111314272B (zh) 一种任务处理方法及装置
US7702838B2 (en) Method and apparatus for configuration space extension bus
CN111427813A (zh) 一种基于串口的核间通讯方法、终端及存储介质
CN109165099B (zh) 一种电子设备、内存拷贝方法及装置

Legal Events

Date Code Title Description
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