基于netX90实现PROFIBUS DP从站的开发
1. 产品简介
1.1 netX 90介绍
netX90是基于netX51/52的成功开发的新一代网络控制器,其安全性是产品的核心价值,可实现具有更高性能的集成,并提高功率效率等级。在netX90 SoC中集成了两个独立CPU内核 ,其中一个用于实时工业通讯,另一个可实现用户应用程序的开发。这两个CPU之间的数据交互仍基于双端口内存DPM结构,统一的API接口。工业通讯协议栈以可加载固件(LFW)形式提供,经过全面的测试和协议预认证,应用程序软件开发人员能快速的实现驱动的移植和应用程序的开发。
图1 netX90芯片硬件框图
1.2 NXHX 90-JTAG介绍
XHX 90-JTAG是赫优讯基于netX90芯片自主研发的开发板,方便客户前期评估测试,本文测试以此开发板为主。
图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 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 选择Build整个工程
(2)构建Doxygen html文档
选择Doxygen,点击Build Documentation,如下图所示。完成构建Doxygen html文件之后,在Doc文件夹下会自动生成一个Html文件夹。
图5 构建Doxygen html文件
(3)生成硬件配置二进制文件
在提供的工程文件中,包含硬件设置文件的xml文档,可在netX Studio CDT软件中生成二进制文件,在单芯片解决方案中,需要启动内部idpm,所以需要选择hardware_config_idpm.xml,右键点击Build Hardware Configuration命令,如下图所示:
图6 生成二进制格式硬件配置文件
分别生成基于LMF和MFW的硬件配置文件:hardware_config_idpm_profibus.hwc和hardware_config_idpm_profibus.hwc,点击OK保存即可。
(4)烧写硬件配置文件和协议栈固件
点击Tool,选择Flasher,或者可以直接点击上侧导航栏的小闪电按钮,进入之后,会自动扫描所连接的开发板, 扫面到设备之后,点击Next,进入Flasher。
图7 选择Flasher工具
点击Brower Project,选择硬件配置文件,因本测试选择的Loadable Firmware,所以选择硬件配置文件时选择hardware_config_idpm_profibus.hwc, 需要下载的文件如下图所示,分别将这几个文件下载到netX90开发板即可。
图8 需下载的文件
2.2 调试工程文件
NXHX 90-JTAG开发板完成之后,可以netX Studio CDT软件中调试应用程序,首先,设置调试相关参数,点击Debug,选择Set Startup Target,以确定所要测试的为:armv7em-none-eabi/4.9.3/netx90_app_iflash如下图所示:
图9 选择设置调试参数
点击Start Debugging之后,出现一个Debug Setting选择框,如下图所示,选择目标板为NXHX-90,Debugger为NXHX-90 On-Board Debugger,点击Debug即可。
图10 设置Debug目标
在Debug过程中,会出现一个选择框,是否将是否将应用程序烧写至APP端的Internal Flash中,选择Yes即可。
图11 Debug过程
调试完成之后,可以看到应用程序已经运行,如下图所示:
图12 运行应用程序
2.3 通讯测试
关于NXHX 90-JTAG开发板那边的设置以及应用程序的调试已经完成,可与主站建立通讯,本文选择PROFIBUS DP主站为赫优讯主站板卡cifX50-DP/+ML,在SYCON.net完成组态,配置完成主站板卡,可自动扫描从站设备,完整组态。将所有配置信息下载到板卡,既可以进行通讯测试。
图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 选择硬件配置xml文件
将硬件配置文件和协议栈文件等下载到netX90开发板,完成对开发板的配置,需要下载的文件和作为单芯片解决方案时一样,下载完所有文件即可,无需运行软件工程。
3.2 通过netHOST配置netX90芯片
通过netHOST配置netX90芯片,主要是通过发送非周期报文的形式实现启动netX90,首先需通过串口接口连接到PC,打开netHOST软件找到设备:
图15 打开设备
打开设备之后,可以看到设备的基本信息,选择Channel0,进入。
图16 设备信息
对于总线设备,只有一个通道,打开通道之后,在导航栏点击Data Transfer,选择Packet Data,如下图所示:
图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即可。
图15 设置热启动参数
(2)设置I&M0参数,I&M表示Identification(标识)和Maintenance(维护)。这个报文通常从设备获取信息,比如硬件版本、软件版本、设备ID和序列号等,可从每个Slot中分别读取I&M信息。具体的参数配置如下图所示:
图16 设置I&M参数
(3)通道初始化,
通道初始化只作用于指定的通信通道,强制协议栈立即关闭所有网络连接,并进行重新初始化。具体的参数配置如下图所示:
图17 通道初始化
3.3 通讯测试
关于NXHX 90-JTAG开发板那边的设置已在netHOST软件中完成,可与主站建立通讯,主站板卡cifX50-DP/+ML作为PROFIBUS DP主站,在SYCON.net完成组态,配置完成主站板卡,可自动扫描从站设备,完整组态。将所有配置信息下载到板卡,既可以进行通讯测试。如下图所示,可以看到主从站之间的数据交换:
图18 通讯测试
4. 总结
在本文的测试中,无论netX 90是作为单芯片解决方案,还是作为配有HOST CPU的通讯协处理器,在赫优讯提供的应用程序上都可以方便快捷的实现PROFIBUS DP从站的开发。基于可加载固件(LFW)形式的协议栈,netX90可做为单独部件独立运行,其外部HOST主机接口,不仅能够满足过程I/O数据大吞吐量的高速访问,同时满足网络通讯周期的精确时钟同步。
提交
用于关键应用的互联驱动技术
工业网络环境中的OPC UA
德国赫优讯推出M.2格式的工业计算机主从通讯卡
通过被动式EtherCAT网络数据挖掘增加物联网价值
赫优讯工业网络接口获得国际协议组织新认证