DSP的设计与应用:基于多核DSP的以太网通信接口设计
88E1111硬件配置完成后,系统将固定为一种接口方式,按照文献的定义,物理芯片的地址为:PHY_ADDRESS=0’b00001,芯片模式为:不带时钟,自动协商的SGMII模式。
3.3 88E1111芯片与RJ45连接
88E1111和网络介质之间无法直接连接,因传输速度在千兆级,所以更加需要设计合适的网络隔离变压器来降低传输损耗、回音和串扰。本文选择千兆网口插座HR911130C,该插座内部自带变压器电路,只需在外部连接滤波网络便可实现网络信号稳定地传输,如图6所示。88E1111和 HR9111130C采用差分连接,在PCB布线时需要严格等长,且一般还需使用阻抗匹配网络,如图6中的R1和C1。
4 软件程序设计
TI针对网络开发发布了网络开发套件(Network Development Kit,NDK),能将多个模块的配置操作交给NDK网络框架实现,同时数据分包和解析也无需程序员过多考虑,加速了网络开发进程。NDK构建在实时操作系统SYS/BIOS之上,NDK通过OS抽象层与BIOS进行交互,同时BIOS的cfg配置文件能对NDK各模块进行可视化查看。
本文基于多核DSP实时操作系统SYS/BIOS上,设计了以太网通信程序。该操作系统能够提供较多的集成模块,方便用户编写程序,且还有软硬件中断管理、多任务同步机制、多核通信机制和存储器管理机制等,可为用户进行多线程多任务开发提供模块化的框架。以太网通信接口的软件总体结构如图7所示。
SYS/BIOS为整个软件提供集成开发环境,不仅拥有适合实时系统的多线程优先抢占机制,还可添加需要的封装库,使得编写程序时可以更加方便地调用库函数。NDK是DSP的网络程序开发集成工具,其中,stack.lib给出了从顶层socket到底层PPP关于TCP/IP协议栈的封装库;nettool.lib提供用于socket网络套接字和用于网络应用开发工具的封装库;os.lib提供应用于SYS/BIOS和网络编程套件之间的系统协调的封装库;hal.lib提供外围设备和网协议栈之间接口的封装库;netctrl.lib提供DSP网络编程的整体控制,可用来配置底层驱动和协议。
本文DSP片上系统软件分为3部分:SYS/BIOS平台和NDK的TCP/IP协议栈建立和配置;用户程序;编制底层驱动程序。
4.1 底层硬件驱动的实现
NDK的基本结构如图7所示,可看出NDK开发套件与用户程序、SYS/BIOS操作系统和底层硬件都有密切的联系。NDK中网络控制层和操作系统接口层与SYS/BIOS系统相连接,NDK的硬件驱动层用于控制底层硬件驱动的配置,这些操作和配置均可在网络工具库中找到相应的驱动函数,并可直接由用户应用程序来调用实现。
这些功能主要包括:
(1)底层硬件驱动包括:MDIO模块和EMAC模块的初始化;PHY芯片搜索配置和状态监测;EMAC/MDIO中断使能。(2)TCP/IP协议栈的建立,配置接收和发送缓存区的大小,完成以太网数据的收发任务。(3)利用MDIO模块,根据MDIO读取的PHY状态寄存器来监测其连接状态,识别可以是CPU产生中断的状态变化事件,并将信息反馈。(4)关闭驱动,复位前面对寄存器进行的操作,收回占用资源。
如图7所示,硬件驱动包含在硬件驱动层hal.lib中,用户需要对按照系统对驱动函数进行修改。C6000系列NDK的API封装了许多固定的驱动函数,具有特定的功能,比如_llPacketSerivceCheck()的作用是检测以太网数据包的结构,且将检测到的结构信息反馈给协议栈进行分析处理。具体的驱动程序需要按照硬件系统的配置来进行设计,在C6678中,可在集成度较高的片上系统直接对网络通信模块的寄存器进行配置查询,就可以完成硬件底层驱动,使得底层硬件能够有效地运行。
4.2 DSP端网络应用程序
DSP软件设计是基于SYS/BIOS实时多任务操作系统和C语言,采用Socket套接字,创建TCP/IP客户端(Client)和服务器端 (Server),Client负责与外部设备服务器端建立连接并接收数据包,Server用来向PC机发送处理后的数据包。接收任务和发送任务流程如图 8所示。在C6678的内核Core0中建立两个同步线程任务,即数据接收和发送任务,分别用来接收TCP服务器发送过来的数据和发送处理后的数据到PC 上位机中进行处理、存储和显示。
4.3 上位机测试程序
上位机测试程基于VC++的MFC界面设计,使用套接字Socket进行网络编程。程序中需设计两个同步线程,用来实现数据的实时接收和动态显示功能。使用TCP服务器端发送船体结构应力数据,经过DSP的接接收、处理和发送过程,最后发送到PC上位机进行数据动态显示,结果如图9所示。
5 结论
本文以8核处理器C6678为核心,对片上集成的以太网交换子系统接口硬件进行了研究,按照接口的特点设计
dsp 相关文章:
- 基于AD73360和TMS320F2812的数据采集系统设计(12-06)
- 基于紫外检测法的智能型特高压验电器系统(03-17)
- 单一DSP控制两套三相逆变器的实现(08-31)
- 基于DSP生成SVPWM在逆变电源中的应用(11-09)
- DSP的大功率开关电源的设计方案(12-01)
- DSP处理器电源方案设计(02-08)