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

        ?

        無線USB 通信裝置的研制

        2014-01-14 00:43:22齊貴寶李傳南宋占偉
        關(guān)鍵詞:集線器PC機驅(qū)動程序

        齊貴寶,李傳南,宋占偉

        (吉林大學(xué)電子科學(xué)與工程學(xué)院,長春130012)

        0 引 言

        USB(Universal Serial Bus)作為一種通訊協(xié)議已被廣泛應(yīng)用,且將取代部分已有的串行協(xié)議而成為一種主流,現(xiàn)在幾乎所有的計算機都配備USB接口。USB是非常成功的標(biāo)準(zhǔn),日常生活中USB接口的設(shè)備普遍存在。但現(xiàn)在一臺計算機通過USB電纜連接多個外設(shè)的情況給使用者帶來了許多不便,比如外設(shè)和電腦的放置距離近,受到限制;多個USB外設(shè)放在電腦旁,使辦公環(huán)境顯得擁擠。

        假設(shè)辦公室中的打印機、掃描儀、移動硬盤和數(shù)碼相機等USB外設(shè)都可以和電腦以無線方式進行連接,將省去大量繁雜的數(shù)據(jù)線纜[1,2]。同時由于擺脫了數(shù)據(jù)線纜的限制,可以增加外設(shè)與電腦之間的放置距離,給人們的日常生活和工作帶來極大的方便。

        無線USB是一個全新無線傳輸標(biāo)準(zhǔn),近年來英特爾、三星、NEC、惠普、CYPRESS等公司推出了一些專門的無線USB芯片,但主要是針對鼠標(biāo)、鍵盤這類數(shù)據(jù)量較小的低速設(shè)備。對高速無線USB單芯片的解決方案在市面上很少見,為數(shù)不多的幾款高速無線USB多芯片解決方案產(chǎn)品也由于其價格較高,嚴(yán)重限制了其普及。筆者采用通用器件搭建無線USB系統(tǒng),旨在開發(fā)出適合打印機、掃描儀等對速度要求稍高的USB設(shè)備的無線USB裝置(包括點對點的無線USB裝置和一點對多點的無線USB集線器),以求提高高速無線USB設(shè)備的性價比和普及度。實驗中,筆者實現(xiàn)了無線打印功能。

        1 系統(tǒng)的結(jié)構(gòu)原理及硬件設(shè)計

        1.1 無線USB通訊裝置構(gòu)成

        無線USB通訊裝置的系統(tǒng)構(gòu)成如圖1所示,分為主機端和客戶端,主機端用于與PC端進行USB通信,客戶端用于與打印機或集線器進行數(shù)據(jù)通信。該系統(tǒng)中,主機端的控制器為S3C2440控制器,連接有WiFi(Wireless Fidelity)模塊和USB Device模塊。PC(Personal Computer)機通過USB口與主機端的USB Device模塊相連接??蛻舳说目刂破鳛镾3C2440控制器,連接有WiFi模塊和USB Host模塊。客戶端的USB Host模塊,在點對點的模式下,直接與打印機相連接;在一點對多點的模式中,該模塊與USB集線器相連接,將打印機連接到USB集線器上。

        圖1 系統(tǒng)硬件構(gòu)成Fig.1 Hardware block diagram of the system

        1.2 S3C2440控制器最小系統(tǒng)

        主機端和客戶端都需要一個控制器,控制與PC機或集線器、打印機的通信。該系統(tǒng)采用三星公司的16/32位精簡指令集微處理器S3C2440作為控制器核心。S3C2440控制器的核心處理器采用16/32位ARM920T的精簡指令集微處理器。ARM920T實現(xiàn)了MMU(Memory Management Unit)、AMBA(Advanced Microcontroller Bus Architecture)總線和高速數(shù)據(jù)、指令緩沖體系結(jié)構(gòu);系統(tǒng)資源和外圍接口豐富,包括電源管理器、外部存儲器控制器、DMA(Direct Memory Access)、SDIO(Secure Digital Input and Output Card)接口、USB Device接口和USB Host接口等[3]。S3C2440控制器內(nèi)部未集成存儲單元,故需要外接Flash和 RAM 存儲器[4]。

        1.3 WiFi模塊

        主機端與客戶端之間需要采用無線方式通信,出于對高速、距離和穩(wěn)定性等的考慮,該系統(tǒng)采用WiFi無線技術(shù)。WiFi是當(dāng)今使用最廣的一種無線網(wǎng)絡(luò)傳輸技術(shù),大部分筆記本電腦、智能手機和平板電腦等都支持該技術(shù)。該系統(tǒng)中采用的核心芯片為MARVELL 8686,接口為SDIO接口,可直接與S3C2440控制器的SDIO接口相連接,最高無線傳輸速度可達(dá)54 Mbit/s。

        1.4 USB Device模塊

        PC機與主機端采用USB通信協(xié)議,且PC端為USB Host接口,該系統(tǒng)中主機端需要USB Device接口。S3C2440控制器內(nèi)置USB Device控制器,允許控制傳輸、中斷傳輸和批量傳輸,批量傳輸時可以使用DMA功能,支持掛起和遠(yuǎn)程喚醒功能。它兼容USB1.1協(xié)議,有5個帶FIFO(First Input First Output)的端點,端點0(16字節(jié),控制端點)和端點1、2、3、4(128字節(jié),批量端點)。

        1.5 USB Host模塊

        客戶端與打印機或集線器進行USB通信,要求客戶端具備USB Host接口,實現(xiàn)對USB從設(shè)備的控制。S3C2440控制器集成了USB Host控制器,有兩個USB Host端口,兼容USB1.1協(xié)議,支持USB2.0的全速和低速設(shè)備。

        1.6 集線器模塊

        在實現(xiàn)一點對多點的USB通信中,需要用到USB集線器。USB集線器,又稱為USB Hub,可將一個USB接口轉(zhuǎn)換為多個接口,且這些接口可同時使用。USB集線器應(yīng)用于使用星型拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)中,連接多個計算機或網(wǎng)絡(luò)設(shè)備。USB集線器技術(shù)已經(jīng)很成熟,而且價格低廉,故實驗階段購買成品的USB集線器。

        2 系統(tǒng)軟件設(shè)計

        2.1 系統(tǒng)整體軟件設(shè)計

        該系統(tǒng)中以HP LaserJet 1020打印機為例,對系統(tǒng)軟件進行設(shè)計,系統(tǒng)軟件的流程圖如圖2所示。該系統(tǒng)的軟件分為運行于PC機上的打印監(jiān)控程序和針對該無線USB設(shè)備的驅(qū)動程序,運行于主機端的USB Device驅(qū)動程序和WiFi驅(qū)動程序、應(yīng)用程序,運行于客戶端的USB Host驅(qū)動程序和WiFi驅(qū)動程序、應(yīng)用程序。主機端和客戶端均運行LINUX操作系統(tǒng),相關(guān)的驅(qū)動程序和應(yīng)用程序均在LINUX操作系統(tǒng)下開發(fā)運行。PC機運行打印監(jiān)控程序,監(jiān)控PC機是否有打印消息,當(dāng)有打印消息時提示“是否使用無線打印機”。確定使用無線打印機后,PC機調(diào)用PC機上的針對該無線USB設(shè)備的USB驅(qū)動程序?qū)⑽募?shù)據(jù)傳輸給主機端。主機端的控制器通過WiFi模塊將數(shù)據(jù)傳輸給客戶端??蛻舳说目刂破鲗⑼ㄟ^與其連接的USB Host模塊,控制打印機進行打印,或通過USB集線器間接控制打印機進行打印。打印機打印完畢后,PC機上的打印監(jiān)控程序繼續(xù)監(jiān)控打印消息。

        圖2 系統(tǒng)軟件流程Fig.2 Flow chart of software

        2.2 PC機無線USB設(shè)備驅(qū)動

        該驅(qū)動程序用到的軟件有DDK(Drive Development Kit)、DRIVERSTUDIO、VC++6.0[5]。DDK一般指windows設(shè)備驅(qū)動程序開發(fā)包。如果你想開發(fā)一個設(shè)備驅(qū)動程序,如顯卡驅(qū)動程序,就需要使用DDK。DriverStudio是一套用來簡化微軟windows平臺下設(shè)備驅(qū)動程序的開發(fā)、調(diào)試和測試的工具包,它為windows下USB驅(qū)動的開發(fā)提供了模板,可以有效降低驅(qū)動開發(fā)的難度和提高開發(fā)的效率。VC++6.0為驅(qū)動開發(fā)的編輯器和編譯器。當(dāng)該無線USB裝置插入時,驅(qū)動程序可以根據(jù)其VID(Vendor IDentification)和PID(Product IDentification)進行匹配識別。

        2.3 WiFi驅(qū)動

        在LINUX內(nèi)核中集成了SDIO驅(qū)動和IEEE802.11協(xié)議,在配置內(nèi)核時添加對SDIO接口和IEEE802.11協(xié)議的支持,然后在網(wǎng)絡(luò)配置中添加對MARVELL 8686芯片的支持,同時將WiFi模塊需要的固件程序放到LINUX文件系統(tǒng)的lib目錄下[6,7]。在LINUX內(nèi)核啟動時自動運行腳本文件完成對WiFi模塊的啟動和配置,腳本文件的內(nèi)容如圖3和圖4所示。WiFi的組網(wǎng)模式有一點對多點模式和Ad-Hoc(點對點)模式,該項目中將WiFi配置成Ad-Hoc模式,實現(xiàn)主機端和客戶端點對點無線連接和數(shù)據(jù)通信。

        圖3 A端WiFi配置腳本Fig.3 Configuration script of WiFi on client terminal

        圖4 B端WiFi配置腳本Fig.4 Configuration script of WiFi on Host terminal

        2.4 USB Device模塊驅(qū)動

        在LINUX操作系統(tǒng)下開發(fā)針對USB Device模塊的Read、Write、Open、Close函數(shù),分別實現(xiàn)對USB Device模塊的讀、寫、打開和關(guān)閉操作[8]。同時在LINUX內(nèi)核中添加對USB Device模塊的中斷處理,實現(xiàn)USB Device模塊控制端點的數(shù)據(jù)收發(fā)和數(shù)據(jù)端點的數(shù)據(jù)收發(fā),其中的數(shù)據(jù)包含USB Device的VID、PID,PC機發(fā)來的數(shù)據(jù),USB Device返回的數(shù)據(jù)等。

        2.5 LINUX下打印機支持軟件

        LINUX下打印機支持軟件包括打印機操作工具包、針對特定打印機的固件、文件格式轉(zhuǎn)換工具等。源碼的編譯是在PC機的LINUX操作系統(tǒng)下進行的,需要用到交叉編譯器。命令的輸入是在超級終端,操作步驟如下[9]。

        1)編譯foo2zjs。下載foo2zjs源碼,編譯后得到foo2zjs和sihp1020.dl兩個文件,拷貝到客戶端裝置的文件系統(tǒng)中。其中foo2zjs為打印操作的可執(zhí)行工具,sihp1020.dl為HP1020打印機所需要的固件。

        2)編譯ghostscript-8.15。下載ghostscript-8.15源碼,編譯后得到gs可執(zhí)行工具,該工具用于將PDF格式的文件轉(zhuǎn)換為PBM格式的文件。

        3)插接USB打印機到客戶端,客戶端超級終端打印信息如下。

        usb 1-1:new high speed USB Device using s1r72v17 and address 2

        usb 1-1:Product:HP LaserJet 1020

        usb 1-1:Manufacturer:Hewlett-Packard

        usb 1-1:SerialNumber:JL3ESMZ

        usb 1-1:configuration#1 chosen from 1 choice

        drivers/usb/class/usblp.c:usblp0:USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid 0x03F0 pid 0x2B17

        4)在客戶端超級終端,執(zhí)行“mdev-s”命令,生成lp0節(jié)點,位于/dev/lp0路徑下。

        5)在客戶端超級終端,執(zhí)行“cat sihp1020.dl>/dev/lp0”命令,加載打印機固件。

        6)使用gs工具將PDF文件轉(zhuǎn)換生成PBM文件,命令如下:

        ./gs-q-dBATCH-dSAFER-dQUIET-dNOPAUSE-sPAPERSIZE=a4-r1200x600-sDevice=pbmrawsOutputFile=test.pbm test.pdf

        7)調(diào)用foo2zjs工具打印PBM文件,在客戶端超級終端執(zhí)行如下命令:./foo2zjs-z1-p9-r1200x600 test.pbm>/dev/lp0

        2.6 主機端應(yīng)用程序

        主機端的應(yīng)用程序主要完成USB Device模塊與PC機的通信以及WiFi模塊的數(shù)據(jù)收發(fā),因此開啟兩個線程分別完成上述兩個任務(wù)。USB Device模塊接收數(shù)據(jù)時,采用中斷的方式。由于UDP協(xié)議容易出現(xiàn)丟包的現(xiàn)象,無線傳輸時采用TCP傳輸協(xié)議[10]。傳輸文件前,需要先發(fā)送文件的大小,以方便另一端進行校驗。

        2.7 客戶端應(yīng)用程序

        客戶端的應(yīng)用程序主要完成WiFi模塊的數(shù)據(jù)收發(fā)以及打印機的控制。WiFi部分程序不斷檢測是否有新文件到來,當(dāng)有新文件到來時,先對文件的大小進行校驗,校驗通過后將文件轉(zhuǎn)換為PBM格式并調(diào)用打印機進行打印。

        3 系統(tǒng)整體測試

        系統(tǒng)的實物連接圖如圖5所示。左端為主機端,右端為客戶端,主機端通過一條USB線與PC機相連,打印機或集線器連接到客戶端的USB HOST接口。PC機上打印監(jiān)控程序界面如圖6所示,點擊該應(yīng)用程序的“隱藏”按鈕后可以后臺運行。將主機端插接到PC機的USB口后,在資源管理器中可以看到該無線USB設(shè)備,表明該設(shè)備驅(qū)動安裝成功,如圖7所示。PC機上點擊“打印”按鈕后,彈出如圖8所示的提示,點擊“確定”按鈕即可完成一次打印。

        在實現(xiàn)一點對多點的無線USB集線器功能時,將USB集線器插接到客戶端的USB Host接口,將打印機連接到USB集線器的一個USB口上。打印效果圖如圖8所示,打印的內(nèi)容既含文字又含圖片。

        圖5 硬件連接和打印效果圖Fig.5 Hardware connection and effect diagram of the printer

        圖6 PC機上打印監(jiān)控程序Fig.6 Monitoring program of printing on PC

        圖7 資源管理器中無線USB設(shè)備Fig.7 The wireless USB Device in explorer

        圖8 無線打印提示消息Fig.8 Prompt message of wireless printer

        測試中打印了一份6頁的PDF文件,文件大小為627 kByte,比較使用無線打印機和有線打印機的打印效果,前者比后者延時大約2 s左右,主要用于PDF格式到PBM格式的轉(zhuǎn)換。對于文件不大的情況,無線傳輸時間可以忽略。

        4 結(jié) 語

        無線USB裝置的研制可有效解決USB設(shè)備放置距離的問題以及有線USB設(shè)備連接混亂的問題。該項目成功實現(xiàn)了無線打印功能。項目中實驗階段硬件部分采用兩塊ARM9開發(fā)板,為了進一步減少成本、提高集成度,今后可以將開發(fā)板上未使用的模塊去掉,同時將USB集線器芯片集成到電路板上。隨著人民生活水平不斷提高,無線USB裝置的應(yīng)用將有更廣闊的空間。

        [1]黃勇,邵飛,顧娟,等.無線USB標(biāo)準(zhǔn)簡介[J].信息技術(shù)與標(biāo)準(zhǔn)化,2005(7):25-28.HUANG Yong,SHAO Fei,GU Juan,et al.Brief Introduction of Wireless USB Specification[J].Information Technology &Standardization,2005(7):25-28.

        [2]白鳳娥,霍利鋒,劉振峰,等.無線USB原理及其發(fā)展[J].信息技術(shù),2006(12):184-186.BAI Fenge,HUO Lifeng,LIU Zhengfeng,et al.Principles and Its Development of Wireless USB [J].Information Technology,2006(12):184-186.

        [3]SAMSUNG ELECTRONICS.S3C2440A 32-Bit RISC Microprocessor User's Manual[EB/OL].(2004-07-01).[2013-03-26].http://www.samsung.com.

        [4]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.WEI Dongshan.Embedded Linux Application Development Completely Manual[M].Beijing:Posts& Telecom Press,2008.

        [5]劉榮.圈圈教你玩USB[M].北京:北京航空航天大學(xué)出版社,2008.LIU Rong.Circle Teach You Play USB[M].Beijing:Beihang University Press,2008.

        [6]羅娜.基于88W8686的手持終端WiFi功能的設(shè)計與實現(xiàn)[D].武漢:武漢理工大學(xué)信息工程學(xué)院,2010.LUO Na.88W8686-Based WiFi Design and Implementation for Handheld Device[D].Wuhan:School of Information and Engineering,Wuhan University of Technology,2010.

        [7]賀琨,張立文,宋占偉,等.基于WiFi通信的嵌入式集裝箱數(shù)據(jù)終端[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2012,30(6):579-584.HE Kun,ZHANG Liwen,SONG Zhanwei,et al.Embedded Container Data Terminal Based on WiFi Communication [J].Journal of Jilin University:Information Science Edition,2012,30(6):579-584.

        [8]宋寶華.Linux設(shè)備驅(qū)動開發(fā)詳解[M].北京:人民郵電出版社,2010.SONG Baohua.Linux Device Driver Development Explain[M].Beijing:Posts& Telecom Press,2010.

        [9]黃艷,馬旭東.嵌入式Linux下基于ARM9的USB打印機控制器的設(shè)計[J].工業(yè)控制計算機,2008,21(5):66-67.HUANG Yan,MA Xudong.Design of USB Printer Controller Based on ARM9 under Embedded Linux[J].Industrial Control Computer,2008,21(5):66-67.

        [10]孟祥磊,干莽,張婷,等.基于WiFi的嵌入式目標(biāo)定位與檢視終端[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2012,30(5):480-486.MENG Xianglei,GAN Mang,ZHANG Ting,et al.WiFi-Based Embedded Target Location and View Terminal[J].Journal of Jilin University:Information Science Edition,2012,30(5):480-486.

        猜你喜歡
        集線器PC機驅(qū)動程序
        音樂聆賞新世代 Bowers & Wilkins Formation Audio無線音樂集線器
        基于PC機與單片機的多機通信技術(shù)及抗干擾方法
        基于三菱FXPLC的感應(yīng)淬火機床與PC機的串行通信實現(xiàn)
        VC.NET下實現(xiàn)dsPIC單片機與PC機的通信
        電子制作(2017年23期)2017-02-02 07:16:47
        Microchip拓寬USB3.0集線器應(yīng)用范圍
        Microchip推出具有FlexConnect功能的新型智能集線器,拓寬USB 3.0集線器的應(yīng)用范圍
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        網(wǎng)絡(luò)世界里的三兄弟集線器、交換機和路由器
        久久日韩精品一区二区| 欧美精品一级| 欧洲乱码伦视频免费| 日本一区二区三区精品免费| 亚洲无码在线播放| 无码国产午夜福利片在线观看| 亚洲动漫成人一区二区| 久久这黄色精品免费久| 久久久久久久妓女精品免费影院 | 国产白浆一区二区三区性色| 国产成人精品综合在线观看| 日本成人一区二区三区| 国内精品久久人妻性色av| 一区二区三区人妻少妇| 中文日韩亚洲欧美制服| 亚洲成AⅤ人在线观看无码| 国产高清不卡在线视频| 久久人人爽人人爽人人片av高请| 无码精品a∨在线观看| 久久精品国产亚洲综合色| 成人影院视频在线播放 | 性色做爰片在线观看ww| 成人国产精品一区二区网站| 操老熟妇老女人一区二区| 激情内射人妻1区2区3区| 欧美aa大片免费观看视频| 91制服丝袜| 肉丝高跟国产精品啪啪| 国产自拍高清在线观看| 欧美大黑帍在线播放| 国产精品麻豆A啊在线观看| 蕾丝女同一区二区三区| 亚洲精品一品区二品区三品区| 中文字幕在线亚洲一区二区三区 | 扒开腿狂躁女人爽出白浆| 久久精品一区二区免费播放| av蜜桃视频在线观看| 亚洲女人毛茸茸粉红大阴户传播 | 欧美理论在线| 18禁成人免费av大片一区| av人摸人人人澡人人超碰下载|