新聞中心

        EEPW首頁 > 設計應用 > 多核DSP的以太網遠程程序加載方法

        多核DSP的以太網遠程程序加載方法

        作者: 時間:2016-10-10 來源:網絡 收藏

        摘要:為了解決工業遠程控制設備的軟件更新帶來的成本和效率問題,在研究了以TMS320C6670為核心的DSP系統的結構和程序啟動的基礎上,提出了基于的DSP程序遠程加載方法。該方法主要基于BOOTP協議的廣播和UDP協議實現。實踐表明,該加載技術靈活可靠,為遠程控制系統的調試和更新提供了便利。

        本文引用地址:http://www.104case.com/article/201610/306406.htm

        引言

        隨著科學技術的不斷進步,網絡通信技術和DSP技術飛速發展,許多智能儀器儀表、工業遠程控制設備等能夠接入到互聯網,實現網絡化、智能化的管理和控制。在這些設備中,有很多是以DSP為核心的設備,這些設備的程序代碼的引導啟動是一個很重要的問題。傳統的DSP設備的程序加載方法是通過硬件仿真器來完成的,但在實際工業應用中,這種方法存在仿真器攜帶不便攜和設備軟件維護更新不方便等缺點。因此基于網絡的DSP軟件更新就是一種很好的解決方案。

        文中介紹了DSP程序加載的基本原理,以TI公司的 TMS320C6670為例,實現了一種基于BOOTP協議的DSP程序加載技術,利用網絡通信實現DSP程序的動態加載,提高軟件更新效率。

        1 原理

        這里使用傳統的PC機作為下載服務器,以TMS320C6670為核心的DSP設備作為客戶機,客戶機啟動后,不知道任何網絡信息,需要通過TCP/IP協議的相關協議IP、UDP、BOOTP提供的功能來實現信息的傳播??蛻魴C通過BOOTP協議獲得所需相關網絡信息,然后通過UDP協議包獲取待執行的引導程序,并運行之。

        1.1 IP協議和UDP協議

        IP(Internet Protocol,互聯網協議)是TCP/IP中網絡層協議。UDP(User Datagram Protocol,用戶數據報協議)是TC尸/IP傳輸層的無連接協議。由于完整的TCP/IP協議將占用大量系統資源,所以在高可靠的局域網中,可以采用UDP協議發送數據包。

        1.2 BOOTP協議

        客戶機啟動時,需從網絡上獲取三種信息:本機的IP地址、下載服務器的IP地址、待下載的運行程序。

        BOOTP(BOOTstrapping Protocol)能為無盤機獲得啟動所需的所有信息。在發送BOOTP請求之前,BOOTP客戶既不知道自己的IP地址,也不知道服務器的IP地址,BOOTP必須通過廣播方式發送請求。BOOTP服務器收到請求后,根據以太網地址,從下載數據庫中查出相應應答表項,構成BOOTP響應,再應答之。對于服務器而言,此時客戶機的IP地址已經知道,可以直接應答,不必用廣播方式。

        BOOTP報文交易就是請求,響應一個來回,交易成功與否只有客戶知道,因此當服務器關閉或網絡工作不正常時,將導致交易出錯或報文丟失,客戶需進行重傳處理(每3 s重傳一次)。當有多個響應(多服務器響應或BOOTP應答延時),可設一個標志,客戶只接受并處理第一個響應,其余都拋棄。

        1.3 BOOTP包格式

        BOOTP包格式如圖1所示。

        多核DSP的以太網遠程程序加載方法

        包操作碼/消息類型:1=BOOTREQUEST(引導請求),2=BOOTREPLY(引導應答)。硬件地址類型:1=10M以太網。硬件地址長度:6是10M以太網。跳躍點數:用于跨網引導,由路由器使用。事務ID:一個隨機數,用來匹配引用請求和應答??蛻舳艘龑妹霐担河煽蛻舳颂顚懀蛻舳艘龑ч_始后的過去的秒數??蛻舳薎P地址:BOOTP客戶將此置為0,要求服務器應答本客戶的IP地址。你的IP地址:BOOTP客戶將此設置為0。服務器IP地址:由服務器在引導應答返回。網關IP地址:用于跨網引導時使用??蛻舳擞布刂罚嚎蛻籼畛浔緳CMAC地址。服務器主機名:用于跨網引導時使用。引導文件名:BOOTP請求置為0,服務器應答時將由BOOTPTAB填充一個特定的運行程序路徑名。標準選項域:此域用于BOOTP客戶從服務器獲得一系列標準選項,例如網管IP地址、網關IP地址、DNS域名服務器IP地址、客戶機名等。

        1.4 以太網數據包格式

        以太網請求包格式如圖2所示。

        多核DSP的以太網遠程程序加載方法

        DIX以太網中包含目標MAC地址(一般為FF:FF:FF:FF:FF:FF)和源MAC地址(即設備本身MAC地址)。IPV4中包含版本號、長度、協議、校驗和及源地址IP和目標地址IP(這里IP地址均為0.0.0.0)。UDP中包含源端口、目標端口、長度及校驗和。

        以太網引導包格式如圖3所示。

        多核DSP的以太網遠程程序加載方法

        2 硬件設計

        系統采用多核TMS320C6670 DSP芯片作為主控芯片,其內置千兆網絡協處理器,所以外圍電路只需增加物理層芯片。結構框圖如圖4所示。

        多核DSP的以太網遠程程序加載方法

        3 下載實現過程

        客戶機:當硬件復位時,在RESET信號上升前,配置好開發板上的撥碼開關SW3、SW4、SW5、SW6,確定TMS320C6670芯片為以太網引導方式。RBL(ROM BootLoader)配置SerDes,SGMII和PASS準備接收來自以太網接口的引導包。RBL配置發送通道發送以太網請求包(每3 s發送一次)。

        服務器即PC機端用Wireshark軟件作為抓包軟件,以太網請求包廣播到服務器端,見圖5,從中可以看出間隔約3 s多客戶機廣播一次BOO TP包。

        多核DSP的以太網遠程程序加載方法

        圖6為以太網請求包主要內容,與原理中描述的以太網請求包格式是一致的,包含DIX以太網、IPV4、UDP協議和BOOTP協議包。

        多核DSP的以太網遠程程序加載方法

        圖7為接收到的BOOTP包內容。

        多核DSP的以太網遠程程序加載方法

        服務器此時收到了BOOTP協議包,獲得了客戶機的MAC地址,此時要進行ARP(Address Resolution Protocol,地址解析協議)地址綁定。在完成上面兩步后,通過上位機通信程序將幀文件發送給客戶機。圖8為截取的UDP發送圖。

        多核DSP的以太網遠程程序加載方法

        圖9為以太網引導包內容。

        當幀文件發送完畢后,客戶機根據接收來的數據進行處理,找到數據部分,進行啟動加載。

        在CCS開發環境下生成的目標文件是*.out,即通用目標文件格式(COFF)。該文件可以在CCS開發環境下通過仿真器下載到DSP目標板中運行調試,但該代碼文件并不是DSP中實際運行的程序代碼,需用Hex工具(hex6x.exe)進行轉換成引導表文件,然后再用bconvert64x.exe和bootpacket.exe下具將引導表文件轉換成以太網引導格式數據文件,并封裝成幀文件。

        結語

        文中介紹了一種基于以太網的DSP引導程序加載技術,該技術在多核高性能DSP系統的及系統的軟件更新等工程應用領域具有獨特的優勢和較好的應用前景。目前已成功運用在網絡視頻監控系統的軟件更新。實踐表明,該引導加載技術靈活可靠,為遠程控制系統的調試和更新提供了便利。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 资溪县| 平邑县| 潮安县| 惠安县| 甘洛县| 万州区| 枣阳市| 繁峙县| 普格县| 五台县| 旺苍县| 大化| 长春市| 江门市| 玉溪市| 金昌市| 安新县| 滦平县| 南投市| 陕西省| 辉南县| 土默特左旗| 洛隆县| 习水县| 贺州市| 青州市| 安泽县| 嵩明县| 肥东县| 新平| 衡东县| 宜兰县| 光山县| 元氏县| 天峨县| 东乌珠穆沁旗| 宣汉县| 香港 | 新平| 蓝山县| 宁蒗|