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

合集下载

基于C6000系列DSP片外Flash的IAP设计

基于C6000系列DSP片外Flash的IAP设计
01101。
பைடு நூலகம்3 首 次 烧 写 设 计
C6000系列 DSP没有片上 ROM ,只有 片 上 RA M , 脱 机 运 行 需 配 置 外 部 Flash, 第 一 次 代 码 烧 写 需 编 写 专 门 的 烧 写 程 序 来 下 载 应 用程序 到外部 Flash中。这 是一种 需要加载 两 次 程序 的方 法,如 图 l所 示,首 先用 CCS编 译 软 件 打 开 用 户 应 用 程 序 , 生 成 可 执 行 文 件
下 面将 分 别 从 CMD 连 接 命 令 文 件 配 置 , 二 次 引 导程 序 设 计 , 向 量 表 设 计 , 在 线 烧 写 设 计 详 细介 绍 IAP的实 现。 因 C6000系 列 DSP 的原理 都 一致 ,实例 代 码是 以 C6701硬 件 平 台给 出 。
传 统 的 JTAG或 者 ICP等 烧 写 方 法, 过程 繁 琐 复 杂 , 极 大 地 降 低 了 工 作 效 率 , 所 以 开 发
(.OUT), 然 后 用 CCS的 file/loadprogram 加 载 应 用 程 序 的 OUT文 件 到 DSP片 上 内 存 空 间 。 再 通过 map文件 ,确定 应用程 序 各段 数据 所 对应 的空间,将程序段和数据段这 两段数据采 用 file/dataJload命令 分别 导 出成 dat格 式 的文 件 。 然 后 加 载 Flash烧 写 程 序 , 利 用 file/data/ load命令 ,将 生成的 dat文件加加载到 DSP片 上 RAM 的一段 未使用 的空间 中,然后使 用专 用烧写程序将数据烧写到对应 的 Flash空间 中。
图 1: 首次 烧 写 流程
序 的 启 动 。 当用户 应用 程序 需要 更新 的 时候 ,可 以

基于Matlab对C6000系列DSP系统进行软件开发的研究

基于Matlab对C6000系列DSP系统进行软件开发的研究

本科毕业设计(论文)基于Matlab/Simulink对C6000系列进行软件开发的研究Research on the software development of C6000 seriesbased on Matlab/Simulink学院:电子信息工程学院专业:通信工程学生姓名:张林学号:11291162指导教师:高海林北京交通大学2016年4月中文摘要摘要:随着Math Works公司的产品Matlab/Simulink的不断升级,基于Matlab /Simulink 的DSP系统开发方式愈来愈成熟,功能愈发强大。

Embedded Target for TI C6000工具箱可以完成从概念方案设计到软件代码仿真甚至是在硬件DSP板生进行测试的全过程,使用Matlab /Simulink可以将仿真通过的函数模型直接转换成在DSP系统上能够执行的C / C++ 代码,生成的代码可用于实时应用和硬件在线测试,对于Simulink工具箱Embedded Target for TI C6000中已有的函数图形进行简单程序的代码生成,比如EVMDM642案例DSP系统,确实可以方便地仿真以及实现快速的从算法概念到目标代码的自动生成,几乎不需要用户参与代码编写,对于简单的应用,用户只需要动一动手指,按一按鼠标,就能够让Matlab生成全套的代码,毫不费力。

可以得出结论:基于Matlab/Simulink的DSP代码生成的方法,在人力和物力的损耗上,要优于传统的基于CCS的DSP开发方式,能够加快DSP系统开发的速度,降低开发的难度,并且,基于Matlab/Simulink的DSP代码生成的方法适用于初学者,非高深资历的开发人员同样能够通过这个方式来完成DSP开发的科研任务。

关键词:Matlab;Simulink;DM642;自动代码生成ABSTRACTABSTRACT:With the continuous upgrading of Works Math Matlab/Simulink products,/Simulink DSP based Matlab system development is increasingly mature, more powerful. Embedded Target for TI C6000 toolbox can be completed from conceptual design to software simulation code even in the whole process of DSP in hardware testing, using the Matlab/Simulink function can be converted directly into the model through simulation can be performed on the DSP / C+ + C code, the generated code can be used for real-time applications and hardware the online test, for Simulink Target for TI C6000 Embedded toolbox has the function of simple graphics program code generation, such as theEVMDM642 case of the DSP system, automatic generation can easily achieve fast algorithm simulation and from concept to object code, almost do not need users to participate in the preparation of the code, for simple applications, users only need to move your finger, press the mouse, can let Matlab generate a full set of code, easy. We can draw the conclusion: the method based on MATLAB / Simulink DSP code generation, in the loss of human and material resources, is superior to the traditional based on CCS of DSP development way, can accelerate the speed of DSP system development, reduce development difficulty and based on MATLAB / Simulink DSP code generation method is suitable for beginners, non developers of advanced qualifications can also through this way to accomplish research tasks in the development of DSP.KEYWORDS:Matlab; Simulink; DM642; Automatic Code Generation目录中文摘要 (I)ABSTRACT (II)目录 (III)1引言:毕业设计的背景与意义 (1)1.1研究背景 (1)1.2研究意义 (1)1.3研究问题简述 (2)1.4课题提出的要求 (3)1.5毕业论文的结构 (3)2MATLAB和SIMULNK简介 (4)2.1M ATLAB 软件现状简述 (4)2.2S IMULINK现状简述 (6)2.3M ATLAB/SIMULINK配置与指令 (7)3CCSTUDIO介绍及传统DSP代码生成流程 (9)3.1CCS TUDIO配置与指令 (9)3.2传统DSP软件开发流程 (9)4基于MATLAB/ SIMULINK的DSP目标代码生成方法 (10)4.1生成流程 (10)4.2基于M ATLAB对TMS320DM642为核心的目标DSP开发板进行仿真和代码生成的函数模型设计 (11)4.3基于M ATLAB对EVMDM642DSP系统板进行仿真和代码生成 (15)4.4基于M ATLAB对合众达公司SEED-VPM642DSP系统生成代码进行移植的方法和分析265基于MATLAB的DSP代码生成方法总结 (30)参考文献 (32)致谢 ......................................................................................................................... 错误!未定义书签。

一种基于TMS320C6000系列芯片的多DSP程序动态加载方案

一种基于TMS320C6000系列芯片的多DSP程序动态加载方案

Electronic Component&Device Applications一种基于TMS320C6000系列芯片的多DSP程序动态加载方案吴海燕,张晓玲(电子科技大学电子工程学院,四川成都610054)摘要:提出了在PC机远程控制下,利用一片FLASH存储器实现多DSP系统对多份用户代码进行加载并有选择地重新载入用户程序的方法,同时在分析了DSP自举加载步骤的基础上,给出了系统的硬件电路框图,并结合TI公司的DSP芯片TMS320C6416,介绍了它的装载流程和通过PC机远程控制动态加载DSP的具体过程。

关键词:多DSP;动态加载;Bootloader图1系统硬件结构Vol.10No.12Dec.2008第10卷第12期2008年12月 2008.12Electronic Component&Device ApplicationsVol.10No.12Dec.2008第10卷第12期2008年12月2008.12τ其中,x 是小于1的常数。

当输入脉冲数很多且有多部雷达同时存在时,相邻脉冲的间隔可以认为是随机事件,也就是说,脉冲前沿可以认为是随机Poisson 点。

此时可将有限的观察时间T 分为n 个脉冲子间隔,这样,在时间间隔τ=t 2-t 1内有K 个随机Poisson 点出现的概率为:p k (τ)=(λτ)ke-λτ式中,λ=n /T ,它表示在单位时间内的脉冲子间隔数,此时相邻两脉冲间隔为τ的概率近似为:p 0(τ)=e-λτ上式即为第一级差值直方图的大致形式。

由于直方图实际上是一个随机事件的概率分布函数的近似值,所以,较高级差值直方图一般呈指数分布形式。

构成第C 级差值脉冲组的数量为(E -C ),即观察时间内一共有(E -C )个时间发生。

Poisson 流的参数λ=1/kN 。

这样,即可概括出SDIF算法的最佳检测门限函数为:T threshold (τ)=x (E -C )e -τ/kN其中,E 为脉冲总数,C 为差值直方图的级数,k 为小于1的正常数,N 是脉冲总数。

TI C6000DSP 上TCP IP 协议栈的实现-最新资料

TI C6000DSP 上TCP IP 协议栈的实现-最新资料

TI C6000DSP 上TCP IP 协议栈的实现1、 NDK 的结构TI公司依据C6000芯片推出了TCP/IP NDK(Network Developer's Kit)开发套件,其主要构成包括:(1)支持TCP/IP 协议栈程序库。

其中主要含有的库:支持TCP/IP网络工具的库,支持TCP/IP 协议栈与DSP/BIOS平台的库,网络控制以及线程调度的库。

(2)示范程序。

其中主要包括DHCP/Telnet 客户端, HTTP 数据服务器示范。

(3)支持文档。

包含用户手册、程序员手册和平台适应手册。

NDK 采用紧凑的设计方法,实现了用少量的资源耗费来支持TCP/IP。

从实用效果来看, NDK 仅用200-250K程序空间和95K 数据空间即可完成常规的TCP/IP 服务。

NDK相对于操作系统和底层硬件是透明的,因为这是由OS。

LIB 提供操作系统DSP/BIOS的接口和HAL。

LIB 提供对硬件的支持来实现的。

在NDK的TCP/IP协议栈中STACK。

LIB 包括了顶层套接字到底层链路层的所有功能, NETCTRL。

LIB在整个协议栈中起关键作用,协调操作系统和底层硬件驱动,管理所有网络事件, NETTOOL。

LIB 提供配置网络各种服务。

2、NDK 在DSP/BIOS 下的使用DSP/BIOS 是TI 开发的实时微型操作系统,支持线程管理、实时分析、周期函数、调度软件中断以及外部硬件中断与各种外设的管理。

使用DSP/BIOS 所有与硬件有关的操作都必须借助操作系统本身提供的函数完成,应避免直接控制硬件资源。

基于DSP/BIOS 的程序与传统开发过程是不同的,用户编写的程序由DSP/BIOS 调度,不再按标写的次序顺序执行。

同样开发基于DSP/BIOS的网络应用程序也必须要遵循一些原则。

在DSP/BIOS 下使用NDK 必须注意以下几点:(1)为了保证使用NDK 的工程项目能正确编译,在CCS 的Link Order 要按一定的顺序添加库文件,推荐的顺序是: NETCTRL。

基于NDK的DSP网络通信的设计与实现

基于NDK的DSP网络通信的设计与实现

基于NDK的DSP网络通信的设计与实现【摘要】本文针对TMS320DM642芯片上集成的以太网通信接口,利用NDK 开发套件,设计并实现了图像数据编码流的网络传输的功能。

详细介绍了在TI C6000 DSP芯片上进行网络通信开发的过程,对基于NDK套件的DSP网络通信功能的开发具有一定的指导作用。

【关键词】NDK;TCP/IP;以太网1.引言随着嵌入式智能信息终端系统的日渐普及和互联网技术的快速发展,越来越多的嵌入式设备需要进行实时网络通信,因此对嵌入式设备的网络通信的研究已成为热门研究对象。

TI公司推出的C6000系列DSP芯片在硬件上减少了嵌入式产品的网络应用成本。

而其推出的NDK(Network Development Kit)工具在软件上加速了网络开发的进程。

NDK可支持常规的TCP/IP服务,因此很适合目前嵌入式系统的硬件环境,是实现C6000 DSP网络通信的重要支撑工具。

本系统基于TMS320DM642芯片的以太网通信接口,利用NDK网络开发套件,设计开发了图像数据经编码以后进行网络传输,完成了基于DM642的网络服务器的功能。

本文研究了如何在DM642上进行嵌入式网络功能的开发。

系统使用的硬件平台为TI的TMS320DM642,软件开发环境是CCS3.1。

2.DSP网络通信的硬件结构本文以TI公司的TMS320DM642 DSP 作为信号处理的主芯片来构建系统。

基于DM642芯片的嵌入式网络通信系统的主要硬件部分有:视频输入模块、DSP 内核、以太网模块、外部存储模块、JTAG调试模块和电源模块。

图1为系统硬件结构图,系统前端视频输入由视频解码芯片TVP5150实现,数据采集格式为YUV4:2:2,TVP5150通过数据接口与DM642的VP口连接,并向其内部的FTFO传送数据,当FIFO中接收的数据达到所设定的阈值时,会触发EDMA事件,此时EDMA将FIFO中的数据传送到SDRAM中,当采集完一帧图像数据EDMA产生中断,在中断服务程序中应用程序通过调用视频驱动函数获取当前采集的图像数据,并根据设定的情况完成数据处理。

一种基于TMS320C6000系列芯片的多DSP程序动态加载方案

一种基于TMS320C6000系列芯片的多DSP程序动态加载方案

接 ,以控 制 各 个D P S 的复 位 。 此外 ,还 选 用C — Y
P E S 司 的C 7 0 5 V 为 外接 R M存储 器 . R S公 Y C 82 作 A
其 容量 为 1 8 x 6bt 2 3 i,它 一端 与 主D P K S 的E F MIA
般 的D P S 系统 只是 在 每 个D P 片上 单 一 S芯
收 稿 日期 :0 8 0 — 5 20 — 8 2
图 1 系统 硬 件 结 构
1 电 子 元 器 件 主 嗣 20 . W Wed.n 2 0 81 2 W. a c c
第 1o 第 月 O 年1 2 卷 l 期 2 8 2 0
帮搜雾缔 ห้องสมุดไป่ตู้ 痢
V1 o2 0 0 . . N1 1
给 出 了 系 统 的硬 件 电路 框 图 . 并 结 合 T 公 司 的 D P 片T 3 0 6 1 , 介 绍 了它 的 装 载 流 程 I S芯 MS 2 C 4 6
和 通 过 P 机 远 程 控 制 动 态加 载 D P 具 体 过 程 。 C S的
关 键 词 : 多D P S ;动 态加 栽 ;B o od r ot ae l
时运算 等 。这些 日益增 长 的需 求 对数 据处 理 器提 出 了更 高 的要 求 。事实 上 。在 研究 D P 法 的 同 S算
时 . 大 量 研 究 者 也 对 D P 统 的 加 载 和 重 载 进 行 S系 T 3 0 6 0 是 T 公 司T 30 列 中 的 新 一 MS 2 C 0 0 I MS 2 系
加 载 ,还 想 到 了利 用 扩 张F A H的方 法 来 增 强 L S DP S 动态 加 载 的 灵活 性 。 由于各 个 D P S 系列 的产 品特性 不尽 相 同 .往往 在加 载方 式方 面也 有 所不 同 ,所 以 ,对不 同 系列 的D P 片进行 分 别研 究 S芯 十分必要 。

TMS320C6000系列DSP板级设计分析

TMS320C6000系列DSP板级设计分析

TMS320C6000系列DSP板级设计分析The Analysis and Design of the TMS320C6000 DSP Printed Circuit Board武汉理工大学信息工程学院刘岚熊承煜摘要:德州仪器公司的TMS320C6000(以下简称TI C6000)系列DSP是目前国际上性能最高的DSP芯片。

本文从该系列芯片的封装设计开始,分析讨论了整个PCB的制作过程中需要注意的一系列问题,内容主要包括C6000系列DSP的BGA封装焊盘定义选择的分析、多层板布线分析和SMT焊装时关于元件贴片、回流焊接技术的分析。

本文对广大的TI C6000系列DSP系统开发人员具有一定的借鉴意义。

引言近年来,以高速数字信号处理器(DSP)为基础的实时数字信号处理技术飞速发展,并获得了广泛的应用。

TMS320C6000系列DSP是德州仪器公司(TI)推出的定点、浮点系列DSP,其中定点产品峰值处理能力达到4800MIPS,浮点产品峰值处理能力达到1350MFLOPS,是目前国际上性能最高的DSP之一,其卓越的性能使得它在传统的DSP领域、雷达、无线电基站等高端领域,以及宽带媒体、身份识别等新兴领域都有很好的应用前景。

随着DSP性能和功能的不断增强,应用系统的设计越来越复杂,要将DSP的性能充分释放出来,合理的板级设计是DSP系统开发人员面临的一个关键性的问题。

BGA封装的设计分析C6000系列DSP采用的是一种高密度BGA(Ball Grid Array)封装,采用这种封装的好处包括可以获得更好的高频电气性能、比引脚封装具有更长的使用周期、尺寸更小以及制造成本更低等。

BGA封装给芯片制造商以及芯片本身的性能都带来了好处,但是对于板级开发人员来说,却造成了很多不便之处,布线、焊装、检测与调试都比以前更加困难。

在设计密脚距(Fine-Pitch)的BGA封装时,不同技术的应用会带来不同的生产质量,PCB上焊盘的合理设计能提高生产的可靠性。

基于TI C6000系列DSP的网络开发研究

基于TI C6000系列DSP的网络开发研究

红 。 , 授 。 究 方 向 : 息 处 理 技 术 ; 兴华 , 。 士 研究 生 。 究 方 女 教 研 信 吴 男 博 研 向 : 式 识 别 ; 强 强 , 。 士 研 究 生 . 究方 向 : 式 识别 。 模 隋 男 博 研 模
收 稿 日期 :0 91 .1 20 .2 1
Nu mme :S r PRS 2 J ht : 2 6 . tp // WW W.t.e n , 0 6. i o l2 0
刘 钊 江 ,郑 红 ,吴 兴 华 ,隋强 强
( 北京 航空航 天大学 自动化科 学与 电气 工程 学院 ,北京 10 9 ) 0 1 1
摘 要 : 对 T 0 0系列 D P 的 网络 开 发 进 行 研 究 。 合 T P I 网 针 I 0 C6 S 结 C /P 络模 型 详 细 描 述 了 T 60 1C 0 0系 列 D P的 片上 以太 网 接 口模 块 以 及 通 S 信 接 口的 硬 件 电路 。 述 了 N 讲 DK 的 结 构 以及 利 用 N DK 进 行 D P 网络 S 开 发所 需 要 注 意 的 问题 。 指 出 了可 能 对 网 络性 能 产 生 影 响 的 因素 。 并 对 于 开发 基 于 DS P的 网 络 程序 具 有 一 定 的指 导 作 用 。
关 键 词 : P; CP I DS T /P;N DK

3 C /P模 型中的传输层 提供 了一项 名为 U P的传输 )T P I D
协议 选 择 。 O I 型 与 T P I 型 的 对 比: 图 1 示 。 S模 C /P模 如 所
下文 将依 据 T P I C /P模 型 详 细 阐述 基 于 T 6 0 IC 00系列 D P的 网 络开 发 的一 般 方 法 和 相 关 问题 。 S
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于C6000 DSP NDK的组播网络设计与实现时间:2013-06-15 12:58:56 来源:电子科技作者:董博宇,毛晓丹,刘志哲,张伟峰,王平摘要:随着系统应用的复杂化,很多情况下需要将相同数据分发至不同的使用终端,这也促进了网络传输组播模式的应用。

基于实际应用需求,以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所示。

设计过程中,使用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所示。

改造后的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中组播分配的地址范围为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。

通过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,连接的通用性也很强。

设计人员可以根据需要来增减网络连接的端口数,实现应用需求。

相关文档
最新文档