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

发布于:2007/1/22 8:54:56 | 2056 次阅读

嵌入式视频通信系统由视频数据采集、处理和通信等部件组成,需要嵌入式网络协议栈的支持。中央处理器采用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所示。

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

网络控制模块是协议栈控制的,控制TCP/IP协议栈与外界的交互,完成TCP/IP协议栈和底层设备驱动的初始化;并调用用户配置函数获取系统配置,为底层设备驱动提供接口,调度驱动事件进入TCP/IP栈;在退出时卸载系统配置并清除驱动。

3.2 协议栈接口设计

TCP/IP协议接口包括与实时操作系统的交互、驱动程序接口、进程间通信、存储管理、缓冲区管理、定时器和事件管理、配置与控制等。

3.2.1 操作系统接口

DSP/BIOS是为需要实时调度和同步以及主机/目标系统通信和实时检测的应用而设计的实时操作系统。在协议栈中,通过设计操作系统。API,为DSP/BIOS提供接口函数,完成操作系统的配置,提供任务、信号灯、存储器分配、缓冲区管理等支持。

在协议栈内部定义了一个配置结构用于操作系统的配置,通过它对协议栈的优先级及大小进行配置。

与一般的桌面系统不同,嵌入式实时系统需要用户根据需要分配存储区。在该系统中,将协议栈代码存储在外部Flash,包缓冲区分配在外部SDRAM。

TCP/IP栈和设备驱动使用包缓冲区发送及接收网络包数据。标准的以太网缺省帧为1518字节(包括帧头和循环冗余校验)。系统采用一个由32个缓冲区构成的缓冲池,每个缓冲区的大小为1664字节。这样分配可以对齐Cache边界,保证冲洗(flush)Cache时,不会与其他缓冲区发生冲突。

3.2.2 驱动程序接口

驱动程序完成LXT971A芯片和定时器的初始化及各种参数设置,并提供发送、接收数据的接口。其软件操作流程有查询模式和中断模式。为提高响应速度采用中断模式,同时尽量把大部分操作放在主流程中执行,以缩减中断处理程序的操作。

3.2.3 事件管理

协议栈的事件调度管理在网络控制模块中实现,用于定时器到时、缓冲区入队列、接收数据包等管理。在协议栈完成设备初始化后调用调度程序。

该模块定义了一种内核模式的操作方式,该模式处于优先级。当网络事件发生时,进入内核模式运行。通过调用系统函数llEnter()和llExit()进入或退出内核模式。事件调度的基本流程如下:

Static void NetScheduler()

{

SetSchedulingPriority(); //设定调度程序的优先级

while(!NetHaltFlag)

{

WaitForEvents(); //中断模式下,等待事件中断

ServiceDeviceDrivers();//设备驱动服务,获取事件

//在内核模式下处理事件

If(StackEvents)

{

llEnter();//进入内核模式

ServiceStackEvents();// 处理事件

llExit();// 退出内核模式

}

}

}

3.3 网络控制初始化流程

由于TCP/IP栈需要操作系统完成其初始化,因此必须硬件诊断完成且DSP/BIOS初始化完成之后对网络控制进行初始化。

在调用TCP/IP协议相关函数前,先初始化操作系统环境,再创建一个新的配置,或从只读存储器中导出一个已存在的配置,然后把配置句柄及回调函数start、stop和IP地址变换操作传递给协议栈。直到网络关闭时,应用程序关闭在start中调用的操作并释放分配的资源,退出网络协议栈,网络控制初始化流程如图5所示。

图5 网络控制初始化流程

本文在DM642芯片上实现了一个高度精简的嵌入式TCP/IP协议栈,论述了协议栈的硬件接口设计和软件实现。可以方便地在DSP上实现网络视频的传输,本协议栈目前已成功应用于高速公路的数字视频监控系统中,运行状况良好,该协议栈的实现对数字视频广播系统、视频点播系统等实时多媒体处理的应用也有借鉴作用。

参与讨论
后参与讨论

//评论区

推荐阅读

智能网联汽车国际标准法规协调专家组(HEAG)召开工作会议

近年来智能网联汽车快速发展,新技术不断涌现,与相关产业融合度持续提升,正在推动全球汽车产业发生深刻变革。为应对此种形势,欧、美、日等汽车工业发达国家和地区都加大了智能网联汽车的国际标准法规协调的参与力度,在联合国世界车辆法规论坛(UN/WP.29)和国际标准化组织(ISO)层面,智能网联汽车相关国际标准法规协调活动正快速推进。 为更有效地支撑上述组织的国际标准法规协调活动,2017年全国汽车标准

0215jiejie | 发布于:2022-12-01 0评论 0赞

苹果推出搭载M2芯片的新款iPad Pro 799美元起售

据苹果官网,苹果推出搭载M2芯片的新款iPadPro。 11英寸wifi版起售价为799美元,wifi+蜂窝网络版起售价为999美元;12.9英寸wifi版起售价为1099美元,wifi+蜂窝网络版起售价为1299美元。

0215jiejie | 发布于:2022-10-19 0评论 0赞

新能源汽车领衔 “中国智造”加速登陆欧洲市场

全球五大车展之一巴黎车展时隔四年再度启幕。在这场被视为“全球汽车行业风向标”的盛会上,国内外汽车品牌云集,长城汽车、比亚迪等再次领衔中国汽车出海。 长城汽车欧洲区域总裁孟祥军表示:“欧洲是长城汽车最重要的海外市场之一,巴黎车展是长城汽车向欧洲市场展示GWM品牌和产品的最佳机会。长城汽车正在研究汽车行业碳排放的整个生命周期,到2025年,将推出50多款新能源产品,全力支持可再生能源使用,为全球用户

0215jiejie | 发布于:2022-10-19 0评论 0赞

严监管时代来临,电子烟“通配”大战走向何方?

针对通配烟弹厂商的一系列诉讼的结果,将对生产通配烟弹的品牌未来在电子烟行业的发展产生深远影响。 10月1日,《电子烟强制性国家标准》正式实施,中国电子烟监管全面生效。而在电子烟行业进入规范化、法治化阶段前夕,一场围绕着通配烟弹的争论在行业里发酵。 “通配”是电子烟从业者约定俗成的概念。换弹式电子烟由烟杆和烟弹组成,“通配”烟弹指的是非品牌商生产、可与品牌烟杆匹配使用的烟弹。多位业内人士表示,被

0215jiejie | 发布于:2022-10-19 0评论 0赞

Bourns 全新大功率分流电阻器

采用金属感应引脚,专用于大电流应用中进行精确测量 全新分流电阻器专为电池管理系统、大电流工业控制和电动汽车充电站 提供高可靠性、高成本效益的解决方案 美国柏恩Bourns全球知名电子组件领导制造供货商,宣布新增12款CSM2F系列功率分流电阻器,扩展其产品组合。全新系列采用铆接通孔金属传感引脚,可满足大电流应用中对电压测试点精确定位日益增长的需求。最新型Bourns?CSM2F系列分流电阻器

0215jiejie | 发布于:2022-10-18 0评论 0赞

请尊重元宇宙“这个筐”

元宇宙是个筐,啥都往里装,但区别在于有的像聚宝盆,有的像垃圾桶。国庆假期刚结束,中青宝“90后”董事长李逸伦便亲自上阵,玩起了元宇宙婚礼。靠着老板首秀和代言,中青宝顺势推出“MetaLove元囍”App,正式进军元宇宙婚礼赛道。 就产品而言,如同其他元宇宙产品,李逸伦的元宇宙婚礼“新奇与吐槽齐飞”:有人说是有趣的尝试,有人则认为像QQ炫舞结婚系统。要知道,QQ炫舞是一款推出了十余年的老游戏。

0215jiejie | 发布于:2022-10-13 0评论 0赞

边缘计算:突围商业模式痛点

截至8月末,中国5G基站总数达210.2万个,中国5G发展已经进入下半场。随着5G加速融入千行百业,互动直播、vCDN、安防监控等场景率先大规模落地,车联网、云游戏、工业互联网、智慧园区、智慧物流等场景也快速走向成熟,这些更大流量、更低时延、更高性能的场景涌现,对边缘计算的刚性需求势必爆发。 GrandViewResearch预测,即使在新型冠状病毒肺炎疫情肆虐全球的背景下,边缘计算和5G网络市

0215jiejie | 发布于:2022-10-13 0评论 0赞

商务部回应美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”

商务部新闻发言人10日就美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”应询答记者问。 有记者问:近日,美国商务部在半导体制造和先进计算等领域对华升级出口管制措施。同时,在将9家中国实体移出“未经验证清单”过程中,又将31家中国实体列入,请问中方对此有何回应? 对此,商务部新闻发言人回应称,中方注意到相关情况。首先,通过中美双方前一阶段共同努力,9家中国实体zui终

0215jiejie | 发布于:2022-10-13 0评论 0赞

TCL华星官宣与奔驰合作:推出全球首款横贯A柱的车载显示屏

今年1月,奔驰带来了VISIONEQSS概念车,其中控台采用了一块完全无缝的47.5英寸曲面显示屏,横贯整个A柱,令人印象深刻。今天,TCL华星正式官宣与奔驰达成合作,并认领了VISIONEQSS上这块全球首款横贯整个A柱曲面的车载显示屏。 根据TCL介绍,这款显示屏采用了完全无缝的超薄一体化设计,将仪表盘、中控与副驾娱乐显示融为一体,并能够与3D实时导航系统相辅相成。 同时,这块显示屏还采用

0215jiejie | 发布于:2022-10-12 0评论 0赞

半导体板块暴跌 谁最受伤

国庆假期后首日开盘,上证综指时隔5个月再次失守3000点,与此同时,半导体板块也再度走低,其中,北方华创、雅克科技等个股跌停。10月11日早盘期间,半导体板块持续下挫,北方华创、雅克科技再度跌停。截至下午收盘,北方华创、雅克科技维持跌停状态,华海清科、拓荆科技-U、盛美上海、清溢光电、海光信息的跌幅则超10%。同日,半导体板块中的119只个股中超五成呈现下跌趋势。 在半导体板块遭遇下挫的同时,北

0215jiejie | 发布于:2022-10-12 0评论 0赞