熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

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

多核DSP的以太網(wǎng)遠程程序加載方法

作者: 時間:2016-10-10 來源:網(wǎng)絡 收藏

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

本文引用地址:http://www.bjwjmy.cn/article/201610/306406.htm

引言

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

文中介紹了DSP程序加載的基本原理,以TI公司的 TMS320C6670為例,實現(xiàn)了一種基于BOOTP協(xié)議的DSP程序加載技術(shù),利用網(wǎng)絡通信實現(xiàn)DSP程序的動態(tài)加載,提高軟件更新效率。

1 原理

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

1.1 IP協(xié)議和UDP協(xié)議

IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)是TCP/IP中網(wǎng)絡層協(xié)議。UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)是TC尸/IP傳輸層的無連接協(xié)議。由于完整的TCP/IP協(xié)議將占用大量系統(tǒng)資源,所以在高可靠的局域網(wǎng)中,可以采用UDP協(xié)議發(fā)送數(shù)據(jù)包。

1.2 BOOTP協(xié)議

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

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

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

1.3 BOOTP包格式

BOOTP包格式如圖1所示。

多核DSP的以太網(wǎng)遠程程序加載方法

包操作碼/消息類型:1=BOOTREQUEST(引導請求),2=BOOTREPLY(引導應答)。硬件地址類型:1=10M以太網(wǎng)。硬件地址長度:6是10M以太網(wǎng)。跳躍點數(shù):用于跨網(wǎng)引導,由路由器使用。事務ID:一個隨機數(shù),用來匹配引用請求和應答??蛻舳艘龑妹霐?shù):由客戶端填寫,客戶端引導開始后的過去的秒數(shù)??蛻舳薎P地址:BOOTP客戶將此置為0,要求服務器應答本客戶的IP地址。你的IP地址:BOOTP客戶將此設置為0。服務器IP地址:由服務器在引導應答返回。網(wǎng)關(guān)IP地址:用于跨網(wǎng)引導時使用。客戶端硬件地址:客戶填充本機MAC地址。服務器主機名:用于跨網(wǎng)引導時使用。引導文件名:BOOTP請求置為0,服務器應答時將由BOOTPTAB填充一個特定的運行程序路徑名。標準選項域:此域用于BOOTP客戶從服務器獲得一系列標準選項,例如網(wǎng)管IP地址、網(wǎng)關(guān)IP地址、DNS域名服務器IP地址、客戶機名等。

1.4 以太網(wǎng)數(shù)據(jù)包格式

以太網(wǎng)請求包格式如圖2所示。

多核DSP的以太網(wǎng)遠程程序加載方法

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

以太網(wǎng)引導包格式如圖3所示。

多核DSP的以太網(wǎng)遠程程序加載方法

2 硬件設計

系統(tǒng)采用多核TMS320C6670 DSP芯片作為主控芯片,其內(nèi)置千兆網(wǎng)絡協(xié)處理器,所以外圍電路只需增加物理層芯片。結(jié)構(gòu)框圖如圖4所示。

多核DSP的以太網(wǎng)遠程程序加載方法

3 下載實現(xiàn)過程

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

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

多核DSP的以太網(wǎng)遠程程序加載方法

圖6為以太網(wǎng)請求包主要內(nèi)容,與原理中描述的以太網(wǎng)請求包格式是一致的,包含DIX以太網(wǎng)、IPV4、UDP協(xié)議和BOOTP協(xié)議包。

多核DSP的以太網(wǎng)遠程程序加載方法

圖7為接收到的BOOTP包內(nèi)容。

多核DSP的以太網(wǎng)遠程程序加載方法

服務器此時收到了BOOTP協(xié)議包,獲得了客戶機的MAC地址,此時要進行ARP(Address Resolution Protocol,地址解析協(xié)議)地址綁定。在完成上面兩步后,通過上位機通信程序?qū)募l(fā)送給客戶機。圖8為截取的UDP發(fā)送圖。

多核DSP的以太網(wǎng)遠程程序加載方法

圖9為以太網(wǎng)引導包內(nèi)容。

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

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

結(jié)語

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



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉