• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于嵌入式USB主機(jī)的飛控?cái)?shù)據(jù)記錄器設(shè)計(jì)及實(shí)現(xiàn)

      2011-06-05 11:01:34樊文俠
      電子設(shè)計(jì)工程 2011年19期
      關(guān)鍵詞:記錄器飛行數(shù)據(jù)飛控

      樊文俠,房 壯

      (西安工業(yè)大學(xué) 電子信息工程學(xué)院,陜西 西安 710032)

      飛行數(shù)據(jù)記錄系統(tǒng)對(duì)保障飛機(jī)的日常飛行訓(xùn)練,分析飛行事故,評(píng)估飛行訓(xùn)練質(zhì)量都發(fā)揮了極其重要的作用。但是,當(dāng)前的飛行數(shù)據(jù)記錄器的缺點(diǎn)十分明顯,主要反映在以下幾點(diǎn):

      1)體積大、重量大、功耗大的缺點(diǎn);

      2)地面PC通過RS232串口卸載數(shù)據(jù)記錄器中的數(shù)據(jù),存在卸載速度慢,無法脫離PC的應(yīng)用環(huán)境,給現(xiàn)場(chǎng)卸載數(shù)據(jù)帶來了不便;

      3)地面PC需要安裝相應(yīng)的數(shù)據(jù)卸載軟件,導(dǎo)致數(shù)據(jù)記錄器移動(dòng)性差。

      隨著USB接口技術(shù)的成熟和USB移動(dòng)存儲(chǔ)設(shè)備的普及,如果在飛行數(shù)據(jù)記錄器集成USB主機(jī)接口,飛行數(shù)據(jù)記錄器可以與USB大容量存儲(chǔ)設(shè)備(如U盤)之間直接通信,擺脫了只能通過PC來進(jìn)行相互的文件和數(shù)據(jù)交換,提高了數(shù)據(jù)卸載速度,實(shí)現(xiàn)了飛行數(shù)據(jù)卸載的靈活移動(dòng)。

      根據(jù)具體飛行數(shù)據(jù)器的實(shí)際需要,研究設(shè)計(jì)了一種新型飛行數(shù)據(jù)固態(tài)記錄器,通過RS232接口接收機(jī)載數(shù)據(jù),并以BIN文件格式保存到NAND Flash海量存儲(chǔ)芯片上,數(shù)據(jù)記錄器通過USB主機(jī)接口與大容量設(shè)備進(jìn)行文件和數(shù)據(jù)交換,完成數(shù)據(jù)卸載的任務(wù)。

      1 飛行數(shù)據(jù)記錄器的工作原理和整體設(shè)計(jì)

      飛控?cái)?shù)據(jù)記錄器用于記錄無人機(jī)在飛行過程中的飛行參數(shù),首先接收RS422串口數(shù)據(jù)并以BIN文件格式記錄在海量存儲(chǔ)器中,待飛機(jī)返回地面后數(shù)據(jù)以一定的文件格式轉(zhuǎn)存到USB大容量存儲(chǔ)設(shè)備中,并可以在PC機(jī)上根據(jù)需要分析數(shù)據(jù)。工作流程如下:

      1)通過RS422接收數(shù)據(jù) ARM控制器在完成系統(tǒng)初始化和構(gòu)建FAT16文件系統(tǒng)后,默認(rèn)進(jìn)入接收RS422端口的數(shù)據(jù)狀態(tài),飛行參數(shù)按照BIN文件的格式保存到NAND Flash存儲(chǔ)器中。

      2)通過USB接口卸載數(shù)據(jù) 當(dāng)USB設(shè)備插入主機(jī)體統(tǒng)上后,由USB主控器通過外部中斷信號(hào)來通知ARM控制器,ARM控制器與USB主控器完成設(shè)備的枚舉、配置等操作后,將存儲(chǔ)在NAND Flash存儲(chǔ)器的飛行參數(shù)文件卸載到U盤。模塊的硬件結(jié)構(gòu)圖如圖1所示。

      2 硬件層設(shè)計(jì)

      2.1 系統(tǒng)主要硬件選型

      圖1 USB數(shù)據(jù)記錄器結(jié)構(gòu)框圖Fig.1 USB data recorder configuration diagram

      從圖1可知,USB飛控?cái)?shù)據(jù)記錄器可以細(xì)分為ARM微處理器、USB主機(jī)控制器、NAND Flash大容量存儲(chǔ)器。ARM微處理和USB主機(jī)控制器共同實(shí)現(xiàn)了USB功能,USB主機(jī)控制器為移動(dòng)存儲(chǔ)設(shè)備提供接口,并實(shí)現(xiàn)部分的底層USB協(xié)議;大容量存儲(chǔ)器是存儲(chǔ)飛行數(shù)據(jù)的設(shè)備。

      1)微控制器:選用 NXP公司的 ARM7TDMAI處理器LPC2214主要優(yōu)點(diǎn):低功耗,采用3.3 V供電,內(nèi)核電壓1.8 V;主頻高,運(yùn)行頻率達(dá)到60 MHz,擁有256 kB片內(nèi)的Flash編程存儲(chǔ)器,16 kB SRAM;-40~85℃的工作范圍滿足數(shù)據(jù)記錄器的工作條件[1]。

      2)USB主機(jī)接口:PHILIPS公司的ISP1161A1是一個(gè)單片通用串行總線(USB)主機(jī)控制器(HC)和設(shè)備控制器(DC)。ISP1161A1的主機(jī)控制器符合串行總線2.0規(guī)范,支持全速(12 Mbit/s)和低速(1.5 Mbit/s)的數(shù)據(jù)傳輸。 ISP1161A1 提供兩個(gè)下行端口,每個(gè)下行端口都有一個(gè)過流(OC)檢測(cè)輸入及電源快關(guān)控制輸出引腳[2]。

      3)FlASH:由于記錄器要存儲(chǔ)容量至少達(dá)到128 MB,從而選用SASUNG公司的NANDFLASH K9F1G08U0M,其實(shí)際的存儲(chǔ)容量高達(dá)128 MB+4 MB,其中4 MB為備用空間;-40~85℃的工作范圍滿足數(shù)據(jù)記錄器的工作條件;供電3.3 V,功耗低,可以和LPC2214芯片使用同一個(gè)3.3 V穩(wěn)壓電源,簡(jiǎn)化了電源電路的設(shè)計(jì)。

      4)片外RAM擴(kuò)展:由于需要在飛控?cái)?shù)據(jù)記錄器構(gòu)建USB主機(jī)協(xié)議棧、FAT16文件系統(tǒng),對(duì)系統(tǒng)的內(nèi)存開銷很大,LPC2214的自身16 k已無法滿足要求,需要向片外擴(kuò)展RAM,選擇 8 MB 的 PSRAM(MT45W4MW16),16位總線接口系統(tǒng)硬件電路的設(shè)計(jì)。

      2.2 硬件電路設(shè)計(jì)

      飛控?cái)?shù)據(jù)記錄器的硬件部分結(jié)構(gòu)如圖1所示,主要由ARM最小系統(tǒng),用于存放飛行參數(shù)的片外NAND Flash存儲(chǔ)電路、RS-422接口電路、USB主機(jī)接口、片外SRAM擴(kuò)展電路五部分構(gòu)成。本文主要介紹NAND Flash存儲(chǔ)電路和USB主機(jī)部分的電路。

      1)NAND Flash 存儲(chǔ)電路

      將CPU的總線讀寫信號(hào)/OE和/WE分別與靜態(tài)存儲(chǔ)器的片選信號(hào)線/CS0相或之后作為NAND FLASH的讀寫信號(hào),這樣做的一個(gè)好處是當(dāng)以后擴(kuò)展新功能時(shí),/OE和/WE的狀態(tài)不會(huì)影響NAND FLASH的讀寫信號(hào)。而NAND FLASH的片選信號(hào)/CE通過CPU的IO口P4.22進(jìn)行控制。7管腳接上拉電阻使該FLASH處于就緒狀態(tài),同時(shí)將忙信號(hào)通過P4.23反饋給LPC2214。命令鎖存使能、地址鎖存使能信號(hào)分別與地址線A21、A20相連。這樣連接的一個(gè)主要原因是,所有的CPU管腳都在一起,方便PCB板的布線。NAND FLASH的連線如圖2所示。

      圖2 NAND Flash存儲(chǔ)電路Fig.2 Circuit of NAND Flash storage

      2)USB主機(jī)接口電路

      當(dāng)USB設(shè)備與主機(jī)連接或斷開時(shí),會(huì)產(chǎn)生大電流也就是浪涌,因此需要設(shè)計(jì)一個(gè)過流保護(hù)電路。ISP1161A1主機(jī)芯片的VCC接到5V電源時(shí),內(nèi)部過流檢測(cè)電路被使能。當(dāng)芯片檢測(cè)到一個(gè)過流狀態(tài)時(shí),將關(guān)閉下行端口Vbus的5 V電源。當(dāng)處于非過流狀態(tài)時(shí),將打開Vbus的5 V電源。在設(shè)計(jì)中,用一個(gè)P-溝道MOSFET作為Vbus電源開關(guān)。用一個(gè)P-溝道MOSFET的源極與5 V電源連接,Vbus接源級(jí)和H_PSWn接閘級(jí)。漏極與源級(jí)上的壓降,為過流檢測(cè)電壓(VOC)。當(dāng)VOC標(biāo)稱的電壓閥值H_PSWn將輸出高電平,關(guān)閉P-溝道MOSFET。如圖3所示。

      3 飛控?cái)?shù)據(jù)記錄器的軟件設(shè)計(jì)

      3.1 飛控?cái)?shù)據(jù)記錄器軟件設(shè)計(jì)的總體框架

      系統(tǒng)的軟件平臺(tái)核心為μC/OS-II,它是一個(gè)源碼公開的、占先式任務(wù)管理的實(shí)施操作系統(tǒng)內(nèi)核,已在相當(dāng)多的系統(tǒng)中得到成功應(yīng)用,具有其性能穩(wěn)定、源碼公開的優(yōu)點(diǎn)。

      系統(tǒng)通過μC/OS-II操作對(duì)系統(tǒng)的兩大功能任務(wù)進(jìn)行管理及其子任務(wù)間的調(diào)度:

      1)基于NAND Flash的FAT16文件系統(tǒng)存儲(chǔ)。由于NAND Flash的物理特性:出廠之前可能存儲(chǔ)在壞塊以及操作過程中再次出現(xiàn)壞塊,擦除次數(shù)有限,頁讀塊擦除,寫之前需先擦除,存儲(chǔ)器中的數(shù)據(jù)只能由1變0,為了有效的使用閃存,提高使用壽命和利用率,盡可能減少擦除次數(shù),并且,擦除操作盡可能均勻分布在整個(gè)閃存上[3]。文中通過重新設(shè)計(jì)NAND Flash驅(qū)動(dòng)程序,支持均衡寫閃存和壞塊管理,為上層FAT文件管理軟件提供一個(gè)可靠的邏輯存儲(chǔ)設(shè)備。NAND Flash驅(qū)動(dòng)程序主要實(shí)現(xiàn)如下:①支持NAND Flash寫平衡。驅(qū)動(dòng)程序把編程操作分散到不同的物理扇區(qū),使每個(gè)扇區(qū)的編程次數(shù)趨于相同,提高了閃存的壽命;②支持壞塊管理。驅(qū)動(dòng)程序會(huì)自動(dòng)記錄原始?jí)膲K和新產(chǎn)生的壞塊,提高數(shù)據(jù)存儲(chǔ)的可靠性。

      圖3 主機(jī)接口電路Fig.3 Circuit of host interface

      2)實(shí)現(xiàn)USB主機(jī)對(duì)U盤的讀寫。USB主機(jī)為實(shí)現(xiàn)U讀寫提供的功能有:①將測(cè)USB外設(shè)的接入和移出;②管理主機(jī)和外設(shè)之間進(jìn)行的USB標(biāo)準(zhǔn)流控制;③枚舉外設(shè);④管理主機(jī)和外設(shè)之間的數(shù)據(jù)流;⑤搜索系統(tǒng)狀態(tài)和性能的統(tǒng)計(jì)信息;⑥主機(jī)與外設(shè)之間的電氣接口,包括供電[4]。

      3)USB協(xié)議規(guī)定了人機(jī)接口設(shè)備HID類、MassSorage類和音頻類等一系列的設(shè)備類型,用于支持不同的設(shè)備。根據(jù)應(yīng)用需要,開發(fā)了USB接口的海量存儲(chǔ)類設(shè)備。該系統(tǒng)支持熱插拔,可以識(shí)別插上是哪種設(shè)備,并調(diào)用對(duì)用的驅(qū)動(dòng)。

      3.2 NAND Flash壞塊管理和均衡讀寫實(shí)現(xiàn)方法

      1)NAND Flash文件系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)

      為方便文件系統(tǒng)的移植,同時(shí)便于兼容更多的NAND Flash存儲(chǔ)器,將整個(gè)文件系統(tǒng)分為文件管理層(FAT)、存儲(chǔ)管理層(FFS)和NAND Flash驅(qū)動(dòng)層。結(jié)構(gòu)如圖4所示。

      圖4 NAND Flash文件系統(tǒng)結(jié)構(gòu)圖Fig.4 NAND Flash file system structure

      文件管理層對(duì)文件系統(tǒng)進(jìn)行封裝,為應(yīng)用層提供統(tǒng)一的、標(biāo)準(zhǔn)的API接口,把用戶對(duì)文件的操作請(qǐng)求提交給文件邏輯層來處理。標(biāo)準(zhǔn)的文件操作函數(shù)有:FileOpen()、FileClose()、FileRead ()、FileWrite ()、FileSeek ()、RemoveFile ()、MakeDir()、RemoveDir()等[5]。

      文件邏輯層為文件管理層提供服務(wù),把文件管理層對(duì)文件的操作轉(zhuǎn)換為物理上的操作,均衡磨損控制,壞塊管理,并提交給Flash驅(qū)動(dòng)層處理。

      Flash設(shè)備驅(qū)動(dòng)層實(shí)現(xiàn)對(duì)Flash的物理操作,包括塊的擦出、頁面的寫入和讀出。它為文件系統(tǒng)和存儲(chǔ)器提供統(tǒng)一的接口,提高了存儲(chǔ)器的適應(yīng)能力。

      2)NAND Flash壞塊管理算法

      NAND Flash的每個(gè)扇區(qū)由數(shù)據(jù)區(qū)(主數(shù)據(jù)區(qū))和備用數(shù)據(jù)區(qū)(附加數(shù)據(jù)區(qū))組成。平衡讀寫驅(qū)動(dòng)使用數(shù)據(jù)區(qū)存儲(chǔ)數(shù)據(jù),備用數(shù)據(jù)區(qū)存儲(chǔ)此扇區(qū)的屬性[4]。由于,第0塊的高可靠性,可以用來保存NAND Flash硬件信息,作為系統(tǒng)區(qū),而其他作為數(shù)據(jù)區(qū)。上層FAT文件管理系統(tǒng)使用驅(qū)動(dòng)時(shí),提供邏輯扇區(qū)號(hào),但因?yàn)閴膲K和均衡磨損的要求,要經(jīng)過NAND Flash存儲(chǔ)管理層轉(zhuǎn)換為物理地址后才能訪問硬件層。

      NAND Flash硬件信息的結(jié)構(gòu)體變量有一個(gè)成員BlockState數(shù)組,數(shù)組中每一個(gè)元素對(duì)應(yīng)一個(gè)物理扇區(qū)。數(shù)組保存每一個(gè)物理塊的狀態(tài),用物理扇區(qū)號(hào)訪問數(shù)組,就可得到物理塊的狀態(tài)。數(shù)組元素值有3個(gè):BAD_BLOCK(壞塊)、FREE_BLOCK(未使用)、USR_BLOCK(已使用)。

      3)均衡讀寫實(shí)現(xiàn)方法算法

      均衡讀寫主要是把需要寫入Flash的數(shù)據(jù)編程到擦除次數(shù)的物理塊。核心操作為查找擦出次數(shù)最少的塊。因此,在構(gòu)建NAND Flash硬件信息的結(jié)構(gòu)體變量有一個(gè)成員BlockEaseSum數(shù)組,數(shù)組中每一個(gè)元素對(duì)應(yīng)一個(gè)物理塊[5]。數(shù)組保存每一個(gè)物理塊的擦出次數(shù),用物理塊號(hào)作為下標(biāo)讀取這個(gè)數(shù)組,就可以得到這個(gè)塊的擦出次數(shù)。當(dāng)數(shù)組成員的值為0xFFFFFFF時(shí),表示此物理塊為壞塊。

      3.3 USB Mass Storage類協(xié)議框架的實(shí)現(xiàn)

      USB Mass Storage類是USB協(xié)議所定義的用來磁盤管理及大容量數(shù)據(jù)傳輸?shù)?。USB定義兩種海量存儲(chǔ)協(xié)議,它們分別是Buck-only Transport和 CBI Transport。目前市場(chǎng)上的海量存儲(chǔ)設(shè)備讀寫都采用塊傳輸來實(shí)現(xiàn)通信[6],在命令包CBW包含了標(biāo)志信息,數(shù)據(jù)長(zhǎng)度以及UFI命令等信息。其中UFI命令包含有格式化磁盤、讀磁盤、寫磁盤和讀磁盤容量等一系列磁盤管理命令。

      大部分移動(dòng)存儲(chǔ)設(shè)備都采用FAT文件系統(tǒng)來管理文件。整個(gè)文件系統(tǒng)通過Mass Storage的UFI命令與外設(shè)的磁盤建立聯(lián)系。 FAT文件系統(tǒng)將海量存儲(chǔ)設(shè)備上的數(shù)據(jù)大致分成5個(gè)部分:MBR 區(qū)(主引導(dǎo)區(qū))、DBR 區(qū)(系統(tǒng)引導(dǎo)區(qū))、FAT區(qū)(文件分配表)、FDT區(qū)(文件目錄表)和DATA區(qū)(數(shù)據(jù)區(qū))。當(dāng)USB接口的海量存儲(chǔ)設(shè)備與主機(jī)連接后,系統(tǒng)讀取MBR區(qū)和DBR區(qū)來獲得每扇區(qū)字節(jié)數(shù)[7],每簇扇區(qū)數(shù),F(xiàn)AT表個(gè)數(shù)等文件系統(tǒng)基本信息。獲得這些基本信息后向海量存儲(chǔ)設(shè)備寫入一個(gè)文件的流程如圖5所示。

      圖5 讀文件流程圖Fig.5 Process of reading file

      4 結(jié)束語

      在完成數(shù)據(jù)記錄器設(shè)計(jì)后,按照設(shè)計(jì)要求進(jìn)行實(shí)驗(yàn)室測(cè)試,步驟如下:

      1)將一個(gè)文件通過RS-422串口下載到數(shù)據(jù)記錄器中,并以FAT16格式保存;

      2)通過本系統(tǒng)的USB主機(jī)接口與外部的U盤進(jìn)行連接,系統(tǒng)對(duì)U盤成功枚舉后,將數(shù)據(jù)記錄器存儲(chǔ)的文件保存到U盤中。

      3)通過PC機(jī)對(duì)U盤中的文件進(jìn)行分析。一方面,PC可以識(shí)別U盤中的文件格式并可以打開;另一方面,通過文件比較軟件,將源文件和下載到U中的文件進(jìn)行比較,并計(jì)算誤碼率。

      4)使用不同品牌的U盤,重復(fù)上述過程。

      按照上述步驟,對(duì)各種大小、不同類型的文件,RS-422使用多種波特率,對(duì)飛控?cái)?shù)據(jù)記錄器進(jìn)行大量測(cè)試,測(cè)試結(jié)果表明上傳文件全部正確,誤碼率為零,且支持市面上絕大多數(shù)的U盤,從而證明飛控?cái)?shù)據(jù)記錄器設(shè)計(jì)方案正確和可行,完全擺脫了對(duì)PC機(jī)的依賴,方便無人機(jī)飛行數(shù)據(jù)的卸載。

      [1]王安,錢曉亮,樊文俠.基于ARM的USB接口飛控系統(tǒng)數(shù)據(jù)記錄器的設(shè)計(jì)[J].測(cè)控技術(shù),2007,26(4):37.WANG An, QIAN Xiao-liang, FAN Wen-xia.Design of USB interface for flight control system data recorder based on ARM[J].Measurement&Control Technology,2007,26(4):37.

      [2]蕭世文.USB2.0硬件設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.

      [3]周立功.ARM嵌入式系統(tǒng)軟件開發(fā)實(shí)例(一、二)[M].北京:北京航空航天大學(xué)出版社,2004.

      [4]馮光磊,郭忠文,李正寶,等.基于ARM和Linux的USB OHCI驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2009,29(21):53.FENG Guang-lei, GUO Zhong-wen, LI Zheng-bao, et al.Design and realization of USB OHCI driver based on ARM and Linux[J].Joumal of Computer Applications,2009,29(21):53.

      [5]陳智育.嵌入式系統(tǒng)中Flash的文件系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002(1):5-8.Cheng Zhi-yu.The flash system in embedded system[J].Microcontrollers&Embedded System,2002(1):5-8.

      [6]馮光磊,郭忠文,李正寶,等.基于ARM和Linux的USB OHCI驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2009,29(21):53.FENG Guang-lei,GUO Zhong-wen,LI Zheng-bao, et al.Design and realization of USB OHCI driver based on ARM and Linux[J].Joumal of Computer Applications.2009,29(21):53.

      猜你喜歡
      記錄器飛行數(shù)據(jù)飛控
      民用飛機(jī)飛控通電自檢測(cè)安全性研究
      無人機(jī)飛控軟件架構(gòu)設(shè)計(jì)初探
      GARMIN1000系統(tǒng)維修平臺(tái)搭建預(yù)研究
      02 飛控技術(shù)與機(jī)場(chǎng)安保引關(guān)注
      淺談飛行數(shù)據(jù)集中處理流程管理
      汽車事故數(shù)據(jù)記錄器數(shù)據(jù)規(guī)范及應(yīng)用進(jìn)展綜述
      飛控系統(tǒng)故障告警實(shí)時(shí)監(jiān)控軟件的設(shè)計(jì)與實(shí)現(xiàn)
      列車車廂視頻記錄器的應(yīng)用
      基于彈載圖像記錄器的壓縮系統(tǒng)設(shè)計(jì)
      電子器件(2015年5期)2015-12-29 08:43:03
      基于廣域信息管理的飛行數(shù)據(jù)服務(wù)設(shè)計(jì)與實(shí)現(xiàn)
      广丰县| 汝南县| 萨嘎县| 福安市| 宕昌县| 永定县| 周宁县| 紫金县| 平乡县| 广安市| 若尔盖县| 大理市| 海伦市| 玉环县| 萍乡市| 华宁县| 墨竹工卡县| 遵义县| 白沙| 盐边县| 昌吉市| 大冶市| 潞西市| 扬州市| 东阳市| 南溪县| 河津市| 南岸区| 育儿| 武清区| 津南区| 明溪县| 湖口县| 庆云县| 呼和浩特市| 旌德县| 图木舒克市| 邛崃市| 沙田区| 共和县| 云浮市|