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