首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 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
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   基于PPP的TMS320C6x嵌入式网络接口设计      ★★★ 【字体: 】  
基于PPP的TMS320C6x嵌入式网络接口设计
收集整理:佚名    来源:本站整理  时间:2009-01-10 23:54:13   点击数:[]    

New()的深入研究,我们可以把握住PPP低层驱动程序设计的关键之处。pppNew()的接口为:

HANDLE pppNew(HANDLE hSI , uint pppFlags ,uint mru , IPN IPServer , IPN IPMask , IPN IPClient, char *Username, char *Password, UINT32 cmap, void (*pfnSICtrl)(HANDLE, uint , UINT32, HANDLE ));

  pppNew包含有许多参数,重要的有:hSI 供回调函数使用的句柄、pppFlags 连接选项标志、mru 最大接收单元数以及网络地址和子网掩码、用户名称和口令等。其中,最重要的参数是回调函数的指针:pfnSICtrl 。当TCP/IP包需要通过PPP发送数据时,将使用该指针提供的函数。

 

  回调函数由PPP低层驱动程序的开发人员负责编写,但它的接口是由pppNew的参数决定的。回调函数的接口界面为:

  void SIControl( HANDLE hSI , uint Message , UINT32 Data, HANDLE hPkt)

  参数的含义为:hSI与特定PPP连接会话(由pppNew创建)相联系的句柄,Message描述 PPP 事件的消息代码,Data关于消息代码的附加信息。hPkt是最重要的,当消息代码为SI_MSG_ SENDPACKET时,表示发送数据包的句柄。

  PPP 通常在三类情况下调用该回调函数,即:

  ① SI_MSG_CALLSTATUS PPP 的连接状态已经改变;

  ② SI_MSG_SENDPACKET PPP 正在请求一将数据帧编码和传输;

  ③ SI_MSG_PEERCMAP LCP 已经收到对等的 32 位异步字符映射。

3 编程举例

  下面给出两段代码,说明在PPP低层驱动程序中如何接收和发送数据。

  接收数据通过pppInput函数实现,核心代码如下:

HANDLE hPkt;

HANDLE hFrag;

uint Offset,ValidSize;

UINT8 *pb;

// 生成1500字节payload包

if( !(hPkt = IFCreatePacket( 1500, 0, 0 )) ) return( 0 );

hFrag = PktGetFrag( hPkt ); //得到此包的存储器碎片

pb = FragGetBufParams( hFrag, 0, 0, 0 ); // 得到包头指针

Offset = PktGetSizeLLC( hPkt );

if( Offset <= 2 ) Offset = 0;

else Offset-=2;

pb += Offset; // 置pb指针到写数据开始处

// 利用指针“pb”向数据包中填充数据;hFrag是向PPP传

//递的句柄

FragSetBufParams( hFrag, PACKETSIZE, Offset );

return( hPkt );

  发送数据的情况要复杂一些,需要使用回调函数。回调函数的结构如下:

void SIControl ( HANDLE hSI, uint Msg, UINT32 Aux, HANDLE hPkt )

{…switch( Msg )

{

case SI_MSG_CALLSTATUS:

if( Aux >= SI_CSTATUS_DISCONNECT )

{ // Close PPP

if( hSI→hPPP )

{

hTmp = hSI→hPPP;

hSI→hPPP = 0;

pppFree( hTmp );

}

break;

case SI_MSG_PEERCMAP:

break;

case SI_MSG_SENDPACKET:

// 确认数据包有效

// 取数据缓冲区参数

// 计算“净荷”(payload)的起始地址

// 发送数据

// 释放数据包

break;

}

}

结 语

  自1994年PRECISE公司在TMS320C3x上推出TCP/IP开发包以来,如何在以DSP为硬件环境的嵌入式系统中支持TCP/IP就一直引人关注。随着硬件水平的提高和应用的深入,基于DSP的TCP/IP应用日渐增多。由于嵌入式系统的特殊应用环境,它的链路层情况非常复杂,所以开发方法与常规的网络开发方式有稍许不同,NDK自身已体现出了这种差异。目前,将PPP应用在嵌入式系统中仍是一种新的、积极的尝试。在NDK中,提供了多种方式支持PPP通信。我们认为,在操作系统层面开发基于PPP的应用时,应该采用低层 PPP API,这样可以适应更多的应用需求和嵌入式应用环境。



上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:TLC320AC01与DSP的接口设计

  • 下一篇文章:TMS320C55x的指令流水线及其效率的提高
  • 返回上一页】【打 印】【关闭窗口
    中查找“基于PPP的TMS320C6x嵌入式网络接口设计”更多相关内容 5VAR论文频道
    中查找“基于PPP的TMS320C6x嵌入式网络接口设计”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››基于PPP的TMS320C6x嵌入式网络接口...
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .