中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 嵌入系统 >>电子行业新闻正文

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

时间:2007/2/1 9:55:00  作者:  来源:ic72  浏览人数:1588
 
 

      嵌入式视频通信系统由视频数据采集、处理和通信等部件组成,需要嵌入式网络协议栈的支持。中央处理器采用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协议。在该层主要实现视频编码数据的传输。

      作为一类特殊的计算机系统, 嵌入式系统通常由嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成。嵌入式处理器是嵌入式系统的核心部件,它可分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)和高度集成的嵌入式SoC(System on Chip)。嵌入式外围设备是指嵌入式硬件系统中除中心控制部件以外的存储、通信、保护、调试、显示等其它辅助部件。嵌入式操作系统一般在比较大型或需要多任务的应用场合才考虑使用,它可方便嵌入式应用软件的设计,大大提高嵌入式系统的功能,但同时也要占用宝贵的嵌入式资源。嵌入式应用软件和普通的应用软件有一定的区别,它是针对特定的实际专业领域、基于相应的嵌入式硬件平台、能完成用户预期任务的计算机软件。

      嵌入式处理器有许多种流行的处理器核,本文主要介绍采用Samsung公司基于ARM公司32位RISC的ARM7TDMI核的S3C44B0X处理器来进行Socket通信的软硬件平台的设计和实现方法。

ic72新闻中心

      S3C44B0X是高性价比、高性能的微控制器,它采用ARM7TDMI核,可工作在66MHz。ARM7TDMI是一种32位嵌入式RISC处理器,但也配备了16位压缩指令集Thumb。它支持片上调试,允许处理器响应调试请求暂停,芯片内的增强型乘法器(multiplier)可进行两个32位数相乘从而直接产生64位结果,也可为嵌入式ICE硬件提供片上断点和调试点支持。此外,它还可以提供三级流水线及冯?诺依曼结构。实际上,S3C44B0X已在ARM7TDMI内容基础上扩展了一系列完整的通用外围器件。图1所示是一种嵌入式网络通信系统的硬件体系结构。

      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协议栈适合在低端嵌入式系统中使用。

ic72新闻中心

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

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

ic72新闻中心

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

      3.2 协议栈接口设计

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

      3.2.1 操作系统接口

ic72新闻中心

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

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

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

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

      3.2.2 驱动程序接口

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

      3.2.3 事件管理

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

ic72新闻中心

      该模块定义了一种内核模式的操作方式,该模式处于最高优先级。当网络事件发生时,进入内核模式运行。通过调用系统函数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上实现网络视频的传输,本协议栈目前已成功应用于高速公路的数字视频监控系统中,运行状况良好,该协议栈的实现对数字视频广播系统、视频点播系统等实时多媒体处理的应用也有借鉴作用。

 
【相关文章】
·基于TMS320DM642的嵌入式TCP/I P协议栈的实现(4)
·DDR SDRAM在嵌入式系统中的应用
·μC/OS-ll中任务调度算法的改进
·嵌入式GIS系统软件的低功耗设计
·PSoC的电容式非接触感应按键设计
·如何构建eCos嵌入式系统
·嵌入式多媒体处理器:选择双内核或单内核?
·嵌入式便携设备中电源管理的分析与研究
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9