亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        CH378與ARM處理器的大容量數(shù)據(jù)記錄儀設(shè)計(jì)

        2018-08-08 07:31:40,
        關(guān)鍵詞:記錄儀U盤扇區(qū)

        ,

        (1.湖北四機(jī)賽瓦石油鉆采設(shè)備有限公司, 荊州 434023;2.長江大學(xué)電信學(xué)院)

        引 言

        工業(yè)現(xiàn)場(chǎng)的各種實(shí)時(shí)數(shù)據(jù)的采集和保存一直是應(yīng)用工程師關(guān)心的問題,尤其是在數(shù)據(jù)量大、采集時(shí)間長的場(chǎng)合,如何對(duì)數(shù)據(jù)進(jìn)行安全有效的保存和分析顯得格外重要。U盤作為新型移動(dòng)存儲(chǔ)設(shè)備,具有體積小、容量大、抗震動(dòng)、通用性強(qiáng)的特點(diǎn),以U盤作為存儲(chǔ)介質(zhì)來保存工業(yè)現(xiàn)場(chǎng)數(shù)據(jù),不僅可以有效提高保存數(shù)據(jù)的可靠性,而且便于與計(jì)算機(jī)進(jìn)行數(shù)據(jù)交換。采用USB器件CH378[1],結(jié)合ARM處理器設(shè)計(jì)的大容量實(shí)時(shí)數(shù)據(jù)記錄儀,將現(xiàn)場(chǎng)采集的各種數(shù)據(jù)按文件方式存儲(chǔ)在大容量U盤中,可以方便地實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)采集、室內(nèi)進(jìn)行數(shù)據(jù)分析的要求,特別適合于長時(shí)間數(shù)據(jù)采集的場(chǎng)合。

        1 USB海量存儲(chǔ)協(xié)議與文件系統(tǒng)

        USB通信[2]以分層方式進(jìn)行,總體上可分為功能層、USB設(shè)備層和總線接口層。U盤屬于USB家族內(nèi)的海量存儲(chǔ)(USB Mass Storage)[3]設(shè)備,它與主機(jī)之間采用“控制/批量/中斷”(CBI)方式或“批量”(Bulk_Only)方式進(jìn)行通信。海量存儲(chǔ)協(xié)議包括CBI、 Bulk-Only、 ATA和 UFI等4個(gè)獨(dú)立的子類規(guī)范,前兩個(gè)子規(guī)范定義了數(shù)據(jù)/命令/狀態(tài)在USB總線上的傳輸方法,后兩個(gè)子規(guī)范定義了存儲(chǔ)介質(zhì)的操作命令,ATA命令規(guī)范用于硬盤,UFI命令規(guī)范則是針對(duì)USB移動(dòng)存儲(chǔ)制定的。

        U盤在能夠進(jìn)行數(shù)據(jù)保存之前必須先按文件系統(tǒng)[4]進(jìn)行格式化,F(xiàn)AT32[5]文件系統(tǒng)因具有高度兼容性而被廣泛應(yīng)用于U盤移動(dòng)存儲(chǔ)設(shè)備中。FAT32文件系統(tǒng)結(jié)構(gòu)分為5個(gè)部分:

        主引導(dǎo)記錄區(qū)(MBR),其后為64字節(jié)的磁盤分區(qū)表DPT。U盤一般只有一個(gè)分區(qū),沒有磁盤分區(qū)。操作系統(tǒng)引導(dǎo)記錄區(qū)(DBR),占用分區(qū)的第0扇區(qū),共512字節(jié),由跳轉(zhuǎn)指令、結(jié)束標(biāo)志等幾部分組成。文件分配表區(qū)(FAT),文件分配表與數(shù)據(jù)區(qū)簇號(hào)一一對(duì)應(yīng),反映所有簇的使用情況。每個(gè)表項(xiàng)單元大小決定了FAT的類型,FAT32的表項(xiàng)單元為32位。FAT表一般都有一個(gè)備份。文件目錄表區(qū)(FDT),位于備份FAT表之后。FDT由32位線性目錄項(xiàng)構(gòu)成,記錄著根目錄下每個(gè)文件或子目錄的起始單元、屬性等。數(shù)據(jù)存儲(chǔ)區(qū)(DATA),位于FDT之后,占據(jù)U盤上的大部分空間。

        當(dāng)U盤格式化為FAT32分區(qū)時(shí),文件系統(tǒng)就將這個(gè)分區(qū)進(jìn)行整體規(guī)劃,以便于數(shù)據(jù)存儲(chǔ)。通常將U盤空間以一定數(shù)目的扇區(qū)為單位進(jìn)行劃分稱為簇,每個(gè)扇區(qū)512字節(jié),每個(gè)簇的最大存儲(chǔ)空間為32 KB。

        2 高速USB接口芯片CH378

        CH378 是一種新型高速USB總線通用接口芯片,支持Host主機(jī)方式和Slave設(shè)備方式。內(nèi)置了多種固件程序,如USB通信協(xié)議的基本固件、海量存儲(chǔ)設(shè)備的專用通信協(xié)議固件、SD卡通信接口固件、FAT32文件系統(tǒng)管理固件。支持常用的USB存儲(chǔ)設(shè)備,包括U 盤、USB移動(dòng)硬盤和SD卡(包括標(biāo)準(zhǔn)容量SD卡和高容量HC-SD卡以及協(xié)議兼容的MMC卡和TF卡)。CH378支持8位標(biāo)準(zhǔn)并行接口、高速SPI串行接口以及異步串口接口,MCU處理器可以通過上述任何一種通信接口來控制CH378芯片,對(duì)U 盤或SD卡中的文件進(jìn)行讀寫操作,或者與其它USB設(shè)備進(jìn)行通信。

        CH378芯片具有如下主要特點(diǎn):

        支持12 Mbps全速和480 Mbps高速USB通信,外圍元器件只需要一個(gè)晶振和2個(gè)電容。支持USB主機(jī)接口和USB設(shè)備接口,支持動(dòng)態(tài)切換主機(jī)方式和設(shè)備方式。 支持USB設(shè)備的控制傳輸、批量傳輸和中斷傳輸。自動(dòng)檢測(cè)USB設(shè)備或SD卡的連接和斷開,提供設(shè)備連接和斷開的事件通知。提供最高 50 MHz 的SPI主機(jī)接口,支持 SD 卡以及與其協(xié)議兼容的 MMC 卡和 TF 卡等。內(nèi)置文件系統(tǒng),提供文件管理功能,支持長文件名。以字節(jié)為單位或者以扇區(qū)為單位對(duì)多級(jí)子目錄下的文件進(jìn)行讀寫操作,支持容量高達(dá)32 GB的U盤和SD卡。提供磁盤管理功能,包括磁盤初始化、查詢物理容量、查詢剩余空間、物理扇區(qū)讀寫。提供高速8位并行接口,支持8位并行數(shù)據(jù)總線。提供最高30 MHz速度的SPI 設(shè)備接口,支持SPI串行總線。提供最高10 Mbps速度的異步串行串口,支持串行通信波特率動(dòng)態(tài)調(diào)整。支持低功耗模式。內(nèi)置20 KB的RAM存儲(chǔ)器,可作為文件讀寫緩沖區(qū)使用,也可作為普通RAM 使用,極大降低了外部系統(tǒng)的資源要求。

        3 硬件系統(tǒng)設(shè)計(jì)

        圖1 大容量實(shí)時(shí)數(shù)據(jù)記錄儀硬件電路框圖

        大容量實(shí)時(shí)數(shù)據(jù)記錄儀硬件電路如圖1所示。

        ARM處理器LPC2138[6]為記錄儀核心,工業(yè)現(xiàn)場(chǎng)需要測(cè)量采集的模擬信號(hào),通過整形和調(diào)理電路之后,通過LPC2138片內(nèi)A/D轉(zhuǎn)換器進(jìn)行采樣并轉(zhuǎn)換成數(shù)字量,ARM處理器對(duì)測(cè)量結(jié)果進(jìn)行數(shù)字濾波,進(jìn)一步提高抗干擾能力。記錄儀根據(jù)實(shí)時(shí)時(shí)鐘芯片DS1302提供的時(shí)間,對(duì)測(cè)量數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,并按時(shí)間標(biāo)記存儲(chǔ)到U盤中。記錄儀采用點(diǎn)陣圖形液晶作為本地顯示接口,控制芯片為SED1335,既可以通過文本模式顯示所采集的數(shù)據(jù),也可以以圖形方式顯示數(shù)據(jù)曲線。系統(tǒng)外擴(kuò)矩陣鍵盤用于設(shè)定數(shù)據(jù)采集間隔、采集時(shí)間等,根據(jù)用戶設(shè)定的參數(shù)定時(shí)啟動(dòng)數(shù)據(jù)采集,并自動(dòng)將采集得到的數(shù)據(jù)通過CH378存儲(chǔ)到U盤之中。當(dāng)U盤中數(shù)據(jù)即將存滿時(shí)系統(tǒng)將顯示報(bào)警,提醒用戶及時(shí)更換U盤。

        CH378支持三種通信接口,在芯片上電復(fù)位時(shí),CH378將采樣SEL和TXD引腳的狀態(tài),根據(jù)這2個(gè)引腳狀態(tài)的組合選擇當(dāng)前的通信接口,如表1所列。

        表1 CH378的通信接口選擇

        CH378采用USB主機(jī)方式,通過并行方式實(shí)現(xiàn)與LPC2138 ARM處理器之間的接口。并口信號(hào)線包括:8 位雙向數(shù)據(jù)總線 D7~D0、讀選通輸入引腳 RD、寫選通輸入引腳 WR、片選輸入引腳 PCS以及地址輸入引腳A0。CH378芯片通過并行接口,可以很方便地掛接到各種8位系統(tǒng)總線上,并且可以與多個(gè)外圍器件共存。表2為CH378并行接口操作的真值表。

        表2 CH378并行接口操作的真值表 (其中X表示不關(guān)心此位)

        為使CH378工作于并口方式,應(yīng)將CH378的SEL引腳接地,TXD引腳接高電平。8位雙向數(shù)據(jù)總線D7~D0直接與LPC2138的P0口相連。片選端PCS連接到LPC2138的P1.1引腳,該引腳為低電平時(shí)選通CH378芯片。地址輸入線A0連接至LPC2138的P1.0引腳,當(dāng)A0為高電平時(shí)選擇命令端口,向CH378寫入操作命令;當(dāng)A0為低電平時(shí)選擇數(shù)據(jù)端口,對(duì)CH378進(jìn)行數(shù)據(jù)讀寫。讀、寫信號(hào)端RD和WR分別連接到LPC2138的P1.6和P1.7引腳。中斷請(qǐng)求信號(hào)端INT連接到LPC2138外部中斷輸入EINT0引腳,低電平有效。考慮到讀寫U盤時(shí)一般以扇區(qū)方式進(jìn)行,為了提高讀寫效率,利用LPC2138片內(nèi)32 KB的RAM作為數(shù)據(jù)文件緩沖區(qū),一般來說緩沖區(qū)越大,數(shù)據(jù)讀寫效率越高。

        4 系統(tǒng)軟件設(shè)計(jì)

        CH378芯片內(nèi)置了處理海量存儲(chǔ)設(shè)備的專用通信協(xié)議固件,支持Bulk-Only傳輸協(xié)議和SCSI、UFI、RBC等命令集,這使得USB控制傳輸過程大為簡化,CH378編程時(shí)只需要根據(jù)發(fā)出文件管理和數(shù)據(jù)讀寫命令,極大地方便了用戶對(duì)U盤的讀寫等操作。

        U盤提供若干個(gè)物理扇區(qū)用于數(shù)據(jù)存儲(chǔ),每個(gè)扇區(qū)大小為 512 字節(jié)。通常將U盤中的物理扇區(qū)組織為FAT32文件系統(tǒng),為了方便起見,ARM處理器也應(yīng)該在FAT32規(guī)范下通過文件的形式存取U盤中的數(shù)據(jù)。一個(gè)U盤中可以有若干個(gè)文件,每個(gè)文件都是一組數(shù)據(jù)的集合,以文件名來區(qū)分和識(shí)別。實(shí)際文件數(shù)據(jù)的存放可能不是連續(xù)的,而是通過一組“指針”鏈接的多個(gè)塊(也就是分配的簇),從而能夠根據(jù)需要隨時(shí)增大文件長度以便容納更多數(shù)據(jù)。

        目錄(文件夾)是為了便于分類管理,可以將多個(gè)文件歸檔在一起。在FAT32文件系統(tǒng)中,U盤容量以簇為基本單位進(jìn)行分配,而簇的大小總是扇區(qū)的倍數(shù),所以文件的占用空間總是簇的倍數(shù),也就是扇區(qū)的倍數(shù)。但在實(shí)際應(yīng)用中,保存在文件中的有效數(shù)據(jù)的長度卻不一定是扇區(qū)的倍數(shù),所以FAT32在文件目錄信息FAT_DIR_INFO中專門記錄了當(dāng)前文件中有效數(shù)據(jù)的長度,也就是通常所說的文件長度,文件長度總是小于或者等于文件占用的空間。

        在對(duì)文件寫入數(shù)據(jù)后,如果覆蓋了原數(shù)據(jù),則文件長度可能不發(fā)生變化,當(dāng)超過原文件長度后,變?yōu)樽芳訑?shù)據(jù),那么文件長度將會(huì)增大。如果向文件追加數(shù)據(jù)后,沒有修改文件目錄信息中的文件長度,那么FAT32 文件系統(tǒng)會(huì)認(rèn)為超過文件長度的數(shù)據(jù)是無效的,這時(shí)處理器將無法讀出超過文件長度的數(shù)據(jù),雖然數(shù)據(jù)實(shí)際存在。如果數(shù)據(jù)量少或者數(shù)據(jù)不連續(xù),那么可以在每次追加數(shù)據(jù)后立即更新文件目錄信息中的文件長度,但是如果數(shù)據(jù)量大并且需要連續(xù)寫入數(shù)據(jù),立即更新文件目錄信息會(huì)降低效率,并且頻繁修改文件目錄信息會(huì)縮短U盤的使用壽命。

        所以在這種情況下,應(yīng)該在連續(xù)寫入多組數(shù)據(jù)后再更新一次文件目錄信息中的文件長度,或者一直等到關(guān)閉文件時(shí)再更新文件長度,CH378的內(nèi)置命令 CMD_FILE_CLOSE可以將內(nèi)存中的文件長度刷新到U盤的文件目錄信息中。雖然CH378最大支持1 GB的單個(gè)文件,但是為了提高效率,一般單個(gè)文件的長度不要超過100 MB,通常在幾KB到幾MB范圍是比較正常的,數(shù)據(jù)較多時(shí)可以分為多個(gè)目錄、多個(gè)文件存儲(chǔ)。

        圖2為大容量數(shù)據(jù)記錄儀軟件系統(tǒng)在U盤中創(chuàng)建文件并寫入數(shù)據(jù)的流程圖。采用FAT32文件系統(tǒng)時(shí)最小單元為簇,即使一個(gè)很小的文件也會(huì)占用一簇,為了節(jié)約存儲(chǔ)空間,創(chuàng)建文件時(shí)如果有同名文件存在,只需要向原來的同名文件追加數(shù)據(jù)。系統(tǒng)軟件對(duì)于U盤的操作主要包括如下幾點(diǎn):

        圖2 在U盤中創(chuàng)建文件并向其中寫入數(shù)據(jù)的流程圖

        ① 創(chuàng)建文件:在FDT中申請(qǐng)新的目錄項(xiàng)。

        ② 寫文件:創(chuàng)建新文件時(shí),在FAT表中查找未使用的簇,并將該簇號(hào)寫入文件對(duì)應(yīng)目錄數(shù)據(jù)結(jié)構(gòu)中的起始簇號(hào)位置。當(dāng)文件長度大于一簇時(shí),需要在FAT表對(duì)應(yīng)的起始簇號(hào)位置填入下一個(gè)可用簇號(hào),直到文件的最后一簇。

        ③ 刪除文件:除了在FDT中對(duì)應(yīng)的目錄項(xiàng)設(shè)置相應(yīng)標(biāo)志外,還要修改FAT表,將要?jiǎng)h除文件所使用的簇號(hào)位置清0,表示此簇當(dāng)前未被使用。

        通過CH378構(gòu)建的FAT32文件系統(tǒng)為用戶提供了多種API函數(shù),用戶只需要調(diào)用相關(guān)命令即可完成對(duì)應(yīng)的操作。下面按操作順序給出常用的幾種命令。

        (1)初始化操作

        這是進(jìn)行任何一項(xiàng)文件操作之前的必要步驟,相關(guān)命令如下:

        ① 發(fā)送 CMD_SET_USB_MODE 命令,進(jìn)入 USB-HOST工作方式。

        ② 等待U盤連接,由處理器向CH378發(fā)送CMD_DISK_CONNECT命令定期查詢。

        ③ 發(fā)送CMD_DISK_MOUNT命令,初始化U盤,并測(cè)試磁盤是否就緒,失敗后可以重試最多5次。

        ④ 上述步驟只需執(zhí)行一次,如果U盤斷開后重新連接,則必須回到步驟②。

        (2)新建文件并寫入數(shù)據(jù)

        相關(guān)命令如下:

        ① 發(fā)送 CMD_SET_FILE_NAME 命令+CMD_FILE_CREATE 命令,新建文件。

        ② 多次發(fā)送 CMD_WR_HOST_OFS_DATA 命令+CMD_BYTE_WRITE 命令,寫入數(shù)據(jù)。

        ③ 發(fā)送 CMD_FILE_CLOSE 命令,參數(shù)是 1,關(guān)閉文件并允許自動(dòng)更新文件長度。

        (3)向已有文件追加數(shù)據(jù)

        相關(guān)命令如下:

        ① 發(fā)送 CMD_SET_FILE_NAME 命令+CMD_FILE_OPEN 命令,打開文件。

        ② 發(fā)送 CMD_BYTE_LOCATE 命令,參數(shù)是 0F FFFF FFFH,移動(dòng)文件指針到文件末尾。

        ③ 多次發(fā)送 CMD_WR_HOST_OFS_DATA 命令+CMD_BYTE_WRITE 命令,寫入數(shù)據(jù)。

        ④ 發(fā)送 CMD_FILE_CLOSE 命令,參數(shù)是 1,關(guān)閉文件并允許自動(dòng)更新文件長度。

        在FAT32中子目錄被視為特殊的文件,對(duì)其操作類似于文件操作,不再贅述。

        系統(tǒng)軟件設(shè)計(jì)還包括數(shù)據(jù)記錄儀的液晶驅(qū)動(dòng)、A/D轉(zhuǎn)換驅(qū)動(dòng)以及鍵盤驅(qū)動(dòng)等,其中液晶驅(qū)動(dòng)程序較為復(fù)雜,包括初始化液晶、讀寫參數(shù)子程序、寫命令子程序、建坐標(biāo)子程序、繪圖子程序、漢字寫入子程序等,限于篇幅,這里不再一一列舉。

        結(jié) 語

        猜你喜歡
        記錄儀U盤扇區(qū)
        分階段調(diào)整增加扇區(qū)通行能力策略
        南北橋(2022年2期)2022-05-31 04:28:07
        采用U盤文件冗余方案實(shí)現(xiàn)TSP系統(tǒng)的可靠裝載
        做夢(mèng)記錄儀
        基于GPS的便攜式汽車行駛記錄儀的研制
        U盤故障排除經(jīng)驗(yàn)談
        汽車記錄儀保險(xiǎn)絲搭接轉(zhuǎn)換裝置及其模具設(shè)計(jì)
        基于貝葉斯估計(jì)的短時(shí)空域扇區(qū)交通流量預(yù)測(cè)
        重建分區(qū)表與FAT32_DBR研究與實(shí)現(xiàn)
        大容量Flash在井下記錄儀中的應(yīng)用
        U盤“鬧肚子”
        国产亚洲精品视频网站| 亚洲色欲在线播放一区| 伊人婷婷色香五月综合缴激情| 色se在线中文字幕视频| 中文字幕精品一区久久| 在线成人一区二区| 99re这里只有热视频| 亚洲av乱码一区二区三区女同| 99久久国内精品成人免费| 大屁股人妻女教师撅着屁股| 亚洲国产成人精品女人久久久| 成年女人片免费视频播放A | 亚洲精品久久久av无码专区| 亚洲精品无码人妻无码| 欧美性受xxxx狂喷水| 日本九州不卡久久精品一区 | 成人区人妻精品一熟女| 日本久久久免费高清| 亚洲精品成人一区二区三区| 久久婷婷五月综合色丁香| 精品人妻系列无码一区二区三区| 欧美日本视频一区| 久久国产精品美女厕所尿尿av| 久久伊人少妇熟女大香线蕉| 播放灌醉水嫩大学生国内精品| 亚洲国产日韩在线精品频道| 国产丝袜美腿在线播放| yw尤物av无码国产在线观看| 99热在线精品播放| 熟女人妻一区二区中文字幕| 激情综合色综合啪啪开心| 中出内射颜射骚妇| 成人国产精品高清在线观看| av在线高清观看亚洲| 天天爽天天爽夜夜爽毛片| 国产夫妻av| 成a人片亚洲日本久久| 日本一道综合久久aⅴ免费| 亚洲综合色成在线播放| 在线免费观看亚洲天堂av| 国产精品一区二区三久久不卡|