基于ND K的DSP网络通信技术研究
2021-12-02郑佳晶高荣荣
郑佳晶,高荣荣
(中国电子科技集团公司第四十五研究所,北京100176)
网络通信作为一种有效的通信方式,在DSP应用开发中占据越来越重要的地位。从DSP设备实时获取监控或测量的数据、向DSP设备发送命令控制其采取适当的处理行为等,都需要网络通信的支持。随着嵌入式网络通信技术研究与应用越来越广泛,网络通信处理技术越来越成熟。TI公司推出了TCP/IP协议栈。此协议栈与TI网络开发工具包NDK(Network Developer's Kit)结合在一起使用。NDK是一个基于SYS/BIOS实时操作系统的网络协议栈,目前主要用于开发和验证TI C6000系列和ARM系列嵌入式处理器的网络应用功能。包含在NDK发布版中的代码是通用的C代码。NDK栈作为一个快速的原型平台为开发网络和包处理程序提供服务。它能用于向已经存在的应用程序中添加网络连接,以支持网络的通信、配置和控制。基于SYS/BIOS的网络开发组件,提供网络协议栈的支持,提供基本网络服务开发的接口,简化了DSP网络应用程序的开发[1]。
NDK仅用200~250K的程序空间和95K的数据空间即可支持常规的TCP/IP服务,包括应用层的TELNET、DHCP和HTTP等协议,可使基于数字信号处理技术的因特网终端的网络连接成本大大降低。因此,NDK很适合目前的嵌入式系统硬件环境,是实现DSP网络开发的重要支撑工具。
1 NDK的功能架构
如图1所示,NDK主要由5个库组成,分别是硬件抽象库(hal.lib)、网络控制库(netctrl.lib)、网络工具库(nettool.lib)、操作系统库(os.lib)和协议栈库(stack.lib)。

图1 协议栈控制流
(1)硬件抽象库HAL将具体的底层硬件抽象为一个硬件抽象层与NDK隔离,主要负责管理与网络相关的硬件资源,为NDK提供一组编程接口。……
