您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF51X技术支持专区 -> BF518/BF512的LAN口设计详解
本帖共有860个阅读者
发表帖子 发表投票 回复主题
BF518/BF512的LAN口设计详解
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF518/BF512的LAN口设计详解

硬件实现原理:

  • ADSP-BF51x 处理器集成了一个Ethernet Media Access Controller 模块,简称EMAC。EMAC 主要包含以下功能:
  • 独立的 DMA 驱动RX 和TX 通道
  • MII/RMII 接口
  • 10M bit/s 和 100M bit/s 运行 (全双工或半双工)
  • 支持VLAN (全双工或半双工)
  • 自动网络监测统计
  • 灵活的地址过滤
  • 灵活的中断处理事件检测
  • IP 和TCP(有效载荷)的校验和验证
  • 远程唤醒以太网设计
  • 网络感知系统电源管理
  • MAC 完全符合IEEE Std. 802.3-2002 标准

通过 EMAC 的MII 接口,直接与外部的网络PHY 芯片连接,扩展出以太网接口,实现网络功能。ADSP-BF51x 的MII 接口和PPI 接口复用,为了不使PPI 接口输入的信号对MII 信号干扰,在MII 接口上,作了2 组拨码开关SW5 和SW6,用于控制MII 接口与网口PHY 芯片的连接,在使用网口时,将两组拨码开关全部拨到ON,连接所有的MII 管脚到网口PHY 芯片。

上传的图片
  20127151620331.jpg [ 14.45 KB 398×174 ] (缩略时请点击查看原图)

 




我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/7/15 16:20:27
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

代码实现功能:

BF51x_TcpTrace:
代码实现了自动获取 IP 的功能,运行代码后,网卡会自动向路由器申请IP,自动获得IP 后,将获取的IP地址打印出。通过运行TCPIPTrc.exe 软件查看ADSP-EDU-BF51x 开发板网卡发送的数据包信息。使用Windows 上的cmd.exe 工具,通过ping 命令测试开发板网卡响应。网卡通过路由器自动获取IP,需要路由器提供DHCP 服务,所以需将路由器的DHCP 服务打开,否则将获取IP 失败。
连接主机的 IP 地址设置:
找到代码中“lwip_sysboot_threadtype.c”文件,在该文件中找到如下代码:
#define TRACE_OUT_HOST_ADDRESS "192.168.1.101"
将引号中的IP 地址设置为自己计算机的IP 地址。本机IP 地址可通过Windows 上的“本地连接状态”查看,也可通过“运行”运行cmd.exe 软件,输入命令:ipconfig /all 查看。通过本地连接状态查看 IP 地址。

上传的图片
  201271516231731.jpg [ 32.49 KB 306×357 ] (缩略时请点击查看原图)

 

通过 CMD 命令查看IP 地址:Windows 下选择:开始->运行,输入命令:cmd ,在弹出窗口输入:ipconfig /all ,找到当前使用的网卡,查看信息:

上传的图片
  201271516254631.jpg [ 53.30 KB 571×264 ] (缩略时请点击查看原图)

 




我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/7/15 16:26:37
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

步骤说明:

BF51x_TcpTrace:
1. 将仿真器(ICE)与ADSP-EDU-BF51x 开发板和计算机连接好,将板上拨码开关SW5 和SW6 全部拨到ON。
2. 先给仿真器(ICE)上电再为ADSP-EDU-BF51x 开发板上电。
3. 将网线连接一端到 ADSP-EDU-BF51x 开发板网口,另一端连接到路由器网口,将路由器DHCP 服务打开。
4. 运行 VisualDSP++ 5.0 软件,选择合适的BF518 的session 将仿真器与软件连接。
5. 加载 VisualDSP++ 5.0 工程文件BF51x_TcpTrace.dpj。
6. 运行 TcpTrace.exe 软件,按下图设置后,点“start acquiring”。
7. 编译 BF51x_TcpTrace.dpj 工程,并运行。

上传的图片
  20127151628231.jpg [ 36.48 KB 587×316 ] (缩略时请点击查看原图)

 

测试结果:

BF51x_TcpTrace:
编译代码后,代码光标会停止在汇编窗口的 main 处,C 代码中没有代码光标停留。

上传的图片
  201271516293031.jpg [ 15.80 KB 205×109 ] (缩略时请点击查看原图)

 

点“运行”图标后,代码开始运行,并在输出窗口打印信息。

上传的图片
  201271516304231.jpg [ 22.06 KB 561×75 ] (缩略时请点击查看原图)

 

在 TcpTrace.exe 软件中看到收到的数据包信息:

上传的图片
  20127151632131.jpg [ 101.12 KB 593×370 ] (缩略时请点击查看原图)

 

使用 cmd.exe , 通过ping 命令获取连接状态:

上传的图片
  201271516341331.jpg [ 57.15 KB 562×290 ] (缩略时请点击查看原图)

 



我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/7/15 16:35:53
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159021 Call, 1 Queries, Processed in 0.015625 second(s),