1.產(chǎn)品簡介
1.1 netX 90介紹
netX90是基于netX51/52的成功開發(fā)的新一代網(wǎng)絡(luò)控制器,其安全性是產(chǎn)品的核心價值,可實(shí)現(xiàn)具有更高性能的集成,并提高功率效率等級。在netX90 SoC中集成了兩個獨(dú)立CPU內(nèi)核 ,其中一個用于實(shí)時工業(yè)通訊,另一個可實(shí)現(xiàn)用戶應(yīng)用程序的開發(fā)。這兩個CPU之間的數(shù)據(jù)交互仍基于雙端口內(nèi)存DPM結(jié)構(gòu),統(tǒng)一的API接口。工業(yè)通訊協(xié)議棧以可加載固件(LFW)形式提供,經(jīng)過全面的測試和協(xié)議預(yù)認(rèn)證,應(yīng)用程序軟件開發(fā)人員能快速的實(shí)現(xiàn)驅(qū)動的移植和應(yīng)用程序的開發(fā)。
圖1 netX90芯片硬件框圖
無論netX 90是作為單芯片解決方案,還是作為配有HOST CPU的通訊協(xié)處理器,基于可加載固件(LFW)形式的協(xié)議棧,都可做為單獨(dú)部件獨(dú)立運(yùn)行。其外部HOST主機(jī)接口,不僅能夠滿足過程I/O數(shù)據(jù)大吞吐量的高速訪問,同時滿足網(wǎng)絡(luò)通訊周期的精確時鐘同步。
1.2 NXHX 90-JTAG介紹
XHX 90-JTAG是赫優(yōu)訊基于netX90芯片自主研發(fā)的開發(fā)板,方便客戶前期評估測試,本文測試以此開發(fā)板為主。
圖2 NXHX 90-JTAG硬件框圖
基于netX90的開發(fā)板NXHX 90-JTAG,主要特性:
?。?) 主機(jī)接口:
◆作為配有Host MCU通訊處理器:8位/16位的并行DPM模式,2xSPI/SQI 串行DPM模式;
◆單芯片解決方案:16 bit SDRAM,用于以太網(wǎng)PHY的MII,定制化模塊方案。
?。?) 通過SPI/SQI為串行DPM(SPM0)提供額外的主機(jī)接口引腳;
(3) 用于調(diào)試的JTAG MIPI-20接口;
(4) 用于OpenOCD的板載JTAG-to-USB適配器(FTDI)
?。?) 用于診斷和下載協(xié)議棧固件的板載UART-to-USB的適配器(FTDI)
?。?) Mini-B型USB連接器用于通過FTDI進(jìn)行JTAG-to-USB調(diào)試和UART-to-USB用于診斷及固件下載;
?。?) 帶有“Link”和“Activity”LED燈的兩個RJ45以太網(wǎng)接口
?。?) NXHX傳統(tǒng)現(xiàn)場總線模塊的接口(PROFIBUS、CANopen、DeviceNet和CC-Link)
(9) 4MB 的SQI Flash
?。?0) RS-232串口
(11) 具有Biss、SSI或ENDat連接的編碼器接口
?。?2) 模數(shù)轉(zhuǎn)換器(ADC)接口
?。?3) MMIO連接
?。?4) 配置啟動模式(Alternative boot mode和Console mode)的開關(guān)
NXHX 90-JTAG 開發(fā)板有不同的Debug方式:
(1)JTAG-to-USB:連接開發(fā)板上Mini-USB接口(X1000),S701 Switch1=OFF;
?。?) External debugger:連接開發(fā)板上JTAG接口(X400),S701 Switch1=ON。
1.3 netX Studio CDT配置軟件
netX Studio CDT(C/C++開發(fā)工具)是用于Hilscher netX SoC的基于Eclipse的集成開發(fā)環(huán)境,可用于以下具體操作:
◆對象定義和映射
◆設(shè)備配置
◆創(chuàng)建產(chǎn)品文件(構(gòu)建過程)
◆將產(chǎn)品文件和可加載固件下載到硬件設(shè)備
◆離線模擬或在線診斷。
netX Studio CDT工具的應(yīng)用范圍僅限于基于netX的從屬設(shè)備,或者使用可加載的固件進(jìn)行操作,該工具主要用于實(shí)時以太網(wǎng)從站設(shè)備的開發(fā)。
圖3 netX Studio CDT界面
使用這個工具可以對NXHX 90-JTAG開發(fā)板進(jìn)行相應(yīng)的配置,并調(diào)試netX 90應(yīng)用程序。
2. EtherNet/IP Adapter協(xié)議棧技術(shù)參數(shù)
3. 硬件平臺
EtherNet/IP Scanner:cifX 50-RE/ +ML,赫優(yōu)訊實(shí)時以太網(wǎng)主站板卡
EtherNet/IP Adapter:NXHX 90-JTAG,netX90開發(fā)板
MCU:STM32 F7開發(fā)板
配置工具:
?。?) 主站側(cè):采用SYCON.net進(jìn)行網(wǎng)絡(luò)組態(tài),并進(jìn)行通訊測試;
?。?) 從站側(cè):單芯片解決方案時,采用netX Studio CDT進(jìn)行硬件配置,協(xié)議棧下載,并運(yùn)行應(yīng)用程序;基于外部STM32開發(fā)板,netX90作為通訊芯片時,采用netX Studio CDT進(jìn)行硬件配置,以及下載相應(yīng)的文件,然后采用System Workbench for STM32運(yùn)行應(yīng)用程序。
4. 單芯片解決方案
netX90作為單芯片解決方案,即同時采用netX90芯片內(nèi)部負(fù)責(zé)Communication和Application的內(nèi)核,兩個核通過iDPM建立連接。此時,只需要通過netX Studio CDT配置NXHX 90-JTAG板,然后,通過以太網(wǎng)口連接主站PLC即可建立通訊。
4.1 配置NXHX 90-JTAG板
通過miniUSB端口,將NXHX 90-JTAG連接至電腦進(jìn)行配置,需設(shè)置開發(fā)板上S701 Switch1=OFF,并且啟動模式為Stand boot Mode,所以S400 Switch 5 = OFF,Switch 6 = OFF。
(1)編譯工程
硬件開發(fā)板設(shè)置完成之后,打開netX Studio CDT軟件,在歡迎界面中選擇Open project,進(jìn)入工程文件選擇界面,選擇netXStudio_EISV5_simpleConfig,打開。導(dǎo)入工程文件之后,需要先編譯整個工程,選擇Build,點(diǎn)擊Build Solution,如下圖所示:
圖4 選擇Build整個工程
?。?)創(chuàng)建Doxygen html文檔
選擇Doxygen,點(diǎn)擊Build Documentation,如下圖所示。完成構(gòu)建Doxygen html文件之后,在Doc文件夾下會自動生成一個Html文件夾。
圖5 構(gòu)建Doxygen html文件
?。?)生成硬件配置二進(jìn)制文件
在提供的工程文件中,包含硬件設(shè)置文件的xml文檔,可在netX Studio CDT軟件中生成二進(jìn)制文件,在單芯片解決方案中,需要啟動內(nèi)部idpm,所以需要選擇hardware_config_idpm.xml,右鍵點(diǎn)擊Build Hardware Configuration命令,如下圖所示:
圖6 生成二進(jìn)制格式硬件配置文件
分別生成基于LMF和MFW的硬件配置文件:hardware_config_idpms.hwc和hardware_config_idpm.hwc,點(diǎn)擊OK保存即可。
(4)燒寫配置文件
點(diǎn)擊Tool,選擇Flasher,或者可以直接點(diǎn)擊上側(cè)導(dǎo)航欄的小閃電按鈕,進(jìn)入之后,會自動掃描所連接的開發(fā)板, 掃面到設(shè)備之后,點(diǎn)擊Next,進(jìn)入Flasher。
首先點(diǎn)擊Brower Project,選擇硬件配置文件,因本測試選擇的Loadable Firmware,所以選擇硬件配置文件時選擇hardware_config_idpm.hwc, 需要下載的文件如下圖所示,分別將這幾個文件下載到netX90開發(fā)板即可。
圖7 需下載的文件
4.2 調(diào)試工程文件
NXHX 90-JTAG開發(fā)板完成之后,可以netX Studio CDT軟件中調(diào)試應(yīng)用程序,首先,設(shè)置調(diào)試相關(guān)參數(shù),點(diǎn)擊Debug,選擇Set Startup Target,以確定所要測試的為:armv7em-none-eabi/4.9.3/netx90_app_iflash。
點(diǎn)擊Start Debugging之后,出現(xiàn)一個Debug Setting選擇框,如下圖所示,選擇目標(biāo)板為NXHX-90,Debugger為NXHX-90 On-Board Debugger,點(diǎn)擊Debug即可。
圖8 設(shè)置Debug目標(biāo)
在Debug過程中,會出現(xiàn)一個選擇框,是否將是否將應(yīng)用程序燒寫至APP端的Internal Flash中,選擇Yes即可。程序運(yùn)行起來之后,相當(dāng)于已經(jīng)啟動了EtherNet/IP Adapter設(shè)備,可連接主站進(jìn)行通訊測試。
4.3 通訊測試
關(guān)于NXHX 90-JTAG開發(fā)板那邊的設(shè)置以及應(yīng)用程序的調(diào)試已經(jīng)完成,可與主站建立通訊,本文選擇主站為赫優(yōu)訊主站板卡cifX50-RE/+ML,在SYCON.net完成組態(tài),配置完成主站板卡,添加從站設(shè)備,完整組態(tài)。將所有配置信息下載到板卡,既可以進(jìn)行通訊測試。
圖9 通訊診斷信息
注:在通訊測試過程中,可能在會通訊不成功,原因是軟件程序中設(shè)置的固定IP,如果在網(wǎng)絡(luò)組態(tài)中IP地址不匹配會造成通訊不成功,可用赫優(yōu)訊以太網(wǎng)軟件Ethernet Device Configuration掃描設(shè)備查看IP地址。
5.配有主CPU的解決方案實(shí)例介紹
netX90可作為配有主CPU的通訊處理器,只采用其內(nèi)部負(fù)責(zé)通訊的內(nèi)核運(yùn)行協(xié)議棧,而不是用應(yīng)用程序內(nèi)核。本文中,選擇STM32-F7開發(fā)板作為主CPU,采用netX90基于STM32的應(yīng)用案例作為主應(yīng)用程序,主站為赫優(yōu)訊實(shí)時以太網(wǎng)主站板卡進(jìn)行測試。
5.1 配置NXHX 90-JTAG開發(fā)板
配置NXHX 90-JTAG開發(fā)板與netX90作為單芯片解決方案時的步驟一樣,前面第(1)(2)步不再做詳細(xì)介紹。netX90作為配有主CPU的通訊處理器時,不在啟用其內(nèi)部idpm,而是通過SPI的方式連接搭配主機(jī),所以在硬件配置中有不同,需選擇hardware_config_spm.xml生成二進(jìn)制硬件配置文件。生成二進(jìn)制文件時,同樣會生成基于LFW和MFW的兩個二進(jìn)制文件,都點(diǎn)擊保存即可。然后將硬件配置文件和協(xié)議棧hardware_config_spm.hwc和協(xié)議棧文件X090D000.nxi燒寫到開發(fā)板,并進(jìn)行Debug即可。
圖10 選擇硬件配置xml文件
5.2.運(yùn)行基于STM32的應(yīng)用程序
在選擇基于外部CPU進(jìn)行通訊測試時,需要通過SPI引腳,與主CPU建立連接。然后,打開System Workbench for STM32軟件,選擇上側(cè)導(dǎo)航欄File→Import,導(dǎo)入工程文件,如下圖所示:
圖11 導(dǎo)入工程文件
在跳出的界面選擇Existing Projects into Workspace,然后點(diǎn)擊Next,選擇將文件保存在STM32工作區(qū)。如下圖所示:
圖12 選擇將文件保存
然后進(jìn)入具體的工程文件選項(xiàng),如下圖所示:
圖13 選擇文件
點(diǎn)擊Brown,根據(jù)相應(yīng)的路徑選擇STM32文件夾中的Project,如下圖所示:
圖14 工程文件
赫優(yōu)訊提供的資料中包含多種以太網(wǎng)實(shí)例,用戶可根據(jù)自己的測試選擇相應(yīng)的文件,本文測試EthernNet/IP從站,所以可只選擇EthernNet/IP工程文件。編譯整個工程,點(diǎn)擊Build→Build all。編譯好整個文件,進(jìn)入程序調(diào)試模式,選擇Run→Debug,如下圖所示:
圖15 程序調(diào)試
點(diǎn)擊開發(fā)板的Restart按鈕,可以通過串口工具Tera Term查看相應(yīng)的打印信息。
5.3 通訊測試
關(guān)于NXHX 90-JTAG開發(fā)板那邊的設(shè)置以及應(yīng)用程序的調(diào)試已經(jīng)完成,可與主站建立通訊,本文選擇主站為赫優(yōu)訊主站板卡cifX50-RE/+ML,在SYCON.net完成組態(tài),配置完成主站板卡,添加從站設(shè)備,完整組態(tài)。將所有配置信息下載到板卡,既可以進(jìn)行通訊測試。
圖16 通訊測試
6. 總結(jié)
在本文的測試中,netX90無論是作為單芯片解決方案還是作為配有主CPU的通訊處理器解決方案,在赫優(yōu)訊提供的配置軟件中完成硬件引腳的配置,然后通過應(yīng)用程序方便快捷的實(shí)現(xiàn)EtherNet/IP從站的開發(fā)。