APP下载

多核DSP的以太网远程程序加载方法

2014-09-06陈晶华赵鹤鸣邵雷

单片机与嵌入式系统应用 2014年5期
关键词:客户机IP地址以太网

陈晶华,赵鹤鸣,邵雷

(苏州大学 电子信息学院,苏州 215012)



多核DSP的以太网远程程序加载方法

陈晶华,赵鹤鸣,邵雷

(苏州大学 电子信息学院,苏州 215012)

为了解决工业远程控制设备的软件更新带来的成本和效率问题,在研究了以TMS320C6670为核心的DSP系统的结构和程序启动的基础上,提出了基于以太网的DSP程序远程加载方法。该方法主要基于BOOTP协议的广播和以太网UDP协议实现。实践表明,该加载技术灵活可靠,为远程控制系统的调试和更新提供了便利。

多核DSP;以太网;程序引导

引 言

随着科学技术的不断进步,网络通信技术和DSP技术飞速发展[1],许多智能仪器仪表、工业远程控制设备等能够接入到互联网,实现网络化、智能化的管理和控制。在这些设备中,有很多是以DSP为核心的设备,这些设备的程序代码的引导启动是一个很重要的问题。传统的DSP设备的程序加载方法是通过硬件仿真器来完成的[2],但在实际工业应用中,这种方法存在仿真器携带不便携和设备软件维护更新不方便等缺点。因此基于网络的DSP软件更新就是一种很好的解决方案。

文中介绍了DSP程序加载的基本原理,以TI公司的多核DSP TMS320C6670为例,实现了一种基于以太网BOOTP协议的DSP程序加载技术,利用网络通信实现DSP程序的动态加载[3],提高软件更新效率。

1 原 理

这里使用传统的PC机作为下载服务器,以TMS320C6670为核心的DSP设备作为客户机[4],客户机启动后,不知道任何网络信息,需要通过TCP/IP协议的相关协议IP、UDP、BOOTP提供的功能来实现信息的传播。客户机通过BOOTP协议获得所需相关网络信息,然后通过UDP协议包获取待执行的引导程序,并运行之[5]。

1.1 IP协议和UDP协议

IP(Internet Protocol,互联网协议)是TCP/IP中网络层协议。UDP(User Datagram Protocol,用户数据报协议)是TCP/IP传输层的无连接协议。由于完整的TCP/IP协议将占用大量系统资源,所以在高可靠的局域网中,可以采用UDP协议发送数据包。

1.2 BOOTP协议

客户机启动时,需从网络上获取三种信息:本机的IP地址、下载服务器的IP地址、待下载的运行程序。

BOOTP(BOOTstrapping Protocol)能为无盘机获得启动所需的所有信息。在发送BOOTP请求之前,BOOTP客户既不知道自己的IP地址,也不知道服务器的IP地址,BOOTP必须通过广播方式发送请求。BOOTP服务器收到请求后,根据以太网地址,从下载数据库中查出相应应答表项,构成BOOTP响应,再应答之。对于服务器而言,此时客户机的IP地址已经知道,可以直接应答,不必用广播方式。

BOOTP报文交易就是请求,响应一个来回,交易成功与否只有客户知道,因此当服务器关闭或网络工作不正常时,将导致交易出错或报文丢失,客户需进行重传处理(每3 s重传一次)。当有多个响应(多服务器响应或BOOTP应答延时),可设一个标志,客户只接受并处理第一个响应,其余都抛弃。

1.3 BOOTP包格式

BOOTP包格式如图1所示。

图1 BOOTP包格式

包操作码/消息类型:1=BOOTREQUEST(引导请求),2=BOOTREPLY(引导应答)。硬件地址类型:1=10M以太网。硬件地址长度:6是10M以太网。跳跃点数:用于跨网引导,由路由器使用。事务ID:一个随机数,用来匹配引用请求和应答。客户端引导所用秒数:由客户端填写,客户端引导开始后的过去的秒数。客户端IP地址:BOOTP客户将此置为0,要求服务器应答本客户的IP地址。你的IP地址:BOOTP客户将此设置为0。服务器IP地址:由服务器在引导应答返回。网关IP地址:用于跨网引导时使用。客户端硬件地址:客户填充本机MAC地址。服务器主机名:用于跨网引导时使用。引导文件名:BOOTP请求置为0,服务器应答时将由BOOTPTAB填充一个特定的运行程序路径名。标准选项域:此域用于BOOTP客户从服务器获得一系列标准选项,例如网管IP地址、网关IP地址、DNS域名服务器IP地址、客户机名等。

1.4 以太网数据包格式

以太网请求包格式如图2所示。

图2 以太网请求包格式

DIX以太网中包含目标MAC地址(一般为FF:FF:FF:FF:FF:FF)和源MAC地址(即设备本身MAC地址)。IPV4中包含版本号、长度、协议、校验和及源地址IP和目标地址IP(这里IP地址均为0.0.0.0)。UDP中包含源端口、目标端口、长度及校验和。

以太网引导包格式如图3所示。

图3 以太网引导包格式

2 硬件设计

系统采用多核TMS320C6670 DSP芯片作为主控芯片,其内置千兆网络协处理器[6],所以外围电路只需增加物理层芯片。结构框图如图4所示。

图4 硬件结构框图

3 下载实现过程

客户机:当硬件复位时,在RESET信号上升前,配置好开发板上的拨码开关SW3、SW4、SW5、SW6,确定TMS320C6670芯片为以太网引导方式。RBL(ROM Boot Loader)配置SerDes,SGMII和PASS准备接收来自以太网接口的引导包。RBL配置发送通道发送以太网请求包(每3 s发送一次)。

服务器即PC机端用Wireshark软件作为抓包软件,以太网请求包广播到服务器端,见图5,从中可以看出间隔约3 s多客户机广播一次BOOTP包。

图5 上位机接收到BOOTP

图6 以太网请求包

图6为以太网请求包主要内容,与原理中描述的以太网请求包格式是一致的,包含DIX以太网、IPV4、UDP协议和BOOTP协议包。

图7为接收到的BOOTP包内容。

图7 BOOTP包

服务器此时收到了BOOTP协议包,获得了客户机的MAC地址,此时要进行ARP(Address Resolution Protocol,地址解析协议)地址绑定。在完成上面两步后,通过上位机通信程序将帧文件发送给客户机[7-8]。图8为截取的UDP发送图。

图8 UDP包发送

图9为以太网引导包内容。

图9 UDP太网引导包

当帧文件发送完毕后,客户机根据接收来的数据进行处理,找到数据部分,进行启动加载。

在CCS 开发环境下生成的目标文件是*.out, 即通用目标文件格式( COFF) 。该文件可以在CCS 开发环境下通过仿真器下载到DSP 目标板中运行调试, 但该代码文件并不是DSP 中实际运行的程序代码, 需用Hex工具( hex6x. exe) 进行转换成引导表文件, 然后再用bconvert64x.exe和bootpacket.exe工具将引导表文件转换成以太网引导格式数据文件,并封装成帧文件。

结 语

[1] 李方慧.TMS320C6000系列DSPs芯片的原理与应用[M].北京:电子工业出版社, 2000.

[2] 刘德生, 李杰. 基于JTAG 的DSP 外部Flash 在线编程与引导技术[J]. 电子技术应用,2005(3).

[3] 卞红雨,TMS320C6000系列DSP的CPU与外设[M].北京:清华大学出版社,2007.

[4] Texas Instruments Inc. TMS320C6670 data manual,2011.

[5] Texas Instruments Inc. KeyStone Architecture Bootloader User Guide,2012.

[6] Texas Instruments. KeyStone Architecture Network Coprocessor User Guide, 2010.

[7] Texas Instruments. TMS320C6000 Assembly Language Tools User Guide,2012.

[8] Texas Instruments. KeyStone Architecture Gigabit Ethernet Switch Subsystem User Guide, 2012.

陈晶华(硕士),主要研究方向为数字信号处理;赵鹤鸣(教授),主要研究方向为语音信号处理;邵雷(硕士),主要研究方向为嵌入式系统。

Ethernet Program Loading Based on Multi-core DSP

Chen Jinghua, Zhao Heming,Shao Lei

(College of Electronic Information, Soochow University,Suzhou 215012,China)

In order to solve the problems that cost and efficiency of industrial remote control device software update brings, based on the TMS320C6670 DSP core structure of the system and the program boots, this paper presents the remote loading method for Ethernet-based DSP software. The method is mainly based on the BOOTP protocol broadcast and Ethernet UDP protocol. Practice shows that the add-in flexible and reliable technology, which provides a convenient remote control system debugging and updating.

multi-core DSP;Ethernet;program guide

TP311.1

A

2013-10-24)

猜你喜欢

客户机IP地址以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
铁路远动系统几种组网方式IP地址的申请和设置
IP地址切换器(IPCFG)
基于SNMP的IP地址管理系统开发与应用
谈实时以太网EtherCAT技术在变电站自动化中的应用
公安网络中IP地址智能管理的研究与思考
浅谈EPON与工业以太网在贵遵高速公路中的应用
万兆以太网在连徐高速公路通信系统改造中的应用
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”