基于netX90实现PROFIBUS DP从站的开发

供稿:赫优信(上海)自动化系统贸易有限公司

  • 关键词:赫优讯,netX90,PROFIBUS DP
  • 摘要:netX90是基于netX51/52的成功开发的新一代网络控制器,其安全性是产品的核心价值,可实现具有更高性能的集成,并提高功率效率等级。

1. 产品简介

1.1 netX 90介绍

netX90是基于netX51/52的成功开发的新一代网络控制器,其安全性是产品的核心价值,可实现具有更高性能的集成,并提高功率效率等级。在netX90 SoC中集成了两个独立CPU内核 ,其中一个用于实时工业通讯,另一个可实现用户应用程序的开发。这两个CPU之间的数据交互仍基于双端口内存DPM结构,统一的API接口。工业通讯协议栈以可加载固件(LFW)形式提供,经过全面的测试和协议预认证,应用程序软件开发人员能快速的实现驱动的移植和应用程序的开发。


 讯1.png

图1 netX90芯片硬件框图


1.2 NXHX 90-JTAG介绍

XHX 90-JTAG是赫优讯基于netX90芯片自主研发的开发板,方便客户前期评估测试,本文测试以此开发板为主。

 讯2.png

图2 NXHX 90-JTAG硬件框图


基于netX90的开发板NXHX 90-JTAG,主要特性:

(1)主机接口:

作为配有Host MCU通讯处理器:8位/16位的并行DPM模式,2xSPI/SQI 串行DPM模式;

单芯片解决方案:16 bit SDRAM,用于以太网PHY的MII,定制化模块方案。

(2)通过SPI/SQI为串行DPM(SPM0)提供额外的主机接口引脚;

(3)用于调试的JTAG MIPI-20接口;

(4)用于OpenOCD的板载JTAG-to-USB适配器(FTDI)

(5)用于诊断和下载协议栈固件的板载UART-to-USB的适配器(FTDI)

(6)Mini-B型USB连接器用于通过FTDI进行JTAG-to-USB调试和UART-to-USB用于诊断及固件下载;

(7)带有“Link”和“Activity”LED灯的两个RJ45以太网接口

(8)NXHX传统现场总线模块的接口(PROFIBUS、CANopen、DeviceNet和CC-Link)

(9)4MB 的SQI Flash

(10)RS-232串口

(11)具有Biss、SSI或ENDat连接的编码器接口

(12)模数转换器(ADC)接口

(13)MMIO连接

(14)配置启动模式(Alternative boot mode和Console mode)的开关

NXHX 90-JTAG 开发板有不同的Debug方式:

(1)JTAG-to-USB:连接开发板上Mini-USB接口(X1000),S701 Switch1=OFF;

(2) External debugger:连接开发板上JTAG接口(X400),S701 Switch1=ON。

1.3 netX Studio CDT配置软件

netX Studio CDT(C/C++开发工具)是用于Hilscher netX SoC的基于Eclipse的集成开发环境,可用于以下具体操作:

对象定义和映射

设备配置

创建产品文件(构建过程)

将产品文件和可加载固件下载到硬件设备

离线模拟或在线诊断。

netX Studio CDT工具的应用范围仅限于基于netX的从属设备,或者使用可加载的固件进行操作,该工具主要用于实时以太网从站设备的开发。

 讯3.png

图3 netX Studio CDT界面 

使用这个工具可以对NXHX 90-JTAG开发板进行相应的配置,并调试netX 90应用程序。

2. 单芯片解决方案实例介绍

netX90作为单芯片解决方案,即同时采用内部负责Communication和Application的内核,两个核通过iDPM建立连接。此时,只需要通过netX Studio CDT配置NXHX 90-JTAG板,然后,通过NXHX-DP接口连接主站cifX50-DP主站板卡即可建立通讯。

2.1 配置NXHX 90-JTAG板

通过miniUSB端口,将NXHX 90-JTAG连接至电脑进行配置,需设置开发板上S701 Switch1=OFF,并且启动模式为Stand boot Mode,所以S400 Switch 5 = OFF,Switch 6 = OFF。

(1)创建整个工程

硬件开发板设置完毕之后,打开netX Studio CDT软件,在欢迎界面中选择Open project,进入工程文件选择界面,选择netX90_DPSV5_simpleCfg,打开。导入工程文件之后,需要先构建整个工程,选择Build,点击Build Solution,如下图所示:

 讯4.png

图4 选择Build整个工程

(2)构建Doxygen html文档

选择Doxygen,点击Build Documentation,如下图所示。完成构建Doxygen html文件之后,在Doc文件夹下会自动生成一个Html文件夹。

 讯5.png

图5 构建Doxygen html文件

(3)生成硬件配置二进制文件

在提供的工程文件中,包含硬件设置文件的xml文档,可在netX Studio CDT软件中生成二进制文件,在单芯片解决方案中,需要启动内部idpm,所以需要选择hardware_config_idpm.xml,右键点击Build Hardware Configuration命令,如下图所示:

 讯6.png

图6 生成二进制格式硬件配置文件

分别生成基于LMF和MFW的硬件配置文件:hardware_config_idpm_profibus.hwc和hardware_config_idpm_profibus.hwc,点击OK保存即可。

(4)烧写硬件配置文件和协议栈固件

点击Tool,选择Flasher,或者可以直接点击上侧导航栏的小闪电按钮,进入之后,会自动扫描所连接的开发板, 扫面到设备之后,点击Next,进入Flasher。 

讯7.png

图7 选择Flasher工具

点击Brower Project,选择硬件配置文件,因本测试选择的Loadable Firmware,所以选择硬件配置文件时选择hardware_config_idpm_profibus.hwc, 需要下载的文件如下图所示,分别将这几个文件下载到netX90开发板即可。

 讯8.png

图8 需下载的文件

2.2 调试工程文件

NXHX 90-JTAG开发板完成之后,可以netX Studio CDT软件中调试应用程序,首先,设置调试相关参数,点击Debug,选择Set Startup Target,以确定所要测试的为:armv7em-none-eabi/4.9.3/netx90_app_iflash如下图所示:

 讯9.png

图9 选择设置调试参数

点击Start Debugging之后,出现一个Debug Setting选择框,如下图所示,选择目标板为NXHX-90,Debugger为NXHX-90 On-Board Debugger,点击Debug即可。

 讯10.png

图10 设置Debug目标

在Debug过程中,会出现一个选择框,是否将是否将应用程序烧写至APP端的Internal Flash中,选择Yes即可。

 讯11.png

图11 Debug过程

调试完成之后,可以看到应用程序已经运行,如下图所示:

 讯12.png

图12 运行应用程序

2.3 通讯测试

关于NXHX 90-JTAG开发板那边的设置以及应用程序的调试已经完成,可与主站建立通讯,本文选择PROFIBUS DP主站为赫优讯主站板卡cifX50-DP/+ML,在SYCON.net完成组态,配置完成主站板卡,可自动扫描从站设备,完整组态。将所有配置信息下载到板卡,既可以进行通讯测试。

 讯13.png

图13 通讯诊断信息

3.配有主CPU的解决方案实例介绍

netX90可作为配有主CPU的通讯处理器,只采用其内部负责通讯的内核运行协议栈,而不是用应用程序内核。本文中,通过发送非周期报文的形式完成对netX90芯片的配置。然后,通过采用赫优讯cifX 50-RE主站板卡建立连接进行通讯测试。

3.1 配置NXHX 90-JTAG开发板

配置NXHX 90-JTAG开发板与netX90作为单芯片解决方案时的步骤一样,前面第(1)(2)步不再做详细介绍。netX90作为配有主CPU的通讯处理器时,不在启用其内部idpm,而是通过SPI的方式连接搭配主机,所以在硬件配置中有不同,需选择hardware_config_spm.xml生成二进制硬件配置文件,如下图所示:

 讯14.png

图14 选择硬件配置xml文件

将硬件配置文件和协议栈文件等下载到netX90开发板,完成对开发板的配置,需要下载的文件和作为单芯片解决方案时一样,下载完所有文件即可,无需运行软件工程。

3.2 通过netHOST配置netX90芯片

通过netHOST配置netX90芯片,主要是通过发送非周期报文的形式实现启动netX90,首先需通过串口接口连接到PC,打开netHOST软件找到设备:

 讯15.png

图15 打开设备

打开设备之后,可以看到设备的基本信息,选择Channel0,进入。

 讯16.png

图16 设备信息

对于总线设备,只有一个通道,打开通道之后,在导航栏点击Data Transfer,选择Packet Data,如下图所示:

 讯17.png

图17 选择Packet Data

(1)首先需要设置热启动参数,Dest=0x20,Cmd=3102,关于Set Configuration的数据需要参考PROFIBUS DP V5 PAI文档,如下图所示,设置好右侧需要Send Packet的参数,点击右下的Put Packet,再点击左侧Receive Packet的Get Packet,判断参数是否正确,通过收到的报文的State和Cmd判断,State=0,Cmd+1即可。

 讯18.png

图15 设置热启动参数

(2)设置I&M0参数,I&M表示Identification(标识)和Maintenance(维护)。这个报文通常从设备获取信息,比如硬件版本、软件版本、设备ID和序列号等,可从每个Slot中分别读取I&M信息。具体的参数配置如下图所示:

 讯19.png

图16 设置I&M参数

(3)通道初始化,

通道初始化只作用于指定的通信通道,强制协议栈立即关闭所有网络连接,并进行重新初始化。具体的参数配置如下图所示:

 讯20.png

图17 通道初始化

3.3 通讯测试

关于NXHX 90-JTAG开发板那边的设置已在netHOST软件中完成,可与主站建立通讯,主站板卡cifX50-DP/+ML作为PROFIBUS DP主站,在SYCON.net完成组态,配置完成主站板卡,可自动扫描从站设备,完整组态。将所有配置信息下载到板卡,既可以进行通讯测试。如下图所示,可以看到主从站之间的数据交换:

 讯21.png

图18 通讯测试

4. 总结

在本文的测试中,无论netX 90是作为单芯片解决方案,还是作为配有HOST CPU的通讯协处理器,在赫优讯提供的应用程序上都可以方便快捷的实现PROFIBUS DP从站的开发。基于可加载固件(LFW)形式的协议栈,netX90可做为单独部件独立运行,其外部HOST主机接口,不仅能够满足过程I/O数据大吞吐量的高速访问,同时满足网络通讯周期的精确时钟同步。


发布时间:2020年4月16日 13:04  人气:   审核编辑(王静 )
相关链接

我有需求