OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11579|回复: 5

STM32F407+DP83848 无法通过以太网发送数据

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2015-6-7
在线时间
0 小时
发表于 2015-6-7 20:54:25 | 显示全部楼层 |阅读模式
5金钱
各位前辈:
      感谢您抽空看我提的问题,小弟要做的是将一组存在STM32F407中的二进制码通过以太网发送到电脑上
      不需要TCP/IP协议栈,直接从表示层映射到数据链路层,故将官方例程中的httpserver程序中的TCP/IP部分去掉,改写程序,主要调用了以下库函数:
[mw_shl_code=c,true]  /* configure ethernet (GPIOs, clocks, MAC, DMA) */    ETH_BSP_Config();[/mw_shl_code] [mw_shl_code=c,true]ETH_DMATxDescChainInit(DMATxDescTab, (uint8_t *)Test, 2); ETH_Prepare_Transmit_Descriptors(138) ETH_Start();[/mw_shl_code] [mw_shl_code=c,true]while(1) { ETH_SetDMATxDescOwnBit(&DMATxDescTab[0]); ETH_SetDMATxDescOwnBit(&DMATxDescTab[1]); } [/mw_shl_code]

现已知:
1 。选用RMII接口,连接外部50M晶振,STM32F407中相应的寄存器都设为RMII模式,DP83848初始化时读取相应引脚电平设为RMII
2 。STM32的相关引脚都初始化了
现象:
1.板子运行程序后,电脑上的图标会显示100M已连接,我推测应该是Auto-Negociation的结果,但是明明没有TCPIP协议栈呐, 怎会显示已连接?
2.STM32的TX0,TX1,TX_EN都有信号,但是DP83848不把这些数据往外发(电脑上用wireshark始终捕获不到数据)。
信号如图,黄色信号为TX0,另外的是TX_EN



提问:DP83848的TX0,TX1,TX_EN上都有信号,为什么DP83848不把这些信号发到电脑上呢?
如有前辈肯指点一二,感激不尽

最佳答案

查看完整内容[请看2#楼]

1、电脑上显示100M已经连接上跟你有没有使用TCP/IP协议栈没有关系,DP83848是PHY芯片,只要DP83848上电,并且没有复位,那么DP83848就会自动和电脑连接。 2、DP83848上的两个灯都没亮吗?只要你的DP83848工作正常,即使没有用协议栈,灯也是会闪烁的啊。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-6-7 20:54:26 | 显示全部楼层
1、电脑上显示100M已经连接上跟你有没有使用TCP/IP协议栈没有关系,DP83848是PHY芯片,只要DP83848上电,并且没有复位,那么DP83848就会自动和电脑连接。
2、DP83848上的两个灯都没亮吗?只要你的DP83848工作正常,即使没有用协议栈,灯也是会闪烁的啊。
开往春天的手扶拖拉机
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2015-6-7
在线时间
0 小时
 楼主| 发表于 2015-6-8 13:09:35 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
谢谢zuozhongkai指点,昨天发帖的时候说要审核,以为没发出来,所以没及时回复您。
DP83848上的两个灯都是亮的,我昨天看的时候可能碰到了网线,所以导致不亮,可是连接是好的,而且DP83848的TX0,TX1,TX_EN上都有信号,DP83848的50M时钟也没问题,按照DP83848的芯片手册上的时序图,此时DP83848应该把TX0,TX1转化成RJ45口的TD+,TD-传送出来呀?
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-6-8 15:03:04 | 显示全部楼层
如果灯亮的话肯定没有问题,数据是可以发送出来的,不过不带协议栈的我就不清楚了,我是一直使用协议栈的
开往春天的手扶拖拉机
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2015-6-7
在线时间
0 小时
 楼主| 发表于 2015-6-8 15:24:50 | 显示全部楼层
回复【4楼】zuozhongkai:
---------------------------------
谢谢!
有没有可能是因为数据格式的问题,传送的数据必须要符合MAC帧格式,才可能被抓包软件捕获   我要发送的数据跟STM32F4的用户手册中的帧格式不大一样
回复

使用道具 举报

5

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
379
金钱
379
注册时间
2016-8-2
在线时间
107 小时
发表于 2017-3-6 16:57:28 | 显示全部楼层
楼主问题解决没?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-9 01:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表