第一论文网免费提供职业技术教育论文范文,职业技术教育论文格式模板下载

基于以太网协议的XPC目标与DSP间的通信

  • 投稿段知
  • 更新时间2015-09-23
  • 阅读量541次
  • 评分4
  • 63
  • 0

罗 奇 余永元 龙 航 张晓航

(贵州大学电气工程学院,贵州 贵阳 550025)

【摘 要】DSP 28335的网卡芯片RTL8019AS是高度集成的以太网控制器,符合IEEE802.3标准,可以通过网络接口同时发送和接收数据。本文主要是基于以太网TCP/IP协议实现xPC目标与DSP间的全双工通信以及通信的可靠性。在Simulink中搭建以太网发送/接收模型,通过编译下载到xPC目标机运行。xPC目标机对传输数据进行封装并打包通过以太网发送给DSP,DSP接收xPC的数据包进行解包还原然后反馈给xPC目标进行比较。实验结果显示基于以太网能够实现快速xPC目标与DSP的通信。

教育期刊网 http://www.jyqkw.com
关键词 全双工通信;xPC目标 ;Simulink建模;以太网数据包

作者简介:罗奇(1990—),男,湖南衡阳人,硕士研究生,主要研究方向为电能质量变换与功率变换技术。

余永元(1988—),男,河南信阳人,硕士研究生,主要研究方向为电能质量变换与功率变换技术。

龙航(1987—),男,贵州贵阳人,硕士研究生,主要研究方向为电能质量变换与功率变换技术。

张晓航(1990—),男,河南洛阳人,硕士研究生,主要研究方向为电力电子在电力系统中的应用。

0 引言

xPC目标[1]是一个实时的内核系统,是由Mathworks公司基于RTW框架体系提供和发行的产品。该系统采用32位保护模式运行在目标机上,用于产品的原型开发和测试。支持多种类型的I/O设备,用户只需安装相关软件和编译器就可将一个PC兼容机作为xPC目标实时系统。

以太网具有灵活性高、传输速度快,满足全双工通信,易于实现。采用载波多路访问和冲突检测(CSMA/CD)机制,数据传输速率快,适合于传输TCP/IP数据,xPC目标通过连接以太网与宿主机通信。本文用到的RTL8019AS芯片是高度集成以太网控制器,它可以方便的的解答即插即用NE2000兼容适配器。基于以太网的xPC目标能够方便的实现DSP的通信。xPC目标与DSP通信系统如图1所示。

1 xPC目标及其网卡配置

1.1 xPC目标

xPC目标采用双机模式,即宿主机(上位机)控制目标机(下位机)的技术途径,其中,宿主机搭建Simulink模型,通过编译下载到目标机执行控制器代码。xPC目标要实现宿主机与目标机之间的通信,可以通过以太网连接或者串口线连接来实现

xPC目标的功能强大,操作简单,用户可以很方便实现对实时系统的快速原型化、测试和配置功能[2]。

(1)普通配置的PC机都可以作为目标机嵌入xPC实时系统,在此系统中实时运行Simulink和RTW通过编译生成的应用程序。

(2)具有丰富的I/O设备驱动模块库,支持多种CAN总线。

(3)宿主机和目标机通信通过RS232串口或者以太网TCP/IP协议实现。

(4)MATLAB应用程序界面采用客户/服务模式,提供了九十多种函数用于宿主机对目标机的控制。

(5)可以在程序运行时从宿主机或者目标机上动态调参。

(6)在宿主机和目标机上都可以进行交互式的数据可视化和信号跟踪。

(7)支持Microsoft Visual C/C++ 5.0以上版本的开发工具。

1.2 xPC目标机网卡配置

本文中,宿主机和目标机之间的通信,目标机与DSP之间的通信,都是通过连接以太网来实现。因此xPC目标机需要配备两块以太网卡,一片用于xPC目标跟宿主机通信,另一片用于xPC跟DSP间的通信。

xPC目标机跟宿主机之间的通信可以选择普通的网卡,市场最常见的10M/100M网卡都可以满足要求。在Matlab命令窗口输入-xpcexplr命令,调出宿主机与xPC目标通信连接界面。首先设置宿主机和xPC目标机的通信类型是基于以太网TCP/IP协议。然后设置xPC目标的IP地址和端口号,这里要注意目标机的IP要和宿主机的IP处于同一网段,例如xPC的IP可以设成192.168.1.9,那么宿主机的IP要设成192.168.1.X。如果不是同一网段,宿主机和目标机就不能连通。设置好参数之后就可以点击连接,如果绿灯亮,则表示可以宿主机可以编译和下载程序到目标机。

用于跟DSP通信的网卡则需要选择Intel 8255X系列和Intel Gigabit系列的网卡,可以教育期刊网 http://www.jyqkw.com
参考文献[3]。图2是在Matlab/Simulink搭建的基于TCP/IP协议的发送/接收模型:

模型参数设置

1)利用以太网卡初始化模块进行初始化设置,这其中包括网卡的总线数目,PCI插槽的序号,发送数据网卡的MAC地址。

2)设置创建以太网数据包模块中的MAC地址,这里是DSP的MAC,类型设为’0800’表示创建的是基于TCP/IP协议数据包。

3)连接宿主机和xPC目标机,成功之后点击编译,模型下载到xPC目标机,在xPC 目标机输入-start ,开始发送数据包。

2 DSP实现通信

DSP28335的以太网连接芯片选用由台湾Realtek公司生产的基于ISA总线的10Mbps以太网控制器芯片RTL8019AS,该芯片实现以太网媒介访问层(MAC)和物理层(PHY)的功能[4],其中包括MAC数据帧的收发、地址识别、CRC校验、曼彻斯特编码解码等功能。

2.1 DSP配置MAC和IP地址

在接收数据之前需要配置DSP 的MAC和IP地址,以及xPC目标发送数据包的网卡IP地址。这一部分的实现需要在程序中进行配置,部分程序如下所示:

……

extern Uint16 RxSuccessFlag;//接收成功标志

extern Uint16

RxEthnetFrameBuffer[1518/2];//接收以太网数据帧缓冲区范围

extern Uint16

RxEthnetFrameBuffer[1518/2];

发送以太网数据帧缓冲区范围

const Uint16 MyMAC[]

{0xE002,0xA04C,0x7A7E};//设置DSP的MAC地址

const Uint16 MyIP[]

{0xA8C0,0x0B01};//设置DSP的IP地址

const Uint16 RemoteIP[]

{0xA8C0,0x2801};//设置xPC目标IP地址

……

2.2 DSP实现TCP/IP协议通信

DSP初始化寄存器和网络芯片RTL8019AS , 并且开启中断.当有网络数据到达时,DSP 采用中断方式读取以太网数据并进行分析。 xPC发送过来的数据是用TCP/IP协议封装好的标准以太网帧,DSP收到的数据首先存储在RTL8019AS的缓存中,然后调用接收数据帧函数将数据读入DSP。读数据包之前,可以通过读BNRY指针和CURR指针[5]来判断是否接收到数据包,BNRY=CURR说明没有数据包接收,当两个指针变量有差值时说明有数据包收到。

完成xPC目标和DSP配置后,先启动xPC目标机,然后启动DSP。就可以在xPC 目标机上观测xPC目标发送的信号和接收来自DSP反馈回来的信号。具体波形如图3所示:

3 结束语

本文基于以太网TCP/IP协议实现了xPC目标与DSP的全双工通信,xPC目标通过以太网卡给DSP发送数据,DSP正常接收数据并反馈给xPC接收,实验所得结果满足期望,两个信号之间的延时延时小,丢包率低,同时也验证了基于以太网TCP/IP协议通信的可靠性。

教育期刊网 http://www.jyqkw.com
参考文献

[1]杨涤,等.系统实时仿真开发环境与应用[M].北京:清华大学出版社,2002.

[2]陶建峰,朱野,等.xPC目标及其API函数在实时控制软件开发中的应用[J].上中国航空学会控制与应用第十二届学术年会论文集,2000.

[3]xPC TargetTMI_O Reference Guide[M].The Math works Inc,2003.

[4]张颖,张长利.基于DSP的具有以太网接口的嵌入式系统设计[J].煤矿机械,2005.

[5]肖守邦,等.DSP以太网通信接口设计[J].中国高新技术企业,2008.

[责任编辑:汤静]