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)主機接口:
s作為配有Host MCU通訊處理器:8位/16位的并行DPM模式,2xSPI/SQI 串行DPM模式;
s單芯片解決方案: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. EtherNet/IP Adapter協議棧技術參數
Feature | Value |
Maximun number of input data | 504bytes per assembly instance |
Maximum number of output data | 504bytes per assembly instance |
Maximum number of assembly instances | 10 |
IO Connection Type (implicit) | Exclusive Owner Listen Only Input Only |
IO Connection Trigger Types | Cyclic,minimum 1ms* Application Triggered, minimum 1ms* Change of State, minimum 1ms* *Depending on the number of parallel connections and sizes of input and output data |
Explicit Messages | Connected and unconnected |
Unconnected Message Manager(UCMM) | Supported |
Max.number of connections | Class 1:5 Class 3:10 UCMM: 10 |
Predefined standard objects | Identity Object (0x01) Message Router Object (0x02) Assembly Object (0x04) Connection Manager (0x06) DLR Object (0x47) QoS Object (0x48) TCP/IP Interface Object (0xF5) Ethernet Link Object (0xF6) |
Maximum number of user-specific objects | 20 |
Supported features | TCP/IP, UDP/IP DHCP BOOTP Device Level Ring (DLR) –Media Redundancy Address Conflict Detection (ACD) Quality of Service CIP Reset services–Identity Object Reset Service of Type 0 and 1 |
Ethernet interface | 10 and 100 Mbit/s Integrated switch |
Duplex modes | Half Duplex, Full Duplex, Auto-Negotiation |
MDI modes | MDI, MDI-X, Auto-MDIX |
Data transport layer | Ethernet II, IEEE 802.3 |
3.硬件平臺
EtherNet/IP Scanner:cifX 50-RE/ +ML,赫優訊實時以太網主站板卡
EtherNet/IP Adapter:NXHX 90-JTAG,netX90開發板
MCU:STM32 F7開發板
配置工具:
(1)主站側:采用SYCON.net進行網絡組態,并進行通訊測試;
(2)從站側:單芯片解決方案時,采用netX Studio CDT進行硬件配置,協議棧下載,并運行應用程序;基于外部STM32開發板,netX90作為通訊芯片時,采用netX Studio CDT進行硬件配置,以及下載相應的文件,然后采用System Workbench for STM32運行應用程序。
4.單芯片解決方案
netX90作為單芯片解決方案,即同時采用netX90芯片內部負責Communication和Application的內核,兩個核通過iDPM建立連接。此時,只需要通過netX Studio CDT配置NXHX 90-JTAG板,然后,通過以太網口連接主站PLC即可建立通訊。
4.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_EISV5_simpleConfig,打開。導入工程文件之后,需要先編譯整個工程,選擇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_idpms.hwc和hardware_config_idpm.hwc,點擊OK保存即可。
(4)燒寫配置文件
點擊Tool,選擇Flasher,或者可以直接點擊上側導航欄的小閃電按鈕,進入之后,會自動掃描所連接的開發板, 掃面到設備之后,點擊Next,進入Flasher。
首先點擊Brower Project,選擇硬件配置文件,因本測試選擇的Loadable Firmware,所以選擇硬件配置文件時選擇hardware_config_idpm.hwc, 需要下載的文件如下圖所示,分別將這幾個文件下載到netX90開發板即可。
圖7 需下載的文件
4.2 調試工程文件
NXHX 90-JTAG開發板完成之后,可以netX Studio CDT軟件中調試應用程序,首先,設置調試相關參數,點擊Debug,選擇Set Startup Target,以確定所要測試的為:armv7em-none-eabi/4.9.3/netx90_app_iflash。
點擊Start Debugging之后,出現一個Debug Setting選擇框,如下圖所示,選擇目標板為NXHX-90,Debugger為NXHX-90 On-Board Debugger,點擊Debug即可。
圖8 設置Debug目標
在Debug過程中,會出現一個選擇框,是否將是否將應用程序燒寫至APP端的Internal Flash中,選擇Yes即可。程序運行起來之后,相當于已經啟動了EtherNet/IP Adapter設備,可連接主站進行通訊測試。
4.3 通訊測試
關于NXHX 90-JTAG開發板那邊的設置以及應用程序的調試已經完成,可與主站建立通訊,本文選擇主站為赫優訊主站板卡cifX50-RE/+ML,在SYCON.net完成組態,配置完成主站板卡,添加從站設備,完整組態。將所有配置信息下載到板卡,既可以進行通訊測試。
圖9 通訊診斷信息
注:在通訊測試過程中,可能在會通訊不成功,原因是軟件程序中設置的固定IP,如果在網絡組態中IP地址不匹配會造成通訊不成功,可用赫優訊以太網軟件Ethernet Device Configuration掃描設備查看IP地址。
5.配有主CPU的解決方案實例介紹
netX90可作為配有主CPU的通訊處理器,只采用其內部負責通訊的內核運行協議棧,而不是用應用程序內核。本文中,選擇STM32-F7開發板作為主CPU,采用netX90基于STM32的應用案例作為主應用程序,主站為赫優訊實時以太網主站板卡進行測試。
5.1 配置NXHX 90-JTAG開發板
配置NXHX 90-JTAG開發板與netX90作為單芯片解決方案時的步驟一樣,前面第(1)(2)步不再做詳細介紹。netX90作為配有主CPU的通訊處理器時,不在啟用其內部idpm,而是通過SPI的方式連接搭配主機,所以在硬件配置中有不同,需選擇hardware_config_spm.xml生成二進制硬件配置文件。生成二進制文件時,同樣會生成基于LFW和MFW的兩個二進制文件,都點擊保存即可。然后將硬件配置文件和協議棧hardware_config_spm.hwc和協議棧文件X090D000.nxi燒寫到開發板,并進行Debug即可。
圖10 選擇硬件配置xml文件
5.2 運行基于STM32的應用程序
在選擇基于外部CPU進行通訊測試時,需要通過SPI引腳,與主CPU建立連接。然后,打開System Workbench for STM32軟件,選擇上側導航欄File→Import,導入工程文件,如下圖所示:
圖11 導入工程文件
在跳出的界面選擇Existing Projects into Workspace,然后點擊Next,選擇將文件保存在STM32工作區。如下圖所示:
圖12 選擇將文件保存
然后進入具體的工程文件選項,如下圖所示:
圖13 選擇文件
點擊Brown,根據相應的路徑選擇STM32文件夾中的Project,如下圖所示:
圖14 工程文件
赫優訊提供的資料中包含多種以太網實例,用戶可根據自己的測試選擇相應的文件,本文測試EthernNet/IP從站,所以可只選擇EthernNet/IP工程文件。編譯整個工程,點擊Build→Build all。編譯好整個文件,進入程序調試模式,選擇Run→Debug,如下圖所示:
圖15 程序調試
點擊開發板的Restart按鈕,可以通過串口工具Tera Term查看相應的打印信息。
5.3 通訊測試
關于NXHX 90-JTAG開發板那邊的設置以及應用程序的調試已經完成,可與主站建立通訊,本文選擇主站為赫優訊主站板卡cifX50-RE/+ML,在SYCON.net完成組態,配置完成主站板卡,添加從站設備,完整組態。將所有配置信息下載到板卡,既可以進行通訊測試。
圖16 通訊測試
6. 總結
在本文的測試中,netX90無論是作為單芯片解決方案還是作為配有主CPU的通訊處理器解決方案,在赫優訊提供的配置軟件中完成硬件引腳的配置,然后通過應用程序方便快捷的實現EtherNet/IP從站的開發。