位置:51电子网 » 技术资料 » 嵌入式系统

基于TMS320DM642的嵌入式TCP/I P协议栈的实现

发布时间:2008/5/27 0:00:00 访问次数:540


嵌入式视频通信系统由视频数据采集、处理和通信等部件组成,需要嵌入式网络协议栈的支持。中央处理器采用dsp,占用了大量资源,而网络协议栈能够使用的运算资源、内存资源有限,并且缺乏操作系统给网络协议栈的实现带来困难。针对视频监控应用,本文提出了在ti公司的高性能dsp芯片 tms320dm642(以下简称dm642)上实现精简的tcp/ip协议栈的解决方案,阐述了其硬件接口电路的设计及软件实现。

1 tcp/ip协议栈分析

嵌入式tcp/ip协议栈具有tcp/ip协议栈的基本功能,它运行于以太网环境下,其软件模型如图1所示。

最底层是物理层,定义了以太网控制器的工作方式,实现以太网帧的封装、发送和接收。本系统使用intel公司的以太网收发器lxt97la。

第二层是网络层,完成ip数据报的封装和转发,并根据帧的类型(icmp、tcp或udp等)进行相应处理。ip协议提供了一种高效、不可靠和无连接的传输方式。本系统不支持对ip包的分片和重组。地址解析协议arp实现ip地址到mac地址的动态转换。icmp协议定义了一套差错报文和控制报文,在该系统用于测试网络的连通情况。

第三层是传输层,完成数据报的传输控制。该层主要包括tcp协议和udp协议。tcp提供可靠的数据传输,而 udp提供不可靠的数据传输。与udp相比,tcp的可靠性是通过非常复杂的措施以及由此增加的开销为代价获得的。监控终端传输的数据大部分是图像编码数据,这些数据对实时性和传输率的要求高,而对数据可靠性的要求相对较低,因此本系统将udp协议作为传输层协议。

最上层是应用层,解决用户特定的应用,主要包括http、ftp、telnet、smtp、snmp、dns等internet协议。在该层主要实现视频编码数据的传输。

2 硬件设计

2.1 系统结构

硬件系统结构如图2所示。

dm642从以太网物理层设备phy接收mac帧,实现tcp/ip协议栈的网络层、传输层和应用层的相关协议。以太网物理层设备完成以太网帧的发送和接收,包括mac数据帧的收发、crc(循环冗余检测)编码/校验、曼彻斯特编解码、载波监听、错误和冲突检测等。以太网phy通过隔离变压器和 rj45接口连接至以太网。eeprom用来存放本地mac地址。

2.2 dsp以太网接口设计

dm642是ti公司推出的一款面向数字多媒体应用的dsp,因集成了以太网mac接口,所以需要一个物理层网络处理芯片。本文采用了intel公司的lxt971a芯片。dm642的mii接口不支持txer,它通过crc包指出网络砦螅虼私獿xt97la的txer引脚直接接低电平置为无效。

dm642与lxt971a的连接如图3所示。

3 软件设计

3.1 tcp/ip协议栈在dsp上的实现

根据tcp/ip协议栈的软件模型,将lwlp (tcp/ip)协议栈移植到dsp上。lwip是瑞士计算机科学院adam dunkels等开发的一套用于嵌人式系统的开放源代码tcp/ip协议栈。它既可以移植到操作系统上,又可以在无操作系统的情况下独立运行。lwip tcp/ip实现的重点是在保持tcp协议主要功能的基础上减少对ram的占用,它只需要几十kb的ram和40kb左右的rom便可以运行。因此 lwip协议栈适合在低端嵌入式系统中使用。

使用该协议栈前,需要针对系统采用的底层网络硬件和操作系统作相关移植工作,并需对协议栈裁剪和优化,以适应嵌入式系统的特定网络应用需求。lwip移植关键是底层硬件驱动函数和封装协议栈使用到的系统函数的编写,为dsp/bios提供api 接口。协议栈软件结构如图4所示。

虚线框内是移植的lwip协议栈,实现应用程序、操作系统及物理层设备驱动的api。在lwip原有协议的基础上,实现底层网络驱动和硬件驱动 api,将网络上层协议与通信链路的物理接口隔离。同时封装协议栈中用到的事件管理、任务管理、时间管理等系统函数实现系统api功能。通过 dsp/bios可以实现任务线程操作、存储器分配、包缓冲管理、定时器管理等。

网络控制模块是协议栈控制的核心,控制tcp/ip协议栈与外界的交互,完成tcp/ip协议栈和底层设备驱动的初始化;并调用用户配置函数获取系统配


嵌入式视频通信系统由视频数据采集、处理和通信等部件组成,需要嵌入式网络协议栈的支持。中央处理器采用dsp,占用了大量资源,而网络协议栈能够使用的运算资源、内存资源有限,并且缺乏操作系统给网络协议栈的实现带来困难。针对视频监控应用,本文提出了在ti公司的高性能dsp芯片 tms320dm642(以下简称dm642)上实现精简的tcp/ip协议栈的解决方案,阐述了其硬件接口电路的设计及软件实现。

1 tcp/ip协议栈分析

嵌入式tcp/ip协议栈具有tcp/ip协议栈的基本功能,它运行于以太网环境下,其软件模型如图1所示。

最底层是物理层,定义了以太网控制器的工作方式,实现以太网帧的封装、发送和接收。本系统使用intel公司的以太网收发器lxt97la。

第二层是网络层,完成ip数据报的封装和转发,并根据帧的类型(icmp、tcp或udp等)进行相应处理。ip协议提供了一种高效、不可靠和无连接的传输方式。本系统不支持对ip包的分片和重组。地址解析协议arp实现ip地址到mac地址的动态转换。icmp协议定义了一套差错报文和控制报文,在该系统用于测试网络的连通情况。

第三层是传输层,完成数据报的传输控制。该层主要包括tcp协议和udp协议。tcp提供可靠的数据传输,而 udp提供不可靠的数据传输。与udp相比,tcp的可靠性是通过非常复杂的措施以及由此增加的开销为代价获得的。监控终端传输的数据大部分是图像编码数据,这些数据对实时性和传输率的要求高,而对数据可靠性的要求相对较低,因此本系统将udp协议作为传输层协议。

最上层是应用层,解决用户特定的应用,主要包括http、ftp、telnet、smtp、snmp、dns等internet协议。在该层主要实现视频编码数据的传输。

2 硬件设计

2.1 系统结构

硬件系统结构如图2所示。

dm642从以太网物理层设备phy接收mac帧,实现tcp/ip协议栈的网络层、传输层和应用层的相关协议。以太网物理层设备完成以太网帧的发送和接收,包括mac数据帧的收发、crc(循环冗余检测)编码/校验、曼彻斯特编解码、载波监听、错误和冲突检测等。以太网phy通过隔离变压器和 rj45接口连接至以太网。eeprom用来存放本地mac地址。

2.2 dsp以太网接口设计

dm642是ti公司推出的一款面向数字多媒体应用的dsp,因集成了以太网mac接口,所以需要一个物理层网络处理芯片。本文采用了intel公司的lxt971a芯片。dm642的mii接口不支持txer,它通过crc包指出网络砦螅虼私獿xt97la的txer引脚直接接低电平置为无效。

dm642与lxt971a的连接如图3所示。

3 软件设计

3.1 tcp/ip协议栈在dsp上的实现

根据tcp/ip协议栈的软件模型,将lwlp (tcp/ip)协议栈移植到dsp上。lwip是瑞士计算机科学院adam dunkels等开发的一套用于嵌人式系统的开放源代码tcp/ip协议栈。它既可以移植到操作系统上,又可以在无操作系统的情况下独立运行。lwip tcp/ip实现的重点是在保持tcp协议主要功能的基础上减少对ram的占用,它只需要几十kb的ram和40kb左右的rom便可以运行。因此 lwip协议栈适合在低端嵌入式系统中使用。

使用该协议栈前,需要针对系统采用的底层网络硬件和操作系统作相关移植工作,并需对协议栈裁剪和优化,以适应嵌入式系统的特定网络应用需求。lwip移植关键是底层硬件驱动函数和封装协议栈使用到的系统函数的编写,为dsp/bios提供api 接口。协议栈软件结构如图4所示。

虚线框内是移植的lwip协议栈,实现应用程序、操作系统及物理层设备驱动的api。在lwip原有协议的基础上,实现底层网络驱动和硬件驱动 api,将网络上层协议与通信链路的物理接口隔离。同时封装协议栈中用到的事件管理、任务管理、时间管理等系统函数实现系统api功能。通过 dsp/bios可以实现任务线程操作、存储器分配、包缓冲管理、定时器管理等。

网络控制模块是协议栈控制的核心,控制tcp/ip协议栈与外界的交互,完成tcp/ip协议栈和底层设备驱动的初始化;并调用用户配置函数获取系统配

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!