对于DWC Ethernet QoS驱动的编写来说,初始化完成之后,核心操作就是DMA的描述符链表配置(linked list of descriptors)。DMA根据描述符链表自动在FIFO和用户指定的缓存之间搬运数据。对于熟悉新思的IP的用户来说,这种套路会有似曾相识的感觉,没错新思的大部分高速IP的数据流都是这么处理的,比如在DWC2 USB的IP中就是Sca...
DWC_ether_qos提供了SMA模块,操作两个寄存器即可实现PHY寄存器的读写,比较简单方便,且支持C45和C22两种模式,另外有比较灵活的配置参数后面会详讲。 二.SMA模块介绍 DWC_ether_qos中SMA(Station Management Agent)是一种双线站管理接口(MIM:Station Management interface),即MDIO管理接口,通过SMA模块即MDIO接口可以访问PH...
https://mp.weixin.qq.com/s/klrHhaLMM_0W3FGVwHXFkA 基于DWC_ether_qos的以太网驱动开发-数据流验证过程 (qq.com) 一.前言 以太网驱动的编写与调试是以数据流为导向的,数据流的确认我们可以采取层层推进的方式进行验证。即先验证MAC层,再验证PHY层,再验证接具体的设备比如PC收发数据。 如下所示 二.MAC层...
一.前言 前面我们在”基于DWC_ether_qos的以太网驱动开发”系列文章中分享了驱动开发调试过程。其中最重要的就是要先调通收发数据流。而MAC和PHY之间数据流是重要的一环,其通过GMII(RGMII)接口通讯,该部分是数字接口,我们可以通过逻辑分析仪来监控RGMII接口的信号,可以知道MAC和PHY之间数据流是否正确。比如假设发送数...
以太网驱动的编写与调试往往从MDIO接口开始,MDIO是MAC访问PHY的接口。实现通过MDIO对PHY进行操作才能配置PHY,所以实现MDIO读写是第一步。DWC_ether_qos提供了SMA模块,操作两个寄存器即可实现PHY寄存器的读写,比较简单方便,且支持C45和C22两种模式,另外有比较灵活的配置参数后面会详讲。
对于DWC Ethernet QoS驱动的编写来说,初始化完成之后,核心操作就是DMA的描述符链表配置(linked list of descriptors)。DMA根据描述符链表自动在FIFO和用户指定的缓存之间搬运数据。对于熟悉新思的IP的用户来说,这种套路会有似曾相识的感觉,没错新思的大部分高速IP的数据流都是这么处理的,比如在DWC2 USB的IP中就是Sca...
在接收描述符(读取格式)中,如果缓冲区地址字段全部为0,则DWC_ether_qos不会将数据传输到该缓冲区,并跳到下一个缓冲区或下一个描述符。 RDES0 RDES1 RDES2 RDES3 回写格式 RDES0 RDES1 仅对最后一个描述符有效(设置了RDES3[28]) RDES2 RDES3 ...
基于DWC_ether_qos的以太网驱动开发-收发驱动编写与调试 (qq.com) https://mp.weixin.qq.com/s/NXKiBsNvhMG_bCruEeqmtg 一.前言 前面已经介绍了环形描述符的工作方式和描述符的具体格式。收发的驱动实际就是围绕着准备描述符来进行的,这种机制使得驱动代码的编写比较简单了,软件通过描述符高速硬件DMA怎么做即可...
以太网驱动的编写与调试往往从MDIO接口开始,MDIO是MAC访问PHY的接口。实现通过MDIO对PHY进行操作才能配置PHY,所以实现MDIO读写是第一步。DWC_ether_qos提供了SMA模块,操作两个寄存器即可实现PHY寄存器的读写,比较简单方便,且支持C45和C22两种模式,另外有比较灵活的配置参数后面会详讲。
以太网驱动的编写与调试往往从MDIO接口开始,MDIO是MAC访问PHY的接口。实现通过MDIO对PHY进行操作才能配置PHY,所以实现MDIO读写是第一步。DWC_ether_qos提供了SMA模块,操作两个寄存器即可实现PHY寄存器的读写,比较简单方便,且支持C45和C22两种模式,另外有比较灵活的配置参数后面会详讲。