CN116821035A - 基于zynq的axi4总线封装的uart接口数据接收模块、uart接口数据发送模块和处理器 - Google Patents
基于zynq的axi4总线封装的uart接口数据接收模块、uart接口数据发送模块和处理器 Download PDFInfo
- Publication number
- CN116821035A CN116821035A CN202310798808.8A CN202310798808A CN116821035A CN 116821035 A CN116821035 A CN 116821035A CN 202310798808 A CN202310798808 A CN 202310798808A CN 116821035 A CN116821035 A CN 116821035A
- Authority
- CN
- China
- Prior art keywords
- data
- uart interface
- receiving
- serial
- unit
- 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
- 238000005538 encapsulation Methods 0.000 title abstract description 15
- 230000005540 biological transmission Effects 0.000 claims abstract description 85
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 14
- 238000004806 packaging method and process Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process 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/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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明实施例提供一种基于ZYNQ的AXI4总线封装的UART接口数据接收模块、UART接口数据发送模块和处理器,属于集成电路技术领域。所述数据接收模块包括至少两路数据接收链路和数据拼接单元,每路所述数据接收链路用于接收外部输入的UART接口数据,所述数据拼接单元用于拼接处理所述UART接口数据;所述数据发送模块包括至少两路数据发送链路和数据拆分单元,所述数据拆分单元用于接收未拆分的UART接口数据并依据其中的数据有效位进行拆分,所述数据发送链路用于接收拆分后的所述UART接口数据;所述处理器包括如上述所述的数据接收模块、数据发送模块和处理模块。该UART接口数据接收模块、UART接口数据发送模块和处理器可以提供至少两路UART接口数据的接收与发送。
Description
技术领域
本发明涉及集成电路技术领域,具体地涉及一种基于ZYNQ的AXI4总线封装的UART接口数据接收模块、UART接口数据发送模块和处理器。
背景技术
ZYNQ是赛灵思公司推出的新一代全可编程片上***,它结合了一个双核ARM A9处理器和一个传统的现场可编程门阵列。由于它同时具备FPGA和CPU的功能,因此在数据传输、图像处理等领域得到广泛应用。ZYNQ使用AXI4总线实现ZYNQ软核端(PS)与逻辑端(PL)之间的数据交互。考虑到PS端外设相对较少,开发人员通常会在逻辑端实现各种接口协议,如UART、SPI、I2C等,并通过AXI4总线接口将这些协议进行封装,形成AXI4接口的IP。这些IP外设可以被连接到AXI总线上,PS端通过访问各个IP外设在AXI4总线上的地址来控制或读取数据。UART是一种常用的通信接口,在某些航空机电设备监控终端中,需要外接多个UART接口以接收和处理外部设备发送的数据并进行记录。传统的CPU由于UART接口数量有限,只能通过使用PCIE转UART的桥片来扩展接口数量。但是这种方法需要使用大量的器件,导致功耗较高。而选择ZYNQ作为控制器只需要一个芯片就能解决多UART接口数据传输的问题。ZYNQ的内置CPU负责处理数据,而PL端实现UART协议,并通过AXI4总线对UART逻辑进行封装,形成一个AXI_UART IP,使其可以连接到AXI4总线上,供CPU端读取数据。
然而,传统的AXI4封装UART的方法只能实现对1路UART数据的接收与发送。在接收数据时,需要在AXI总线上产生中断信号,通知PS端读取数据。由于ZYNQ PL端到PS端的外部中断数量有限,只有16个,所以使用这种封装方式的IP最多只能扩展16路UART接口,无法满足更多UART接口设备的应用需求。
发明内容
本发明实例的目的是提供一种基于ZYNQ的AXI4总线封装的UART接口数据接收模块、UART接口数据发送模块和处理器,该UART接口数据接收模块、UART接口数据发送模块和处理器可以提供至少两路UART接口数据的接收与发送。
为了实现上述目的,本发明实施例提供一种基于ZYNQ的AXI4总线封装的UART接口数据接收模块,包括至少两路数据接收链路和数据拼接单元,每路所述数据接收链路用于接收外部输入的UART接口数据,所述数据拼接单元与所述数据接收链路连接,用于拼接处理所述UART接口数据。
可选地,所述数据接收链路包括:
串行接收单元,所述串行接收单元用于接收对应的一路UART接口数据;
波特率发生器,与所述串行接收单元一一对应,用于分别调节对应的所述串行接收单元的数据接收速率;
缓存队列,与所述串行接收单元一一对应,用于分别存储对应的所述串行接收单元写入到所述缓存队列的数据。
可选地,所述数据接收模块包括:
串口配置寄存器,用于存储所述波特率发生器的配置信息;
串口使能寄存器,所述串口使能寄存器中存储数据的至少3位用于存储表示所述串行接收单元是否能够继续接收数据并写入所述缓存队列的指示编码;
串口数据接收寄存器,与所述数据拼接单元连接,用于存储所述数据拼接单元拼接处理后的数据;
逻辑判断单元,与每个所述缓存队列连接,用于确定当前任一缓存队列是否存储有数据。
可选地,所述数据拼接单元输出的数据元为32位,且其中至多24位的每8位用于存储一个所述数据接收链路的UART接口数据,其余的8位中的至少3位用于存储表示所述UART接口数据的有效性的指示编码。
另一方面,本发明还提供一种基于ZYNQ的AXI4总线封装的UART接口数据发送模块,所述数据发送模块包括至少两路数据发送链路和数据拆分单元,所述数据拆分单元用于接收未拆分的UART接口数据,并依据其中的数据有效位拆分所述UART接口数据,所述数据发送链路与所述数据拆分单元连接,用于接收拆分后的所述UART接口数据。
可选地,所述数据发送链路包括:
串行发送单元,与所述数据拆分单元连接,用于向外发送拆分后的所述UART接口数据;
波特率发生器,与所述串行发送单元一一对应,用于分别调节对应的所述串行发送单元的数据发送速率。
可选地,所述数据发送模块包括:
串口配置寄存器,用于存储所述波特率发生器的配置信息;
串口数据发送寄存器,用于存储待发送的所述UART接口数据;
串口发送状态寄存器,与所述串行发送单元连接,用于确定当前所述串行发送单元是否处于空闲状态。
可选地,所述数据拆分单元接收的数据元为32位,且其中至多24位的每8位用于存储一个所述数据接收链路的UART接口数据,其余的8位中的至少3位用于存储表示所述UART接口数据的有效性的指示编码。
再一方面,本发明还提供一种基于ZYNQ的AXI4总线封装的处理器,所述处理器包括:
如上述任一所述的数据接收模块,用于接收所述UART接口数据并进行拼接处理,并将拼接处理后的所述UART接口数据发出;
处理模块,与所述数据接收模块连接,用于接收拼接后的所述UART接口数据并进行处理,并将待发送的所述UART接口数据发出;
如上述任一所述的数据发送模块,与所述处理模块连接,用于拆分待发送的所述UART接口数据,并将拆分后的所述UART接口数据发出。
通过上述技术方案,本发明提供的基于ZYNQ的AXI4总线封装的UART接口数据接收模块、UART接口数据发送模块和处理器通过设置数据拼接单元和数据拆分单元接收和发送多路UART接口数据,再结合预设的数据有效位保证数据的有效识别,从而能够提供至少两路UART接口数据的接收与发送,扩展了UART接口的数量。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据接收模块的示意图;
图2是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据接收模块的详细示意图;
图3是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据发送模块的示意图;
图4是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据发送模块的详细示意图;
图5是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的处理器的示意图。
附图标记说明
A、数据接收链路 B、数据发送链路
FIFO、缓存队列 OR、逻辑判断单元
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
在本发明实施方式中,在未作相反说明的情况下,使用的方位词如“上、下、顶、底”通常是针对附图所示的方向而言的或者是针对竖直、垂直或重力方向上而言的各部件相互位置关系描述用词。
另外,若本发明实施方式中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施方式之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
如图1所示是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据接收模块的示意图。在该图1中,该数据接收模块包括至少两路数据接收链路A和数据拼接单元。每路数据接收链路A用于接收外部输入的UART接口数据,数据拼接单元与数据接收链路A连接,用于拼接处理UART接口数据。
图2是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据接收模块的详细示意图。在该实施方式中,对于该数据接收链路A的具体形式,可以是本领域人员所知的多种形式。在本发明的一个优选示例中,该数据接收链路A可以包括串行接收单元、波特率发生器和缓存队列FIFO,如图2所示。其中,串行接收单元可以用于接收对应的一路UART接口数据。波特率发生器与串行接收单元一一对应,用于分别调节对应的串行接收单元的数据接收速率,从而保证UART接口数据能够被有效接收。缓存队列FIFO与串行接收单元一一对应,用于分别存储对应的串行接收单元写入到缓存队列FIFO的数据。
在上述基础上,为了保证多路数据接收的有效性,各个数据接收链路A中的串行接收单元的数据接收速率不同,为了保证这种不一致性,在本发明的一个实施方式中,该数据接收模块还可以包括串口配置寄存器。该串口配置寄存器可以用于存储与多个串行接收单元对应的波特率发生器的配置信息。为了控制串行接收单元是否能够继续接收数据并写入缓存队列FIFO,在本发明的一个实施方式中,该数据接收模块还可以包括串口使能寄存器。该串口使能寄存器中存储数据的至少3位用于存储表示串行接收单元是否能够继续接收数据并写入缓存队列FIFO的指示编码。ZYNQ的软核端通过读取该串口使能寄存器中存储的数据控制串行接收单元是否能够继续接收数据并写入缓存队列FIFO。为了存储数据拼接单元拼接处理后的数据,在本发明的一个实施方式中,该数据接收模块还可以包括串口数据接收寄存器。该串口数据接收寄存器与数据拼接单元连接,用于存储数据拼接单元拼接处理后的数据。ZYNQ的软核端读取存储在该串口数据接收寄存器中的数据,完成数据接收过程。为了保证任一缓存队列FIFO中一旦存储有数据,该数据就被读取,在本发明的一个实施方式中,该数据接收模块还可以包括逻辑判断单元OR,该逻辑判断单元OR与每个缓存队列FIFO连接,用于确定当前任一缓存队列FIFO是否存储有数据。该逻辑判断单元OR输出中断信号,若任一缓存队列FIFO有数据,该逻辑判断单元OR输出的中断信号置为高电平,若所有的缓存队列FIFO都没有数据,该逻辑判断单元OR输出的中断信号置为低电平。ZYNQ的软核端通过读取中断信号来判断是否触发串行接收单元接收中断并读取缓存队列FIFO中存储的数据,若中断信号为高电平,ZYNQ的软核端触发串行接收单元中断并读取缓存队列FIFO中存储的数据,否则不触发中断。
在该实施方式中,对于该数据拼接单元输出的数据元的位数,可以是本领域人员所知的多个数值,例如64、32等。考虑到ZYNQ芯片中的寄存器通常为32位寄存器,因此在本发明的一个优选示例中,该数据拼接单元输出的数据元为32位。在计算机中,一个字节为8位,而字节通常作为本发明提供的基于ZYNQ的AXI4总线封装的UART接口数据接收模块中的串行接收单元的数据传输的基本单位,若要实现多路UART接口数据的接收,需要预留数据位标识接收到的数据是否有效,而ZYNQ芯片中的寄存器通常为32位寄存器,因此在本发明提供的基于ZYNQ的AXI4总线封装的UART接口数据接收模块中,最多可以实现3路UART接口数据的接收,且其中至多24位的每8位用于存储一个数据接收链路A的UART接口数据,其余的8位中的至少3位用于存储表示UART接口数据的有效性的指示编码。
在上述基础上,ZYNQ的软核端通过读取串口使能寄存器中存储的数据判断是否需要对应的串行接收单元接收数据并写入到缓存队列FIFO中,通过串口使能寄存器中存储的波特率发生器的配置信息控制对应的串行接收单元的数据接收速率,保证数据的有效接收,当任一缓存队列FIFO中有数据存在时,通过逻辑判断单元OR发出中断信号,串行接收单元接收数据中断,读取缓存中存在的数据并进行数据的拼接处理,若当前缓存队列FIFO中有数据存在,则将数据拼接单元输出的数据元中对应的数据有效位置为表示有效的编码,否则置为无效的编码,数据拼接单元拼接处理后的数据保存在串口数据接收寄存器,软核端读取存储在串口数据接收寄存器存储的数据,通过数据有效位判断对应的数据是否有效,完成数据接收过程。
另一方面,本发明还提供一种基于ZYNQ的AXI4总线封装的UART接口数据发送模块。如图3所示是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据发送模块的示意图,在该图3中,该数据发送模块可以包括至少两路数据发送链路B和数据拆分单元。其中,数据拆分单元用于接收未拆分的UART接口数据,并依据其中的数据有效位拆分UART接口数据。数据发送链路B与数据拆分单元连接,用于接收拆分后的UART接口数据。
图4是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据发送模块的详细示意图。对于该数据发送链路B的具体形式,可以是可以是本领域人员所知的多种形式。在本发明的一个优选示例中,该数据发送链路B可以包括串行发送单元和波特率发生器,如图4所示。其中,该串行发送单元与数据拆分单元连接,用于向外发送拆分后的UART接口数据。波特率发生器与串行发送单元一一对应,用于分别调节对应的串行发送单元的数据发送速率,以保证UART接口数据能够被有效发送。
在上述基础上,为了保证多路数据发送的有效性,各个数据发送链路B中的串行发送单元的数据发送速率不同,为了保证这种不一致性,在本发明的一个实施方式中,该数据发送模块还可以包括串口配置寄存器。该串口配置寄存器可以用于存储与多个串行发送单元对应的波特率发生器的配置信息。为了存储待发送的UART接口数据,在本发明的一个实施方式中,该数据发送模块还可以包括串口数据发送寄存器。该串口数据发送寄存器用于存储ZYNQ的软核端待发送的UART接口数据。ZYNQ的软核端填充待发送的UART接口数据需要先判断串行发送单元是否空闲,为了便于判断串行发送单元是否空闲,在本发明的一个实施方式中,该数据发送模块还可以包括串口发送状态寄存器。该串口发送状态寄存器与串行发送单元连接,用于确定当前的串行发送单元是否处于空闲状态。
在该实施方式中,对于该数据拆分单元输出的数据元的位数,可以是本领域人员所知的多个数值,例如64、32等。考虑到ZYNQ芯片中的寄存器通常为32位寄存器,因此在本发明的一个优选示例中,该数据拆分单元接收的数据元为32位。在计算机中,一个字节为8位,而字节通常作为本发明提供的基于ZYNQ的AXI4总线封装的UART接口数据发送模块中的串行发送单元的数据传输的基本单位,若要实现多路UART接口数据的发送,需要预留数据位标识发送的数据是否有效,而ZYNQ芯片中的寄存器通常为32位寄存器,因此在本发明提供的基于ZYNQ的AXI4总线封装的UART接口数据发送模块中,最多可以实现3路UART接口数据的发送,且其中至多24位的每8位用于存储一个数据发送链路B的UART接口数据,其余的8位中的至少3位用于存储表示UART接口数据的有效性的指示编码。
在上述基础上,ZYNQ的软核端通过串口发送状态寄存器存储的数据判断对应的串行发送单元是否空闲,若空闲则向串口数据发送寄存器填充待发送的数据,数据中的有效位判断对应的数据是否有效,串口数据发送寄存器存储的待发送的数据经过数据拆分单元拆分处理后的数据通过串行发送单元进行发送,通过串口配置寄存器存储的波特率发生器的配置信息控制对应的串行发送单元的数据发送速率,完成数据的有效发送。
再一方面,本发明还提供一种基于ZYNQ的AXI4总线封装的处理器,所述处理器包括:如上述任一所述的数据接收模块,用于接收所述UART接口数据并进行拼接处理,并将拼接处理后的所述UART接口数据发出;处理模块,与所述数据接收模块连接,用于接收拼接后的所述UART接口数据并进行处理,并将待发送的所述UART接口数据发出;如上述任一所述的数据发送模块,与所述处理模块连接,用于拆分待发送的所述UART接口数据,并将拆分后的所述UART接口数据发出。图5是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的处理器的示意图,所述处理器如图5所示,所述数据接收模块具体如图1至图2所示,所述数据发送模块如图3至图4所示。
如图1所示是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据接收模块的示意图。在该图1中,该数据接收模块包括至少两路数据接收链路A和数据拼接单元。每路数据接收链路A用于接收外部输入的UART接口数据,数据拼接单元与数据接收链路A连接,用于拼接处理UART接口数据。
图2是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据接收模块的详细示意图。在该实施方式中,对于该数据接收链路A的具体形式,可以是本领域人员所知的多种形式。在本发明的一个优选示例中,该数据接收链路A可以包括串行接收单元、波特率发生器和缓存队列FIFO,如图2所示。其中,串行接收单元可以用于接收对应的一路UART接口数据。波特率发生器与串行接收单元一一对应,用于分别调节对应的串行接收单元的数据接收速率,从而保证UART接口数据能够被有效接收。缓存队列FIFO与串行接收单元一一对应,用于分别存储对应的串行接收单元写入到缓存队列FIFO的数据。
在上述基础上,为了保证多路数据接收的有效性,各个数据接收链路A中的串行接收单元的数据接收速率不同,为了保证这种不一致性,在本发明的一个实施方式中,该数据接收模块还可以包括串口配置寄存器。该串口配置寄存器可以用于存储与多个串行接收单元对应的波特率发生器的配置信息。为了控制串行接收单元是否能够继续接收数据并写入缓存队列FIFO,在本发明的一个实施方式中,该数据接收模块还可以包括串口使能寄存器。该串口使能寄存器中存储数据的至少3位用于存储表示串行接收单元是否能够继续接收数据并写入缓存队列FIFO的指示编码。ZYNQ的软核端通过读取该串口使能寄存器中存储的数据控制串行接收单元是否能够继续接收数据并写入缓存队列FIFO。为了存储数据拼接单元拼接处理后的数据,在本发明的一个实施方式中,该数据接收模块还可以包括串口数据接收寄存器。该串口数据接收寄存器与数据拼接单元连接,用于存储数据拼接单元拼接处理后的数据。ZYNQ的软核端读取存储在该串口数据接收寄存器中的数据,完成数据接收过程。为了保证任一缓存队列FIFO中一旦存储有数据,该数据就被读取,在本发明的一个实施方式中,该数据接收模块还可以包括逻辑判断单元OR,该逻辑判断单元OR与每个缓存队列FIFO连接,用于确定当前任一缓存队列FIFO是否存储有数据。该逻辑判断单元OR输出中断信号,若任一缓存队列FIFO有数据,该逻辑判断单元OR输出的中断信号置为高电平,若所有的缓存队列FIFO都没有数据,该逻辑判断单元OR输出的中断信号置为低电平。ZYNQ的软核端通过读取中断信号来判断是否触发串行接收单元接收中断并读取缓存队列FIFO中存储的数据,若中断信号为高电平,ZYNQ的软核端触发串行接收单元中断并读取缓存队列FIFO中存储的数据,否则不触发中断。
在该实施方式中,对于该数据拼接单元输出的数据元的位数,可以是本领域人员所知的多个数值,例如64、32等。考虑到ZYNQ芯片中的寄存器通常为32位寄存器,因此在本发明的一个优选示例中,该数据拼接单元输出的数据元为32位。在计算机中,一个字节为8位,而字节通常作为本发明提供的基于ZYNQ的AXI4总线封装的UART接口数据接收模块中的串行接收单元的数据传输的基本单位,若要实现多路UART接口数据的接收,需要预留数据位标识接收到的数据是否有效,而ZYNQ芯片中的寄存器通常为32位寄存器,因此在本发明提供的基于ZYNQ的AXI4总线封装的UART接口数据接收模块中,最多可以实现3路UART接口数据的接收,且其中至多24位的每8位用于存储一个数据接收链路A的UART接口数据,其余的8位中的至少3位用于存储表示UART接口数据的有效性的指示编码。
在上述基础上,ZYNQ的软核端通过读取串口使能寄存器中存储的数据判断是否需要对应的串行接收单元接收数据并写入到缓存队列FIFO中,通过串口使能寄存器中存储的波特率发生器的配置信息控制对应的串行接收单元的数据接收速率,保证数据的有效接收,当任一缓存队列FIFO中有数据存在时,通过逻辑判断单元OR发出中断信号,串行接收单元接收数据中断,读取缓存中存在的数据并进行数据的拼接处理,若当前缓存队列FIFO中有数据存在,则将数据拼接单元输出的数据元中对应的数据有效位置为表示有效的编码,否则置为无效的编码,数据拼接单元拼接处理后的数据保存在串口数据接收寄存器,软核端读取存储在串口数据接收寄存器存储的数据,通过数据有效位判断对应的数据是否有效,完成数据接收过程。
如图3所示是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据发送模块的示意图,在该图3中,该数据发送模块可以包括至少两路数据发送链路B和数据拆分单元。其中,数据拆分单元用于接收未拆分的UART接口数据,并依据其中的数据有效位拆分UART接口数据。数据发送链路B与数据拆分单元连接,用于接收拆分后的UART接口数据。
图4是根据本发明的一个实施方式的基于ZYNQ的AXI4总线封装的UART接口数据发送模块的详细示意图。对于该数据发送链路B的具体形式,可以是可以是本领域人员所知的多种形式。在本发明的一个优选示例中,该数据发送链路B可以包括串行发送单元和波特率发生器,如图4所示。其中,该串行发送单元与数据拆分单元连接,用于向外发送拆分后的UART接口数据。波特率发生器与串行发送单元一一对应,用于分别调节对应的串行发送单元的数据发送速率,以保证UART接口数据能够被有效发送。
在上述基础上,为了保证多路数据发送的有效性,各个数据发送链路B中的串行发送单元的数据发送速率不同,为了保证这种不一致性,在本发明的一个实施方式中,该数据发送模块还可以包括串口配置寄存器。该串口配置寄存器可以用于存储与多个串行发送单元对应的波特率发生器的配置信息。为了存储待发送的UART接口数据,在本发明的一个实施方式中,该数据发送模块还可以包括串口数据发送寄存器。该串口数据发送寄存器用于存储ZYNQ的软核端待发送的UART接口数据。ZYNQ的软核端填充待发送的UART接口数据需要先判断串行发送单元是否空闲,为了便于判断串行发送单元是否空闲,在本发明的一个实施方式中,该数据发送模块还可以包括串口发送状态寄存器。该串口发送状态寄存器与串行发送单元连接,用于确定当前的串行发送单元是否处于空闲状态。
在该实施方式中,对于该数据拆分单元输出的数据元的位数,可以是本领域人员所知的多个数值,例如64、32等。考虑到ZYNQ芯片中的寄存器通常为32位寄存器,因此在本发明的一个优选示例中,该数据拆分单元接收的数据元为32位。在计算机中,一个字节为8位,而字节通常作为本发明提供的基于ZYNQ的AXI4总线封装的UART接口数据发送模块中的串行发送单元的数据传输的基本单位,若要实现多路UART接口数据的发送,需要预留数据位标识发送的数据是否有效,而ZYNQ芯片中的寄存器通常为32位寄存器,因此在本发明提供的基于ZYNQ的AXI4总线封装的UART接口数据发送模块中,最多可以实现3路UART接口数据的发送,且其中至多24位的每8位用于存储一个数据发送链路B的UART接口数据,其余的8位中的至少3位用于存储表示UART接口数据的有效性的指示编码。
在上述基础上,ZYNQ的软核端通过串口发送状态寄存器存储的数据判断对应的串行发送单元是否空闲,若空闲则向串口数据发送寄存器填充待发送的数据,数据中的有效位判断对应的数据是否有效,串口数据发送寄存器存储的待发送的数据经过数据拆分单元拆分处理后的数据通过串行发送单元进行发送,通过串口配置寄存器存储的波特率发生器的配置信息控制对应的串行发送单元的数据发送速率,完成数据的有效发送。
通过上述技术方案,本发明提供的基于ZYNQ的AXI4总线封装的UART接口数据接收模块、UART接口数据发送模块和处理器通过设置数据拼接单元和数据拆分单元接收和发送多路UART接口数据,再结合预设的数据有效位保证数据的有效识别,从而能够提供至少两路UART接口数据的接收与发送,扩展了UART接口的数量。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种基于ZYNQ的AXI4总线封装的UART接口数据接收模块,其特征在于,所述数据接收模块包括至少两路数据接收链路和数据拼接单元,每路所述数据接收链路用于接收外部输入的UART接口数据,所述数据拼接单元与所述数据接收链路连接,用于拼接处理所述UART接口数据。
2.根据权利要求1所述的数据接收模块,其特征在于,所述数据接收链路包括:
串行接收单元,所述串行接收单元用于接收对应的一路UART接口数据;
波特率发生器,与所述串行接收单元一一对应,用于分别调节对应的所述串行接收单元的数据接收速率;
缓存队列,与所述串行接收单元一一对应,用于分别存储对应的所述串行接收单元写入到所述缓存队列的数据。
3.根据权利要求2所述的数据接收模块,其特征在于,所述数据接收模块包括:
串口配置寄存器,用于存储所述波特率发生器的配置信息;
串口使能寄存器,所述串口使能寄存器中存储数据的至少3位用于存储表示所述串行接收单元是否能够继续接收数据并写入所述缓存队列的指示编码;
串口数据接收寄存器,与所述数据拼接单元连接,用于存储所述数据拼接单元拼接处理后的数据;
逻辑判断单元,与每个所述缓存队列连接,用于确定当前任一缓存队列是否存储有数据。
4.根据权利要求1所述的数据接收模块,其特征在于,所述数据拼接单元输出的数据元为32位,且其中至多24位的每8位用于存储一个所述数据接收链路的UART接口数据,其余的8位中的至少3位用于存储表示所述UART接口数据的有效性的指示编码。
5.一种基于ZYNQ的AXI4总线封装的UART接口数据发送模块,其特征在于,所述数据发送模块包括至少两路数据发送链路和数据拆分单元,所述数据拆分单元用于接收未拆分的UART接口数据,并依据其中的数据有效位拆分所述UART接口数据,所述数据发送链路与所述数据拆分单元连接,用于接收拆分后的所述UART接口数据。
6.根据权利要求5所述的数据发送模块,其特征在于,所述数据发送链路包括:
串行发送单元,与所述数据拆分单元连接,用于向外发送拆分后的所述UART接口数据;
波特率发生器,与所述串行发送单元一一对应,用于分别调节对应的所述串行发送单元的数据发送速率。
7.根据权利要求6所述的数据发送模块,其特征在于,所述数据发送模块包括:
串口配置寄存器,用于存储所述波特率发生器的配置信息;
串口数据发送寄存器,用于存储待发送的所述UART接口数据;
串口发送状态寄存器,与所述串行发送单元连接,用于确定当前所述串行发送单元是否处于空闲状态。
8.根据权利要求5所述的数据发送模块,其特征在于,所述数据拆分单元接收的数据元为32位,且其中至多24位的每8位用于存储一个所述数据接收链路的UART接口数据,其余的8位中的至少3位用于存储表示所述UART接口数据的有效性的指示编码。
9.一种基于ZYNQ的AXI4总线封装的处理器,其特征在于,所述处理器包括:
如权利要求1至4任一所述的数据接收模块,用于接收所述UART接口数据并进行拼接处理,并将拼接处理后的所述UART接口数据发出;
处理模块,与所述数据接收模块连接,用于接收拼接后的所述UART接口数据并进行处理,并将待发送的所述UART接口数据发出;
如权利要求5至8任一所述的数据发送模块,与所述处理模块连接,用于拆分待发送的所述UART接口数据,并将拆分后的所述UART接口数据发出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310798808.8A CN116821035A (zh) | 2023-06-29 | 2023-06-29 | 基于zynq的axi4总线封装的uart接口数据接收模块、uart接口数据发送模块和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310798808.8A CN116821035A (zh) | 2023-06-29 | 2023-06-29 | 基于zynq的axi4总线封装的uart接口数据接收模块、uart接口数据发送模块和处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116821035A true CN116821035A (zh) | 2023-09-29 |
Family
ID=88119973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310798808.8A Pending CN116821035A (zh) | 2023-06-29 | 2023-06-29 | 基于zynq的axi4总线封装的uart接口数据接收模块、uart接口数据发送模块和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116821035A (zh) |
-
2023
- 2023-06-29 CN CN202310798808.8A patent/CN116821035A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6219736B1 (en) | Universal serial bus (USB) RAM architecture for use with microcomputers via an interface optimized for integrated services device network (ISDN) | |
US6073205A (en) | System and method of write posting in a universal serial bus system | |
US8516165B2 (en) | System and method for encoding packet header to enable higher bandwidth efficiency across bus links | |
EP1764703B1 (en) | A system for providing access to multiple data buffers of a data retaining and processing device | |
US5978865A (en) | System for performing DMA transfers where an interrupt request signal is generated based on the value of the last of a plurality of data bits transmitted | |
US7725630B2 (en) | Protocol adapter for passing diagnostic messages between a host computer and vehicle networks operating in a J1989 or J1708 protocol | |
EP0239937A2 (en) | Serial communications controller | |
US20100131681A1 (en) | Bus Based Communications Between A Processor And A Peripheral Controller In A Digital Processing System | |
JPH0313618B2 (zh) | ||
US5958024A (en) | System having a receive data register for storing at least nine data bits of frame and status bits indicating the status of asynchronous serial receiver | |
CN111033486A (zh) | 多点总线中的设备、事件和消息参数关联 | |
WO1998048356A1 (en) | A single chip microcontroller having down-loadable memory organization supporting 'shadow' personality, optimized for bi-directional data transfers over a communication channel | |
CN111930676A (zh) | 多处理器间的通信方法、装置、***及存储介质 | |
US5896549A (en) | System for selecting between internal and external DMA request where ASP generates internal request is determined by at least one bit position within configuration register | |
KR101559089B1 (ko) | 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜 | |
US6263393B1 (en) | Bus switch for realizing bus transactions across two or more buses | |
JP4696199B2 (ja) | 転送ディスクリプタ用メモリを備えるusbホストコントローラ | |
JP4444101B2 (ja) | バスシステム、バスシステム内で用いるためのステーション、及びバスインタフェース | |
CN115102780A (zh) | 数据传输方法、相关装置、***及计算机可读存储介质 | |
WO2001067713A1 (en) | A packet format independent computer network controller | |
IE970147A1 (en) | Programmable read/write access signal and method therefor | |
CN116821035A (zh) | 基于zynq的axi4总线封装的uart接口数据接收模块、uart接口数据发送模块和处理器 | |
KR20110134465A (ko) | 데이터 전송 시스템 및 그 데이터 판독 방법 | |
CN114915499B (zh) | 数据传输方法、相关装置、***及计算机可读存储介质 | |
JPH06187267A (ja) | コンピュータバスと高速環状ネットワークとの間のデータ伝送システム |
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 |