国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于ADSP-BF537嵌入式FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)

發(fā)布時(shí)間:2010-11-28 12:32    發(fā)布者:designer
關(guān)鍵詞: ADSP-BF537 , FTP , 服務(wù)器 , 嵌入式
隨著嵌入式設(shè)備的不斷發(fā)展,其對(duì)通信也提出了越來(lái)越高的要求。FTP(File Transfer Protocol)作為internet上最早提供的服務(wù)之一,至今仍然被人們廣泛使用,F(xiàn)TP是實(shí)現(xiàn)文件傳輸服務(wù)的最主要的規(guī)范。當(dāng)需要考慮到文件傳輸安全、傳輸質(zhì)量、訪問(wèn)控制等諸多因素時(shí),F(xiàn)TP服務(wù)器就成了解決文件傳輸問(wèn)題的關(guān)鍵所在。

然而,有時(shí)嵌入式系統(tǒng)的開(kāi)發(fā)環(huán)境并不支持FTP協(xié)議(如ADSP的集成開(kāi)發(fā)環(huán)境Visual DSP++),在這種情況下,利用已有的LWIP堆棧中的一些基礎(chǔ)函數(shù)來(lái)構(gòu)建一個(gè)FTP服務(wù)器,正是本文要詳細(xì)探討的話題。

1 文件傳輸過(guò)程

FTP協(xié)議與一般的Intemet協(xié)議不同。Intemet協(xié)議通常采用一個(gè)TCP連接來(lái)傳送信息(如HTTP協(xié)議);而FTP協(xié)議則采用兩個(gè)TCP連接來(lái)實(shí)現(xiàn)文件的傳輸,其中一個(gè)用來(lái)為文件傳輸下命令,另一個(gè)則實(shí)現(xiàn)真正的傳輸過(guò)程。圖1所示是FTP文件傳輸?shù)脑韴D。





客戶端想要獲取存放在服務(wù)器上的文件時(shí),應(yīng)先通過(guò)一個(gè)預(yù)定義的端口號(hào)21主動(dòng)與服務(wù)器建立連接,服務(wù)器收到請(qǐng)求后,通過(guò)3次握手,就可在進(jìn)行FTP命令處理的用戶協(xié)議解釋器(PI)和服務(wù)器協(xié)議解釋器之間建立一條TCP連接。該連接始終等待用戶和服務(wù)器之間的通信,并傳輸用戶輸入的所有FTP命令和服務(wù)器的應(yīng)答,即FTP傳輸中的命令連接。

當(dāng)客戶通過(guò)交互式用戶界面向FTP服務(wù)器發(fā)出要下載服務(wù)器上某一文件的命令時(shí),該命令即被送到用戶協(xié)議解釋器,并由用戶協(xié)議解釋器進(jìn)行處理。FTP將在服務(wù)器端口號(hào)20上打開(kāi)一個(gè)數(shù)據(jù)TCP連接。在數(shù)據(jù)連接上傳送完本次請(qǐng)求需傳送的文件之后,它將關(guān)閉數(shù)據(jù)連接,直到再有文件傳送請(qǐng)求時(shí)再重新打開(kāi)。因此,在FTP中,控制連接在整個(gè)用戶會(huì)話期間一直打開(kāi)著,而數(shù)據(jù)連接則是一條臨時(shí)連接,當(dāng)且僅當(dāng)執(zhí)行文件傳輸過(guò)程時(shí)才被創(chuàng)建。

FTP服務(wù)器的內(nèi)部結(jié)構(gòu)可根據(jù)不同的需求,選擇不同的服務(wù)器模式。因?yàn)榉⻊?wù)器模式?jīng)Q定著設(shè)計(jì)結(jié)構(gòu),而不同的設(shè)計(jì)結(jié)構(gòu)又很大程度地影響著FTP服務(wù)器的性能。服務(wù)器的模式主要有循環(huán)服務(wù)器和并發(fā)服務(wù)器。

1.1循環(huán)服務(wù)器

循環(huán)服務(wù)器只適應(yīng)于最簡(jiǎn)單的應(yīng)用協(xié)議,它采用客戶輪流等待的工作方式。但它的設(shè)計(jì)、編程、調(diào)試和修改都比較簡(jiǎn)單,在其響應(yīng)時(shí)間可以滿足需求的條件下(這個(gè)時(shí)間可以在本地或全局網(wǎng)絡(luò)中進(jìn)行測(cè)試),可以采用循環(huán)服務(wù)器模式。

1.2 并發(fā)服務(wù)器

如果構(gòu)建一個(gè)響應(yīng)需要大量的I/O操作,且各個(gè)請(qǐng)求所需要的處理時(shí)間差別非常大,或服務(wù)器在一臺(tái)多處理器的計(jì)算機(jī)上運(yùn)行,則可引入并發(fā)性方法來(lái)縮短響應(yīng)時(shí)間。大多數(shù)并發(fā)服務(wù)器使用多個(gè)進(jìn)程以及多個(gè)線程。其線程可分為兩類:主服務(wù)器線程和從服務(wù)器線程。然而,在有些情況下,一些操作系統(tǒng)創(chuàng)建一個(gè)線程的開(kāi)銷很大,服務(wù)器無(wú)法承擔(dān)為每個(gè)請(qǐng)求或每個(gè)連接都創(chuàng)建一個(gè)線程的重負(fù)時(shí),可采用單線程的并發(fā)模式。

2 嵌入式FTP服務(wù)器的實(shí)現(xiàn)

圖2所示是以ADSP-BF537為核心的嵌入式系統(tǒng)的硬件組成框圖。圖中,基于Blackfin處理器的ADSP--BF537具有接口豐富,性能優(yōu)良,價(jià)格低廉等特點(diǎn),并具有強(qiáng)大的多媒體數(shù)據(jù)處理能力。ADSP的集成開(kāi)發(fā)環(huán)境Visual DSP++中嵌入了實(shí)時(shí)操作系統(tǒng)內(nèi)核VDK,適合于多任務(wù)多線程的嵌入式操作。此外,ADI還提供了一個(gè)用于Blackfin系列嵌入式處理器的LwIP協(xié)議棧端口,利用它可以快速將一個(gè)獨(dú)立的嵌入式應(yīng)用聯(lián)網(wǎng)。圖2中的BF537可通過(guò)網(wǎng)絡(luò)芯片LAN8187實(shí)現(xiàn)與上位機(jī)之間的網(wǎng)絡(luò)通信,同時(shí)利用自身的PPI口實(shí)現(xiàn)與存儲(chǔ)陣列的通信和管理。





由于系統(tǒng)中的服務(wù)器和客戶端在同一個(gè)局域網(wǎng)內(nèi),考慮到硬件芯片本身的特點(diǎn),在文件下載時(shí),與存儲(chǔ)陣列的通信只能通過(guò)同一套PPI總線,因此,較好的方式是一次只接受一個(gè)用戶的下載請(qǐng)求,于是可構(gòu)建一個(gè)循環(huán)服務(wù)器來(lái)滿足需求。

出于安全性考慮,服務(wù)器通常只接受用戶名/密碼的登錄方式。登錄時(shí)所需的用戶名和密碼存放在存儲(chǔ)板中。每次收到用戶請(qǐng)求信息后,先從存儲(chǔ)板處獲得已有的用戶信息并比較,若與其中任何一個(gè)相符合,則發(fā)送接受請(qǐng)求信息,否則,回送拒絕信息。用戶登陸成功后,服務(wù)器會(huì)響應(yīng)它的各種操作。圖3所示是FTP服務(wù)器的操作流程圖。





當(dāng)用戶需要下載文件時(shí),需先獲取文件列表。文件列表存放于存儲(chǔ)板中,可先由服務(wù)器向存儲(chǔ)板發(fā)送回送文件列表的請(qǐng)求,在得到響應(yīng)后。再通過(guò)網(wǎng)絡(luò)回送給用戶,由用戶從中選擇所需下載文件的文件名,并發(fā)送給服務(wù)器。服務(wù)器收到文件名后,先判斷其所屬的文件夾,再由此向?qū)?yīng)存儲(chǔ)板發(fā)送下載該文件的命令。存儲(chǔ)板通過(guò)PPI向管理板回送信息(在此每包數(shù)據(jù)的大小為64KB),管理板每緩存完十包數(shù)據(jù)后,將通過(guò)網(wǎng)絡(luò)回送給用戶。需要指出的是,一開(kāi)始,在實(shí)際的下載過(guò)程中,有時(shí)文件會(huì)出現(xiàn)丟幀現(xiàn)象,而且跟網(wǎng)絡(luò)狀況有關(guān)。經(jīng)過(guò)分析其原因是網(wǎng)絡(luò)速度與PPI傳輸相比過(guò)慢而導(dǎo)致接收緩存溢出,從而引起下載過(guò)程中的數(shù)據(jù)丟失。于是,可采取流控的下載方式。事實(shí)上,存儲(chǔ)板并不會(huì)一下將所有數(shù)據(jù)都連續(xù)地發(fā)送過(guò)來(lái),而是每發(fā)送完十包以后,再等待控制板的確認(rèn)包。控制板只有在將所有數(shù)據(jù)都通過(guò)網(wǎng)路發(fā)送完畢后,才給存儲(chǔ)板發(fā)送確認(rèn)包,以等待接收下一次的十包數(shù)據(jù)。以此循環(huán),直至下載完成。其命令處理流程圖如圖4所示。





3 結(jié)束語(yǔ)

在嵌入式系統(tǒng)中,依靠通信技術(shù)可以創(chuàng)造出很多十分有用的產(chǎn)品,本文重點(diǎn)介紹了一個(gè)以DSP為核心所構(gòu)建的嵌入式FTP服務(wù)器的實(shí)現(xiàn)方法。且經(jīng)實(shí)際檢驗(yàn),運(yùn)行狀況良好。本方法對(duì)其它形式的嵌入式系統(tǒng)的FTP下載功能,也有很強(qiáng)的借鑒意義。
本文地址:http://m.qingdxww.cn/thread-42367-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • FPGA設(shè)計(jì)流程培訓(xùn)教程
  • Chiptorials ——如何將CryptoAuthLib庫(kù)用于Microchip安全身份驗(yàn)證IC
  • Chiptorials ——使用ATECC608 TrustFLEX實(shí)現(xiàn)基本非對(duì)稱身份驗(yàn)證
  • Chiptorials——如何使用ATECC608 TrustFLEX實(shí)現(xiàn)公鑰輪換
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲日本va | 国产三级精品在线 | 一级毛片国产 | 亚洲一区二区三区免费 | 午夜免费在线观看 | 日韩免费视频 | 无码h肉动漫在线观看 | 国产99久9在线视频 国产99久9在线 | 丁香婷婷久久 | 欧美成人高清视频 | 无人视频完整免费版视频观看下载 | 国产精品麻豆网站 | 免费看一级毛片 | 午夜拍拍福利视频蜜桃视频 | 免费成人高清视频 | 茄子香蕉草莓丝瓜芭乐绿巨人 | 天堂网www天堂在线资源链接 | 欧美资源在线观看 | 国产精品久久久久毛片真精品 | 久久久这里只有精品加勒比 | 97在线视频网站 | 亚洲国产爱 | 两个人免费完整高清视频中国 | 久久亚洲精品国产精品黑人 | 国产做受视频激情播放 | 国产毛片网 | 美国一级毛片片aa成人 | 久草免费资源视频 | 国产午夜一区二区在线观看 | 在线观看国产精美视频 | 日本欧美一区二区 | 果冻传媒第一二专区天美传媒 | 亚洲欧美国产视频 | 天堂资源wwww在线看 | 国产精品国内免费一区二区三区 | 国产自产在线 | 成人在线免费播放 | 亚洲一区二区三区免费在线观看 | 久久精品视频久久 | 永久影院 | 2019国内精品久久久久久 |