CN110471872A - 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 - Google Patents
一种基于zynq芯片实现m-lvds总线数据交互系统和方法 Download PDFInfo
- Publication number
- CN110471872A CN110471872A CN201910629432.1A CN201910629432A CN110471872A CN 110471872 A CN110471872 A CN 110471872A CN 201910629432 A CN201910629432 A CN 201910629432A CN 110471872 A CN110471872 A CN 110471872A
- Authority
- CN
- China
- Prior art keywords
- data
- bus
- mlvds
- lvds
- lvds 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
Links
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 title claims abstract description 15
- 230000003993 interaction Effects 0.000 claims abstract description 7
- 230000005540 biological transmission Effects 0.000 claims description 30
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
- G06F13/34—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/08—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
本发明涉及一种基于ZYNQ芯片实现M‑LVDS总线数据交互系统和方法,包括通过M‑LVDS总线连接的多个用于发送和接收数据的节点,所述的节点内包括ZYNQ芯片和DDR内存,所述的ZYNQ芯片包括通过AXI总线相互连接的处理器系统模块和可编程逻辑模块,所述的处理器系统模块与DDR内存连接,所述的可编程逻辑模块与M‑LVDS总线连接,基于ZYNQ芯片实现M‑LVDS总线数据交互的方法,包括发送数据步骤和接收数据步骤。与现有技术相比,本发明具有数据吞吐率高、抗干扰能力强和处理器性能高等优点。
Description
技术领域
本发明涉及高速串行总线通信领域,尤其是涉及一种基于ZYNQ芯片实现M-LVDS总线数据交互系统和方法。
背景技术
在多种高速串行总线通信的方式中,M-LVDS总线的通信速率可达到200Mbps以上,且隔离后的M-LVDS总线的通信速率可以做到100Mbps以上。这种高速串行总线还具有多主、实时性强的特点。
图1展示了传统的CPU+FPGA架构下的M-LVDS总线的拓扑结构。在M-LVDS总线上每个节点都是一个独立的嵌入式板卡,节点内部包括了CPU处理器以及FPGA实现的M-LVDS总线控制器。通过传统的CPU+FPGA架构实现M-LVDS总线数据交互时,CPU作为控制和处理核心,FPGA中的M-LVDS总线控制器与M-LVDS总线进行接口,CPU与FPGA之间通过并行的本地总线进行通讯。这种互连方式的最大问题是数据吞吐率低,一是因为本地总线一般是异步总线,理想情况下一个读/写访问最少需要3个周期(1个setup周期,1个access周期和1个hold周期);二是因为读、写操作共用一套地址、数据总线,属于半双工操作;三是在本地总线上还连接其他处理器外设,如FLASH、USB控制器等,多个从设备会竞争总线,从而降低M-LVDS总线控制器的有效数据吞吐率。而M-LVDS总线用于实现多个节点之间高速并发通信,具有高速和实时的特点,所以采用传统的CPU+FPGA架构,会限制M-LVDS总线的性能。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于ZYNQ芯片实现M-LVDS总线数据交互系统和方法。
本发明的目的可以通过以下技术方案来实现:
一种基于ZYNQ芯片实现M-LVDS总线数据交互系统,包括通过M-LVDS总线连接的多个用于发送和接收数据的节点,所述的节点内包括ZYNQ芯片和DDR内存,所述的ZYNQ芯片包括通过AXI总线相互连接的处理器系统模块和可编程逻辑模块,所述的处理器系统模块与DDR内存连接,所述的可编程逻辑模块与M-LVDS总线连接。
进一步的,所述的处理器系统模块包括分别与可编程逻辑模块连接并相互连接的ARM和DDR内存控制器,所述的DDR内存控制器与DDR内存连接。
进一步的,所述的可编程逻辑模块包括分别与ARM连接的DMA控制器和M-LVDS总线控制器,所述的M-LVDS总线控制器与M-LVDS总线连接,所述的DMA控制器分别与DDR内存控制器和M-LDVS总线控制器连接。
进一步的,所述的ZYNQ芯片内部的连接均采用AXI总线实现。
进一步的,所述的处理器系统模块用于实现对DMA控制器和M-LVDS总线控制器的配置和控制,所述的DMA控制器用于实现M-LVDS总线控制器与DDR内存之间的直接数据交互,所述的M-LVDS总线控制器用于实现与M-LVDS总线的接口。
进一步的,所述的M-LVDS总线控制器包括寄存器单元mlvds_regs、数据发送FIFO单元、数据接收FIFO单元、发送队列单元mlvds_tx_queue、总线数据发送单元mlvds_transmitter、总线数据接收单元mlvds_receiver、接收队列单元mlvds_rx_queue和链路状态监测单元mlvds_link_monitor,所述的寄存器单元mlvds_regs包括控制寄存器、状态寄存器和中断寄存器。
进一步的,所述的寄存器单元mlvds_regs与ARM连接,并对发送队列单元mlvds_tx_queue、接收队列单元mlvds_rx_queue和链路状态监测单元mlvds_link_monitor发送控制信号,所述的数据发送FIFO单元和数据接收FIFO单元分别与DMA控制器连接,所述的总线数据发送单元mlvds_transmitter和总线数据接收单元mlvds_receiver分别与M-LVDS总线连接,所述的发送队列单元mlvds_tx_queue连接数据发送FIFO单元和总线数据发送单元mlvds_transmitter,所述的接收队列单元mlvds_rx_queue连接数据接收FIFO单元和总线数据接收单元mlvds_receiver,所述的链路状态监测单元mlvds_link_monitor分别连接总线数据发送单元mlvds_transmitter和总线数据接收单元mlvds_receiver,用于监测链路当前状态。
一种基于ZYNQ芯片实现M-LVDS总线数据交互的方法,包括发送数据步骤和接收数据步骤。
进一步的,所述的发送数据步骤包括:
11)处理器系统模块将待发送的数据写入DDR内存;
12)处理器系统模块配置DMA控制器的发送通道;
13)DMA控制器从DDR内存中读取数据并发送至数据发送FIFO单元;
14)M-LVDS总线控制器发起M-LVDS总线的仲裁;
15)判断是否获得总线仲裁使用权,若是,则执行步骤16),若否,则执行步骤14);
16)M-LVDS总线控制器计算CRC校验值,进行并串转换,并将并串转换后的数据发送到M-LVDS总线上。
进一步的,所述的接收数据步骤包括:
21)总线数据接收单元mlvds_receiver对M-LVDS总线上的数据进行串行采样;
22)接收队列单元mlvds_rx_queue检查接收到的数据是否合法以及CRC校验是否通过,若是,则执行步骤23),若否,则重新执行步骤22);
23)将数据帧写入数据接收FIFO单元;
24)处理器系统模块配置DMA控制器的接收通道;
25)DMA控制器从数据接收FIFO单元中读取数据,并写入DDR内存中;
26)处理器系统模块对DDR内存中的数据帧进行分析处理。
与现有技术相比,本发明具有以下优点:
1)提高数据吞吐率:本发明提出一种基于ZYNQ芯片实现M-LVDS总线数据交互的设计方法,处理器系统模块PS和可编程逻辑模块PL集成在ZYNQ芯片内部,两者之间采用高速AXI总线互联,属于点到点传输,不存在与其他设备的总线竞争,而且AXI总线的读、写通道分开,可执行全双工操作,数据传输速率远远大于分立式CPU与FPGA之间并行本地总线的传输速率,有效解决了二者间数据传输的带宽瓶颈问题,大大提高数据吞吐率,从而提高了M-LVDS总线的带宽,使得M-LVDS总线上各节点之间,真正实现高速、实时的数据传输;
2)提高处理器系统模块的性能:处理器系统模块PS和可编程逻辑模块PL之间共用内存,通过可编程逻辑模块PL中的DMA控制器,M-LVDS总线控制器可以直接与DDR内存进行存储访问,从而将处理器系统模块PS从数据搬移任务中解放出来,提高了其性能;
3)可靠性高:处理器系统模块PS和可编程逻辑模块PL之间的通讯由片外总线改为了片内总线,大大提高了抗干扰能力,从而提高了产品的可靠性;
4)面积小:在硬件电路板上,减少了一个CPU芯片的面积,也减少CPU与FPGA之间通讯总线的面积,从而有效减少了硬件布板面积,有利于硬件电路板的小型化设计;
5)成本、功耗低:本系统在价格上比传统分立式的CPU+FPGA架构便宜且功耗等级远超传统分立式的CPU+FPGA架构。
附图说明
图1为传统的CPU+FPGA架构下的M-LVDS总线拓扑结构;
图2为本发明节点内部结构图;
图3为M-LVDS总线控制器结构图;
图4为发送数据流程图;
图5为接收数据流程图。
其中,1、ARM,2、DDR内存控制器,3、DMA控制器,4、M-LVDS总线控制器,5、DDR内存,41、数据发送FIFO单元,42、发送队列单元mlvds_tx_queue,43、总线数据发送单元mlvds_transmitter,44、寄存器单元mlvds_regs,45、链路状态监测单元mlvds_link_monitor,46、数据接收FIFO单元,47、接收队列单元mlvds_rx_queue,48、总线数据接收单元mlvds_receiver。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
M-LVDS总线是一种支持多节点的差分总线,支持多个节点之间高速传输数据。
如图2和图3所示,本发明提供一种基于ZYNQ芯片实现M-LVDS总线数据交互系统,本发明采用ZYNQ芯片取代了传统的CPU+FPGA的分立式架构,将节点内的CPU处理器与M-LVDS总线控制器4集成在一起。ZYNQ芯片采用“ARM+FPGA”的创新架构,将基于双核ARMCortex-A的处理器系统模块Processing System与基于28nm Artix-7或-7的可编程逻辑模块Programmable Logic集成在一起,并提供对常用外部存储器如DDR2/DDR3的支持。同时,处理器系统模块PS与可编程逻辑模块PL之间通过AXI总线互连,解决传统CPU+FPGA的分立式架构中CPU与FPGA之间数据传输的带宽瓶颈问题。
AXI总线是由ARM公司提出的一种总线协议,是一种面向高性能、高带宽和低延迟的片内总线。Xilinx从6系列的FPGA开始对AXI总线提供支持,ZYNQ芯片中AXI总线得到更广泛的应用。
在本发明中,节点内部结构如图2所示,包括相互通过AXI总线连接的处理器系统模块PS和可编程逻辑模块PL,处理器系统模块PS与DDR内存5连接,可编程逻辑模块PL与M-LVDS总线连接。其中,ARM 1与DDR内存控制器2包含在处理器系统模块PS中,两者相互连接,DDR内存控制器2还与DDR内存5连接;DMA控制器3和M-LVDS总线控制器4由可编程逻辑模块PL实现,两者相互连接并且分别与ARM 1连接,同时DMA控制器3还与DDR内存控制器2连接,ZYNQ芯片内部的连接均采用AXI总线实现。
处理器系统模块PS通过AXI总线对可编程逻辑模块PL中的DMA控制器3和M-LVDS总线控制器4进行配置和控制。DMA控制器3用于实现M-LVDS总线控制器4与DDR内存5之间高带宽的直接存储访问,从而将ARM 1从数据搬移任务中解放出来。M-LVDS总线控制器4则用于实现与M-LVDS总线的接口。
M-LVDS总线控制器4的内部结构如图3所示。其中,M-LVDS总线控制器4内部包括:
1、寄存器单元mlvds_regs 44:处理器系统模块PS通过AXI总线对其进行访问,维护M-LVDS总线控制器4中的可编程寄存器,可编程寄存器包括:控制寄存器、状态寄存器和中断寄存器;
2、数据发送FIFO单元41:负责存储节点待发送的数据帧;
3、数据接收FIFO单元46:负责存储从M-LVDS总线收到的数据帧;
4、发送队列单元mlvds_tx_queue 42:负责从数据发送FIFO单元41中读出数据帧,并提取出数据帧中的帧类型、帧长等信息,并向mlvds_transmitter请求发送数据;
5、总线数据发送单元mlvds_transmitter 43:负责仲裁M-LVDS总线的使用权,节点在发送数据之前,必须先通过总线仲裁获得总线使用权,只有获得总线使用权后,才能将本节点的数据帧发送到总线上;
6、总线数据接收单元mlvds_receiver 48:负责用相位依次相差90°的4个时钟同时对M-LVDS总线上的数据进行采样,从而确保其中至少有1个时钟采样到了正确的数据帧;
7、接收队列单元mlvds_rx_queue 47:负责对接收到的数据帧进行过滤检查,判断是否符合本地节点的接收过滤规则,CRC校验是否通过,同时会将接收过程中的错误状态信息存储到状态寄存器;
8、链路状态监测单元mlvds_link_monitor 45:负载监测链路的当前状态,包括总线是否已经连接上、总线是否处于空闲状态等。当一个新的节点加入到总线上时,该节点不能驱动总线,只能接收总线上的信号,只有在总线处于空闲状态时,节点才可以仲裁总线使用权,节点只有获得总线仲裁使用权之后,才能发送数据。
各部分连接关系为寄存器单元mlvds_regs 44与ARM 1连接,并对发送队列单元mlvds_tx_queue 42、接收队列单元mlvds_rx_queue 47和链路状态监测单元mlvds_link_monitor 45发送控制信号,数据发送FIFO单元41和数据接收FIFO单元46分别与DMA控制器3连接,总线数据发送单元mlvds_transmitter 43和总线数据接收单元mlvds_receiver 48分别与M-LVDS总线连接,发送队列单元mlvds_tx_queue 42连接数据发送FIFO单元41和总线数据发送单元mlvds_transmitter 43,接收队列单元mlvds_rx_queue 47连接数据接收FIFO单元46和总线数据接收单元mlvds_receiver 48,链路状态监测单元mlvds_link_monitor 45分别连接总线数据发送单元mlvds_transmitter 43和总线数据接收单元mlvds_receiver 48。
本发明还提供一种使用上述基于ZYNQ芯片实现M-LVDS总线数据交互系统的方法,实现M-LVDS总线上各节点间的数据交互,包括接收数据和发送数据。
当节点有数据帧要发往M-LVDS总线时,处理器系统模块PS会将待发送数据帧写入到DDR内存5,并通过AXI总线对可编程逻辑模块PL中的DMA控制器3进行配置,然后DMA控制器3会读取DDR内存5中的数据帧,并且传输到M-LVDS总线控制器4内的数据发送FIFO单元41中,然后M-LVDS总线控制器4会发起M-LVDS总线的仲裁,仲裁通过即可将数据发送FIFO单元41中的数据帧发送到M-LVDS总线。
可编程逻辑模块PL中的M-LVDS总线控制器4不间断地对M-LVDS总线进行监听,当采集到一帧合法的数据时,会将该数据帧放入数据接收FIFO单元46中,并触发一个中断信号给处理器系统模块PS。处理器系统模块PS检测到该中断信号后,会通过AXI总线对可编程逻辑模块PL中的DMA控制器3进行配置,然后DMA控制器3会读取M-LVDS总线控制器4的数据接收FIFO单元46中的数据帧,并发送到DDR内存5中。当DMA控制器3将数据帧全部写入DDR内存5后,会产生一个DMA接收中断,PS收到该中断后就可以对DDR内存5中的数据帧进行分析处理。
如图4所示,该方法中,发送数据步骤包括:
11)处理器系统模块将待发送的数据写入DDR内存5;
12)处理器系统模块配置DMA控制器3的发送通道;
13)DMA控制器3通过DDR内存控制器2从DDR内存5中读取数据并发送至数据发送FIFO单元41;
14)M-LVDS总线控制器4发起M-LVDS总线的仲裁;
15)判断是否获得总线仲裁使用权,若是,则执行步骤16),若否,则执行步骤14);
16)M-LVDS总线控制器4计算CRC校验值,进行并串转换,并将并串转换后的数据发送到M-LVDS总线上。
如图5所示,接收数据步骤包括:
21)总线数据接收单元mlvds_receiver 48对M-LVDS总线上的数据进行串行采样;
22)接收队列单元mlvds_rx_queue 47检查接收到的数据是否合法以及CRC校验是否通过,若是,则执行步骤23),若否,则重新执行步骤22);
23)将数据帧写入数据接收FIFO单元46;
24)处理器系统模块配置DMA控制器3的接收通道;
25)DMA控制器3从数据接收FIFO单元46中读取数据,并通过DDR内存控制器2写入DDR内存5中;
26)处理器系统模块对DDR内存5中的数据帧进行分析处理。
在本实施例中,发送数据和接收数据均以数据帧为16bit位宽的0~127数据为例,给出发送数据和接收数据的具体流程。
(1)发送数据
步骤1:当节点有数据帧为16bit位宽的0~127数据要发送时,首先处理器系统模块PS将待发送的数据帧写入DDR内存5,假设写入DDR内存5的起始地址为0x01100000;
步骤2:处理器系统模块PS配置DMA控制器3的发送通道,包括:设置DMA发送缓存的基地址为0x01100000、设置数据帧的长度为256字节、设置DMA的传输方向为从DDR到M-LVDS总线控制器4和设置DMA的中断号等;
步骤3:DMA控制器3根据处理器系统模块PS配置的参数,从DDR内存5中读取数据帧,并发送到M-LVDS总线控制器4的数据发送FIFO单元41中;
步骤4:M-LVDS总线控制器4检测到数据发送FIFO单元41不为空时,会触发一个数据发送请求;
步骤5:当M-LVDS总线控制器4检测到有数据发送请求后,就会参与M-LVDS总线仲裁,在进行M-LVDS总线仲裁时,本节点会根据数据帧的优先级向M-LVDS总线发送一个16位的仲裁码,仲裁码0xFFFF的优先级最高,0x0000的优先级最低,假设数据帧的仲裁码为0xFFEE,当M-LVDS总线上其他节点发送的仲裁码小于0xFFEE时,则该节点仲裁通过;
步骤6:仲裁通过后,M-LVDS总线控制器4根据CRC生成多项式:G(x)=x16+x15+x2+1,计算得到数据帧的CRC校验值为0x56AC,将该CRC校验值附在数据帧的后面一起进行并串转换,然后将并串转换后的数据发送到M-LVDS总线上。
(2)接收数据
步骤1:M-LVDS总线控制器4用4个相位依次相差90°的时钟同时对总线上的数据进行串行采样,从而保证至少有一个时钟能够采样到正确的数据;
步骤2:将采样到的数据进行串并转换,然后进行帧解析,提取出帧长为256字节,满足预先设定的帧长范围0~256字节,因此收到的数据帧合法;然后根据CRC生成多项式:G(x)=x16+x15+x2+1,该多项式与发送流程中的生成多项式相同;对收到的数据帧及其附带的CRC值0x56AC一起进行CRC计算,得到计算值为0,说明数据接收正确;
步骤3:校验通过后,数据帧为16bit位宽的0~127数据就被存入到了M-LVDS总线控制器4的数据接收FIFO单元46中,然后触发一个中断信号给PS;
步骤4:处理器系统模块PS检测到该中断后,开始配置DMA控制器3的接收通道,包括:设置DMA接收缓存的基地址为0x01300000、设置数据帧的长度为256、设置DMA的传输方向为从M-LVDS总线控制器4到DDR、设置DMA的中断号等;
步骤5:配置完成后,DMA控制器3就根据PS配置的参数,从M-LVDS总线控制器4的数据接收FIFO单元46中读取数据帧16bit位宽的0~127数据,并发送到DDR内存5中,发送完成后,会触发一个中断信号给处理器系统模块PS;
步骤6:处理器系统模块PS检测到该中断后,对DDR内存5中16bit位宽的0~127数据帧进行分析处理。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种基于ZYNQ芯片实现M-LVDS总线数据交互系统,包括通过M-LVDS总线连接的多个用于发送和接收数据的节点,其特征在于,所述的节点内包括ZYNQ芯片和DDR内存(5),所述的ZYNQ芯片包括通过AXI总线相互连接的处理器系统模块和可编程逻辑模块,所述的处理器系统模块与DDR内存(5)连接,所述的可编程逻辑模块与M-LVDS总线连接。
2.根据权利要求1所述的一种基于ZYNQ芯片实现M-LVDS总线数据交互系统,其特征在于,所述的处理器系统模块包括分别与可编程逻辑模块连接并相互连接的ARM(1)和DDR内存控制器(2),所述的DDR内存控制器(2)与DDR内存(5)连接。
3.根据权利要求2所述的一种基于ZYNQ芯片实现M-LVDS总线数据交互系统,其特征在于,所述的可编程逻辑模块包括分别与ARM(1)连接的DMA控制器(3)和M-LVDS总线控制器(4),所述的M-LVDS总线控制器(4)与M-LVDS总线连接,所述的DMA控制器(3)分别与DDR内存控制器(2)和M-LDVS总线控制器连接。
4.根据权利要求3所述的一种基于ZYNQ芯片实现M-LVDS总线数据交互系统,其特征在于,所述的ZYNQ芯片内部的连接均采用AXI总线实现。
5.根据权利要求3所述的一种基于ZYNQ芯片实现M-LVDS总线数据交互系统,其特征在于,所述的处理器系统模块用于实现对DMA控制器(3)和M-LVDS总线控制器(4)的配置和控制,所述的DMA控制器(3)用于实现M-LVDS总线控制器(4)与DDR内存(5)之间的直接数据交互,所述的M-LVDS总线控制器(4)用于实现与M-LVDS总线的接口。
6.根据权利要求3所述的一种基于ZYNQ芯片实现M-LVDS总线数据交互系统,其特征在于,所述的M-LVDS总线控制器(4)包括寄存器单元mlvds_regs(44)、数据发送FIFO单元(41)、数据接收FIFO单元(46)、发送队列单元mlvds_tx_queue(42)、总线数据发送单元mlvds_transmitter(43)、总线数据接收单元mlvds_receiver(48)、接收队列单元mlvds_rx_queue(47)和链路状态监测单元mlvds_link_monitor(45),所述的寄存器单元mlvds_regs(44)包括控制寄存器、状态寄存器和中断寄存器。
7.根据权利要求6所述的一种基于ZYNQ芯片实现M-LVDS总线数据交互系统,其特征在于,所述的寄存器单元mlvds_regs(44)与ARM(1)连接,并对发送队列单元mlvds_tx_queue(42)、接收队列单元mlvds_rx_queue(47)和链路状态监测单元mlvds_link_monitor(45)发送控制信号,所述的数据发送FIFO单元(41)和数据接收FIFO单元(46)分别与DMA控制器(3)连接,所述的总线数据发送单元mlvds_transmitter(43)和总线数据接收单元mlvds_receiver(48)分别与M-LVDS总线连接,所述的发送队列单元mlvds_tx_queue(42)连接数据发送FIFO单元(41)和总线数据发送单元mlvds_transmitter(43),所述的接收队列单元mlvds_rx_queue(47)连接数据接收FIFO单元(46)和总线数据接收单元mlvds_receiver(48),所述的链路状态监测单元mlvds_link_monitor(45)分别连接总线数据发送单元mlvds_transmitter(43)和总线数据接收单元mlvds_receiver(48),用于监测链路当前状态。
8.一种使用如权利要求6所述的基于ZYNQ芯片实现M-LVDS总线数据交互系统的方法,其特征在于,包括发送数据步骤和接收数据步骤,所述的发送数据步骤包括:
11)处理器系统模块将待发送的数据写入DDR内存(5);
12)处理器系统模块配置DMA控制器(3)的发送通道;
13)DMA控制器(3)通过DDR内存控制器(2)从DDR内存(5)中读取数据并发送至数据发送FIFO单元(41);
14)M-LVDS总线控制器(4)发起M-LVDS总线的仲裁;
15)判断是否获得总线仲裁使用权,若是,则执行步骤16),若否,则执行步骤14);
16)M-LVDS总线控制器(4)计算CRC校验值,进行并串转换,并将并串转换后的数据发送到M-LVDS总线上。
9.根据权利要求8所述的一种基于ZYNQ芯片实现M-LVDS总线数据交互的方法,其特征在于,所述的接收数据步骤包括:
21)总线数据接收单元mlvds_receiver(48)对M-LVDS总线上的数据进行串行采样;
22)接收队列单元mlvds_rx_queue(47)检查接收到的数据是否合法以及CRC校验是否通过,若是,则执行步骤23),若否,则重新执行步骤22);
23)将数据帧写入数据接收FIFO单元(46);
24)处理器系统模块配置DMA控制器(3)的接收通道;
25)DMA控制器(3)从数据接收FIFO单元(46)中读取数据,并通过DDR内存控制器(2)写入DDR内存(5)中;
26)处理器系统模块对DDR内存(5)中的数据帧进行分析处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910629432.1A CN110471872B (zh) | 2019-07-12 | 2019-07-12 | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910629432.1A CN110471872B (zh) | 2019-07-12 | 2019-07-12 | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110471872A true CN110471872A (zh) | 2019-11-19 |
CN110471872B CN110471872B (zh) | 2024-04-30 |
Family
ID=68508351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910629432.1A Active CN110471872B (zh) | 2019-07-12 | 2019-07-12 | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471872B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026682A (zh) * | 2019-12-26 | 2020-04-17 | 浪潮(北京)电子信息产业有限公司 | 板卡芯片的数据访存方法、装置及计算机可读存储介质 |
CN111506249A (zh) * | 2020-04-23 | 2020-08-07 | 珠海华网科技有限责任公司 | 一种基于zynq平台的数据交互系统及方法 |
CN112181886A (zh) * | 2020-10-16 | 2021-01-05 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于lvds通道的信息交互系统、方法及介质 |
CN112631678A (zh) * | 2020-12-25 | 2021-04-09 | 理工雷科电子(西安)有限公司 | 一种基于zynq的动态加载方法 |
CN113806284A (zh) * | 2021-09-22 | 2021-12-17 | 深圳宝新创科技股份有限公司 | 一种协议分析仪及协议分析方法 |
CN113961505A (zh) * | 2021-10-14 | 2022-01-21 | 南京熊猫电子制造有限公司 | 一种高性能硬件加速和算法验证系统及方法 |
CN114006811A (zh) * | 2021-10-29 | 2022-02-01 | 西安微电子技术研究所 | 一种强实时性的cpci千兆以太网板卡及数据通讯方法 |
CN114048155A (zh) * | 2021-11-23 | 2022-02-15 | 北京和利时系统工程有限公司 | 通讯系统及智能控制器 |
CN114201436A (zh) * | 2021-12-03 | 2022-03-18 | 苏州长风航空电子有限公司 | 一种基于axi总线的Lvds数据通信实现方法及通信装置 |
CN114780449A (zh) * | 2022-04-01 | 2022-07-22 | 扬州宇安电子科技有限公司 | 一种基于zynq芯片的数据存储及传输系统 |
CN117520226A (zh) * | 2024-01-08 | 2024-02-06 | 四川赛狄信息技术股份公司 | 基于zynq平台的ps端ddr直接访问方法及系统 |
CN118467420A (zh) * | 2024-07-15 | 2024-08-09 | 中国人民解放军国防科技大学 | 基于zynq与m-lvds总线的自适应数据交互系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260339A (zh) * | 2015-08-17 | 2016-01-20 | 中南大学 | 一种基于Xilinx Zynq技术的大规模PLC系统 |
US20170220499A1 (en) * | 2016-01-04 | 2017-08-03 | Gray Research LLC | Massively parallel computer, accelerated computing clusters, and two-dimensional router and interconnection network for field programmable gate arrays, and applications |
CN107196695A (zh) * | 2017-04-07 | 2017-09-22 | 西安电子科技大学 | 基于Zynq的卫星星间链路测试系统 |
CN107202977A (zh) * | 2017-05-10 | 2017-09-26 | 湖北航天技术研究院总体设计所 | 一种基于vpx平台的综合处理系统及软件设计方法 |
CN108107827A (zh) * | 2017-12-13 | 2018-06-01 | 天津津航计算技术研究所 | 一种基于zynq平台软核的srio控制方法 |
CN108132897A (zh) * | 2017-12-13 | 2018-06-08 | 天津津航计算技术研究所 | 一种基于zynq平台软核的srio控制器 |
CN108234267A (zh) * | 2018-02-08 | 2018-06-29 | 卡斯柯信号有限公司 | 一种基于m-lvds实时多主高速总线的通信系统 |
CN208046641U (zh) * | 2018-04-12 | 2018-11-02 | 大连交通大学 | 一种canopen-rs485的网关设备 |
CN210155653U (zh) * | 2019-07-12 | 2020-03-17 | 卡斯柯信号有限公司 | 基于zynq芯片实现m-lvds总线数据交互装置 |
-
2019
- 2019-07-12 CN CN201910629432.1A patent/CN110471872B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260339A (zh) * | 2015-08-17 | 2016-01-20 | 中南大学 | 一种基于Xilinx Zynq技术的大规模PLC系统 |
US20170220499A1 (en) * | 2016-01-04 | 2017-08-03 | Gray Research LLC | Massively parallel computer, accelerated computing clusters, and two-dimensional router and interconnection network for field programmable gate arrays, and applications |
CN107196695A (zh) * | 2017-04-07 | 2017-09-22 | 西安电子科技大学 | 基于Zynq的卫星星间链路测试系统 |
CN107202977A (zh) * | 2017-05-10 | 2017-09-26 | 湖北航天技术研究院总体设计所 | 一种基于vpx平台的综合处理系统及软件设计方法 |
CN108107827A (zh) * | 2017-12-13 | 2018-06-01 | 天津津航计算技术研究所 | 一种基于zynq平台软核的srio控制方法 |
CN108132897A (zh) * | 2017-12-13 | 2018-06-08 | 天津津航计算技术研究所 | 一种基于zynq平台软核的srio控制器 |
CN108234267A (zh) * | 2018-02-08 | 2018-06-29 | 卡斯柯信号有限公司 | 一种基于m-lvds实时多主高速总线的通信系统 |
CN208046641U (zh) * | 2018-04-12 | 2018-11-02 | 大连交通大学 | 一种canopen-rs485的网关设备 |
CN210155653U (zh) * | 2019-07-12 | 2020-03-17 | 卡斯柯信号有限公司 | 基于zynq芯片实现m-lvds总线数据交互装置 |
Non-Patent Citations (1)
Title |
---|
杜金艳等: ""基于Zynq-7000的SRIO高速数据传输设计与实现"", 《基于ZYNQ-7000的SRIO高速数据传输设计与实现》, vol. 25, no. 24, 31 December 2017 (2017-12-31), pages 30 - 33 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026682B (zh) * | 2019-12-26 | 2022-03-08 | 浪潮(北京)电子信息产业有限公司 | 板卡芯片的数据访存方法、装置及计算机可读存储介质 |
CN111026682A (zh) * | 2019-12-26 | 2020-04-17 | 浪潮(北京)电子信息产业有限公司 | 板卡芯片的数据访存方法、装置及计算机可读存储介质 |
CN111506249A (zh) * | 2020-04-23 | 2020-08-07 | 珠海华网科技有限责任公司 | 一种基于zynq平台的数据交互系统及方法 |
CN111506249B (zh) * | 2020-04-23 | 2023-03-24 | 珠海华网科技有限责任公司 | 一种基于zynq平台的数据交互系统及方法 |
CN112181886A (zh) * | 2020-10-16 | 2021-01-05 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于lvds通道的信息交互系统、方法及介质 |
CN112631678B (zh) * | 2020-12-25 | 2022-12-02 | 理工雷科电子(西安)有限公司 | 一种基于zynq的动态加载方法 |
CN112631678A (zh) * | 2020-12-25 | 2021-04-09 | 理工雷科电子(西安)有限公司 | 一种基于zynq的动态加载方法 |
CN113806284A (zh) * | 2021-09-22 | 2021-12-17 | 深圳宝新创科技股份有限公司 | 一种协议分析仪及协议分析方法 |
CN113961505A (zh) * | 2021-10-14 | 2022-01-21 | 南京熊猫电子制造有限公司 | 一种高性能硬件加速和算法验证系统及方法 |
CN113961505B (zh) * | 2021-10-14 | 2024-09-13 | 南京熊猫电子制造有限公司 | 一种高性能硬件加速和算法验证系统及方法 |
CN114006811A (zh) * | 2021-10-29 | 2022-02-01 | 西安微电子技术研究所 | 一种强实时性的cpci千兆以太网板卡及数据通讯方法 |
CN114048155A (zh) * | 2021-11-23 | 2022-02-15 | 北京和利时系统工程有限公司 | 通讯系统及智能控制器 |
CN114201436A (zh) * | 2021-12-03 | 2022-03-18 | 苏州长风航空电子有限公司 | 一种基于axi总线的Lvds数据通信实现方法及通信装置 |
CN114201436B (zh) * | 2021-12-03 | 2024-06-21 | 苏州长风航空电子有限公司 | 一种基于axi总线的Lvds数据通信实现方法及通信装置 |
CN114780449B (zh) * | 2022-04-01 | 2022-11-25 | 扬州宇安电子科技有限公司 | 一种基于zynq芯片的数据存储及传输系统 |
CN114780449A (zh) * | 2022-04-01 | 2022-07-22 | 扬州宇安电子科技有限公司 | 一种基于zynq芯片的数据存储及传输系统 |
CN117520226A (zh) * | 2024-01-08 | 2024-02-06 | 四川赛狄信息技术股份公司 | 基于zynq平台的ps端ddr直接访问方法及系统 |
CN117520226B (zh) * | 2024-01-08 | 2024-03-26 | 四川赛狄信息技术股份公司 | 基于zynq平台的ps端ddr直接访问方法及系统 |
CN118467420A (zh) * | 2024-07-15 | 2024-08-09 | 中国人民解放军国防科技大学 | 基于zynq与m-lvds总线的自适应数据交互系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110471872B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471872A (zh) | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 | |
US7596641B2 (en) | System and method for transmitting data packets in a computer system having a memory hub architecture | |
US6549960B1 (en) | Architecture and apparatus for implementing 100 MBPS and GBPS ethernet address | |
US7072294B2 (en) | Method and apparatus for controlling network data congestion | |
CN103218337B (zh) | 基于wishbone总线实现主与主、从与从通信的片上系统和方法 | |
CN102065569B (zh) | 一种适用于wlan的以太网mac子层控制器 | |
CN102495920B (zh) | 一种FPGA用基于PCIe的集成化逻辑分析模块 | |
CN109710548A (zh) | 一种dma控制数据传输方法、系统及设备 | |
CN105357147B (zh) | 一种高速高可靠的片上网络适配单元 | |
GB2409073A (en) | Dedicated connection between CPU and network interface in multi-processor systems | |
CN107562672A (zh) | 一种提高矢量网络分析仪数据传输速率的系统及方法 | |
US7046625B1 (en) | Method and system for routing network-based data using frame address notification | |
CN210155653U (zh) | 基于zynq芯片实现m-lvds总线数据交互装置 | |
CN109062847A (zh) | 片上系统、用于rs485串口通讯的ip核及其控制方法 | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
CN101106504A (zh) | 基于can总线的智能自主机器人分布式通信系统 | |
CN101764794A (zh) | 一种可编程的ieee1394总线监测系统及监测方法 | |
US6195334B1 (en) | Apparatus and method for terminating a data transfer in a network switch in response to a detected collision | |
CN103107862B (zh) | 逻辑器件及其mdio数据发送方法 | |
CN103166863B (zh) | 集总式8x8低延迟高带宽交叉点缓存队列片上路由器 | |
KR20170015000A (ko) | 온칩 네트워크 및 이의 통신방법 | |
CN101692667A (zh) | 基于千兆以太网的雷达实时信号处理终端数据传输系统 | |
CN107231319A (zh) | 一种基于amba‑ahb总线的千兆网络控制电路 | |
CN110519137A (zh) | 转接装置 | |
CN207652460U (zh) | 一种基于pcie结构的双网口数据聚合接收装置 |
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 |