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

        ?

        車載測試數(shù)據(jù)傳輸系統(tǒng)免驅(qū)USB主從機設(shè)計

        2018-03-08 08:52:25劉慧豐崔建峰李愛佳鄧澤平
        計算機測量與控制 2018年2期
        關(guān)鍵詞:設(shè)備系統(tǒng)

        劉慧豐,崔建峰,李愛佳,鄧澤平

        (1. 北京特種車輛試驗場,北京 100072;2.中北大學 電氣與控制工程學院,太原 030051)

        0 引言

        為滿足運動車輛以及惡劣環(huán)境條件下的測試,車載數(shù)據(jù)采集分析系統(tǒng)常采用存儲測試技術(shù)。在車輛道路試驗過程中及完成后,數(shù)據(jù)傳輸及導(dǎo)出的快速性與便捷性成為后續(xù)分析工作的重要保障。由于USB總線具有熱插拔、即插即用、接口體積小巧、成本低、性能可靠等優(yōu)良特性,因此通過USB總線及其接口向上位機傳輸所采集到的數(shù)據(jù)成為現(xiàn)有車載測試系統(tǒng)的主要傳輸方式之一[1-5]。

        在傳統(tǒng)的車載USB數(shù)據(jù)傳輸系統(tǒng)方案設(shè)計中,常采用一些成熟的USB轉(zhuǎn)串口/并口芯片或特定廠家的USB接口芯片來構(gòu)建系統(tǒng)[2-3];這種方案開發(fā)難度較低、開發(fā)周期短,能夠較好且快速地滿足車載測試系統(tǒng)數(shù)據(jù)傳輸?shù)膽?yīng)用需求。然而這種方案存在以下不足之處:1)在應(yīng)用前需要安裝相應(yīng)模塊/芯片驅(qū)動。這些芯片驅(qū)動可能與已有系統(tǒng)組件沖突而導(dǎo)致安裝失敗或在應(yīng)用中產(chǎn)生錯誤,給測試人員帶來不便;2)難以快速地滿足數(shù)據(jù)傳輸?shù)目缙脚_應(yīng)用需求;3)對于野外作業(yè),必須攜帶上位機以導(dǎo)出數(shù)據(jù),無法將數(shù)據(jù)暫時轉(zhuǎn)存至U盤等便攜存儲設(shè)備上。因此,為了滿足現(xiàn)場應(yīng)用需求,需要新研制的車載測試數(shù)據(jù)傳輸系統(tǒng)能夠?qū)崿F(xiàn)免驅(qū)USB主從機功能。

        在USB主從機功能實現(xiàn)上,張穎、朱慶雙、趙永禮等人基于CH375先后實現(xiàn)了燃料電池發(fā)動機車載控制系統(tǒng)、機床數(shù)控系統(tǒng)及激光三維雕刻控制系統(tǒng)的USB主從機通訊功能[6-8];惠玥琳、辛華峰則分別基于ISP1362與SL811HS實現(xiàn)了通用數(shù)據(jù)采集系統(tǒng)的USB主從機功能[9-10]。但這些系統(tǒng)不具備從機免驅(qū)功能,當其作為USB從機設(shè)備進行使用時,計算機仍然需要安裝相應(yīng)芯片驅(qū)動程序。因此,為了實現(xiàn)免驅(qū)從機功能,還需要借助操作系統(tǒng)自帶的一些USB設(shè)備類驅(qū)動程序進行實現(xiàn),如基于USB RNDIS規(guī)范的網(wǎng)絡(luò)接口設(shè)備類、基于USB UVC規(guī)范的視頻設(shè)備類或基于USB Mass Storage規(guī)范的大容量存儲設(shè)備類等[11-13]。

        針對上述設(shè)計方案的不足,本文將提出一種車載測試數(shù)據(jù)傳輸系統(tǒng)免驅(qū)USB主從機的設(shè)計方案。該方案將基于USB接口芯片CH378進行設(shè)計,通過將底層存儲測試系統(tǒng)基于USB Mass Storage規(guī)范虛擬成U盤實現(xiàn)免驅(qū)操作,同時實現(xiàn)同一外部接口的USB主機功能,以便將數(shù)據(jù)存儲至外部U盤等便攜存儲設(shè)備上。

        1 系統(tǒng)總體設(shè)計

        系統(tǒng)總體設(shè)計如圖1所示。

        圖1 系統(tǒng)總體設(shè)計框圖

        免驅(qū)USB主從機車載測試數(shù)據(jù)傳輸系統(tǒng)主要由主控模塊、存儲模塊、USB主從通訊模塊、測試接口模塊、輔助功能模塊組成。其中主控模塊負責整個車載數(shù)據(jù)傳輸系統(tǒng)的控制邏輯處理,同時還負責USB Mass Storage協(xié)議及FAT32協(xié)議的實現(xiàn)。存儲模塊用于實現(xiàn)Flash存儲功能。USB主從通訊模塊則主要負責進行USB協(xié)議的封裝、解析,完成與USB主機或USB外部存儲設(shè)備之間的通訊;另外,該模塊還需要負責實現(xiàn)USB主/從模式的自動切換。測試接口模塊用于實現(xiàn)具體的測試功能;輔助功能模塊主要實現(xiàn)整個系統(tǒng)的供電、時鐘等的配給。由于本文主要說明免驅(qū)USB主從機的實現(xiàn)方法,因此,在后續(xù)內(nèi)容中將不詳細介紹存儲模塊、測試接口模塊及輔助功能模塊的具體實現(xiàn)。

        2 硬件設(shè)計方案

        USB主從機實現(xiàn)方案設(shè)計難點在于:一是要有合適的USB接口協(xié)議芯片可同時支持USB主機方式和USB設(shè)備方式;二是要有相應(yīng)的外部主/從切換電路,可以動態(tài)判別當前系統(tǒng)USB接口工作方式。下面將針對相關(guān)內(nèi)容進行詳細敘述。

        2.1 USB接口芯片的選擇

        通過對比多家主流USB接口協(xié)議芯片生產(chǎn)廠商的相關(guān)產(chǎn)品[6-10],最終選用南京沁恒公司生產(chǎn)的USB接口芯片CH378。它是一款USB2.0總線的通用接口芯片,支持USB主機接口和USB設(shè)備接口并支持動態(tài)切換。當其工作于主機模式時,由于它內(nèi)置了USB通訊協(xié)議基本固件及FAT文件系統(tǒng)的管理固件,因此,可以快速實現(xiàn)讀寫U盤或者SD卡功能。但在從機模式下,它只有基本USB通訊協(xié)議固件可用,如要實現(xiàn)基于USB Mass Storage協(xié)議的免驅(qū)功能,還需要利用主控模塊進行相應(yīng)的功能固件編寫。

        在本地端,CH378具有8位并口、SPI接口和異步串口,主控芯片可以通過上述任何一種通訊接口控制CH378芯片??紤]到最終的數(shù)據(jù)傳輸速度要求較高,本文選擇8位并口來實現(xiàn)CH378的通訊控制。USB主機/設(shè)備與CH378芯片之間則通過USB總線D+和D一來完成信號的傳輸。

        2.2 主控與USB模塊接口電路設(shè)計

        主控與USB模塊接口電路設(shè)計如圖2所示[14-15]。CH378采用8位并口模式與主控芯片相連。其中包括雙向數(shù)據(jù)總線D[0:7]、并口片選信號線PCS#(#表示信號低電平有效)、并口讀選通信號線RD#、并口寫選通信號線WR#及并口地址信號線A0;主控芯片將CH378看作一個I/O設(shè)備,通過上述信號線及專門的I/O指令實現(xiàn)對CH378內(nèi)部寄存器的操作。CH378的地址線A0用于選擇操作對象是命令寄存器還是數(shù)據(jù)寄存器。當CH378因USB2.0通訊事件產(chǎn)生中斷時,通過中斷信號線INT#向主控芯片請求中斷,主控芯片通過該命令獲取中斷狀態(tài),分析中斷原因并處理。在本設(shè)計中,INT#將與主從狀態(tài)信號線USB_MS共同形成USB主從機自動切換機制。另外,為了確保CH378能夠有效復(fù)位,將CH378的外部復(fù)位信號線RSTI#也連接到主控芯片相應(yīng)的IO引腳上。

        圖2 主控與CH378連接示意圖

        需要說明的是,圖2中并未繪制出CH378本身的一些配置引腳連接情況,為了實現(xiàn)8位并口通訊方法,CH378的SEL引腳需要接地,TXD引腳可連接至VCC或者懸空。

        2.3 USB主從機自動切換的實現(xiàn)

        圖3 USB主從機狀態(tài)電路

        CH378芯片雖然支持主從機切換,但并不能根據(jù)外部連接情況自主設(shè)置。在此通過專門的USB主從機狀態(tài)電路來獲取外部連接的狀態(tài),然后通過主控模塊操作CH378實現(xiàn)主從機的實時切換[6]。USB主從機狀態(tài)電路如圖3所示。D2和D3為肖特基二極管,它們使兩個二極管間的節(jié)點電壓低于系統(tǒng)內(nèi)部USB供電電壓VCC及外部標準USB設(shè)備的USB電源電壓USBVCC;R3與R7、R4與R8分別構(gòu)成兩個分壓網(wǎng)絡(luò),用于將輸入共模比較電壓降到比較器LM393可以接受的范圍。當外部沒有連接任何設(shè)備時,R7上的采樣電壓高于R8上的采樣電壓,因此,比較器LM2903輸出USB_MS低電平。

        當外部連接有USB從設(shè)備(如USB存儲設(shè)備)時,此時比較器LM393輸出USB_MS仍為低電平,同時CH378會產(chǎn)生一個有設(shè)備插入的中斷信號INT#通知主控單片機;當USB主機(如上位機)通過延長線插入USB接口時,USB主機的USB接口提供5V電源使USBVCC比二極管間節(jié)點的電壓高,比較器LM393輸出USB_MS為高電平,此時,CH378同樣會產(chǎn)生一個有設(shè)備插入的中斷信號通知主控單片機。因此,根據(jù)比較器LM393的輸出USB_MS及CH378的中斷信號INT#可以自主判別本地USB接口的工作方式。

        當本地USB接口工作于主機方式時,若有外部USB從設(shè)備接入,將會產(chǎn)生較大的瞬態(tài)電流,引起系統(tǒng)內(nèi)部電壓波動。為減弱過大瞬態(tài)電流的影響,并防止外部接線短路等故障,使用USB電源管理芯片U1進行限流及失效處理操作;同時利用C1的并聯(lián)儲能作用進行去耦。R1與D1構(gòu)成過流指示電路,當有過流或短路現(xiàn)象發(fā)生時,U1將根據(jù)過流大小與時長來判斷是否關(guān)斷外部USB設(shè)備的電源供給,同時在FLG引腳上輸出低電平以指示過流或外部短路,此時D1將被點亮。

        3 固件設(shè)計方案

        由于CH378工作于主機模式時,內(nèi)置了USB通訊協(xié)議基本固件及FAT文件系統(tǒng)的管理固件,因此,通過操作CH378可以快速實現(xiàn)USB主機功能,即讀寫U盤或者SD卡功能[14-15],具體固件設(shè)計方法可以參考文獻[15]或CH378官方開發(fā)板相關(guān)例程。在此僅重點敘述基于USB Mass Storage協(xié)議的免驅(qū)USB從機功能固件設(shè)計方法。

        為了實現(xiàn)免驅(qū)USB從機功能,本文基于USB Mass Storage協(xié)議將車載測試數(shù)據(jù)傳輸系統(tǒng)虛擬成USB存儲設(shè)備。當車載測試數(shù)據(jù)傳輸系統(tǒng)通過USB電纜連接到上位機的USB接口上時,上位機的USB主機控制器按照USB協(xié)議對設(shè)備進行枚舉。車載測試數(shù)據(jù)傳輸系統(tǒng)按照大容量存儲設(shè)備的特征返回設(shè)備描述符和端點描述符。當設(shè)備枚舉完成以后,上位機通過SCSI的上層協(xié)議與設(shè)備進行通訊。通訊過程中,車載測試數(shù)據(jù)傳輸系統(tǒng)將向主機返回預(yù)先定義的存儲設(shè)備參數(shù)和MBR數(shù)據(jù)。若返回的數(shù)據(jù)符合大容量存儲協(xié)議,且MBR數(shù)據(jù)符合操作系統(tǒng)定義的標準,USB數(shù)據(jù)傳輸系統(tǒng)在上位機上將被識別成一個大容量存儲設(shè)備。

        圖4 免驅(qū)USB從機功能實現(xiàn)方法

        根據(jù)上面的敘述,固件設(shè)計需要在遵從USB2.0協(xié)議框架的前提下,實現(xiàn)如下四層子功能(如圖4所示):1)自行處理USB請求,定義本地設(shè)備類型;2)基于USB Mass Storage Class Bulk-only子類通訊協(xié)議實現(xiàn)SCSI接口指令集;3)本地設(shè)備實現(xiàn)FAT16或FAT32文件系統(tǒng);4)將實際數(shù)據(jù)映射成虛擬文件。這樣上位機就可通過虛擬U盤上的虛擬文件來訪問實際測試數(shù)據(jù)。下面將對上述子功能的固件編程要點進行較為詳細的敘述。

        3.1 虛擬USB存儲設(shè)備類實現(xiàn)

        根據(jù)USB2.0相關(guān)協(xié)議,可通過在接口描述符中將bInterfaceClass字段設(shè)置為08H來實現(xiàn)將設(shè)備類別定義為USB存儲類,以便操作系統(tǒng)使用默認USB存儲類驅(qū)動程序?qū)SB設(shè)備進行操作。另外,在接口描述符中還需要設(shè)置bInterfaceSubClass與bInterfaceProtocol字段以定義USB批量傳輸時所使用的指令集及通訊子協(xié)議。本文將上述兩個字段分別設(shè)置為06H與50H以表示使用SCSI指令集及Bulk-only通訊子協(xié)議,這也是大多數(shù)USB大容量存儲設(shè)備所采用的一種組合形式。

        3.2 虛擬文件系統(tǒng)實現(xiàn)

        USB主機通過SCSI指令對USB設(shè)備進行讀寫操作,但所讀寫的數(shù)據(jù)為了能夠得到操作系統(tǒng)的正確理解,還需要使這數(shù)據(jù)組織符合特定的文件系統(tǒng)數(shù)據(jù)類型。這樣操作系統(tǒng)在得到這些數(shù)據(jù)后,就可以利用相應(yīng)的文件系統(tǒng)驅(qū)動程序?qū)?shù)據(jù)進行解析。如果不符合特定的文件系統(tǒng)規(guī)定,那么就如同使用一個未格式化的USB存儲設(shè)備,在主機上將無法正確解讀,從而操作系統(tǒng)會要求進行相應(yīng)的格式化處理。

        本文基于FAT32文件系統(tǒng)進行設(shè)計,此時需要實現(xiàn)相應(yīng)的主引導(dǎo)記錄(MBR)、分區(qū)引導(dǎo)記錄(BPB)、文件分配表(FAT)、根目錄;

        文件系統(tǒng)結(jié)構(gòu)如圖5所示。這些記錄內(nèi)容均有特定格式要求[16]。

        圖5 FAT32文件系統(tǒng)結(jié)構(gòu)示意圖

        需要說明的是:由于FAT32以扇區(qū)及簇為基本單元進行存儲與管理,而車載測試數(shù)據(jù)傳輸系統(tǒng)中以Flash存儲塊為基本單元進行存儲;因此,此處固件設(shè)計的要點是要將各區(qū)域進行正確的映射,即實現(xiàn)扇區(qū)與簇、簇與邏輯塊間的一一對應(yīng)關(guān)系[16]。

        以將底部固態(tài)存儲虛擬為512 MB的U盤為例,其總簇數(shù)粗略計算需要約512×1 000×1 000/(4×512)=250 000個簇;以每簇4個扇區(qū)計,則需要1 000 000個扇區(qū)。在這些扇區(qū)中,需要提供1 000 000/512≈1 954個扇區(qū)給文件分配表,另外考慮到隱藏扇區(qū)、Fsinfo、FAT鏡像區(qū)等的分配,最終可要求固態(tài)存儲數(shù)據(jù)區(qū)對齊于0x0F90(十進制:3 984)扇區(qū)處;此時,由于固態(tài)存儲的數(shù)據(jù)塊大小為2 048B,與虛擬磁盤邏輯簇大小一致,這樣就可根據(jù)對齊扇區(qū)位置,計算固態(tài)存儲中不同數(shù)據(jù)塊的扇區(qū)編號,供傳輸子程序使用。

        4 實驗結(jié)果與分析

        為了驗證系統(tǒng)設(shè)計的有效性,通過提前在車載測試數(shù)據(jù)傳輸系統(tǒng)Flash中寫入固定格式數(shù)據(jù),然后依次與計算機及外部USB存儲設(shè)備連接對系統(tǒng)進行檢測,并通過總線數(shù)據(jù)包監(jiān)視和控制開發(fā)工具軟件BusHound進行通訊過程的監(jiān)測。檢測結(jié)果顯示,車載測試數(shù)據(jù)傳輸系統(tǒng)可以自動切換USB主從狀態(tài),并能夠正確輸出存儲數(shù)據(jù)至計算機及外部USB存儲設(shè)備中。其中當與計算機連接時,計算機無需額外安裝專用驅(qū)動,就可以將車載測試數(shù)據(jù)傳輸系統(tǒng)正確識別為虛擬U盤,且內(nèi)部數(shù)據(jù)文件可以正確復(fù)制到計算機中。圖6為虛擬U盤識別過程圖。虛擬U盤的卷號NUCUDISK是在文件系統(tǒng)FAT32實現(xiàn)時,通過將根目錄數(shù)據(jù)進行相應(yīng)設(shè)置實現(xiàn)的。

        圖6 虛擬U盤識別過程圖

        5 結(jié)論

        本文提出了一種車載測試數(shù)據(jù)傳輸系統(tǒng)免驅(qū)USB主從機設(shè)計方法。該設(shè)計方案可以實現(xiàn)車載測試數(shù)據(jù)傳輸系統(tǒng)與計算機及外部USB存儲設(shè)備的雙向通信,并根據(jù)外部連接情況,自動進行主從機切換。而且,當車載測試數(shù)據(jù)傳輸系統(tǒng)做為USB從機設(shè)備時,通過嵌套USB2.0協(xié)議、USB Mass Storage協(xié)議、FAT32文件系統(tǒng)協(xié)議,最終實現(xiàn)了免驅(qū)動獲取測試數(shù)據(jù)的功能,給車載測試數(shù)據(jù)傳輸系統(tǒng)的應(yīng)用與維護帶來了便利。

        [1] 李遠哲, 荊 敏, 車登山, 等. 通用串行總線接口在車載數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J]. 兵工學報,2006,27(2): 367-370.

        [2] 曾春年,張曉偉. 基于SL811HS芯片的車載USB主機研究[J]. 武漢理工大學學報,2008, 30(2): 125-128.

        [3] 韓 屏. 基于USB的車載信息系統(tǒng)[D]. 武漢:武漢理工大學, 2005.

        [4] 吳蔚珍, 周志飛, 楊 穎, 等. 基于腳本編程的可視化車載USB設(shè)備性能測試技術(shù)[J]. 機車電傳動,2016(2): 80-84.

        [5] Kong F, Zhang L, Zeng J, et al. Automatic measurement and con-

        trol system for vehicle ECU Based on CAN bus[A].IEEE International Conference on Automation and Logistics[C].Jinan, 2017:964-968.

        [6] 張 穎,全書海. 基于DSP的USB主從機雙向通信接口設(shè)計[J]. 計算機工程與應(yīng)用. 2006, 42(29): 94-96.

        [7] 朱慶雙. 一種應(yīng)用于數(shù)控系統(tǒng)的USB主從機系統(tǒng)的設(shè)計與實現(xiàn)[D]. 太原: 太原理工大學, 2008.

        [8] 趙永禮,楊寅華,王 紅. 基于USB總線的激光三維雕刻控制系統(tǒng)[J]. 計算機工程,2010, 36(22): 239-241.

        [9] 辛華峰,于 楓,譚 健,等.嵌入式USB主/從機應(yīng)用模塊[J].吉林大學學報(工學版),2005,35(2):166-169.

        [10] 惠玥琳.基于單片機的USB主從機的設(shè)計與實現(xiàn)[D].成都:電子科技大學,2007.

        [11] 李曉偉,謝曉燕. 移動數(shù)據(jù)卡中免驅(qū)模塊的實現(xiàn)方法[J]. 西安郵電大學學報,2013, 18(1): 95-98.

        [12] 殷開亮. 基于UVC協(xié)議的USB3.0圖像采集系統(tǒng)設(shè)計[D]. 蘇州: 蘇州大學, 2014.

        [13] 石 武.一種實現(xiàn)USB設(shè)備免驅(qū)動的方法,CN102339260A[P].2012.

        [14] 段曉敏,徐曉輝,李建其,等. 基于CH378的便攜式高速數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)[J]. 計算機測量與控制,2015,23(8): 2855-2857.

        [15] 鄧星星,王 鋒,焦國太,等.基于CH378嵌入式存儲系統(tǒng)設(shè)計[J].計算機測量與控制,2015,23(2): 597-599.

        [16] Microsoft Corporation. Microsoft extensible firmware initiative FAT32 File System Specification[EB/OL]. Microsoft,2000[2017]. http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9.../fatgen103.doc.

        猜你喜歡
        設(shè)備系統(tǒng)
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
        基于MPU6050簡單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        500kV輸變電設(shè)備運行維護探討
        久久se精品一区精品二区国产| 欧美激情一区二区三区成人| 中文字幕你懂的一区二区| 色婷婷亚洲一区二区三区在线| 欧洲美女熟乱av| 国产福利酱国产一区二区 | 亚洲欧美日韩中文v在线| 亚洲天堂线上免费av| 男吃奶玩乳尖高潮视频| 天堂草原电视剧在线观看图片高清| 亚洲乱码一区二区三区成人小说| 91青青草视频在线播放| 国产精品亚洲av无人区一区香蕉| 亚洲第一se情网站| 久久国产亚洲精品超碰热| 男女啪啪免费视频网址| 天天干天天日夜夜操| 亚洲综合无码无在线观看| 久久精品国产一区二区蜜芽| 日韩人妻大奶子生活片| 精人妻无码一区二区三区| 成人看片黄a免费看那个网址 | 国产真人无码作爱视频免费 | 粉嫩的18在线观看极品精品| 亚洲国产成人av二区| 94久久国产乱子伦精品免费| 欧美日韩中文字幕久久伊人| 国产一区二区三区成人av| 日日噜噜夜夜狠狠va视频v| 躁躁躁日日躁| 熟妇与小伙子露脸对白| 在线观看亚洲av每日更新影片| 亚洲欧美日韩国产精品一区二区 | 亚洲女厕偷拍一区二区| 亚洲成av人影院| 亚洲a∨天堂男人无码| 国产av大片久久中文字幕| 亚洲中文字幕无码爆乳app| 欧洲-级毛片内射| 手机在线中文字幕国产| 男女18视频免费网站|