CN114048155A - 通讯***及智能控制器 - Google Patents
通讯***及智能控制器 Download PDFInfo
- Publication number
- CN114048155A CN114048155A CN202111396721.5A CN202111396721A CN114048155A CN 114048155 A CN114048155 A CN 114048155A CN 202111396721 A CN202111396721 A CN 202111396721A CN 114048155 A CN114048155 A CN 114048155A
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- lvds
- sub
- module
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 65
- 108010001267 Protein Subunits Proteins 0.000 claims description 64
- 230000005540 biological transmission Effects 0.000 claims description 45
- 230000004044 response Effects 0.000 claims description 36
- 238000006243 chemical reaction Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 13
- 230000003993 interaction Effects 0.000 abstract description 18
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000009977 dual effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000011217 control strategy Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004092 self-diagnosis Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000013078 crystal Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
Abstract
本申请公开了一种通讯***和一种智能控制器,该通讯***包括:用于板卡间进行通讯连接的LVDS总线、CPU和FPGA芯片;所述FPGA芯片设置为将从所述LVDS总线接收的数据传输到所述CPU,并将所述CPU发送的数据传输到所述LVDS总线。该通讯***和使用该通讯***的智能控制器能够提高数据交互的效率。
Description
技术领域
本申请涉及工业控制领域,尤指一种通讯***和一种智能控制器。
背景技术
智能工厂具有信息多源异构、处理任务复杂等特点,需要控制器执行包含控制信号处理、机器视觉识别处理、通信数据分析处理等任务的计算,并将这些计算结果快速反馈给控制决策。为突破智能控制器单站有限资源环境的限制,智能控制器需要由多个功能卡件组成,目前多卡件间无法相互高速高效通信,因此,无法实现智能控制器的控制策略的高效运行。
发明内容
本申请提供了一种通讯***和一种智能控制器,能够提高数据交互的效率。
本申请提供的一种通讯***,包括:
用于板卡间进行通讯连接的LVDS总线、CPU和FPGA芯片;
所述FPGA芯片设置为将所述LVDS总线发送的待接收数据传输到所述CPU,并将所述CPU发送的待发送数据传输到所述LVDS总线。
一种示例性的实施例中,所述FPGA芯片包括接口模块、DMA模块和LVDS模块;
所述DMA模块,设置为将所述待发送数据传输到所述LVDS模块,以及将所述待接收数据通过所述接口模块传输到所述CPU;
所述LVDS模块,设置为接收所述待接收数据,对所述待接收数据进行处理后触发所述DMA模块进行数据传输;接收所述待发送数据,对所述待发送数据进行处理后发送给所述LVDS总线。
一种示例性的实施例中,所述FPGA芯片包括接口模块、DMA模块和LVDS模块;
所述DMA模块,设置为将所述待发送数据传输到所述LVDS模块,以及将所述待接收数据通过所述接口模块传输到所述CPU;
所述LVDS模块,设置为接收所述待接收数据,对所述待接收数据进行处理后触发所述DMA模块进行数据传输;接收所述待发送数据,对所述待发送数据进行处理后发送给所述LVDS总线。
一种示例性的实施例中,所述接口模块包括接口单元、双口RAM单元;
所述接口单元,设置为将所述CPU的总线接口转换成双口RAM接口,以通过所述双口RAM接口接收或发送所述待发送数据和所述待接收数据;
所述双口RAM单元,设置为缓存所述待发送数据和所述待接收数据;
所述DMA模块将所述待接收数据通过所述接口模块传输到所述CPU,包括:
所述DMA模块将所述待接收数据通过所述双口RAM单元和接口单元传输到所述CPU。
一种示例性的实施例中,所述将所述待发送数据传输到所述LVDS模块,包括:
将所述待发送数据分批传输到所述LVDS模块;
一种示例性的实施例中,所述将所述待接收数据传输到所述CPU,包括:
将所述待接收数据分批传输到所述双口RAM单元,再通过所述接口单元传输到所述CPU。
一种示例性的实施例中,所述LVDS模块包括接口子模块、发送链路子模块和接收链路子模块;
所述接口子模块,设置为将所述待发送数据写入所述发送链路子模块中,以及从所述接收链路子模块中读取所述待接收数据;
所述发送链路子模块,设置为缓存所述待发送数据,对所述待发送数据进行编码、并串转换后发送到所述LVDS总线;接收与所述待发送数据对应的应答报文,将与所述待发送数据对应的应答报文发送给第一数据发送方;
所述接收链路子模块,设置为从所述LVDS总线接收所述待接收数据,并将所述待接收数据进行串并转换、解码后进行缓存,当接收到全部数据后向第二数据发送方发送应答报文,并触发所述DMA模块进行数据传输。
一种示例性的实施例中,所述发送链路子模块包括发送缓存子单元、发送控制子单元、发送逻辑子单元、第一线路编码子单元、第一并串转换子单元、接收响应逻辑子单元、第一线路解码子单元、第一串并转换子单元;
所述接收链路子模块包括接收缓存子单元、接收控制子单元、接收逻辑子单元、第二线路编码子单元、第二并串转换子单元、发送响应逻辑子单元、第二线路解码子单元、第二串并转换子单元。
本申请还提供了一种智能控制器,包括:
包括两个或两个以上的板卡;
至少两个板卡间使用如下的通信***进行通信:
所述通信***,包括:
用于板卡间进行通讯连接的LVDS总线、CPU和FPGA芯片;
所述FPGA芯片设置为将所述LVDS总线发送的待接收数据传输到所述CPU,并将所述CPU发送的待发送数据传输到所述LVDS总线。
一种示例性的实施例中,所述FPGA芯片包括接口模块、DMA模块和LVDS模块;
所述DMA模块,设置为将所述待发送数据传输到所述LVDS模块,以及将所述待接收数据通过所述接口模块传输到所述CPU;
所述LVDS模块,设置为接收所述待接收数据,对所述待接收数据进行处理后触发所述DMA模块进行数据传输;接收所述待发送数据,对所述待发送数据进行处理后发送给所述LVDS总线。
一种示例性的实施例中,所述接口模块包括接口单元、双口RAM单元;
所述接口单元,设置为将所述CPU的总线接口转换成双口RAM接口,以通过所述双口RAM接口接收或发送所述待发送数据和所述待接收数据;
所述双口RAM单元,设置为缓存所述待发送数据和所述待接收数据;
所述DMA模块将所述待接收数据通过所述接口模块传输到所述CPU,包括:
所述DMA模块将所述待接收数据通过所述双口RAM单元和接口单元传输到所述CPU。
一种示例性的实施例中,所述将所述待发送数据传输到所述LVDS模块,包括:
将所述待发送数据分批传输到所述LVDS模块;
一种示例性的实施例中,所述将所述待接收数据传输到所述CPU,包括:
将所述待接收数据分批传输到所述双口RAM单元,再通过所述接口单元传输到所述CPU。
一种示例性的实施例中,所述LVDS模块包括接口子模块、发送链路子模块和接收链路子模块;
所述接口子模块,设置为将所述待发送数据写入所述发送链路子模块中,以及从所述接收链路子模块中读取所述待接收数据;
所述发送链路子模块,设置为缓存所述待发送数据,对所述待发送数据进行编码、并串转换后发送到所述LVDS总线;接收与所述待发送数据对应的应答报文,将与所述待发送数据对应的应答报文发送给第一数据发送方;
所述接收链路子模块,设置为从所述LVDS总线接收所述待接收数据,并将所述待接收数据进行串并转换、解码后进行缓存,当接收到全部数据后向第二数据发送方发送应答报文,并触发所述DMA模块进行数据传输。
一种示例性的实施例中,所述发送链路子模块包括发送缓存子单元、发送控制子单元、发送逻辑子单元、第一线路编码子单元、第一并串转换子单元、接收响应逻辑子单元、第一线路解码子单元、第一串并转换子单元;
所述接收链路子模块包括接收缓存子单元、接收控制子单元、接收逻辑子单元、第二线路编码子单元、第二并串转换子单元、发送响应逻辑子单元、第二线路解码子单元、第二串并转换子单元。
一种示例性的实施例中,当所述智能控制器包括第一板卡、第二板卡和第三板卡时,所述第一板卡为控制器核心板卡;所述第二板卡为机器视觉处理板卡;所述第三板卡为通信板卡。
一种示例性的实施例中,所述第一板卡、第二板卡以及第三板卡中的至少两个板卡通过单端信号进行通讯。
本申请提供了一种通讯***和一种智能控制器,能够提高数据交互的效率,从而使得智能控制器能够高效地运行控制策略。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例的通讯***的示意图;
图2为本申请实施例的智能控制器的示意图;
图3为本申请实施例的智能控制器的总体架构图;
图4为本申请实施例的板卡间高速通信方案框图;
图5为本申请实施例的板卡内高速通信方案框图;
图6为本申请实施例的板卡内FPGA芯片的LVDS逻辑框图;
图7为本申请实施例的板卡内部高速通信的软件工作流程。
具体实施方式
图1为本申请实施例的通讯***的示意图,如图1所示,本实施例的通讯***,包括:
用于板卡间进行通讯连接的LVDS总线、CPU和FPGA芯片;
所述FPGA芯片设置为将所述LVDS总线发送的待接收数据传输到所述CPU,并将所述CPU发送的待发送数据传输到所述LVDS总线。
一种示例性的实施例中,所述LVDS(即低电压差分信号)总线为全双口的LVDS总线。CPU为中央处理器,FPGA芯片为现场可编程逻辑门阵列芯片。
一种示例性的实施例中,CPU和FPGA芯片可以位于板卡的内部。
一种示例性的实施例中,所述FPGA芯片包括接口模块、DMA模块和LVDS模块;
所述DMA模块,设置为将所述待发送数据传输到所述LVDS模块,以及将所述待接收数据通过所述接口模块传输到所述CPU;
所述LVDS模块,设置为接收所述待接收数据,对所述待接收数据进行处理后触发所述DMA模块进行数据传输;接收所述待发送数据,对所述待发送数据进行处理后发送给所述LVDS总线。
一种示例性的实施例中,所述接口模块包括接口单元、双口RAM单元;
所述接口单元,设置为将所述CPU的总线接口转换成双口RAM接口,以通过所述双口RAM接口接收或发送所述待发送数据和所述待接收数据;
所述双口RAM单元,设置为缓存所述待发送数据和所述待接收数据;
所述DMA模块将所述待接收数据通过所述接口模块传输到所述CPU,包括:
所述DMA模块将所述待接收数据通过所述双口RAM单元和接口单元传输到所述CPU。
一种示例性的实施例中,所述将所述待发送数据传输到所述LVDS模块,包括:
将所述待发送数据分批传输到所述LVDS模块;
一种示例性的实施例中,所述将所述待接收数据传输到所述CPU,包括:
将所述待接收数据分批传输到所述双口RAM单元,再通过所述接口单元传输到所述CPU。
一种示例性的实施例中,所述将所述待发送数据传输到所述LVDS模块,可以包括:将所述待发送数据分批传输到所述LVDS模块。
一种示例性的实施例中,所述将所述待接收数据传输到所述双口RAM单元,可以包括:将所述待接收数据分批传输到所述双口RAM单元。
一种示例性的实施例中,所述LVDS模块包括接口子模块、发送链路子模块和接收链路子模块;
所述接口子模块,设置为将所述待发送数据写入所述发送链路子模块中,以及从所述接收链路子模块中读取所述待接收数据;
所述发送链路子模块,设置为缓存所述待发送数据,对所述待发送数据进行编码、并串转换后发送到所述LVDS总线;接收与所述待发送数据对应的应答报文,将与所述待发送数据对应的应答报文发送给第一数据发送方;
所述接收链路子模块,设置为从所述LVDS总线接收所述待接收数据,并将所述待接收数据进行串并转换、解码后进行缓存,当接收到全部数据后向第二数据发送方发送应答报文,并触发所述DMA模块进行数据传输。
一种示例性的实施例中,所述发送链路子模块包括发送缓存子单元、发送控制子单元、发送逻辑子单元、第一线路编码子单元、第一并串转换子单元、接收响应逻辑子单元、第一线路解码子单元、第一串并转换子单元;
所述接收链路子模块包括接收缓存子单元、接收控制子单元、接收逻辑子单元、第二线路编码子单元、第二并串转换子单元、发送响应逻辑子单元、第二线路解码子单元、第二串并转换子单元。
一种示例性的实施例中,所述通讯***还可以包括:
LVDS收发器;所述FPGA芯片可以通过所述LVDS收发器与所述LVDS总线连接。
本申请实施例的通讯***,通过FPGA芯片将LVDS总线发送的待接收数据传输到所述CPU,并将所述CPU发送的待发送数据传输到所述LVDS总线,能够提高数据交互的效率。
图2为本申请实施例的智能控制器的示意图,如图2所示,本申请实施例的智能控制器包括:包括两个或两个以上的板卡;至少两个板卡间使用如下通信***进行通信;
所述通信***包括:用于板卡间进行通讯连接的LVDS总线、CPU和FPGA芯片;
所述FPGA芯片设置为将所述LVDS总线发送的待接收数据传输到所述CPU,并将所述CPU发送的待发送数据传输到所述LVDS总线。
一种示例性的实施例中,所述LVDS(即低电压差分信号)总线为全双口的LVDS总线。CPU为中央处理器,FPGA芯片为现场可编程逻辑门阵列芯片。
一种示例性的实施例中,CPU和FPGA芯片可以位于板卡内部。
一种示例性的实施例中,所述FPGA芯片包括接口模块、DMA模块和LVDS模块;
所述DMA模块,设置为将所述待发送数据传输到所述LVDS模块,以及将所述待接收数据通过所述接口模块传输到所述CPU;
所述LVDS模块,设置为接收所述待接收数据,对所述待接收数据进行处理后触发所述DMA模块进行数据传输;接收所述待发送数据,对所述待发送数据进行处理后发送给所述LVDS总线。
一种示例性的实施例中,所述接口模块包括接口单元、双口RAM单元;
所述接口单元,设置为将所述CPU的总线接口转换成双口RAM接口,以通过所述双口RAM接口接收或发送所述待发送数据和所述待接收数据;
所述双口RAM单元,设置为缓存所述待发送数据和所述待接收数据;
所述DMA模块将所述待接收数据通过所述接口模块传输到所述CPU,包括:
所述DMA模块将所述待接收数据通过所述双口RAM单元和接口单元传输到所述CPU。
板卡内的FPGA芯片实现“DMA+LVDS逻辑”,DMA实现数据的自动搬运,LVDS逻辑实现高速全双工通信,板卡CPU可以像读写内存数据一样方便地实现与第三方板卡的数据交互。CPU板卡可以通过全双工的LVDS与机器视觉图形板卡进行数据交互,CPU板卡也可以通过全双工的LVDS与通信板卡进行数据交互,通信板卡也可以通过全双工的LVDS与机器视觉处理板卡进行数据交互,最终实现了三个板卡的数据高速共享,提高了数据交互的效率。
一种示例性的实施例中,所述将所述待发送数据传输到所述LVDS模块,包括:
将所述待发送数据分批传输到所述LVDS模块;
一种示例性的实施例中,所述将所述待接收数据传输到所述CPU,包括:
将所述待接收数据分批传输到所述双口RAM单元,再通过所述接口单元传输到所述CPU。
一种示例性的实施例中,所述将所述待发送数据传输到所述LVDS模块,可以包括:将所述待发送数据分批传输到所述LVDS模块。
一种示例性的实施例中,所述将所述待接收数据传输到所述双口RAM单元,可以包括:将所述待接收数据分批传输到所述双口RAM单元。
一种示例性的实施例中,所述LVDS模块包括接口子模块、发送链路子模块和接收链路子模块;
所述接口子模块,设置为将所述待发送数据写入所述发送链路子模块中,以及从所述接收链路子模块中读取所述待接收数据;
所述发送链路子模块,设置为缓存所述待发送数据,对所述待发送数据进行编码、并串转换后发送到所述LVDS总线;接收与所述待发送数据对应的应答报文,将与所述待发送数据对应的应答报文发送给第一数据发送方;
所述接收链路子模块,设置为从所述LVDS总线接收所述待接收数据,并将所述待接收数据进行串并转换、解码后进行缓存,当接收到全部数据后向第二数据发送方发送应答报文,并触发所述DMA模块进行数据传输。
一种示例性的实施例中,所述发送链路子模块包括发送缓存子单元、发送控制子单元、发送逻辑子单元、第一线路编码子单元、第一并串转换子单元、接收响应逻辑子单元、第一线路解码子单元、第一串并转换子单元;
所述接收链路子模块包括接收缓存子单元、接收控制子单元、接收逻辑子单元、第二线路编码子单元、第二并串转换子单元、发送响应逻辑子单元、第二线路解码子单元、第二串并转换子单元。
一种示例性的实施例中,所述通讯***还可以包括:
LVDS收发器;所述FPGA芯片可以通过所述LVDS收发器与所述LVDS总线连接。
一种示例性的实施例中,当所述智能控制器包括第一板卡、第二板卡和第三板卡时,所述第一板卡为控制器核心板卡;所述第二板卡为机器视觉处理板卡;所述第三板卡为通信板卡。可以第一板卡、第二板卡、以及第三板卡都通过高速串行总线LVDS互联,即CPU核心板卡(即控制器核心板卡)与机器视觉处理板卡、通信板卡间通过高速串行总线LVDS(低电压差分信号)互联,实现异构计算中专用功能单元与处理器之间的协同工作。
所述第一板卡、第二板卡以及第三板卡中的至少两个板卡通过单端信号进行通讯,以就板卡各模块状态等信息进行交互。
本申请实施例的板卡间通过高速串行总线LVDS进行全双工通信,板卡内CPU和FPGA间通过板内高速总线连接,提高了数据交互的效率,从而使得智能控制器能够高效地运行控制策略。
图3为本申请实施例的智能控制器的总体架构示意图,如图3所示,本实施例的智能控制器包括控制器核心板与机器视觉处理板卡、通信板卡。控制器核心板卡与机器视觉处理板卡之间、以及控制器核心板卡与通信板卡之间通过LVDS互联,机器视觉处理板卡与通信板卡之间的通信是可选的通信。板卡间还有单端信号相连,用于模块状态等信息的交互。
控制器核心板、机器视觉处理板卡及通信板卡间采用LVDS进行通讯,LVDS采用点对点的拓扑结构,全双工模式,数据传输速率可达200Mbps。LVDS通信在物理上为两条独立的传输链路,一条为发送链路,另一条为接收链路。发送链路完成某一板卡向对应板卡发送数据并从发送链路上接收对方传回的接收成功应答的任务;接收链路完成接收对应板卡发送来的数据并从接收链路向对方发送接收成功应答的任务。
板卡间高速通信方案框图如图4所示。LVDSA将信息从左发送到右,当机器视觉处理板卡接收到控制器核心板发送的数据后,发送应答信息到LVDSA;LVDSB将信息从右发送到左,当控制器核心板接收到机器视觉处理板卡发送的数据后,发送应答信息到LVDSB;LVDSC将信息从左发送到右,当通信板卡接收到控制器核心板发送的数据后,发送应答信息到LVDSC;LVDSD将信息从右发送到左,当控制器核心板接收到通信板卡发送的数据后,发送应答信息到LVDSD。
控制器核心板卡由“CPU+FPGA”为核心器件实现,其中CPU负责控制等应用数据的处理,FPGA(即上述的FPGA芯片)实现对外高速通信功能,CPU和FPGA间通过板内高速总线连接。FPGA内主要实现“DMA+LVDS逻辑”,DMA实现数据的自动搬运(搬运表示进行数据传输),LVDS逻辑(即上述LVDS模块)实现高速全双工通信,板卡CPU通过FPGA可以像读写内存数据一样方便地实现与第三方板卡的数据交互。DMA进行数据的自动搬运可以释放CPU的算力,让CPU能最大程度地参与专业的控制业务。
机器视觉处理板卡、通信板卡的通信部分硬件原理与控制器核心板卡类似。
板卡内部高速通信的设计实现如图5所示。控制器核心板由“CPU+FPGA”为核心器件实现,其中CPU负责控制等应用数据的处理,FPGA实现对外高速通信功能,CPU和FPGA间通过板内高速总线连接。FPGA内实现“接口+双口RAM+DMA+LVDS”逻辑,接口逻辑及双口RAM(即图5中的FIFO)把外部CPU的总线接口转换成了带缓存功能的双口RAM接口,可以实现数据位宽转换、操作速率转换等。DMA调度逻辑中设计有状态机来实现DMA操作,把双口RAM的数据搬运到LVDS逻辑中,以及把LVDS逻辑的数据搬到双口RAM中,并实现各过程状态管理等。通过FPGA,CPU可以像读写内存数据一样方便地实现与第三方板卡的数据交互。
FPGA内LVDS逻辑框图如图6所示。逻辑功能分为三部分,接口模块、发送链路模块、接收链路模块。
接口模块实现DMA逻辑对LVDS逻辑的内部寄存器、发送/接收buffer的读写译码功能,DMA通过该接口模块向发送Buffer中写入要发送的数据,并从接收Buffer中读出接收到的总线数据;同时可通过该功能块控制发送/接收数据并获得发送链路和接收链路的状态。
发送链路模块实现将DMA写入到发送Buffer中的数据发送到总线上并接收对方返回的短应答的功能。发送链路模块内部又分为发送功能块和接收功能块。在DMA通过接口传来发送数据命令时,发送功能块将发送buffer中的数据读出,并按照***定义的报文格式将发送数据传递给线路编码器(例如8B/10B编码器),编码转换之后的数据经过并串转换模块串行发送到LVDS收发器。数据发送完成后等待接收对方应答报文,当接收功能块上接收到对方应答报文后整个发送过程完成,将发送结果传递给自诊断模块供DMA及CPU查询。
接收链路模块实现从串行输入链路上接收对方发送来的数据并向对方发送接收成功应答的功能。接收链路内部又分为发送功能块和接收功能块。在串行总线上有数据输入时,接收功能块将串行输入的数据进行串并转换和线路解码器(例如8B/10B解码)之后传递给接收控制模块,接收控制模块将接收到的数据写入到对应的接收buffer中,当接收到完整的报文数据后向对方发送接收成功应答报文,整个接收过程完成,并产生通知信号触发DMA模块进行数据搬运。
由于板卡间发送方数据发送采用串行连续发送,而且发送方和接收方采用各自独立的时钟进行发送和接收,因此在接收方串行接收时,由于采样始终与发送方的时钟有偏差可能会导致接收方接收错位。为避免此故障,在发送数据帧中均匀***同步帧,保证接收方每达到一个时钟宽度之前进行采样点的重新定位,例如根据板间晶振最大频率偏差计算选择512字节进行重新同步。
板卡内部高速通信的软件工作流程实现如图7所示。
CPU通过LVDS总线发送数据的流程如下:
1)FPGA总线接口逻辑(即上述接口模块)初始化完成,收发与板内CPU间的高速内部总线数据。
2)CPU通过总线接口填写待发送数据及数据长度给FPGA内的发送双口RAM。
3)FPGA内的DMA调度逻辑(即上述的DMA模块)把需要发送的数据及长度信息搬运给LVDS逻辑(即上述的LVDS模块)。
4)判读DMA搬运数据的长度值是否达到CPU填写的发送数据长度值,若是则结束本次DMA搬运,否则继续搬运。
5)LVDS逻辑把数据发送到物理链路(即LVDS总线),实现板间通信。
6)判读LVDS逻辑发送数据是否完成,若是则结束本次发送数据操作并填写自诊断信息,若不是,则跳转到第5步继续执行。
CPU读取LVDS总线数据的流程如下:
1)板间通信,LVDS逻辑接收物理链路数据,接收完成后产生通知信号给DMA逻辑。
2)DMA调度逻辑把接收的LVDS数据及长度信息搬运到接收双口RAM中。
3)判读DMA搬运数据的长度值是否达到LVDS逻辑接收数据的长度值,若是则结束本次DMA搬运,否则继续搬运。
4)CPU通过总线接口从FPGA内的接收双口RAM中读取到相应长度的数据。
本申请实施例的智能控制器中的CPU核心板卡与机器视觉处理板卡、通信板卡间通过高速串行总线LVDS互联,实现异构计算中专用功能单元与处理器之间的协同工作。板卡内FPGA实现“DMA+LVDS逻辑”,DMA实现数据的自动搬运,LVDS逻辑实现高速全双工通信,板卡CPU通过FPGA可以像读写内存数据一样方便地实现与第三方板卡的数据交互。CPU板卡可以通过全双工的LVDS与机器视觉处理板卡进行数据交互,CPU板卡也可以通过全双工的LVDS与通信板卡进行数据交互,通信板卡也可以通过全双工的LVDS与机器视觉处理板卡进行数据交互,最终实现了三个板卡的数据高速共享,提高了数据交互的效率。
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种通讯***,其特征在于,包括:
用于板卡间进行通讯连接的LVDS总线、CPU和FPGA芯片;
所述FPGA芯片设置为将所述LVDS总线发送的待接收数据传输到所述CPU,并将所述CPU发送的待发送数据传输到所述LVDS总线。
2.如权利要求1所述的***,其特征在于,
所述FPGA芯片包括接口模块、DMA模块和LVDS模块;
所述DMA模块,设置为将所述待发送数据传输到所述LVDS模块,以及将所述待接收数据通过所述接口模块传输到所述CPU;
所述LVDS模块,设置为接收所述待接收数据,对所述待接收数据进行处理后触发所述DMA模块进行数据传输;接收所述待发送数据,对所述待发送数据进行处理后发送给所述LVDS总线。
3.如权利要求2所述的***,其特征在于:
所述接口模块包括接口单元、双口RAM单元;
所述接口单元,设置为将所述CPU的总线接口转换成双口RAM接口,以通过所述双口RAM接口接收或发送所述待发送数据和所述待接收数据;
所述双口RAM单元,设置为缓存所述待发送数据和所述待接收数据;
所述DMA模块将所述待接收数据通过所述接口模块传输到所述CPU,包括:
所述DMA模块将所述待接收数据通过所述双口RAM单元和接口单元传输到所述CPU。
4.如权利要求3所述的***,其特征在于:
所述将所述待发送数据传输到所述LVDS模块,包括:
将所述待发送数据分批传输到所述LVDS模块;
所述将所述待接收数据传输到所述CPU,包括:
将所述待接收数据分批传输到所述双口RAM单元,再通过所述接口单元传输到所述CPU。
5.如权利要求2所述的***,其特征在于:
所述LVDS模块包括接口子模块、发送链路子模块和接收链路子模块;
所述接口子模块,设置为将所述待发送数据写入所述发送链路子模块中,以及从所述接收链路子模块中读取所述待接收数据;
所述发送链路子模块,设置为缓存所述待发送数据,对所述待发送数据进行编码、并串转换后发送到所述LVDS总线;接收与所述待发送数据对应的应答报文,将与所述待发送数据对应的应答报文发送给第一数据发送方;
所述接收链路子模块,设置为从所述LVDS总线接收所述待接收数据,并将所述待接收数据进行串并转换、解码后进行缓存,当接收到全部数据后向第二数据发送方发送应答报文,并触发所述DMA模块进行数据传输。
6.如权利要求5所述的***,其特征在于:
所述发送链路子模块包括发送缓存子单元、发送控制子单元、发送逻辑子单元、第一线路编码子单元、第一并串转换子单元、接收响应逻辑子单元、第一线路解码子单元、第一串并转换子单元;
所述接收链路子模块包括接收缓存子单元、接收控制子单元、接收逻辑子单元、第二线路编码子单元、第二并串转换子单元、发送响应逻辑子单元、第二线路解码子单元、第二串并转换子单元。
7.如权利要求1所述的***,其特征在于,还包括:
LVDS收发器;所述FPGA芯片通过所述LVDS收发器与所述LVDS总线连接。
8.一种智能控制器,其特征在于:
包括两个或两个以上的板卡;
至少两个板卡使用权利要求1-5中任一项的通信***进行通信。
9.如权利要求8所述的智能控制器,其特征在于:
当所述智能控制器包括第一板卡、第二板卡和第三板卡时,所述第一板卡为控制器核心板卡;所述第二板卡为机器视觉处理板卡;所述第三板卡为通信板卡。
10.如权利要求9所述的智能控制器,其特征在于:
所述第一板卡、第二板卡以及第三板卡中的至少两个板卡通过单端信号进行通讯。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111396721.5A CN114048155A (zh) | 2021-11-23 | 2021-11-23 | 通讯***及智能控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111396721.5A CN114048155A (zh) | 2021-11-23 | 2021-11-23 | 通讯***及智能控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114048155A true CN114048155A (zh) | 2022-02-15 |
Family
ID=80211382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111396721.5A Pending CN114048155A (zh) | 2021-11-23 | 2021-11-23 | 通讯***及智能控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048155A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020013284A (ko) * | 2000-08-14 | 2002-02-20 | 윤종용 | 호스트 보드와 타겟 보드간의 통신 장치 |
CN102073346A (zh) * | 2010-12-21 | 2011-05-25 | 北京镭航世纪科技有限公司 | 一种通用阵列信号处理板 |
CN201878182U (zh) * | 2010-11-22 | 2011-06-22 | 四川九洲电器集团有限责任公司 | 一种基于fpga的总线型通信*** |
CN105573239A (zh) * | 2016-01-11 | 2016-05-11 | 南京南瑞集团公司 | 一种高速背板总线通讯控制装置及方法 |
WO2016119525A1 (zh) * | 2015-01-26 | 2016-08-04 | 国电南瑞科技股份有限公司 | 数据弹***互综合总线*** |
CN110471872A (zh) * | 2019-07-12 | 2019-11-19 | 卡斯柯信号有限公司 | 一种基于zynq芯片实现m-lvds总线数据交互***和方法 |
-
2021
- 2021-11-23 CN CN202111396721.5A patent/CN114048155A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020013284A (ko) * | 2000-08-14 | 2002-02-20 | 윤종용 | 호스트 보드와 타겟 보드간의 통신 장치 |
CN201878182U (zh) * | 2010-11-22 | 2011-06-22 | 四川九洲电器集团有限责任公司 | 一种基于fpga的总线型通信*** |
CN102073346A (zh) * | 2010-12-21 | 2011-05-25 | 北京镭航世纪科技有限公司 | 一种通用阵列信号处理板 |
WO2016119525A1 (zh) * | 2015-01-26 | 2016-08-04 | 国电南瑞科技股份有限公司 | 数据弹***互综合总线*** |
CN105573239A (zh) * | 2016-01-11 | 2016-05-11 | 南京南瑞集团公司 | 一种高速背板总线通讯控制装置及方法 |
CN110471872A (zh) * | 2019-07-12 | 2019-11-19 | 卡斯柯信号有限公司 | 一种基于zynq芯片实现m-lvds总线数据交互***和方法 |
Non-Patent Citations (1)
Title |
---|
李宏;李蒙;哈乐;王俊;: "基于FPGA的高速链路通信***实现", 电子测量技术, no. 05, pages 123 - 126 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10468078B2 (en) | Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communication | |
US11907140B2 (en) | Serial interface for semiconductor package | |
WO2006065817A2 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
CN101895549A (zh) | 车辆通信网络数据转换网关及其转换方法 | |
US20200142854A1 (en) | Multilane heterogeneous serial bus | |
CN201717878U (zh) | 车辆通信网络数据转换网关 | |
US8626975B1 (en) | Communication interface with reduced signal lines | |
US11573919B2 (en) | Multi-slave serial communication | |
CN106776467B (zh) | 用于命令接收***的spi flash控制芯片 | |
CN114048155A (zh) | 通讯***及智能控制器 | |
US20090063736A1 (en) | Low power digital interface | |
CN114185830A (zh) | 基于mailbox的多处理器通信方法、设备、***和存储介质 | |
US20060288131A1 (en) | Memory device capable of communicating with host at different speeds, and data communication system using the memory device | |
WO2021249260A1 (zh) | 数据的传输方法及装置、电路板、存储介质、电子装置 | |
CN111026691A (zh) | 基于apb总线的owi通讯设备 | |
US11139830B2 (en) | Bit inversion for data transmission | |
CN112685350B (zh) | 一种1394链路层芯片内部数据路由调度电路及其调度方法 | |
CN112148659B (zh) | 数据传输电路 | |
CN117149680B (zh) | 用于贴片机子模块日志上传的主控板及上传方法 | |
CN108804362A (zh) | 串口批量数据传输方法、装置及存储介质 | |
CN117938574B (zh) | 一种用于星载设备间通信的SpaceWire总线节点控制器IP核 | |
CN111884892B (zh) | 一种基于共享链协议的数据传输方法与*** | |
CN110365687B (zh) | Swp协议处理器 | |
CN117435538A (zh) | 一种PCIe转SRIO的桥接*** | |
WO2024001874A1 (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 |