1. 產(chǎn)品簡介
1.1 netX 90 介紹
netX90 是基于 netX51/52 的成功開發(fā)的新一代網(wǎng)絡(luò)控制器,其安全性是產(chǎn)品 的核心價值,可實現(xiàn)具有更高性能的集成,并提高功率效率等級。在 netX90 SoC 中集成了兩個獨立 CPU 內(nèi)核 ,其中一個用于實時工業(yè)通訊,另一個可實現(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ā)人員能快速的實現(xiàn)驅(qū)動的移植和應(yīng)用程序的開發(fā)。
圖 1 netX90 芯片硬件框圖
1.2 NXHX 90-JTAG 介紹
XHX 90-JTAG 是赫優(yōu)訊基于 netX90 芯片自主研發(fā)的開發(fā)板,方便客戶前期 評估測試,本文測試以此開發(fā)板為主。
圖 2 NXHX 90-JTAG 硬件框圖
基于 netX90 的開發(fā)板 NXHX 90-JTAG,主要特性:
(1) 主機接口:
●作為配有 Host MCU 通訊處理器:8 位/16 位的并行 DPM 模式,2xSPI/SQI 串行 DPM 模式;
●單芯片解決方案:16 bit SDRAM,用于以太網(wǎng) PHY 的 MII,定制 化模塊方案。
(2) 通過 SPI/SQI 為串行 DPM(SPM0)提供額外的主機接口引腳;
(3) 用于調(diào)試的 JTAG MIPI-20 接口;
(4) 用于 OpenOCD 的板載 JTAG-to-USB 適配器(FTDI)
(5) 用于診斷和下載協(xié)議棧固件的板載 UART-to-USB 的適配器(FTDI)
(6) Mini-B 型 USB 連接器用于通過 FTDI 進行 JTAG-to-USB 調(diào)試和
UART-to-USB 用于診斷及固件下載;
(7) 帶有"Link"和"Activity"LED 燈的兩個 RJ45 以太網(wǎng)接口
(8) NXHX 傳統(tǒng)現(xiàn)場總線模塊的接口(PROFIBUS、CANopen、DeviceNet 和 CC-Link)
(9) 4MB 的 SQI Flash
(10)RS-232 串口
(11)具有 Biss、SSI 或 ENDat 連接的編碼器接口
(12)模數(shù)轉(zhuǎn)換器(ADC)接口
(13)MMIO 連接
(14)配置啟動模式(Alternative boot mode 和 Console mode)的開關(guān) NXHX 90-JTAG 開發(fā)板有不同的 Debug 方式:
( 1 ) JTAG-to-USB :連接開發(fā)板上 Mini-USB 接口( X1000 ), S701 Switch1=OFF;
(2)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è)備,或者使用 可加載的固件進行操作,該工具主要用于實時以太網(wǎng)從站設(shè)備的開發(fā)。
圖 3 netX Studio CDT 界面
使用這個工具可以對 NXHX 90-JTAG 開發(fā)板進行相應(yīng)的配置,并調(diào)試 netX 90 應(yīng)用程序。
2. 單芯片解決方案實例介紹
netX90 作為單芯片解決方案,即同時采用內(nèi)部負責(zé) Communication 和 Application 的內(nèi)核,兩個核通過 iDPM 建立連接。此時,只需要通過 netX Studio CDT 配置 NXHX 90-JTAG 板,然后,通過 NXHX-DP 接口連接主站 cifX50-DP 主站板卡即可建立通訊。
2.1 配置 NXHX 90-JTAG 板
通過 miniUSB 端口,將 NXHX 90-JTAG 連接至電腦進行配置,需設(shè)置開發(fā) 板上 S701 Switch1=OFF,并且啟動模式為 Stand boot Mode,所以 S400 Switch 5= OFF,Switch 6 = OFF。
(1)創(chuàng)建整個工程
硬件開發(fā)板設(shè)置完畢之后,打開 netX Studio CDT 軟件,在歡迎界面中選擇 Open project,進入工程文件選擇界面,選擇 netX90_DPSV5_simpleCfg,打開。 導(dǎo)入工程文件之后,需要先構(gòu)建整個工程,選擇 Build,點擊 Build Solution,如 下圖所示:
圖 4 選擇 Build 整個工程
(2)構(gòu)建 Doxygen html 文檔
選擇 Doxygen,點擊 Build Documentation,如下圖所示。完成構(gòu)建 Doxygen html 文件之后,在 Doc 文件夾下會自動生成一個 Html 文件夾。
圖 5 構(gòu)建 Doxygen html 文件
(3)生成硬件配置二進制文件
在提供的工程文件中,包含硬件設(shè)置文件的 xml 文檔,可在 netX Studio CDT 軟件中生成二進制文件,在單芯片解決方案中,需要啟動內(nèi)部 idpm,所以需要 選擇 hardware_config_idpm.xml,右鍵點擊 Build Hardware Configuration 命令,如下圖所示:
圖 6 生成二進制格式硬件配置文件
分 別 生 成 基 于 LMF 和 MFW 的 硬 件 配 置 文 件 : hardware_config_idpm_profibus.hwc 和 hardware_config_idpm_profibus.hwc,點擊 OK 保存即可。
(4)燒寫硬件配置文件和協(xié)議棧固件
點擊 Tool,選擇 Flasher,或者可以直接點擊上側(cè)導(dǎo)航欄的小閃電按鈕,進入 之后,會自動掃描所連接的開發(fā)板, 掃面到設(shè)備之后,點擊 Next,進入 Flasher。
圖 7 選擇 Flasher 工具
點擊 Brower Project,選擇硬件配置文件,因本測試選擇的 Loadable Firmware, 所以選擇硬件配置文件時選擇hardware_config_idpm_profibus.hwc,需要下載的文件 如下圖所示,分別將這幾個文件下載到 netX90 開發(fā)板即可。
圖 8 需下載的文件
2.2 調(diào)試工程文件
NXHX 90-JTAG 開發(fā)板完成之后,可以 netX Studio CDT 軟件中調(diào)試應(yīng)用程 序,首先,設(shè)置調(diào)試相關(guān)參數(shù),點擊 Debug,選擇 Set Startup Target,以確定所 要測試的為:armv7em-none-eabi/4.9.3/netx90_app_iflash 如下圖所示:
圖 9 選擇設(shè)置調(diào)試參數(shù)
點擊 Start Debugging 之后,出現(xiàn)一個 Debug Setting 選擇框,如下圖所示,選擇目標(biāo)板為 NXHX-90,Debugger 為 NXHX-90 On-Board Debugger,點擊 Debug即可。
圖 10 設(shè)置 Debug 目標(biāo)
在 Debug 過程中,會出現(xiàn)一個選擇框,是否將是否將應(yīng)用程序燒寫至 APP端的 Internal Flash 中,選擇 Yes 即可。
調(diào)試完成之后,可以看到應(yīng)用程序已經(jīng)運行,如下圖所示:
圖 11 Debug 過程
2.3 通訊測試
圖 12 運行應(yīng)用程序
關(guān)于 NXHX 90-JTAG 開發(fā)板那邊的設(shè)置以及應(yīng)用程序的調(diào)試已經(jīng)完成,可 與主站建立通訊,本文選擇 PROFIBUS DP 主站為赫優(yōu)訊主站板卡 cifX50- DP/+ML,在 SYCON.net 完成組態(tài),配置完成主站板卡,可自動掃描從站設(shè)備, 完整組態(tài)。將所有配置信息下載到板卡,既可以進行通訊測試。
圖 13 通訊診斷信息
3.配有主 CPU 的解決方案實例介紹
netX90 可作為配有主 CPU 的通訊處理器,只采用其內(nèi)部負責(zé)通訊的內(nèi)核運行協(xié)議棧,而不是用應(yīng)用程序內(nèi)核。本文中,通過發(fā)送非周期報文的形式完成對 netX90 芯片的配置。然后,通過采用赫優(yōu)訊 cifX 50-RE 主站板卡建立連接進行 通訊測試。
3.1 配置 NXHX 90-JTAG 開發(fā)板
配置 NXHX 90-JTAG 開發(fā)板與 netX90 作為單芯片解決方案時的步驟一樣, 前面第(1)(2)步不再做詳細介紹。netX90 作為配有主 CPU 的通訊處理器時, 不在啟用其內(nèi)部 idpm,而是通過 SPI 的方式連接搭配主機,所以在硬件配置中 有不同,需選擇 hardware_config_spm.xml 生成二進制硬件配置文件,如下圖所示:
圖 14 選擇硬件配置 xml 文件
將硬件配置文件和協(xié)議棧文件等下載到 netX90 開發(fā)板,完成對開發(fā)板的配 置,需要下載的文件和作為單芯片解決方案時一樣,下載完所有文件即可,無需 運行軟件工程。
3.2 通過 netHOST 配置 netX90 芯片
通過 netHOST 配置 netX90 芯片,主要是通過發(fā)送非周期報文的形式實現(xiàn)啟 動 netX90,首先需通過串口接口連接到 PC,打開 netHOST 軟件找到設(shè)備:
圖 15 打開設(shè)備
打開設(shè)備之后,可以看到設(shè)備的基本信息,選擇 Channel0,進入。
圖 16 設(shè)備信息
對于總線設(shè)備,只有一個通道,打開通道之后,在導(dǎo)航欄點擊 Data Transfer, 選擇 Packet Data,如下圖所示:
圖 17 選擇 Packet Data
(1)首先需要設(shè)置熱啟動參數(shù),Dest=0x20,Cmd=3102,關(guān)于 Set Configuration 的數(shù)據(jù)需要參考 PROFIBUS DP V5 PAI 文檔,如下圖所示,設(shè)置好右側(cè)需要 Send Packet 的參數(shù),點擊右下的 Put Packet,再點擊左側(cè) Receive Packet 的 Get Packet, 判斷參數(shù)是否正確,通過收到的報文的 State 和 Cmd 判斷,State=0,Cmd+1 即 可。
圖 15 設(shè)置熱啟動參數(shù)
(2)設(shè)置 I&M0 參數(shù),I&M 表示 Identification(標(biāo)識)和 Maintenance(維 護)。這個報文通常從設(shè)備獲取信息,比如硬件版本、軟件版本、設(shè)備 ID 和序列號等,可從每個 Slot 中分別讀取 I&M 信息。具體的參數(shù)配置如下圖所示:
圖 16 設(shè)置 I&M 參數(shù)
(3)通道初始化,
通道初始化只作用于指定的通信通道,強制協(xié)議棧立即關(guān)閉所有網(wǎng)絡(luò)連接, 并進行重新初始化。具體的參數(shù)配置如下圖所示:
圖 17 通道初始化
3.3 通訊測試
關(guān)于 NXHX 90-JTAG 開發(fā)板那邊的設(shè)置已在 netHOST 軟件中完成,可與主 站建立通訊,主站板卡 cifX50-DP/+ML 作為 PROFIBUS DP 主站,在 SYCON.net 完成組態(tài),配置完成主站板卡,可自動掃描從站設(shè)備,完整組態(tài)。將所有配置信 息下載到板卡,既可以進行通訊測試。如下圖所示,可以看到主從站之間的數(shù)據(jù)交換:
圖 18 通訊測試
4. 總結(jié)
在本文的測試中,無論 netX 90 是作為單芯片解決方案,還是作為配有 HOST CPU 的通訊協(xié)處理器,在赫優(yōu)訊提供的應(yīng)用程序上都可以方便快捷的實現(xiàn) PROFIBUS DP 從站的開發(fā)。基于可加載固件(LFW)形式的協(xié)議棧,netX90 可做為單獨部件獨立運行,其外部 HOST 主機接口,不僅能夠滿足過程 I/O 數(shù)據(jù)大 吞吐量的高速訪問,同時滿足網(wǎng)絡(luò)通訊周期的精確時鐘同步。