| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 一篇就够系列之Ethernet网卡驱动开发 -> 正文阅读 |
|
[嵌入式]一篇就够系列之Ethernet网卡驱动开发 |
??????? 明确程序层次间的边界,是程序移植成功的要点,当然,做到明确的前提是明确每层涉及的具体内容,这样才能明白这一层的诉求是什么,也就是API接口的含义。 ??????? 比如ETH的组成,所涉及的外设包括DMA、MAC控制器、接口选择控制器、复用IO接口以及外部PHY芯片,底层的硬件初始化,就是对这些外设的初始化。 ??????? LWIP协议栈,本质就是一套应用软件,此协议必回调用底层ETH的初始化、HAL库提供的操作函数,对于协议栈出现的结构体,必回申请一部分内存空间使用,明确这些要素,移植的相关操作便会清晰明了。 相关概念??????? 描述符??????? 描述一个事物的数据结构,在C语言中就是struct,在java中就是class。 ETH框图????????在进行数据发送时,首先将数据由系统存储器以 DMA 的方式送至发送 FIFO (Tx FIFO) 进行 ????????以太网外设还包括用于与外部 PHY 通信的 SMI。通过一组配置寄存器,用户可以为 MAC 控 ??????? 使用以太网,AHB频率至少25M。 ETH相关接口SMI接口写操作??????? 操作MAC中的寄存器,使其触发对PHY芯片的写操作。 ????????使用到的具体寄存器名称为以太网 MAC MII 地址寄存器 (ETH_MACMIIAR)。 SMI接口读操作??????? 操作方式与写操作类似。 SMI接口的时钟??????? 最终来源于AHB,是否分频由MAC的寄存器控制。 MII/SMII接口????????用 SYSCFG_PMC 寄存器进行配置,外部芯片需要通过SMI接口配置。 MII接口时钟??????? MCU的MCO引脚输出时钟,另一种使用25M晶振。 RMII接口时钟????????使用外部 50 MHz 时钟驱动 PHY ,另一种使用嵌入式 PLL 生成 50 MHz 频率信号来驱动 PHY。 ETH相关功能(MAC 802.3 )??????? 802.3主要规范了MAC数据的帧格式。 帧数据发送/接收??????? DMA控制发送路径上的所有事务。 ??????? MAC接收的帧会推入RX FIFO。FIFO接收到64字节或者完整数据包时,数据将弹出,然后DMA向AHB发起传输。 ??????? 详细发送和接收的细节可参考《STM32F4xx中文参考手册》。 MAC的其它功能 ??????? 比如中断、过滤功能、MAC的回送模式、MAC管理计数器(MMC)、电源管理(PMT)、精密时间协议(PTP)等功能,在操作中若有涉及可查询手册。 ?ETH相关功能(DMA控制器操作)??????? DMA控制器为操作路径的最前端,驱动程序的设计也是围绕其进行。MCU与DMA之间通信数据为以下两种:
ETH底层驱动编写MAC DMA RMII与MII的选择 IO引脚的配置 LWIP移植操作接口移植 数据管理移植 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:21:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |