STM32-CUBE-以太网DP83848
1、使用主控芯片STM32F407V。 使用的晶振25M。使用管脚如下。RX_ER貌似程序没用,后续再看吧
***2、DP83848部分原理图,***注意看34脚,连到了PA1和PA8,也就是50M时钟是由STM32提供的。
3、下面进行CUBE的时钟配置
首先时钟配置,注意图中2部分勾选,也就使能了PA8的时钟输出。
但是我们要输出的是50Mhz,所以一定要注意图中3处一定要改成High,否则时钟错误,以太网两个灯都不会亮的!!!!!!
下面的时钟配置是网上大家的经验配置,这样配置稳定,不丢包
***4、仿真接口配置***一下,我原理图使用的的SW模式,所以如下配置,根据自己原理图配置即可
5、ETH配置
首先选择模式RMII
之后配置PHY地址,注意我的原理图,42管脚悬空的,这个地方芯片内部是上拉的,所以悬空就是1。PHY地址就是0X01
所以进行如下的PHY配置
选择型号DP83848,配置界面如下:
中断界面勾选中断
管脚配置,注意一定要和自己原理图一致!!!!
6、LWIP配置
7、注意到此CUBE配置完成了,但是仅仅是配置,没有其余的通讯程序。可从st官网下载,st官网搜索LWIP,找到如下文件下载
解压得到下面的,此时打开从官网下载的文件夹
如下project目录下,找到这些,根据自己实际需要的添加。我下面使用tcp_echo_server为例,
8、KEIL里边修改
打开生成的MDK文件。将下面两个文件夹下的tcp_echoserver.c和tcp_echoserver.h加入到我们的工程。
并在main函数中加入.h头文件
在主函数初始化部分加入tcp_echoserver_init();
主循环里边加入MX_LWIP_Process();
9、电脑的IP设置如下,红圈里的都要固定和咱们在CUBE里边配置一致的。
10、电路板连接网线到电脑。上电。编译程序并下载。此时只要是配置跟我一致,原理图一致,下完程序就能看到黄灯常亮,绿灯闪烁。如果不行,则要对照一下原理图是否和我一致,或者是电路板硬件问题
11、电脑ping一下,