赫优信基于 netX90 实现 PROFINET 从站开发操作手册
- 关键词:赫优信,PROFINET,netX90
- 摘要:netX90 是基于 netX51/52 的成功开发的新一代网络控制器,其安全性是产品的核心价值,可实现具有更高性能的集成,并提高功率效率等级。
1.产品简介
1.1 netX 90 介绍
netX90 是基于 netX51/52 的成功开发的新一代网络控制器,其安全性是产品的核心价值,可实现具有更高性能的集成,并提高功率效率等级。在 netX90 SoC中集成了两个独立 CPU 内核 ,其中一个用于实时工业通讯,另一个可实现用户应用程序的开发。这两个 CPU 之间的数据交互仍基于双端口内存 DPM 结构,统一的 API 接口。工业通讯协议栈以可加载固件(LFW)形式提供,经过全面的测试和协议预认证,应用程序软件开发人员能快速的实现驱动的移植和应用程序的开发。
图 1 netX90 芯片硬件框图
无论 netX 90 是作为单芯片解决方案,还是作为配有 HOST CPU 的通讯协处理器,基于可加载固件(LFW)形式的协议栈,都可做为单独部件独立运行。其外部 HOST 主机接口,不仅能够满足过程 I/O 数据大吞吐量的高速访问,同时满足网络通讯周期的精确时钟同步。
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),S701Switch1=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 开发板进行相应的配置,并调试 netX90 应用程序。
2.实验准备
试验所需设备:
3. 硬件连接
首先作为单芯片解决方案时,将 NXHX 90-JTAG 开发板连接到电脑,采用netX Studio CDT 对其进行配置。其连接图如下图图 4 所示。
对 NXHX 90-JTAG 开发板进行配置之后,通过以太网口与主站 PLC 连接,然后创建 PLC 工程即可。
图 4 NXHX 90-JTAG 开发板与 PC 连接图
作为基于 STM32 的配套芯片解决方案时,需通过 SPI/SQI 接口,跳线连接到 STM32 开发板的 SPI 接口上,如下图所示:
图 5 与 STM32 开发板连接图
4. 软件安装
安装配置软件 netX Studio CDT , 双击安装包 netX Studio CDTV1.XXXX.X.XXXX xXX Setup.msi 直接安装,如下图所示:
图 4 netX Studio CDT 安装界面
可参考文档:netX Studio CDT-netX90 development GS 04 EN.pdf安装完 netX Studio CDT 软件,根据电脑的设置会出现安装 USB 的界面:
图 5 USB 安装界面
点击 Install 安装 USB 驱动。
5. 单芯片解决方案实例介绍
netX90 作为单芯片解决方案,即同时采用内部负责 Communication 和Application 的内核,两个核通过 DPM 建立连接。此时,只需要通过 netX StudioCDT 配置 NXHX 90-JTAG 板,然后,通过以太网口连接主站 PLC 即可建立通讯。
5.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 , 进入工程文件选择界面 , 选择netXStudio_PNSV5_simpleConfig_V2.1.0.0,打开。
图 1 netX Studio CDT 欢迎界面
图 2 打开工程文件
导入工程文件之后,需要先构建整个工程,选择 Build,点击 Build Solution,如下图所示:
图 3 选择 Build 整个工程
图 4 Build 过程
(2)构建 Doxygen html 文档
选择 Doxygen,点击 Build Documentation,如下图所示:
图 5 构建 Doxygen html 文件
构建万 Doxygen html 文件之后,在 Doc 文件夹下会自动生成一个 Html 文件夹,如下图所示:
图 6 生成 Html 文件夹
(3)生成硬件配置二进制文件
在赫优讯提供的工程文件中,包含硬件设置文件的 xml 文档,可在 netXStudio CDT 软件中生成二进制文件,在单芯片解决方案中,需要启动内部 idpm,所以需要选择hardware_config_idpm.xml,右键点击 Build Hardware Configuration命令,如下图所示:
图 7 生成二进制格式硬件配置文件
文件生成完毕之后,会弹出一个保存窗口,首先生成基于 LMF 的配置文件,hardware_config_idpm.hwc,点击 OK 即可,如下图所示:
图 8 保存文件
保存过后,还会继续弹出窗口,生成基于 MFW 的二进制硬件配置文件,点击 OK 保存即可,如下图所示:
图 9 保存文件
(4)烧写硬件配置文件和协议栈固件,点击 Tool,选择 Flasher,如下图所示:
图 10 选择 Flasher 工具
或者可以直接点击上侧导航栏的小闪电按钮,进入之后,会自动扫描所连接的开发板,如下图所示:
图 11 扫描设备
扫面到设备之后,点则,点击 Next,进入 Flasher,如下图所示:
图 12 进入 Flasher 工具
选择 Brower Project,选择硬件配置文件,因本测试选择的 Loadable Firmware,所以选择硬件配置文件时选择 hardware_config_idpm.hwc,点击 OK 即可:
图 13 选择硬件配置文件
选择好硬件配置文件之后,Flash Type 自动选择为 Internal Flash 01(COM),
点击 Write 按钮即可:
图 14 烧录硬件配置文件
烧写好硬件配置文件会跳出一个选择框,因还要继续烧写协议栈,点击 Yes即可,如下图所示:
图 15 选择继续烧写
选择协议栈文件 X090D000.nxi,如下图所示:
图 16 选择协议栈文件
与之前烧写硬件配置文件一样,点击 Write 进行烧写即可,如下图所示:
图 17 烧写协议栈文件
协议栈烧写完毕之后也会出现一个选择框,因烧写工作已完成,点击否即可,如下图所示:
图 18 选择完成
NXHX 90-JTAG 配置工作已完成。
5.2 调试工程文件
NXHX 90-JTAG 开发板完成之后,可以 netX Studio CDT 软件中调试应用程序,首先,设置调试相关参数,点击 Debug,选择 Set Startup Target,以确定所要测试的为armv7em-none-eabi/4.9.3/netx90_app_iflash 如下图所示:
图 19 选择设置调试参数
点击 Start Debugging 之后,出现一个 Debug Setting 选择框,如下图所示,选择目标板为 NXHX-90,Debugger 为 NXHX-90 On-Board Debugger,点击 Debug即可。
图 20 设置 Debug 目标
在 Debug 过程中,会出现一个选择框,是否将是否将应用程序烧写至 APP端的 Internal Flash 中,选择 Yes 即可,如下图所示:
图 21 选择框
调试完成之后,可以看到应用程序已经运行,如下图所示:
图 22 运行应用程序
5.3 通讯测试
关于 NXHX 90-JTAG 开发板那边的设置以及应用程序的调试已经完成,接下来可以与主站建立通讯,本文选择 PROFINET 主站为西门子 PLC1200,在博途中完成组态,从站设备描述文件可以在 netX Studio CDT 中复制出来,如下图所示:
图 23 选择 netX90 设备描述文件
在博途中,创建组态工程,首先将从站设备描述文件导入博图软件,然后创建 PN 工程,因 netX90 的设备描述文件与应用程序相匹配,所以无需进行输入输出模块的设置,直接将配置信息下载到 PLC 即可。完成装载之后,可进行在线看通讯状态,如下图所示,NXHX 90-JTAG 与西门子 PLC 成功建立通讯。
图 24 与主站建立通讯
6.配有主 CPU 的解决方案实例介绍
netX90 可作为配有主 CPU 的通讯处理器,只采用其内部负责通讯的内核运行协议栈,而不是用应用程序内核。本文中,选择 STM32-F7 开发板作为主 CPU,采用 netX90 基于 STM32 的应用案例作为主应用程序,主站为西门子 PLC 进行测试。
6.1 配置 NXHX 90-JTAG 开发板
配置 NXHX 90-JTAG 开发板与 netX90 作为单芯片解决方案时的步骤一样,前面第(1)(2)步不再做详细介绍。netX90 作为配有主 CPU 的通讯处理器时,不在启用其内部 idpm,而是通过 SPI 的方式连接搭配主机,所以在硬件配置中有不同,需选择hardware_config_spm.xml 生成二进制硬件配置文件,如下图所示:
图 25 选择硬件配置 xml 文件
图 26 点击生成命令
生成二进制文件时,同样会生成基于 LFW 和 MFW 的两个二进制文件,都点击保存即可。然后将硬件配置文件和协议栈 hardware_config_spm.hwc 和协议栈文件 X090D000.nxi 烧写到开发板,并进行 Debug 即可。
6.2.运行基于 STM32 的应用程序
在选择基于外部 CPU 进行通讯测试时,需要通过 SPI 引脚,与主 CPU 建立连接。然后,打开 System Workbench for STM32 软件,选择上侧导航栏 File→Import,导入工程文件,如下图所示:
图 25 导入工程文件
在跳出的界面选择 Existing Projects into Workspace,然后点击 Next,选择将文件保存在 STM32 工作区。如下图所示:
图 26 选择将文件保存
然后进入具体的工程文件选项,如下图所示:
图 27 选择文件
点击 Brown,根据相应的路径选择 STM32 文件夹中的 Project,如下图所示:
图 28 工程文件
赫优讯提供的资料中包含多种以太网实例,用户可根据自己的测试选择相应的文件,本文测试 PROFINET,所以可只选择 PROFINET 工程文件。编译整个工程,点击 Build→Build all,如下图所示:
图 29 编译
编译好整个文件,进入程序调试模式,选择 Run→Debug,如下图所示:
图 30 程序调试
6.3 通讯测试
与单芯片解决方案一样,在博图软件中创建组态工程,进行通讯测试,由下图可见,当应用程序运行起来之后,通讯成功,同时采用串口工具 Tera Term,可以查看应用程序打印信息,以及周期数据的交换情况,如下图所示:
图 31 通讯测试
7. 总结
在本文的测试中,netX90 无论是作为单芯片解决方案还是作为配有主 CPU的通讯处理器解决方案,在赫优讯提供的应用程序上都可以方便快捷的实现PROFINET 从站的开发。此外,赫优讯也提供其他实时以太网开发的应用案例,比如:EtherCAT Slave、Ethernet/IP Adapter、Open Modbus TCP 等。