音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

一種基于ADSP-BF537嵌入式FTP服務(wù)器的設(shè)計(jì)方案

出處:電子元器件應(yīng)用 發(fā)布于:2011-09-05 15:05:02


  隨著時代的進(jìn)步,嵌入式設(shè)備的不斷發(fā)展,社會對通信也提出了越來越高的要求。FTP的全稱是File Transfer Protocol(文件傳輸協(xié)議)作為internet上早提供的服務(wù)之一,至今仍然被人們廣泛使用,F(xiàn)TP是實(shí)現(xiàn)文件傳輸服務(wù)的主要的規(guī)范。FTP服務(wù)器,則是在互聯(lián)網(wǎng)上提供存儲空間的計(jì)算機(jī),它們依照FTP協(xié)議提供服務(wù)。 顧名思義,就是專門用來傳輸文件的協(xié)議。簡單地說,支持FTP協(xié)議的服務(wù)器就是FTP服務(wù)器。當(dāng)需要考慮到文件傳輸安全、傳輸質(zhì)量、訪問控制等諸多因素時,F(xiàn)TP服務(wù)器就成了解決文件傳輸問題的關(guān)鍵所在。

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

  文件傳輸過程

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

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

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

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

  2. 并發(fā)服務(wù)器

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

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

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

 

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

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

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

  FTP的使用

  在FTP的使用當(dāng)中,用戶經(jīng)常遇到兩個概念:""(Download)和"上載"(Upload)。""文件就是從遠(yuǎn)程主機(jī)拷貝文件至自己的計(jì)算機(jī)上;"上載"文件就是將文件從自己的計(jì)算機(jī)中拷貝至遠(yuǎn)程主機(jī)上。用Internet語言來說,用戶可通過客戶機(jī)程序向(從)遠(yuǎn)程主機(jī)上載()文件。

  使用FTP時必須首先登錄,在遠(yuǎn)程主機(jī)上獲得相應(yīng)的權(quán)限以后,方可上傳或文件。也就是說,要想同哪一臺計(jì)算機(jī)傳送文件,就必須具有哪一臺計(jì)算機(jī)的適當(dāng)授權(quán)。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機(jī)何止千萬,不可能要求每個用戶在每一臺主機(jī)上都擁有帳號。匿名FTP就是為解決這個問題而產(chǎn)生的。

  匿名FTP是這樣一種機(jī)制,用戶可通過它連接到遠(yuǎn)程主機(jī)上,并從其文件,而無需成為其注冊用戶。系統(tǒng)管理員建立了一個特殊的用戶ID,名為anonymous,Internet上的任何人在任何地方都可使用該用戶ID。

  通過FTP程序連接匿名FTP主機(jī)的方式同連接普通FTP主機(jī)的方式差不多,只是在要求提供用戶標(biāo)識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字符串。習(xí)慣上,用自己的E-mail地址作為口令,使系統(tǒng)維護(hù)程序能夠記錄下來誰在存取這些文件。

  值得注意的是,匿名FTP不適用于所有Internet主機(jī),它只適用于那些提供了這項(xiàng)服務(wù)的主機(jī)。

  當(dāng)遠(yuǎn)程主機(jī)提供匿名FTP服務(wù)時,會指定某些目錄向公眾開放,允許匿名存取。系統(tǒng)中的其余目錄則處于隱匿狀態(tài)。作為一種安全措施,大多數(shù)匿名FTP主機(jī)都允許用戶從其文件,而不允許用戶向其上載文件,也就是說,用戶可將匿名FTP主機(jī)上的所有文件全部拷貝到自己的機(jī)器上,但不能將自己機(jī)器上的任何一個文件拷貝至匿名FTP主機(jī)上。即使有些匿名FTP主機(jī)確實(shí)允許用戶上載文件,用戶也只能將文件上載至某一指定上載目錄中。隨后,系統(tǒng)管理員會去檢查這些文件,他會將這些文件移至另一個公共目錄中,供其他用戶,利用這種方式,遠(yuǎn)程主機(jī)的用戶得到了保護(hù),避免了有人上載有問題的文件,如帶病毒的文件。

  作為一個Internet用戶,可通過FTP在任何兩臺Internet主機(jī)之間拷貝文件。但是,實(shí)際上大多數(shù)人只有一個Internet帳戶,F(xiàn)TP主要用于公共文件,例如共享軟件、各公司技術(shù)支持文件等。

  Internet上有成千上萬臺匿名FTP主機(jī),這些主機(jī)上存放著數(shù)不清的文件,供用戶拷貝。實(shí)際上,幾乎所有類型的信息,所有類型的計(jì)算機(jī)程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。

  匿名FTP使用戶有機(jī)會存取到世界上的信息庫,這個信息庫是日積月累起來的,并且還在不斷增長,永不關(guān)閉,涉及到幾乎所有主題。而且,這一切是的。

  匿名FTP是Internet網(wǎng)上發(fā)布軟件的常用方法。Internet之所以能延續(xù)到今天,是因?yàn)槿藗兪褂猛ㄟ^標(biāo)準(zhǔn)協(xié)議提供標(biāo)準(zhǔn)服務(wù)的程序。像這樣的程序,有許多就是通過匿名FTP發(fā)布的,任何人都可以存取它們。

  Internet中的有數(shù)目巨大的匿名FTP主機(jī)以及更多的文件,那么到底怎樣才能知道某一特定文件位于哪個匿名FTP主機(jī)上的那個目錄中呢?這正是 Archie服務(wù)器所要完成的工作。Archie將自動在FTP主機(jī)中進(jìn)行搜索,構(gòu)造一個包含全部文件目錄信息的數(shù)據(jù)庫,使你可以直接找到所需文件的位置信息。

  結(jié)束語

  在嵌入式系統(tǒng)中,依靠通信技術(shù)可以創(chuàng)造出很多十分有用的產(chǎn)品,本文重點(diǎn)介紹了一個以DSP為所構(gòu)建的嵌入式FTP服務(wù)器的實(shí)現(xiàn)方法。且經(jīng)實(shí)際檢驗(yàn),運(yùn)行狀況良好。本方法對其它形式的嵌入式系統(tǒng)的FTP功能,也有很強(qiáng)的借鑒意義。

 


  
關(guān)鍵詞:DSP服務(wù)器嵌入式

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!