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 过程
2.3 通讯测试
图 12 运行应用程序
关于 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 数据大 吞吐量的高速访问,同时满足网络通讯周期的精确时钟同步。