嵌入式视频通信系统由视频数据采集、处理和通信等部件组成,需要嵌入式网络协议栈的支持。中央处理器采用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包指出网络包错误,因此将LXT97lA的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所示。
没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。 更多评论
|
|
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。 |
|
|
|