产品展示

PRODUCTS

+
  • 主图02(1788919704050).jpg

基于YXDSP-F28388D开发板EtherNET操作实战教程

本文档将详细介绍南京研旭公司推出的YXDSP-F28388D至尊板和一体板的EtherNET的使用说明,包括硬件电路部分、软件程序部分以及程序下载调试过程。 此部分需要用户具备一些基本技能,如使用特定软件查看硬件电路技能,查看、理解C语言编程技能,编程环境CCS的操作技能,DSP开发技能等。

关键词:

YXDSP-F28388D至尊板

EtherNET

DSP开发板

实战教程

所属分类:

嵌入式开发套件


联系我们

产品描述

第一章 概述

本文档将详细介绍南京研旭公司推出的YXDSP-F28388D至尊板和一体板的EtherNET的使用说明,包括硬件电路部分、软件程序部分以及程序下载调试过程。

此部分需要用户具备一些基本技能,如使用特定软件查看硬件电路技能,查看、理解C语言编程技能,编程环境CCS的操作技能,DSP开发技能等。

第二章 硬件说明

 2.1 以太网媒体接入控制器(EMAC)介绍

以太网模块使主机能够根据IEEE 802.3-2015通过以太网传输和接收数据。以太网模组包含以下特性:

√ IEEE 802.3-2015用于以太网MAC,媒体独立接口(MII)

√ IEEE 1588-2008用于精密网络时钟同步

√ IEEE 802.3az-2010用于高效能以太网(EEE)

√ 减少媒体独立接口(RMII)规范1.2版本

√ 来自RMII联盟反向媒体独立接口(RevMII)

有关以太网模块的更多信息,请参见TMS320F2838x实时微控制器技术参考手册中的以太网章节。

2.1.1 MAC特性

以太网控制器支持许多Tx和RxMAC功能。MAC包括以下功能组:

√ MAC Tx和Rx功能

√ MAC Tx功能

√ MAC Rx功能

2.1.2 MAC Tx和Rx特性

Tx和Rx的组合特性如下:

√ 应用程序有独立的传输、接收和控制接口

√ 用于传输和接收路径的小单位模式

√ 使用以下PHY接口可实现10,100的数据传输速率:

• 符合IEEE802.3标准的MI(默认)接口,用于与外部以太网PHY通信RMIL  接口,用于与外部快速以太网PHY通信

• RevMI接口,可直接与远程MAC通信

√ 半双工操作:

•支持CSMA/CD协议

•使用背压支持的流量控制(基于具体实施白皮书和UNH以太网条款4MAC测试套件-附件D)

√ 标准IEEE 802.3az-2010用于MI物理环境中的节能以太网。全双工流量控制操作(IEEE802.3x暂停数据包和优先流量控制)

√ 使用RMON或MIB计数器进行网络统计(RFC2819/RFC2665)

√ 支持IEEE 1588-2002和IEEE 1588-2008中描述的以太网数据包时间戳(在PTP数据包的Tx或Rx状态中给出64位时间戳)。在TX方向上支持一步和两步时间戳。

√ 灵活控制每秒脉冲(PPS)输出信号

√ MDIO(条款22和条款45)主接口,用于PHY设备配置和管理

2.1.3 MAC Tx功能

MAC Tx的功能如下:

√ 序言和分组开始数据(SFD)插入

√ 为应用程序传输的每个数据包单独设置32位状态

√ 可根据每个数据包控制自动CRC和焊盘生成

√ 可编程数据包长度,支持大小不超过 16KB的标准或巨型以太网数据包可编程的数据包间隙(每8步40-96位次)

√ 当流量控制输入从断言过渡到解断言时,IEEE 802.3x流量控制自动传输零量子暂停包(全双工模式)

√ 在以每包或静态全局控制方式传输的数据包中插入或替换源地址字段,以及插入、替换和删除VLAN

√ 插入、替换或删除最多两个VLAN标签

√ 插入、替换或删除基于队列/通道的VLAN标签

2.1.4 MAC Rx特性

MAC Rx的功能如下:

√ 灵活的地址过滤模式:

•目标地址过滤器,每个字节都带有掩码

•使用每个字节的掩码进行源地址比较检查

•用于组播和单播(DA)地址的64位哈希过滤器

•传递所有多播寻址数据包的选项

•混杂模式在没有任何网络监控过滤的情况下传递所有数据包

•通过状态报告传送所有传入数据包(根据过滤器)

√ 额外的包过滤:

•基于VLAN标签:完美匹配和基于哈希的过滤。基于外部或内部VLAN标签的过滤是可能的。

•基于第3层和第4层:通过IPv4 或IPv6 传输TCP或UDP

•基于扩展VLAN标签的过滤4个过滤器选择

√ IEEE 802.1O VLAN标签检测和删除接收数据包中的VLAN标签选项

√ 检测远程唤醒包和AMD魔法包的模块

√ 将接收到的暂停数据包转发到应用程序(在全双工模式下)

√ 接收模块用于接收数据包的层-3/层-4校验和卸载

√ 剥离最多两个VLAN标记,并在状态中提供这些标记。
 

2.2 电路原理介绍

Ethernet电路的PHY芯片采用的是DP83822IRHBR,原理图如图2.1所示:


图2.1

DP83822 是一款超稳健、低功耗单端口 10/100Mbps 以太网 PHY,旨在用于恶劣的工业环境。DP83822 提 供通过标准双绞线电缆发送和接收数据或者连接到外部 光纤收发器所需的所有物理层功能。此外,DP83822 还可通过标准 MII、RMII 或 RGMII 接口灵活地连接到 MAC。为了便于使用,DP83822 提供了集成电缆诊断工具、 内置自检和环回功能。该器件能够凭借其快速下行链路 检测和强制模式下的自动 MDIX 功能支持多条工业现 场总线。DP83822 提供了一种出色的可靠方案来降低功耗,具 体将通过 EEE、WoL 和其他可编程节能模式来实现。DP83822 是一个功能丰富的引脚到引脚可升级选项, 适用于 TLK105、TLK106、TLK105L 和 TLK106L 10/100 Mbps 以太网 PHY。DP83822 采用 32 引脚 5.00mm × 5.00mm VQFN 封 装。

特性如下:

• 超稳健 10/100Mbs PHY – IEC 61000-4-2 ESD:+/- 8KV 接触放电 

– IEC 61000-4-4 EFT:4KV 下的 A 类

– CISPR 22 传导发射:B 类

– CISPR 22 辐射发射:B 类

– 工作温度:-40C - 125C

• MAC 接口:RGMII/RMII/MII

• 符合 IEEE 802.3u 标准:100BASE-FX、 100BASE-TX 和 10BASE-Te

• 灵活的电源选项 – 低功耗单电源选项

• 1.8V AVD < 120mW • 3.3V AVD < 220mW

– 可用的 I/O 电压:3.3V/2.5V/1.8V • 省电功能 – 节能以太网 (EEE) IEEE 802.3az

– 支持 WoL(局域网唤醒),具有魔术包检测功能

– 可编程节能模式 • IEEE 1588 时间戳的帧起始监测

• 诊断工具:电缆诊断、BIST(内置自检)、环回、 快速链路断开检测

• 强制模式下自动交叉

第三章 软件说明

3.1 软件下载

用户需安装CCS12.2及以上版本以及C2000WARE,凡购买YXDSP-F28388D至尊板将赠送有关软件安装包以及程序等海量资料。

3.2 程序导入

下载网盘资料里面的F28388D_ethernet_c28x_config_CPU1程序和F28388D_enet_lwip_CM,打开CCS导入并导入程序

3.3 程序介绍

3.3.1 F28388D_ethernet_c28x_config_CPU1程序

如果用户至尊底板上面的版本号是V1.1版本,则还需将GPIO_setPinConfig(GPIO_75_ENET_MII_TX_DATA0)改为GPIO_setPinConfig(GPIO_121_ENET_MII_TX_DATA0);其余程序不变,编译程序即可。

3.3.2 F28388D_enet_lwip_CM程序

(一)如果需要修改IP地址,可打开udp_main.c,找到unsigned long IPAddr = 0xC0A80004,将IP改为 0xC0A80216,即192.168.2.22,如图3.1所示:


图3.1
 

此处修改的IP要与计算机上面设置的IP在同一网段网段即可,此处及以下示例均以192.168.2.22为例,计算机的网络配置见说明书的操作步骤章节。

(二)在main函数里面的while(1)前添加以下代码:

    IP4_ADDR(&ipaddr,192,168,2,160); //远端IP地址

    UdpPcb = udp_new();

    udp_bind(UdpPcb,IP_ADDR_ANY,6600); //绑定本地IP地址和端口号(开发板)

    udp_connect(UdpPcb,&ipaddr,5530); //绑定远端IP地址和端口号(电脑)

此处设置的远端IP地址为192,168,2,160,只需和前面设置的本机IP在同一网段即可,如图3.2所示。


图3.2

(三)在ip4_addr.h中的#define  IPADDR_ANY  ((u32_t)0x00000000UL) 将其修改为#define  IPADDR_ANY  ((u32_t)0xC0A80216UL)  //192.168.2.22

如图3.3所示:


图3.3

(四)如何跳转到ip4_addr.h中并找到第四步所说的IP,找到上述第二步在main函数里面的添加的“udp_bind(UdpPcb,IP_ADDR_ANY,6600);” 语句,选中IP_ADDR_ANY一直跳转到定义为止,可按照一下图片步骤依次执行:图3.4→图3.5→图3.6。


图3.4


图3.5


图3.6

    (五)打开lwipopts.h,找到#define LWIP_UDP ,将其定义为1,如图3.7所示。


图3.7

     (六)上述程序全部修改完成后直接编译所有程序即可,用户如果用C2000里面的程序需要将我们提供的udp_main.c文件直接替换C2000原有的enet_lwip.c,只需将例程中的删除,再将我们提供的udp_main.c复制粘贴进去,其他源文件按照上述步骤修改,最后编译程序即可。也可直接使用我们的例程,无需修改。

3.4 操作步骤

(一)修改计算机的网络配置,在高级网络设置中更改对应网络连接的Internet 协议版本 4(TCP/IPv4)的IP地址为:192.168.2.160,修改步骤如图3.8所示。


图3.8

(二)仿真器依次连接CUP1和Cortex M4,如图3.9所示:


图3.9

(三)将F28388D_ethernet_c28x_config_CPU1程序下载到CPU1中,暂时不要点击运行,将F28388D_ enet_lwip_CM(添加UPD代码的)程序下载到Cortex M4中,暂时不要点击运行。

(四)先运行CPU1中的F28388D_ethernet_c28x_config_CPU1程序,再运行Cortex M4中的F28388D_enet_lwip_CM程序。

(五)在计算机上按住win+R输入cmd进入CMD界面,如图3.10所示,在CMD界面输入ping 192.168.2.22 -t然后点击回车即可,如图3.11所示:


图3.10


图3.11

出现图3.11所示的界面,表示网络已经PING通了。

(六)下面进行UDP通讯测试,打开我们提供的网络助手,协议类型设置为UDP,本地主机地址设置为192.168.2.160,本地主机端口号设置为5530,打开即可在网络数据接收框中查看到数据,如图3.12所示:


图3.12

更多其他Ethernet程序请期待,关注南京研旭公众号查看后续更新。