CN112988633A - 一种电子设备及数据传输方法 - Google Patents
一种电子设备及数据传输方法 Download PDFInfo
- Publication number
- CN112988633A CN112988633A CN202110391805.3A CN202110391805A CN112988633A CN 112988633 A CN112988633 A CN 112988633A CN 202110391805 A CN202110391805 A CN 202110391805A CN 112988633 A CN112988633 A CN 112988633A
- Authority
- CN
- China
- Prior art keywords
- data
- control unit
- descriptor
- ethernet mac
- dma
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004891 communication Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 21
- 238000012546 transfer Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 101100283411 Arabidopsis thaliana GMII gene Proteins 0.000 description 10
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012552 review Methods 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开一种电子设备及数据传输方法,涉及数据传输技术领域,用于在数据传输过程中,降低CPU的占用时间。所述电子设备,包括:主机单元、以太网MAC控制单元及DMA控制单元。在数据接收阶段,以太网MAC控制单元用于对接收到的物理层的数据进行解封装;DMA控制单元用于在确定主机单元创建的描述符链表的情况下,根据描述符链表中的接收参数,将解封装后的数据存储在所述主机单元。在数据发送阶段,DMA控制单元用于在确定主机单元创建的描述符链表的情况下,根据描述符链表中的发送参数,将主机单元存储的数据发送至以太网MAC控制单元;以太网MAC控制单元用于对获取到的数据进行封装,并将封装后的数据发送至物理层。数据传输方法应用上述电子设备。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种电子设备及数据传输方法。
背景技术
以太网技术自提出以来得到了飞速发展,由于其具有传输速度快、传输距离远、稳定可靠等特点,已经成为应用最为广泛的局域网技术。与此同时,嵌入式系统由于具有体积小、功耗低、集成度高等特点,被广泛应用于医疗、网络、交通、智能家电等行业。通过接入以太网控制器来实现嵌入式控制系统的网络化,意味着能够未用户提供一种更加方便快捷、成本低廉以及传递信息稳定可靠的通信方式。传统嵌入式系统的数据交换是依靠CPU执行一系列指令来完成的,这就使得数据传输速度受到指令执行速度的限制,并且由于需要CPU在数据交换过程中全程参与而占用了CPU的大量时间,使得整个系统的性能受到了很大地限制。
发明内容
本发明的目的在于提供一种电子设备及数据传输方法,用于在数据传输过程中,降低CPU的占用时间,提高嵌入式系统的工作效率。
第一方面,本发明提供一种电子设备,包括:主机单元、以太网MAC控制单元及DMA控制单元。DMA控制单元分别与以太网MAC控制单元及主机单元通信连接。
在数据接收阶段,以太网MAC控制单元用于对接收到的物理层的数据进行解封装。DMA控制单元用于在确定主机单元创建的接收描述符链表的情况下,根据描述符链表中的接收参数,将解封装后的数据存储在主机单元。
在数据发送阶段,DMA控制单元用于在确定主机单元创建的发送描述符链表的情况下,根据描述符链表中的发送参数,将主机单元存储的数据发送至以太网MAC控制单元。以太网MAC控制单元用于对获取到的数据进行封装,并将封装后的数据发送至物理层。
采用本发明提供的电子设备,在数据接收阶段,DMA控制单元可以根据主机单元创建的接收描述符链表的接收参数,将以太网MAC控制单元接收到的物理层的数据在进行解封装之后,存储在主机单元。同理,在数据发送阶段,DMA 控制单元还可以根据主机单元创建的发送描述符链表的发送参数,将主机单元中的数据存储在以太网MAC控制单元。
与现有技术相比,本发明提供的电子设备中增加了DMA控制单元,消除了传统以太网MAC控制单元中,需要主机单元全程参与数据传输的缺点,有效地减少了主机单元在数据传输中的占用率,有效地提高了数据的传输效率。
第二方面,本发明还提供一种数据传输方法,应用上述第一方面所述的具有主机单元、以太网MAC控制单元及DMA控制单元的电子设备。该数据传输方法包括:
在数据接收阶段,当主机单元创建接收描述符链表后,以太网MAC控制单元对接收到的物理层的数据进行解封装;DMA控制单元根据描述符链表中的接收参数及以太网MAC控制单元发送的接收指令,将解封装后的数据存储在主机单元;
在数据发送阶段,当主机单元创建发送描述符链表后,DMA控制单元根据描述符链表中的发送参数及以太网MAC控制单元发送的发送指令,将主机单元存储的数据发送至以太网MAC控制单元;以太网MAC控制单元用于对获取到的数据进行封装,并将封装后的数据发送至物理层。
与现有技术相比,本发明第二方面提供的数据传输方法的有益效果与上述第一方面所述的电子设备的有益效果相同,此处不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的电子设备的框架结构图;
图2为本发明实施例提供的MAC控制单元的框架结构图;
图3为本发明实施例提供的DMA控制单元的框架结构图;
图4为本发明实施例提供的描述符链表的框架结构图;
图5为本发明实施例提供的接收描述符链表的数据结构图;
图6为本发明实施例提供的发送描述符链表的数据结构图。
具体实施方式
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一阈值和第二阈值仅仅是为了区分不同的阈值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本发明中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本发明中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和 /或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a, b,c,a和b的结合,a和c的结合,b和c的结合,或a、b和c的结合,其中 a,b,c可以是单个,也可以是多个。
传统嵌入式系统的数据交换是依靠CPU执行一系列指令来完成的,这就使得数据传输速率受到指令执行速度的限制。同时,由于在数据传输的过程中,需要CPU全程参与,这就会占用CPU大量的时间,使得整个嵌入式系统的性能受到了很大地限制。
针对以上技术问题,本发明实施例提供了一种电子设备,用于在数据传输过程中,降低CPU的占用时间,提高嵌入式系统的工作效率,保证数据的高带宽、低时延传输。
图1示例出了本发明实施例提供的电子设备的框架结构图。参照图1,该电子设备包括:主机单元100、以太网MAC控制单元200及DMA控制单元300。 DMA控制单元300分别与以太网MAC控制单元200及主机单元100通信连接。
在数据接收阶段,以太网MAC控制单元200用于对接收到的物理层的数据进行解封装。DMA控制单元300用于在确定主机单元100创建的接收描述符链表的情况下,根据描述符链表中的接收参数,将解封装后的数据存储在主机单元100。
在数据发送阶段,DMA控制单元300用于在确定主机单元100创建的发送描述符链表的情况下,根据描述符链表中的发送参数,将主机单元100存储的数据发送至以太网MAC控制单元200。以太网MAC控制单元200用于对获取到的数据进行封装,并将封装后的数据发送至物理层。
通过DMA控制单元300传输数据是一种高速的数据传输方式。DMA控制单元300通过直接访问存储器的方式进行数据传输,从而有效地降低CPU(英文全称:centralprocessing unit,中文全称:中央处理器)的占用率。DMA控制单元300的主要传送方式是在无CPU干预的情况下实现存储器与外围设备、存储器与存储器之间或外围设备与外围设备之间直接进行数据交换,加快大量数据交换的速度。
与现有技术相比,本发明提供的电子设备中增加了DMA控制单元300,消除了传统以太网MAC控制单元200中,需要主机单元100全程参与数据传输的缺点,有效地减少了主机单元100在数据传输中的占用率,有效地提高了数据的传输效率。
在一种可能的实现方式中,当数据接收阶段和数据发送阶段并行时,DMA 控制单元300用于将主机单元100存储的数据发送至以太网MAC控制单元200 后,将解封装后的数据存储在主机单元100。也就是说,当数据接收阶段和数据发送阶段并行时,DMA控制单元300优先进行数据发送操作。基于此,可以提高数据传输效率。
在一种可能的实现方式中,参照图1,上述主机单元100可以包括处理器和存储器。处理器用于在以太网MAC控制单元200接收物理层的数据前,创建接收描述符链表,并将接收描述符链表存储在所述存储器中。处理器还用于发送数据前,创建发送描述符链表,并将发送描述符链表存储在存储器中。同时,处理器用于在数据传输开始及传输结束时做中断处理。
在一种可能的实现方式中,在上述数据接收阶段,上述DMA控制单元300 还用于根据接收描述符链表中的接收参数,将解封装后的数据存储在主机单元 100前,确定以太网MAC控制单元200向DMA控制单元300发送接收指令。在上述数据发送阶段,上述DMA控制单元300还用于根据发送描述符链表中的发送参数,将主机单元100存储的数据发送至以太网MAC控制单元200前,确定主机单元100向DMA控制单元300发送发送指令。
由上述可知,无论在数据接收阶段还是数据发送阶段,只有当满足处理器创建好相应的描述符链表,且以太网MAC控制单元200向DMA控制单元300 发送了接收指令或主机单元100向DMA控制单元300发送了发送指令之后, DMA控制单元300才开始搬运数据。基于此,可以确保数据高效、准确的进行传输。
在一种可能的实现方式中,上述接收参数为主机单元100创建的接收描述符链表中指定的以太网MAC控制单元200的存储地址及配置信息。上述发送参数为所述主机单元100创建的发送描述符链表中指定的主机单元100的存储地址及配置信息。
图2示例出了本发明实施例提供的以太网MAC控制单元200的框架结构图。本发明实施例中使用的以太网MAC控制单元200遵循IEEE 802.3协议标准。同时,在数据传输过程中,需要完成数据帧的封装、解封等操作,且支持 10M/100M/1000M三种传输速率,以及半双工、全双工两种工作模式。
参照图2,以太网MAC控制单元200可以具有第一接收接口、第一发送接口、MII接收端口、GMII接收端口、MII/GMII发送端口、PHY管理端口及MAC 寄存器接口。以太网MAC控制单元200通过第一接收接口、及第一发送接口与 DMA控制单元300通信连接,以太网MAC控制单元200通过MII接收端口、 GMII接收端口、MII/GMII发送端口及PHY管理端口与PHY芯片通信连接。
参照图2,就内部结构而言,以太网MAC控制单元200可以包括:接收控制模块、发送控制模块、接收FIFO、发送FIFO、MAC寄存器配置模块、MAC 寄存器及PHY芯片接口模块。其中,接收控制模块和发送控制模块是以太网MAC 控制单元200的核心子模块,PHY芯片接口模块可以包括:MII/GMII接口模块和MDIO接口模块。MAC寄存器配置模块分别与接收控制模块、发送控制模块、 MAC寄存器及PHY芯片接口模块通信连接。接收控制模块分别与接收FIFO、 MII/GMII接口模块通信连接。发送控制模块分别与发送FIFO、MII/GMII接口模块通信连接。
参照图2,上述接收控制模块用于接收物理层的数据,并对接收到的物理层的数据进行解封装、暂停帧处理、CRC(英文全称:Cyclic Redundancy Check,中文全称:循环冗余校验码)校验。上述发送控制模块用于接收主机单元100 发送的数据,并对主机单元100发送的数据进行封装及CRC计算。上述MAC 寄存器配置模块用于对上述MAC寄存器进行参数配置,并且需要对其中部分 MAC寄存器设置符合IEEE802.3协议标准的默认值。上述PHY芯片接口模块用于使接收控制模块及发送控制模块分别与PHY芯片通信连接。基于此,可以提高数据接收或数据发送过程中,数据传输的稳定性。
在实际应用过程中,以太网MAC控制单元200工作在数据链路层。其中,接收控制模块主要负责通过MII/GMII接口模块从工作在物理层的PHY芯片接收或发送以太网帧数据,并对以太网帧数据进行解封装,使物理层的以太网帧数据转化成上层协议能够识别的数据包后存入接收FIFO中,并向DMA控制单元300发送接收指令。也就是说,接收控制模块将物理层的以太网帧数据进行解封装,并存入接收FIFO中之后,通过第一接收接口通知DMA控制单元300 将解封装后的以太网帧数据搬运至主机单元100。发送控制模块主要负责将主机单元100发送至发送FIFO中的数据封装成以太网帧数据的格式,并通过MII/GMII发送端口发送至工作在物理层的PHY芯片。应理解,当接收控制模块及发送控制模块在执行上述任务的过程中,还需要满足CSMA/CD协议。
为了实现处理器对MAC寄存器的参数配置,上述以太网MAC控制单元200 增加了MAC寄存器配置模块。MAC寄存器配置模块中存储了各个MAC寄存器的地址及配置参数,并且需要对部分寄存器设置符合IEEE802.3协议标准的默认值。MAC寄存器配置模块分别与接收控制模块、发送控制模块和MDIO接口模块连接。其中,MDIO接口是用来实现对PHY芯片的寄存器参数配置。MAC 寄存器配置模块通过MDIO接口读取PHY芯片中的速度寄存器,并根据MAC 寄存器与PHY芯片中的速度寄存器的对应关系,将PHY芯片中的速度寄存器中的数据写回至MAC寄存器中。
图3示例出了本发明实施例提供的DMA控制单元300的框架结构图。参照图3,DMA控制单元300可以具有总线接收接口、总线发送接口、第二接收接口、第二发送接口及DMA寄存器接口。在实际应用过程中,DMA控制单元300 可以通过总线接收接口与总线发送接口与总线传输单元400连接。第二接收接口可以与上述第一接收接口电连接,第二发送接口可以与第一发送接口电连接。
参照图3,就内部结构而言,DMA控制单元300可以包括DMA接收控制模块、DMA发送控制模块、DMA寄存器及DMA寄存器配置模块。DMA接收控制模块通过上述第二接收接口与上述以太网MAC控制单元200的接收控制模块通信连接,DMA发送控制模块通过上述第二发送接口与上述以太网MAC控制单元200的发送控制模块通信连接。DMA寄存器配置模块分别与DMA接收控制模块、DMA发送控制模块及DMA寄存器通信连接。
在数据接收阶段,当主机单元100创建接收描述符链表,且收到以太网MAC 控制单元200发送的接收指令之后,DMA接收控制模块根据接收描述符链表中的地址及配置信息,将以太网MAC控制单元200中的接收FIFO中存储的数据取出,并存储在接收描述符链表所规定的主机单元100包括的存储器中,然后将接收状态值写回接收描述符链表中,同时发出中断。由此可知,在数据接收阶段,处理器并不需要全程参与数据接收过程,这就减少了处理器在数据接收过程中的占用率,有效地提高了数据接收的效率。
在数据发送阶段,当需要发送数据时,处理器创建发送描述符链表,将需要发送的数据存储在相应的存储器中,并向DMA发送控制模块发送发送指令。 DMA发送控制模块根据发送指令及发送描述符链表中的地址及配置信息,将相应的存储器中的的数据取出,存储在以太网MAC控制单元200的发送FIFO中。以太网MAC控制单元200中的发送控制模块将发送FIFO中的数据进行封装后,通过MII/GMII发送端口发送至工作在物理层的PHY芯片。此时,DMA发送控制模块将发送状态值写回到发送描述符链表中,同时发出中断。由此可知,在数据发送阶段,处理器并不需要全程参与数据发送过程,这就减少了处理器在数据接收过程中的占用率,有效地提高了数据接收的效率。
在一种可能的实现方式中,上述DMA寄存器主要包括以下寄存器:优先级寄存器、发送描述符首地址寄存器、接收首地址寄存器、发送使能寄存器、接收使能寄存器、中断状态寄存器及中断使能寄存器,但不仅限于此。
参照图1,本发明实施例提供的电子设备还可以包括总线传输单元400及 PHY芯片。主机单元100与DMA控制单元300通过总线传输单元400通信连接,以太网MAC控制单元200与PHY芯片通信连接。
在一种可能的实现方式中,上述总线传输单元400可以为AHB总线传输单元400,可以包括主设备接口模块和从设备接口模块。主设备接口模块可以用于根据所述DMA控制单元300的数据接收策略,控制以太网MAC控制单元200 获取工作在物理层的PHY芯片中的数据。主设备接口模块还可以用于根据DMA 控制单元300的数据发送策略,控制以太网MAC控制单元200发送封装后的数据至工作在物理层的PHY芯片。从设备接口模块用于对DMA寄存器及MAC 寄存器进行参数配置。从设备接口模块还用于根据DMA寄存器中的参数信息及中断信号类型确定是否需要产生中断,将中断信号的类型写入到DMA寄存器。
在实际使用过程中,当DMA控制单元300接收到以太网MAC控制单元200 发送的接收指令,或主机单元100发送的发送指令后,会发送相应的指令至主设备接口。主设备接口根据DMA控制单元300发送的指令及配置参数,判断此次数据传输为数据接收还是数据发送。当主设备接口确定数据的传输类型后,讲DMA控制单元300内的控制信息,例如:数据长度、传输频率等信息传输至总线传输单元400。当总线传输单元400应答成功后,通知以太网MAC控制单元200,便可以开始数据接收或数据发送过程。从设备接口在完成对DMA寄存器和MAC寄存器的参数配置,且根据上述中断使能寄存器中的参数信息和中断使能寄存器产生的中断信号的类型,确定是否需要产生中断,并将该中断信号的类型写入中断状态寄存器中。
当上述从设备端口模块通过MAC寄存器接口发送读写地址及配置参数后, MAC寄存器配置模块根据存储的MAC寄存器的地址及配置参数决定是否响应并与接收控制模块、发送控制模块和MDIO接口模块进行交互,并将交互结果通过MAC寄存器接口反馈给从设备端口模块进而反馈给主机单元100的处理器。
上述DMA寄存器配置模块通过DMA寄存器接口与从设备接口连接,完成了DMA控制单元300中寄存器的配置,使各个模块按照处理器所期望的方式完成数据的传输。
表1.DMA控制器寄存器列表
在以太网数据帧收发过程中,DMA控制单元300主要是通过解析描述符链表中的描述符来进行数据交互的。在本发明中描述符链表的结构为链式描述符结构。
综上说述,本发明实施例提供的电子设备是一种将DMA控制单元300与描述符链表存取方式相结合的数据传输设备。
图4示例出了本发明实施例提供的描述符链表的框架结构图。参照图4,无论是接收描述符链表,还是发送描述符链表,主要可以包括以下数据传输过程的关键信息:
数据传输控制及配置值、数据缓存中数据的长度、数据缓存区首地址以及下一描述符地址指针。除此以外,描述符链表中需要有描述符链表中最后一个描述符的标识位,以表示此次传输进行完成,需要等待处理器重新建立新的描述符链表,并且重新配置DMA控制单元300中相应的寄存器。由于描述符链表中的每个描述符中给出了下一个描述符的地址指针,每一个被读回DMA控制单元300的描述符中都会得到下一个描述符的地址,这样,当完成这个描述符的数据传输后,根据描述符中下一个描述符的指针信息,可读出下一个描述符,继续完成下一个描述符中数据的传输,直到描述符链表的结束。
图5示例除了本发明实施例提供的接收描述符链表的数据结构图。参照图5,接收描述符链表包括以下数据传输过程的关键信息:
1)此描述符是否为接收描述符链中最后一个描述符;
2)接收数据帧完成后是否产生中断;
3)本接收描述符中接收数据缓存区的大小;
4)本接收描述符中接收数据缓存区首地址;
5)下一描述符地址指针;
6)写回状态信息:此描述符是否接收完成;
7)写回状态信息:此数据帧是否接收完成;
8)写回状态信息:此接收帧是否有错误以及错误类型;
9)写回状态信息:此接收帧的数据类型;
10)写回状态信息:此接收帧的长度。
图6示例除了本发明实施例提供的发送描述符链表的数据结构图。参照图5,发送描述符链表包括以下数据传输过程的关键信息:
1)此描述符是否为此数据帧的最后一个描述符;
2)此描述符是否为发送描述符链中最后一个描述符;
3)发送数据帧完成后是否产生中断;
4)发送数据帧时以太网MAC控制单元200是否添加CRC校验值;
5)发送的数据帧有错误;
6)本发送描述符中发送数据缓存区的大小;
7)本发送描述符中发送数据缓存区首地址;
8)下一描述符地址指针;
9)写回状态信息:此数据帧是否接收完成;
10)写回状态信息:此发送帧是否有错误以及错误类型。
描述符链表建立完成后需要根据既定的数据格式将描述符链表存入到主机单元100的存储器中。这种情况下,处理器只需要配置DMA控制单元300中首个描述符的地址信息与传输使能信号,而关于传输的其它信息都写入每帧数据的描述符中,DMA控制单元300即可自主地完成对相应数据块的传输。由于描述符链表允许存储区域地址不连续并且空间可释放,这样可以提高存储器利用率,并且提高嵌入式系统的性能。
本发明实施例还提供了一种数据传输方法,应用上述技术方案提供的电子设备。该数据传输方法包括:
步骤S100:设备初始化。主机单元100对以太网MAC控制单元200及DMA 控制单元300进行参数配置。
在实际操作过程中,该步骤在数据接收阶段或数据发送阶段之前执行。在该步骤中,以太网MAC控制单元200和DMA控制单元300作为从设备,由主机单元100的处理器完成其内部的参数配置,例如:工作速率、最大帧长度、读写数据的首地址以及DMA控制单元300的启动命令等,这些参数的配置是通过对MAC寄存器配置模块和DMA寄存器配置模块内的寄存器进行读写完成的。主机单元100的处理器完成初始化工作后即可进行其它工作,不需要等待数据的传输。
步骤S200:数据传输。数据传输过程主要可以分为描述符链表中的描述符解析和数据搬运两个过程。首先,描述符解析即根据步骤S100中配置的描述符链表首地址到主机单元100的存储器中获取描述符链表,并对描述符进行解析,获取数据传输控制及配置值、数据缓存中数据的长度、数据缓存区首地址以及下一描述符地址指针等关键信息。数据搬运的过程即根据步骤S100中所配置的各项参数以及描述符解析的关键信息行从数据开始直到数据结束的的传输过程。在此过程中,DMA控制单元300作为总线传输单元400的主设备,完成数据在主机单元100的存储器和以太网MAC控制单元200之间的搬运。完成当前描述符所指定空间的数据搬移后,需要将MAC控制单元中传输信号及相关传输信息写回描述符链表,并且根据描述符的最后一位标识与中断标识判断要产生何种中断信号。
在实际使用过程中,数据传输可以包括数据接收和数据发送。当数据接收和数据发送并行时,可以优先进行数据发送。也就是说当步骤S201和步骤S202 并行时,可以优先执行步骤S201。
步骤S201:在数据发送阶段,当主机单元100创建描述符链表后,DMA控制单元300根据发送描述符链表中的发送参数及以太网MAC控制单元200发送的发送指令,将主机单元100存储的数据发送至以太网MAC控制单元200。以太网MAC控制单元200用于对获取到的数据进行封装,并将封装后的数据发送至物理层。
步骤S202:在数据接收阶段,当主机单元100创建接收描述符链表后,以太网MAC控制单元200对接收到的物理层的数据进行解封装。DMA控制单元 300根据描述符链表中的接收参数及以太网MAC控制单元200发送的接收指令,将解封装后的数据存储在主机单元100。
步骤S300:产生中断。本过程发生在DMA控制单元300产生中断信号后,从设备接口模块将根据中断使能寄存器中参数信息和中断信号类型确定是否需要产生中断通知主机单元100的处理器,并将产生中断的类型写入到中断状态寄存器中。与此同时,判断此时中断使能寄存器产生的中断类型是否为描述符链表结束中断。如果是,则关闭DMA控制单元300的接收或发送使能,等待下一次主机单元100的处理器对DMA控制单元300发出配置以及启动命令。如果不是,则重新回到步骤S200直到产生描述符链表结束中断。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising) 一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种电子设备,其特征在于,包括:主机单元、以太网MAC控制单元及DMA控制单元;所述DMA控制单元分别与所述以太网MAC控制单元及所述主机单元通信连接;
在数据接收阶段,所述以太网MAC控制单元用于对接收到的物理层的数据进行解封装;所述DMA控制单元用于在确定所述主机单元创建的接收描述符链表的情况下,根据所述描述符链表中的接收参数,将解封装后的所述数据存储在所述主机单元;
在数据发送阶段,所述DMA控制单元用于在确定所述主机单元创建的发送描述符链表的情况下,根据所述描述符链表中的发送参数,将所述主机单元存储的数据发送至所述以太网MAC控制单元;所述以太网MAC控制单元用于对获取到的数据进行封装,并将封装后的所述数据发送至物理层。
2.根据权利要求1所述的电子设备,其特征在于,当所述数据接收阶段和所述数据发送阶段并行时,所述DMA控制单元用于将所述主机单元存储的数据发送至所述以太网MAC控制单元后,将所述解封装后的数据存储在所述主机单元。
3.根据权利要求1所述的电子设备,其特征在于,在所述数据接收阶段,所述DMA控制单元还用于根据所述接收描述符链表中的接收参数,将解封装后的所述数据存储在所述主机单元前,确定所述以太网MAC控制单元向所述DMA控制单元发送接收指令。
4.根据权利要求1所述的电子设备,其特征在于,在所述数据发送阶段,所述DMA控制单元还用于根据所述发送描述符链表中的发送参数,将所述主机单元存储的数据发送至所述以太网MAC控制单元前,确定所述主机单元向所述DMA控制单元发送发送指令。
5.根据权利要求1所述的电子设备,其特征在于,所述接收参数为所述接收描述符链表中指定的所述主机单元的存储地址及配置信息;
所述发送参数为所述主机单元创建的发送描述符链表中指定的所述主机单元的存储地址及配置信息。
6.根据权利要求1所述的电子设备,其特征在于,所述DMA控制单元包括DMA寄存器,所述以太网MAC控制单元包括MAC寄存器;所述电子设备还包括具有主设备接口模块和从设备接口模块的总线传输单元;
所述主设备接口模块用于根据所述DMA控制单元的数据接收策略,控制所述以太网MAC控制单元获取所述物理层的数据;
所述主设备接口模块还用于根据所述DMA控制单元的数据发送策略,控制所述以太网MAC控制单元发送封装后的所述数据至所述物理层;
所述从设备接口模块用于对所述DMA寄存器及所述MAC寄存器进行参数配置,
所述DMA控制单元还用于将解封装后的所述数据存储在所述主机单元后,将接收状态值写入所述接收描述符链表,产生中断信号;
所述DMA控制单元还用于将主机单元中的数据存储在所述以太网MAC控制单元后,将发送状态值写入所述发送描述符链表,产生中断信号;
所述从设备接口模块还用于根据所述DMA寄存器中的参数信息及中断信号类型确定是否需要产生中断,将所述中断信号的类型写入到所述DMA寄存器。
7.根据权利要求1~6任一项所述的电子设备,其特征在于,所述主机单元包括处理器和存储器;
所述处理器用于在所述以太网MAC控制单元接收所述物理层的数据前,创建所述接收描述符链表,并将所述接收描述符链表存储在所述存储器中;
所述处理器还用于发送数据前,创建所述发送描述符链表,并将所述发送描述符链表存储在所述存储器中。
8.根据权利要求1~6任一项所述的电子设备,其特征在于,所述接收描述符链表及所述发送描述符链表至少包括:数据传输控制及配置值、数据缓存中数据的长度、数据缓存区首地址、下一描述符地址指针及最后一个描述符的标识位。
9.一种数据传输方法,其特征在于,应用具有主机单元、以太网MAC控制单元及DMA控制单元的电子设备;所述数据传输方法包括:
在数据接收阶段,当所述主机单元创建接收描述符链表后,所述以太网MAC控制单元对接收到的物理层的数据进行解封装;所述DMA控制单元根据所述描述符链表中的接收参数及所述以太网MAC控制单元发送的接收指令,将所述解封装后的数据存储在所述主机单元;
在数据发送阶段,当所述主机单元创建描述符链表后,所述DMA控制单元根据所述发送描述符链表中的发送参数及所述以太网MAC控制单元发送的发送指令,将所述主机单元存储的数据发送至所述以太网MAC控制单元;所述以太网MAC控制单元用于对获取到的数据进行封装,并将封装后的所述数据发送至物理层。
10.根据权利要求9所述的数据传输方法,其特征在于,所述电子设备还包括:总线传输单元;所述在数据接收阶段或在数据发送阶段之前,所述数据传输方法还包括:
所述主机单元对所述以太网MAC控制单元及所述DMA控制单元进行参数配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110391805.3A CN112988633A (zh) | 2021-04-13 | 2021-04-13 | 一种电子设备及数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110391805.3A CN112988633A (zh) | 2021-04-13 | 2021-04-13 | 一种电子设备及数据传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112988633A true CN112988633A (zh) | 2021-06-18 |
Family
ID=76338032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110391805.3A Pending CN112988633A (zh) | 2021-04-13 | 2021-04-13 | 一种电子设备及数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988633A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101304342A (zh) * | 2008-06-27 | 2008-11-12 | 电子科技大学 | 一种增强型以太网接口装置 |
CN102065569A (zh) * | 2009-11-17 | 2011-05-18 | 中国科学院微电子研究所 | 一种适用于wlan的以太网mac子层控制器 |
CN102065568A (zh) * | 2009-11-17 | 2011-05-18 | 中国科学院微电子研究所 | 基于数据描述符的mac软硬件交互方法及其硬件实现装置 |
CN109634881A (zh) * | 2018-11-16 | 2019-04-16 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于fpga的千兆以太网dma数据传输设计装置 |
-
2021
- 2021-04-13 CN CN202110391805.3A patent/CN112988633A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101304342A (zh) * | 2008-06-27 | 2008-11-12 | 电子科技大学 | 一种增强型以太网接口装置 |
CN102065569A (zh) * | 2009-11-17 | 2011-05-18 | 中国科学院微电子研究所 | 一种适用于wlan的以太网mac子层控制器 |
CN102065568A (zh) * | 2009-11-17 | 2011-05-18 | 中国科学院微电子研究所 | 基于数据描述符的mac软硬件交互方法及其硬件实现装置 |
CN109634881A (zh) * | 2018-11-16 | 2019-04-16 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于fpga的千兆以太网dma数据传输设计装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5247626A (en) | Fddi controller having flexible buffer management | |
KR101077900B1 (ko) | 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치 | |
US10341230B2 (en) | Techniques for forwarding or receiving data segments associated with a large data packet | |
CN111656336B (zh) | 一种pcie发送、接收方法及装置、设备和系统 | |
US6775283B1 (en) | Passing vlan information through descriptors | |
CN101937406B (zh) | 一种VxWorks操作系统中实现驱动1394设备的方法和系统 | |
CN113709047B (zh) | 一种汽车域控制器数据转发系统及方法 | |
CN113852656B (zh) | 一种数据传输方法、处理器系统及内存访问系统 | |
US7430618B2 (en) | Data transfer control device and electronic equipment | |
KR101559089B1 (ko) | 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜 | |
CN113051204A (zh) | 串行背板总线通信方法及系统 | |
US6760781B1 (en) | Intelligent packet transmission engine | |
CN113347017A (zh) | 一种网络通信的方法、装置、网络节点设备及混合网络 | |
KR101197294B1 (ko) | QoS 및 전송 효율 개선을 위한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 | |
WO2015055008A1 (zh) | 一种存储控制芯片及磁盘报文传输方法 | |
CN112988633A (zh) | 一种电子设备及数据传输方法 | |
US6693905B1 (en) | Data exchange unit | |
WO2022042396A1 (zh) | 数据传输方法和系统、芯片 | |
CN107302522A (zh) | 基于USB的SpaceWire网络即插即用基础协议 | |
CN107317773B (zh) | 一种片上网络通信接口及通信方法 | |
CN115291898B (zh) | 一种多fpga从模式快速烧录方法及装置 | |
JP2003289315A (ja) | パケット転送装置およびパケット転送方法 | |
JP3753622B2 (ja) | パケット送受信装置 | |
CN207676336U (zh) | 转接设备、远程通信系统 | |
CN117234971A (zh) | Ipmi命令传输方法、装置、系统及电子设备 |
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 |