DM9162使用记录
系统软硬件来源
在参考硬汉老师的《安富莱_STM32-V5开发板_原理图(D030-8).pdf》、《安富莱_STM32-V5开发板_RL-TCPnet网络教程(V1.1).pdf》,使用DM9162 + STM32F407 + RL-TCPnet 实现了udp通信任务,但是美中不足的是RJ45接口灯的问题:
问题描述
1)没有插网线的情况下,上电的时候能看到,绿灯,黄灯都是亮了之后再灭掉了;
2)插网线的情况下:
a. 使用usb转以太网网线(连接电脑与板子的RJ45)时,上电上电的时候能看到,绿灯,黄灯先都是亮了之后再灭掉了;然后是绿灯亮;通信的时候,绿灯不停地闪,这个过程,黄灯始终是灭的;
b. 若是把板子接到路由器的端口,usb转以太网网线把电脑连接路由器的另外一个端口时,上电上电的时候能看到,绿灯,黄灯先都是亮了之后再灭掉了;然后是绿灯、黄灯都亮;通信的时候,绿灯不停地闪,这个过程,黄灯始终是常亮的,不闪;
上面的现象和,平常所说(来源于网络):
“绿灯:长亮 代表100M, 不亮 代表10M;
黄灯:长亮 代表无数据收发; 闪烁 代表有数据收发。”
黄灯的表现不正常;该闪的黄灯不闪,不该闪的绿灯闪。
代码没有问题,硬件没有问题,结论是:灯接反了,硬汉老师原理图的灯接反哈?还是网络的灯的表述不对?
认证如下:
电路的连接关系:
1. LEDMODE 引脚 (Pin 31)接高电平;
2. RJ45的黄灯,绿灯的阳极管脚都已经上拉到3.3V;
3. Pin13管脚、Pin12管脚、Pin11管脚,电路上都是上拉:
a. 且Pin13管脚连接RJ45的绿灯的阴极;==>Pin13管脚,指示 Link 状态,控制绿灯;
b. Pin12管脚接S8050的的发射极,Pin 14直接用他连接一个4.7K欧姆的电阻,再连接三极管S8050的基极,S8050的集电极连接RJ45的黄灯的阴极;==>Pin12管脚,指示速度 (10/100M),控制黄灯;
总结:
- Pin 12 (LED1/OP1): 黄灯亮 100M,不亮:10M
- 10Mbps: 高电平
- 100Mbps: 低电平
- Pin 13 (LED2/OP2): 绿灯 闪烁 (高低电平交替),指示 Link 正常:长亮 代表无数据收发; 闪烁 代表有数据收发。
我的电路上的表述应当为:
“黄灯:长亮 代表100M, 不亮 代表10M;
绿灯:长亮 代表无数据收发; 闪烁 代表有数据收发。”
看DM9162iep.pdf 6.1 LED Funciton Description也可以证明这一点:
DM9162的初始化代码见:【RL-TCPnet网络教程】第6章 RL-TCPnet底层驱动说明 - TCP/IP - 硬汉嵌入式论坛 - Powered by Discuz!