基于C6000 DSP NDK的组播网络设计与实现

发布者:平和梦想最新更新时间:2013-08-11 来源: 电子科技关键字:组播网络  设计  实现 手机看文章 扫描二维码
随时随地手机看文章
   

摘要:随着系统应用的复杂化,很多情况下需要将相同数据分发至不同的使用终端,这也促进了网络传输组播模式的应用。基于实际应用需求,以TMS320C6455芯片为核心处理平台,利用TI公司DSPC6000平台上的NDK(Net Developer’s 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个端口,每个端口都具备100M/10M全双工的通信能力,最终实现该嵌入式系统与其他两个设备的100 MHz组播方式的网络通信。

1 电路原理设计
    基于TI DSP6455的片内EMAC/MDIO模块、片外SWITCH(88E6060)芯片及其外围电路的接口设计,可以快速实现OSI七层模型中数据链路层和物理层(MAC+PHY)的组建。DSP6455支持三种接口连接方式,MII/RMII/GMII。MII接口(Media Independent Intetface)以及RMII(Reduced Media Independent Interface)接口分别为媒体独立接口和缩减媒体独立接口,它们支持10M/100M工作模式。GMII接口的全称是吉比特媒体独立接口(Gigabil Media Independent Interface),它支持10M/100M/1 000M三种工作模式。因为选取的88E6060只支持百兆MII/RMII的接口方式,本设计采用MII的接口方式进行连接,信号连接框图如图1所示。

a.JPG


    设计过程中,使用88E6060的port5作为MII接口与DSP6455的EMAC接口进行连接,port0~port4可以任意使用,作为PHY对外进行连接。本设计以应用port0和port1为例进行说明,其他情况相似。配置时将88E6060的ENABLE_MII5和DISABLE_MII4管脚悬空,通过其内部上拉/下拉使能port5的MII口,DSP6455通过MDIO接口对88E6060的内部PHY寄存器进行访问,通过EMAC接口发送和接收网络数据。

2 NDK的配置与使用
    TI公司的NDK(Net Develop Kit)开发包是基于DSP/BIOS进行工作的,开发包已经集成网络开发所需函数,行使OSI七层模型中传输层、网络层和数据链路层的功能,并按网络开发所需将中断和任务进行配置。当NDK开发环境配置好之后,就可以利用传输语句进行数据的发送和接收。传统情况下,NDK只适用于对单一的PHY进行配置连接,一旦连接建立便中止查询其他的PHY是否可用。本例由于DSP6455外接一片SWIT CH芯片,理论上可以将所有能使用的PHY进行初始化并建立连接,所以需要对原有的工作流程进行改造,工作流程对比如图2所示。

b.JPG


    改造后的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的数据手册。
[page]

 

    3 组播传输的配置实现
    组播是一种允许一个或多个发送者(组播源)发送相同的数据包到多个接收者(一次的,同时的)的网络技术。组播源把数据包发送到特定组播组,而只有属于该组播组的成员才能接收到数据包。组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。组播的使用提高了主干网络的数据传送效率。组播工作方式如图3所示。

d.JPG


    组播的实现主要有两个条件:主机的网络接口支持组播(支持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)设定传输地址配置结构体
    c.JPG
    soutl为发送地址配置的结构体,BrSendPort为发送的端口号,BrSendAddr为发送的组播地址,IPv4中组播分配的地址范围为224.0.  0.0 ~239.255.255.255,即D类保留地址,可以从中选择任意值配置。
    (4)绑定发送socket与地址配置结构体
    bind(send,(PSA)&soutl,sizeof(sourl));
    (5)准备好数据后发送
    sentCnt=sendto(send, (void*)source,num,0,&soutl,sizeof(sout1));
    经过上述步骤的配置,就可以根据应用需求,将嵌入式系统中需要外传数据通过组播网络传输出去。

4 测试结果与结论
    本文设计嵌入式系统在工作时,同时与另外两台PC终端通过网线进行连接,实验连接示意图如图4所示。嵌入式系统配置为本地IP:192.168.0.3,组播发送地址IP:239.1.1.3,终端1配置为本地IP:192.168.0.6,终端2配置为本地IP:192.168.0.7。

e.JPG


    通过CCS3.3调用程序加载并运行,在终端1与终端2观察本地连接均连接成功,在终端1对嵌入式系统与终端2进行ping操作,显示为通路;在终端2对嵌入式系统与终端1进行ping操作,显示为通路,证明网络设备之间点点联通,具备组播网络传输条件。
    嵌入式系统采集数据后,通过以太网以组播方式传输至终端1与终端2,利用VC++编写的软件,在239.1.1.3的组播地址中正确接收到发送数据。
    嵌入式系统准备好数据后进行循环发送,在终端1与终端2运行Ethreal软件进行检测,传输速率平均达到12.1 MB/s,满足百兆以太网传输速率。

5 结语
    本设计创新使用DSP6455外接SWITCH芯片的连接方式,通过对NDK软件配置流程的重新设计,在嵌入式系统上成功实现了组播模式的数据传输。网络连接建立后,每个点都可以作为系统中通信数据的发送源和接收端,并可根据需求来选择是否加入组播组接收数据发送端的下传数据。这种方式特别适合应用于嵌入式系统外接多个数据采集记录装置的情况,使用起来非常灵活。外接终端设备可以是定制嵌入式系统,也可以是普通PC,连接的通用性也很强。设计人员可以根据需要来增减网络连接的端口数,实现应用需求。

关键字:组播网络  设计  实现 引用地址:基于C6000 DSP NDK的组播网络设计与实现

上一篇:基于PCI总线的DSP系统应用程序的更新
下一篇:芯原ZSP G4 DSP架构和ZSP981核 低功耗且性能提升了17倍

推荐阅读最新更新时间:2024-05-02 22:44

基于FPGA的CAN总线通信节点设计
摘要:以FPGA代替传统的单片机和外围扩展芯片,给出了CAN总线通信节点的详细设计方案。其中以SJA1000为CAN总线控制器、FPGA为主控制器,设计实现通信节点的硬件接口电路。基于对CAN总线控制器的功能分析,并应用Verilog语言进行软件设计,从而实现CAN节点之间的通信功能。 0引言 CAN总线允许高达1Mbit/s通讯速率,支持多主通讯模式,有高抗电磁干扰性而且能够检测出通信过程中产生的任何错误,已被广泛应用到各自动化控制系统中。在项目的特殊环境要求下,CAN总线通信要求使用FPGA作为系统中的主控制器,较之传统设计使用的单片机,FPGA能够在速度和体积上有更好的适应性。FPGA一方面减少了电路板的复杂程度,缩
[工业控制]
基于单片机六自由度自动寻迹机械人的设计
  1 系统原理   1.1 自动寻迹模块的系统原理   本设计中自动寻迹模块主要由单片机及其外同电路、红外寻迹电路、直流电机控制电路等组成。正常工作时,单片机循环检测红外寻迹电路输出信号,据此产生直流电机控制信号,当系统检测到工作方式发生改变时,系统进入相应方式。其原理框图如图1、图2所示。   图1 自动寻迹模块原理框图   图2 自动寻迹模块原理框图   1.2 六自由度机械手模块的系统原理   系统的设计采用模块化的方法,将机械于划分为基座、手臂、手腕、手部4部分。控制器以MSP430单片机为主控制器,具体控制部分框图见图3。   图3 六自由度模块的原理框图   2 系统设计   2.1 自
[单片机]
基于单片机六自由度自动寻迹机械人的<font color='red'>设计</font>
基于FPGA的远距离测温器数控系统设计
摘要:介绍了远距离测温器的结构组成和工作原理,设计了基于FPGA的远距离测温器数控系统的数据采集与控制系统,使用Altera公司的Cyclonell系列的FPGA实现了包括数据采集、数据通信等控制功能,着重叙述了硬件与软件的实现方法。该数控系统具有测量精度高,低功耗等特点。 关键词:远距离测温;FPGA;数据采集与控制系统;NiosⅡ 0 引言 在一些特殊的科研场所和工业生产单位,出于各种条件限制,仪表往往不能就近测量物体实际温度;而以往所使用的一些传感器在使用时受到各种环境因素的影响,使得传感器测量得到的温度不能精确地反映被测物体的温度。因此,人们需要找寻一种远距离测温器,能够精确测量物体温度,并能实时监控温度数据。
[嵌入式]
基于FPGA的远距离测温器数控系统<font color='red'>设计</font>
赛普拉斯全新评估套件简化太阳能供电的物联网设备的设计
2017 年 5月 22 日,赛普拉斯半导体公司宣布推出一款全新评估套件,用于评估赛普拉斯的能量收集电源管理 IC (PMIC) 系列产品。赛普拉斯 CYALKIT-E04 评估套件为开发者提供一个易用的平台,使其能够运用太阳能组件设计无电池设备或延长电池寿命, 并且可以评估多种用于无线传感器节点的电源管理功能。该套件可在物联网应用中,与赛普拉斯的蓝牙®低功耗 (Bluetooth® Low Energy) 无线连接解决方案配套使用。 该评估套件包含两个独立的评估板,用于评估以太阳能为超级电容器充电的超低功耗S6AE102A 和 S6AE103A PMIC 产品,还有一个用于分析门磁传感器或环境光传感器操作的传感器板。另
[电源管理]
赛普拉斯全新评估套件简化太阳能供电的物联网设备的<font color='red'>设计</font>
基于龙芯2F的车载和便携设备系统设计
 设计了一款基于国产处理器龙芯2F 的嵌入式应用系统,该系统主要面向车载和便携设备。针对车载和便携设备的特点,在芯片选择上主要突出低功耗和稳定性;对直流电源部分进行了优化,提高了整个系统的效率;在系统的调试过程中,采用替代手段消除SM502芯片I2C 逻辑上的bug,使系统支持市场上所有类型的内存条;为使系统的信号完整性达到高频电路的要求,提出了相应的设计方法和流程。    0. 引言   近年来,车载和便携式多媒体播放设备倍受人们追捧,竞相推出多种设计方案。基于龙芯2F (LOONGSON-2F )处理器的车载和便携设备设计方案主要面向车载娱乐、超移动设备(UMD)、移动Internet 设备(MID)等高性能、低功耗嵌
[嵌入式]
人工智能带动ASIC设计快速增加,产品出货量将成长10.1%
根据Semico Research,在未来几年,人工智能将以图形辨识、语音辨识和语言翻译等各种形式,出现在几乎每一款装置与应用中… 根据Semico Research的最新调查报告,在2021年以前,人工智能(AI)声控装置ASIC的设计预计将以接近20%的复合年成长率(CAGR)成长,几乎达到2016年至2021年间所有ASIC设计成长率(10.1%)的两倍。 随着Amazon Echo和Google Home等声控数位助理的普及,加上普遍对于人工智能(AI)进行设计的狂热,新创公司与既有业者正积极地开发晶片,为产品增添声控功能以及其他AI特性,特别是在消费领域。 根据Semico公司ASIC/SoC资深研究分析师R
[半导体设计/制造]
LC正弦波振荡器电路设计
  电子线路中,除了要有对各种电信号进行放大的电子线路外,还需要有能在没有激励信 号的情况下产生周期信号的电子电路,这种在无需外加激励信号的情况下,能将直流电能转 换成具有一定波形、一定频率和一定幅度的交变能量的电子电路称为高频信号发生器。   高频信号发生器主要用来向各种电子设备和电路提供高频能量或高频标准信号,以便测 试各种电子设备和电路的电气特性。例如,测试各类高频接收机的工作特性,便是高频信号 发生器一个重要的用途。在电路结构上,高频信号发生器和高频发射机很相似。   高频信号发生器主要是产生高频正弦震荡波,故电路主要是由高频振荡电路构成。振荡 器的功能是产生标准的信号源,广泛应用于各类电子设备中。为此,振荡器是电子技术领
[电源管理]
LC正弦波振荡器电路<font color='red'>设计</font>图
基于英伟达Jetson Thor芯片,如何快速实现具身智能方案创新?
发烧友网报道(文/吴子鹏)近一段时间,在各种相关的大会上,具身已经成为共同的,并且有很多人将2024年定义为具身智能产业发展元年,因为此前都是概念性探索,今年则是开始切实地需求落地。 根据中国计算机学会的定义,具身智能横跨人工智能、学习、等学科,属于有物理身体的智能体通过与物理环境进行交互,从而获得智能的人工智能研究范式。那么,如果想要搭建自己的具身智能创新方案,该如何做呢? 那么,在这里我们向大家的Jetson Thor方案以及相关的配套资源。 专门为机器人应用打造的Jetson Thor 1950年图灵首次提出具身智能概念,但在那之后具身智能并没有取得很大进展,很重要的原因就是基于
[机器人]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved