基于C6000DSPNDK的组播网络设计与实现.doc_第1页
基于C6000DSPNDK的组播网络设计与实现.doc_第2页
基于C6000DSPNDK的组播网络设计与实现.doc_第3页
基于C6000DSPNDK的组播网络设计与实现.doc_第4页
基于C6000DSPNDK的组播网络设计与实现.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于C6000 DSP NDK的组播网络设计与实现时间:2013-06-15 12:58:56 来源:电子科技 作者:董博宇,毛晓丹,刘志哲,张伟峰,王 平摘要:随着系统应用的复杂化,很多情况下需要将相同数据分发至不同的使用终端,这也促进了网络传输组播模式的应用。基于实际应用需求,以TMS320C6455芯片为核心处理平台,利用TI公司DSPC6000平台上的NDK(Net Developers Kit)开发包,对Marvell公司的88E6060(SWI TCH)芯片进行配置,实现了适用于多个终端进行组播方式网络通信的嵌入式系统设计。经过测试验证,该系统工作正常稳定,实现了百兆组播传输功能。关键词:C6000;88E6060;嵌入式系统;NDK;组播网络0 引言 嵌入式系统采用以太网接口传输数据相对于传统的串口、并口、1553B总线接口来说具有通用性强、传输速度快的特点,并且保证了较高的可靠性。TI公司在TMS320C6455(以下简称C6000系列高端的芯片中,大多提供了网络接口模块,DSP6455)就是其中典型的一款芯片。它的工作时钟可达1 GHz,片上集成以太网接口模块EMAC。结合TI公司推出的NDK(Net DevelopKit)网络资源开发包,可以大大缩短嵌入式系统中网络应用的开发周期,并且性能不逊于W5300等专业网口芯片。由于一片DSP6455只有一个EMAC接口以及MDIO管理模块,并且NDK的软件初始化只查询一个PHY口就停止,所以传统应用中,典型设计是在该DSP芯片外部接一个PHY芯片,连接一个终端设备,或者通过总线直接连接以太网专用芯片来实现点对点的网络连接。而现在越来越多的嵌入式系统应用需要连接多个终端设备进行组网,在网络中进行数据交换。本文选择利用DSP6455外接Marvell公司的SWITCH芯片(88E6060),该芯片具备6个端口,每个端口都具备100M10M全双工的通信能力,最终实现该嵌入式系统与其他两个设备的100 MHz组播方式的网络通信。1 电路原理设计 基于TI DSP6455的片内EMACMDIO模块、片外SWITCH(88E6060)芯片及其外围电路的接口设计,可以快速实现OSI七层模型中数据链路层和物理层(MAC+PHY)的组建。DSP6455支持三种接口连接方式,MIIRMIIGMII。MII接口(Media Independent Intetface)以及RMII(Reduced Media Independent Interface)接口分别为媒体独立接口和缩减媒体独立接口,它们支持10M100M工作模式。GMII接口的全称是吉比特媒体独立接口(Gigabil Media Independent Interface),它支持10M100M1 000M三种工作模式。因为选取的88E6060只支持百兆MIIRMII的接口方式,本设计采用MII的接口方式进行连接,信号连接框图如图1所示。 设计过程中,使用88E6060的port5作为MII接口与DSP6455的EMAC接口进行连接,port0port4可以任意使用,作为PHY对外进行连接。本设计以应用port0和port1为例进行说明,其他情况相似。配置时将88E6060的ENABLE_MII5和DISABLE_MII4管脚悬空,通过其内部上拉下拉使能port5的MII口,DSP6455通过MDIO接口对88E6060的内部PHY寄存器进行访问,通过EMAC接口发送和接收网络数据。2 NDK的配置与使用 TI公司的NDK(Net Develop Kit)开发包是基于DSPBIOS进行工作的,开发包已经集成网络开发所需函数,行使OSI七层模型中传输层、网络层和数据链路层的功能,并按网络开发所需将中断和任务进行配置。当NDK开发环境配置好之后,就可以利用传输语句进行数据的发送和接收。传统情况下,NDK只适用于对单一的PHY进行配置连接,一旦连接建立便中止查询其他的PHY是否可用。本例由于DSP6455外接一片SWIT CH芯片,理论上可以将所有能使用的PHY进行初始化并建立连接,所以需要对原有的工作流程进行改造,工作流程对比如图2所示。 改造后的NDK运行流程最重要的是实现对其他外部有效PHY的配置。配置过程需要添加MDIO控制函数来对PHY进行初始化操作。本文使用的PHY为SWITCH芯片的PHY0与PHY1口,所以需要添加对两个使用口进行初始化的语句,来完成对SWITCH芯片的配置工作,初始化代码如下: MDIO_phyRegWrite(0,0x0,0x1100); MDIO_phyRegWrite(1,0x0,0x1100); 在MDIO_phyRegWrite(uint phyIdx,uint phyReg,Uint16 data)函数中,参数phyIdx为所配置PHY的识别ID,参数phyReg为需要配置的寄存器序号,参数data为具体的配置值。两语句完成了SWITCH芯片PHY0与PHY1口的控制寄存器的初始化操作,使这两个PHY接口处于激活状态,如果外部出现网络连接请求,便会进行连接。同时通过MDIO_phyRegRead(uint phyIdx,uint phyReg,Uint16*pdata)函数来查询PHY的工作状态,如果一段时间仍未连接上,就转入配置流程,进行重新配置。具体PHY寄存器的地址以及位置信息参照88E6060的数据手册。3 组播传输的配置实现 组播是一种允许一个或多个发送者(组播源)发送相同的数据包到多个接收者(一次的,同时的)的网络技术。组播源把数据包发送到特定组播组,而只有属于该组播组的成员才能接收到数据包。组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。组播的使用提高了主干网络的数据传送效率。组播工作方式如图3所示。 组播的实现主要有两个条件:主机的网络接口支持组播(支持IP地址与MAC地址的转换);有一套用于加入、离开、查询的组管理协议,即IGMIP,这两个条件NDK都进行了支持。以该嵌入式系统应用为例,在NDK中进行组播传输配置步骤如下: (1)加入组IGMPJoinHostGroup(inet_addr(McSend Addr),1);这里的McSendAddr为DSP6455使用的IP地址,本语句是将这个IP地址加入到组播组中。 (2)创建新的传输socket,协议为UDP传输协议。 SOCKET send=INVALID_SOCKET; send = socket (AF_INET, SOCK_DGRAM, IPPRO TO_UDP); (3)设定传输地址配置结构体 soutl为发送地址配置的结构体,BrSendPort为发送的端口号,BrSendAddr为发送的组播地址,IPv4中组播分配的地址范围为2240 00 239255255255,即D类保留地址,可以从中选择任意值配置。 (4)绑定发送socket与地址配置结构体 bind(send,(PSA)&soutl,sizeof(sourl); (5)准备好数据后发送 sentCnt=sendto(send, (void*)source,num,0,&soutl,sizeof(sout1); 经过上述步骤的配置,就可以根据应用需求,将嵌入式系统中需要外传数据通过组播网络传输出去。4 测试结果与结论 本文设计嵌入式系统在工作时,同时与另外两台PC终端通过网线进行连接,实验连接示意图如图4所示。嵌入式系统配置为本地IP:19216803,组播发送地址IP:239113,终端1配置为本地IP:19216806,终端2配置为本地IP:19216807。 通过CCS33调用程序加载并运行,在终端1与终端2观察本地连接均连接成功,在终端1对嵌入式系统与终端2进行ping操作,显示为通路;在终端2对嵌入式系统与终端1进行ping操作,显示为通路,证明网络设备之间点点联通,具备组播网络传输条件。 嵌入式系统采集数据后,通过以太网以组播方式传输至终端1与终端2,利用VC+编写的软件,在239113的组播地址中正确接收到发送数据。 嵌入式系统准备好数据后进行循环发送,在终端1与终端2运行Ethreal软件进行检测,传输速率平均达到121 MBs,满足百兆以太网传输速率。5 结语 本设计创新使用DSP6455外接SWITCH芯片的连接方式,通过对NDK软件配置流程的重新设计,在嵌入式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论