版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
墨圈圜墨重EI圜堡墮塑笠;墨王塑!!!旦!!里苴丑塑型;旦墮!堡婁逞魚退讓基于C8051f340單片機的USBHID類設(shè)備設(shè)計倪陳強,陳贅(西安科技大學(xué)機械工程學(xué)院陜西西安710054摘要:USB作為近年來計算機和嵌入式領(lǐng)域中的熱點,推動了計算機外設(shè)的飛速發(fā)展,各種具有USB接1:7的嵌入式系統(tǒng)不斷涌現(xiàn)。但是,USB協(xié)議復(fù)雜,若為每種設(shè)備都開發(fā)相應(yīng)的設(shè)備驅(qū)動程序,開發(fā)周期勢必加長。介紹一種USB外設(shè)的實現(xiàn)方案.誼方案采用C8051F340單片機內(nèi)置的USB接1:2,實現(xiàn)了基于HID類協(xié)議的USB設(shè)備的設(shè)計。采用誼方案實現(xiàn)USB設(shè)備,無需專門開發(fā)謾備驅(qū)動程序。談方案實用性強,可大大縮短開發(fā)周期。關(guān)鍵詞:USB;C8051F單片機;HID;API中圖分類號:TP33文獻標(biāo)識碼:B文章編號:1004—373X(200718—064—03DesignofUSBHIDDeviceBasedonSingleChipC8051f340NIChenqiang,CHENYunSchoolofMechanicalEngineering,Xi‘a(chǎn)nUnivershyofSicienceandTechonology,Xi7an.710054,ChinaAbstract:Asahotpointinrecentcomputertechnologyandembeddedsystemfield,USBvastlyimprovesthedevelopmentofperipheraldevicesforcomputerandsomeembeddedsystermswithUSBinterfacearecomingforth.ThepaperintroducesaschemewhichimplementsUSBdegces.Itrealizesthedesignofusbdevicesbased011HIDprotocolusingUSBinterfaceonmi—crocontrollerC8051F34x.Itdoesn7tneedspeciallydevelopdevicedriverporgramtoimplementUSBdeviceusingthismethod,80itcanreducethedevelopcircle.Themethodhashighpracticabilityandreliability.Koywords:USB;(18051Fsinglechip}HID;API基于傳統(tǒng)I/O模式的外設(shè)必須占用PC主機的中斷請求、I/O地址等系統(tǒng)資源,而這些有限的主機資源無法滿足眾多外設(shè)連接的需要。USB接口的出現(xiàn),解決了日益增加的PC外設(shè)與有限的主板插槽和端口數(shù)量之間的矛盾。但是,USB設(shè)備協(xié)議比較復(fù)雜,驅(qū)動程序開發(fā)比較費時。本文介紹一種利用C8051F340單片機和USBHID類設(shè)備驅(qū)動程序進行USB設(shè)備開發(fā)的方法。1C8051F340單片機簡介系統(tǒng)單片機采用C8051F340,此單片機具有流水線的指令結(jié)構(gòu);70%指令的執(zhí)行時間為1或2個系統(tǒng)時鐘,48MHz的時鐘頻率,指令執(zhí)行速度可達48MIPS。其內(nèi)置USB接口完全兼容USB2.0,支持全速(12MBPS和低速(1.5MBPS兩種運行速度,8個可靈活配置的端點,專用的1kB的USB緩沖存儲器,集成的收發(fā)器,無需外部電阻,可方便實現(xiàn)與計算機的通信。片內(nèi)穩(wěn)壓器支持USB總線供電1片內(nèi)穩(wěn)壓器旁路支持USB自供電。2單片機的USB接口設(shè)計部電阻,可以方便地與USB接口連接。USB接口與單片機的連接如圖1所示。C8051F340可以被配置為USB固件自身供電,也可以配置為USB總線供電。將J3的VBUS與REGIN短接起來,被配置為USB總線供電;將J3的VDD與REGIN短接,被配置為USB固件自身供電,并且片內(nèi)穩(wěn)壓器被禁止;將J4的REGIN與5V網(wǎng)絡(luò)短接,被配置為USB固件自身供電,但片內(nèi)穩(wěn)壓器被允許。圖18051F340單片機的USB的接口C8051F340單片機內(nèi)部集成了USB收發(fā)器,無需外3USBHID設(shè)備類協(xié)議收稿日期:2007—03—17為簡化USB設(shè)備的開發(fā)過程,USB提出了設(shè)備類的萬方數(shù)據(jù)概念。HID設(shè)備類即人機接口設(shè)備,如鍵盤、鼠標(biāo)等。HID沒備既口T以是低速設(shè)備也可以是全速設(shè)備,具有以下的功能特點:適崩于傳輸少量或中量的數(shù)據(jù);傳輸?shù)臄?shù)據(jù)具有突發(fā)性i傳輸?shù)淖畲笏俾视邢拗?無固定的傳輸率。3。1HID的數(shù)據(jù)傳輸方式USB規(guī)范規(guī)定了4種數(shù)據(jù)傳輸方式:控制傳輸、中斷傳輸、同步傳輸和批量傳輸??刂苽鬏斨饕糜谥鳈C與設(shè)備問關(guān)于配置、狀態(tài)和控制信息的傳輸,任何USB設(shè)備都必須支持控制傳輸。中斷傳輸用于數(shù)據(jù)量較小、小定時傳送、允許一定延遲、服務(wù)周期受限的設(shè)備;同步傳輸用于大數(shù)據(jù)量、實時性高、允許一定差錯的設(shè)備;批量傳輸用于大數(shù)據(jù)量、可靠性高、實時性不很高的設(shè)備。根據(jù)HID規(guī)范,所有HID類設(shè)備與主機問的通信采用控制傳輸和中斷傳輸2種方式,HID類設(shè)備與主機的傳輸管道如圖2所示。圖2HID的數(shù)據(jù)傳輸方式HID設(shè)備類除支持設(shè)備(Device描述符、配置(Con—figuration描述符、接口(Interface描述符、端點(End—point描述符和字符串(String描述符等標(biāo)準(zhǔn)描述符外,還自行定義了3種類描述符,分別為HID描述符(主要用于識別HID設(shè)備所包含的其他類描述符、報告(Report描述符(提供HID設(shè)備和主機間交換數(shù)據(jù)的格式和物理(Physical描述符。一個HID設(shè)備只能支持一個HID描述符;可以支持一個或多個報告描述符}物理描述符是可選的,大多數(shù)HID設(shè)備不需要使用他。描述符包含USB設(shè)備的各種信息,一般以數(shù)據(jù)表的形式固化在程序存貯器中。圖3是HID類設(shè)備的設(shè)備描述符結(jié)構(gòu)。圖3HID的描述特結(jié)構(gòu)3,3設(shè)備請求一個完善的USB設(shè)備必須能夠正確地響應(yīng)主機針對該設(shè)備可能發(fā)出的所有設(shè)備請求。設(shè)備請求也可以分成標(biāo)準(zhǔn)設(shè)備請求和類特殊設(shè)備請求。標(biāo)準(zhǔn)設(shè)備請求由USB規(guī)范規(guī)定,類特殊設(shè)備請求由類規(guī)范規(guī)定。標(biāo)準(zhǔn)設(shè)備請求有GetStatus(00H,ClearFeature(01H,SetFeature(03H,SetAddress(05H,GetDescription(06H,SetDescription(07H,GetConfiguration(08H,SetConfiguration(09H,GelInterface(OAH,SetInterface(0BH和synchFrame(OCH。HID類設(shè)備特殊的設(shè)備請求有GetReport、SetReport、GetIdle、SetIdle、GetProtocol和SetProtocol。GetReport和SetReport的作用是通過控制管道接收和發(fā)送數(shù)據(jù)報告。4固件程序設(shè)計USB設(shè)備固件程序設(shè)計的核心在于對主機的請求做出響應(yīng)。主機的請求分為2類:控制傳輸?shù)恼埱蠛蛿?shù)據(jù)傳輸?shù)恼埱?。軟件開發(fā)的主要工作是編寫USB的中斷服務(wù)程序,其功能是處理USB發(fā)送、接收的不同信息,從端點0獲得主機的控制信息.或是向端點0發(fā)送設(shè)備的狀憊信息,以及向端點發(fā)送的數(shù)據(jù)等。中斷服務(wù)程序的任務(wù)是根據(jù)不同的中斷請求,轉(zhuǎn)入相應(yīng)的處理程序。整個中斷處理過程可以分為3個步驟:(1通過訪問USB芯片的INlINT.OUTIINT,CMINT寄存器,判斷發(fā)生的中斷請求;(2根據(jù)不同的請求必及其他的相關(guān)信息,轉(zhuǎn)入相應(yīng)的協(xié)議處理過程;(3根據(jù)協(xié)議處理的結(jié)果,完成相應(yīng)的通信任務(wù)。根據(jù)設(shè)備類型的不同,主機發(fā)送的令牌種類和數(shù)量都會不同。HID類設(shè)備在響應(yīng)主機命令時,除了處理普通的USB命令,還要響應(yīng)HID類設(shè)備的一些命令,中斷服務(wù)程序根據(jù)不同的請求來完成相應(yīng)的動作。5應(yīng)用程序設(shè)計在Windows98及其以后的版本中都提供了完整的HID類驅(qū)動程序以及相應(yīng)的APl鬲數(shù),因此開發(fā)HID的應(yīng)用程序主要通過調(diào)用APl函數(shù)實現(xiàn)。Windows提供的HID類驅(qū)動程序(Hidclass.sys向下與USB底層驅(qū)動程序通信,向上對HID子類的所有上層驅(qū)動程序提供支持,還有用戶層的Hid.dll,他的作用就像Hidclass.sys在內(nèi)核的作用一樣,提供HID設(shè)備的通用命令支持。用戶層的應(yīng)用程序則一般直接掘用Hid.d/l提供的API函數(shù)。這里介紹用戶模式的HID客戶程序的設(shè)計過程。他主要包括4個方面的的工作:(1查找所有HID設(shè)備}(2確定哪一個是用戶需要的HID設(shè)備,并連接該設(shè)備;(3獲得HID設(shè)備的信息;(4根據(jù)用戶需要,讀取HID輸入Report或者寫65萬方數(shù)據(jù)■曩圈宙暖目I墨堡墮塑量;墨王塑!!!塑!!里蘭墊笪旦塑旦!里譽退魚退i土HID輸出Report。設(shè)備的路徑獲取要通過調(diào)用系統(tǒng)API函數(shù)來獲取用如下步驟:采6結(jié)語GUlDHidGuiDlHidDLGetHidGuid(&HidGuid4//根據(jù)GUID取得設(shè)備信急hDevInfo=SetupDiGetClassDevs(&HidGuid,NULL,0,DIGCFPRESENTlDIGCF—DEVICEINTERFACE#//枚舉設(shè)備類的所有接口SetupDiEnumDeviceInterfaces(DevicelnfoSet,0,&HidGuid,Memberlndex,&devicelnfoDataf//獲取與設(shè)備相關(guān)的結(jié)構(gòu)的接口信息SetupDiGetDeviceInterfaceDetail(DevlcelnfoSet,&devieelnfoData.DevieefnterfaceDetailData,0,&requiredLength,0}//獲取接口的詳細信急可以從DeviceInterfaceDetailData中獲得CreateFile所需的設(shè)備路徑,通過調(diào)用CreateFile獲得設(shè)備的句柄。程序可以通過文件操作函數(shù)完成對設(shè)備的讀寫。也可以利用HID類的API函數(shù).如HidD—GetAttrlbutes、HidD—SetFeature、HidD—SetOutputReport、HidD—GetInpu—tReport、HidDGetPreparsedData等完成與設(shè)備的通信。利用C8051f340單片機的USB接口,采用HID設(shè)備類驅(qū)動程序,實現(xiàn)了USB設(shè)備的開發(fā)。這種方法不需要開發(fā)驅(qū)動程序,可大大提高開發(fā)效率,傳輸速度適用于傳輸少量或中量的數(shù)據(jù),可應(yīng)用于便攜式測試設(shè)備、仿真機、開發(fā)板等嵌入式系統(tǒng)與計算機之間的數(shù)據(jù)通信。參考文獻[13馬偉.計算機USB系統(tǒng)原理及其主/從機設(shè)計[M].北京:北京航空航天大學(xué)出版社.2004.[2]蕭世文.USB2.0硬件設(shè)計[M].北京:清華大學(xué)出版社.2002.[3]UniversalSerialBusDeviceClassDefinitionofHuman.In—terfaceDeviees(HIDVersionl.OFinal.USBImplements7Fo—rum,1996.[4]8051F340DataBook.SiliconLaboratoriesInc,2006.[5]蔣博.基于USB接口的稱重裝置[J].現(xiàn)代電子技術(shù),2006,29(4:55—56,59.[6]曾憲武,包淑萍.多總線轉(zhuǎn)多種串行總線裝置的研制[J].現(xiàn)代電子技術(shù),2006,29(13:43—45.作者簡介倪陳強男,1980年出生,助教。從事嵌入式系統(tǒng)應(yīng)用技術(shù)的研究工作(上接第60頁3軟件設(shè)計將燃燒器控制端口設(shè)置為僅為輸出端口,其余各端口設(shè)置為標(biāo)準(zhǔn)輸入輸出端口,串口協(xié)議為8位數(shù)據(jù)位和一位校驗位,波特率2400Hz,判斷有鍵按下,當(dāng)有鍵按下時,如果是數(shù)字鍵修改數(shù)據(jù),如果是啟停燃燒器按鍵則相應(yīng)的啟動或停止燃燒器,采集溫度并顯示溫度值,判斷有無故障,當(dāng)有故障時發(fā)送指令給上位機,上位機語音報警。下位機主要流程如圖3所示。4結(jié)語通過單片機串口通訊,實現(xiàn)了計算機網(wǎng)絡(luò)控制多臺溫控器,實時顯示溫度、設(shè)定溫度報警值并對某工作臺出現(xiàn)的故障語音報警.便于及時維修。參考文獻[1]周立功.LPC900系列FLASH單片機應(yīng)用技術(shù)[M].北京北京航空航天大學(xué)出版社,2004.66囤3主程序流程圖[2]竇振中.單片機外圍器件實用手冊[z].北京t北京航空航天大學(xué)出版社,1998.作者簡介陳曉東男,1975年出生,碩士.助教。主要從事嵌入式控制方面的教學(xué)與科研工作。萬方數(shù)據(jù)基于C8051f340單片機的USBHID類設(shè)備設(shè)計作者:倪陳強,陳贇,NIChenqiang,CHENYun作者單位:西安科技大學(xué),機械工程學(xué)院,陜西,西安,710054刊名:現(xiàn)代電子技術(shù)英文刊名:MODERNELECTRONICSTECHNIQUE年,卷(期:2007,30(18引用次數(shù):1次參考文獻(6條2.蕭世文USB2.0硬件設(shè)計20023.UniversalSerialBusDeviceClassDefinitionofHumanInterfaceDevices(HIDVersion1.0Final19964.8051F340DataBook20065.蔣博基于USB接口的稱重裝置[期刊論文]-現(xiàn)代電子技術(shù)2006(46.曾憲武.包淑萍多總線轉(zhuǎn)多種串行總線裝置的研制[期刊論文]-現(xiàn)代電子技術(shù)2006(13相似文獻(8條Xiao-zhe基于C8051F單片機的CAN總線硬件系統(tǒng)設(shè)計-測控技術(shù)2007,26(11從分析CAN總線控制系統(tǒng)的設(shè)計思路入手,著重討論設(shè)計中的主要問題,采用RS-485/422輔助CAN總線的混合總線結(jié)構(gòu),選用C8051F系列單片機和USB轉(zhuǎn)UART橋接器CP2102作為控制核心,設(shè)計了一種多主、多功能的混合式總線監(jiān)控系統(tǒng).試驗表明:該系統(tǒng)成功解決了數(shù)據(jù)傳輸瓶頸、數(shù)據(jù)沖突、同步等一系列問題,具有良好的實時性和穩(wěn)定性,廣泛適用于各類遠程大型實時監(jiān)控網(wǎng)絡(luò).2.期刊論文劉丹.孫自強基于C8051F單片機智能控制儀表的設(shè)計-中國儀器儀表2004(7C8051F系列單片機是完全集成的混合信號系統(tǒng)級芯片(SOC,它在一個芯片內(nèi)構(gòu)成了一個數(shù)據(jù)采集或控制系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設(shè)及其它功能部件.本文介紹了基于C8051F020單片機的智能控制儀表的硬件和軟件設(shè)計.恒溫箱廣泛應(yīng)用于企業(yè)的實驗室。主要有培養(yǎng)箱、干燥箱、老化箱、恒溫恒濕箱等。溫場測試儀是用來檢測恒溫設(shè)備的溫度均勻性和波動性,以判斷恒溫箱性能的好壞。每個地區(qū)的計量部門每年都要為該地區(qū)的企業(yè)檢測大量的恒溫箱。目前計量部門使用的溫場測試儀主要有兩種:一種是人工接線手動切換通道、人工記錄數(shù)據(jù),另一種是人工接線,電腦自動記錄。由于每檢測一臺恒溫箱都必須接5~9支傳感器,如果恒溫箱臺數(shù)多,工作效率就低,并且經(jīng)常拆裝傳感器容易損壞,為了更好地提高計量部門的工作效率,本課題在HHARM2410-Audio—R1套件的基礎(chǔ)上,基于嵌入式Linux操作系統(tǒng)和高性能CPU,對溫場測試儀進行了進一步的研究和設(shè)計。本論文研究和設(shè)計的溫場測試儀由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成。硬件系統(tǒng)主要功能模塊包括:HHARM2410-Audio—R1套件的開發(fā)板、自主開發(fā)的無線收發(fā)模塊和數(shù)據(jù)采集分機模塊。HHARM2410套件由核心板和底板(外設(shè)板或稱基本板組成,核心板上集成SamsungS3C2410處理器,64MSDRAM以及16M的FLASH,為應(yīng)用研發(fā)提供了足夠的空間。底板上則提供以下外設(shè)接口:一個四線RS-232串口(COM1,一個USBHOST接口,一個10M/100M自適應(yīng)以太網(wǎng)接口,一個TFTLCD接口,一個觸摸屏接口;數(shù)據(jù)采集分機由C8051F單片機組成;信號調(diào)理采用ADT70鉑熱電阻信號調(diào)理器實現(xiàn)高精度測溫;無線收發(fā)模塊主要由nRF903無線收發(fā)芯片組成。軟件系統(tǒng)的操作系統(tǒng)為Linux,HHARM2410-Audio—R1套件中已有了RS232串行通信的驅(qū)動程序和觸摸屏驅(qū)動程序。本論文自主開發(fā)的分機溫度采集軟件、主機分機之間的通信軟件及主機的圖形界面。4.期刊論文史萍.宋愛國.SHIPing.SONGAi-guo基于C8051F的肌電信號采集儀設(shè)計-中國醫(yī)療設(shè)備2009,24(7為了能實時觀測患者患肢肌肉生物電活動隨時間變化的圖形,幫助醫(yī)生評價患者肌肉及其控制系統(tǒng)的功能,設(shè)計開發(fā)了一種基于C8051F320單片機的肌電信號數(shù)據(jù)采集儀.提出將電極采樣獲得的肌電信號經(jīng)濾波、放大后再經(jīng)C8051F320單片機發(fā)送液晶屏,實時顯示多通道或單通道肌電波形、并通過USB接口與上位機進行信息傳輸.測試證明該儀器具有一定的實用性.近年來,隨著裝備制造業(yè)的發(fā)展及技術(shù)革新的應(yīng)用,特別是計算機,微電子及微處理器技術(shù)的不斷進步,在加工制造及產(chǎn)品控制的過程中多電機的協(xié)調(diào)控制越來越受到人們的重視。在機器人系統(tǒng)中廣泛采用步進電動機進行多軸運動控制。本文研究通過C8051F單片機實現(xiàn)步進電機的協(xié)調(diào)控制問題。論文首先對管道機器人模型運動特點進行分析,給出了控制要求。根據(jù)系統(tǒng)的控制要求確定了C8051F320單片機作為下位機控制器的核心處理器,利用它的高速輸出功能,通過分配的不同引腳,產(chǎn)生頻率可控的脈沖串來控制兩臺或多臺步進電機的協(xié)調(diào)運動。在硬件電路上實現(xiàn)光電編碼器與單片機的接口電路,可通過光電編碼器,來檢測電機的轉(zhuǎn)速。上位機與下位單片機通過USB接口實現(xiàn)進行通信。C8051F320內(nèi)嵌了與主機的USB接口,利用它提供的庫函數(shù)文件,在上位機USB程序中將欲傳送的數(shù)據(jù)以文件的形式發(fā)送給下位機,在下位機中以數(shù)據(jù)塊的形式進行接收并存于片內(nèi)RAM的臨時存儲區(qū)中,每個數(shù)據(jù)塊最大為64Byte,當(dāng)RAM中數(shù)據(jù)達到512Byte時,再將這些數(shù)據(jù)寫入到一個FLAH頁中。經(jīng)過硬件設(shè)計及相應(yīng)的上位機、下位機軟件的編程,結(jié)合步進電機的實驗,結(jié)果較好的實現(xiàn)了預(yù)期的控制效果??梢栽谏衔粰C的軟件中根據(jù)實際情況來給定不同的位移曲線,對它進行插值細劃,轉(zhuǎn)換成相應(yīng)的控制數(shù)據(jù)。在下位機中可以利用這些數(shù)據(jù),結(jié)合啟動、停止及正反轉(zhuǎn)按鈕來并實現(xiàn)對電機的協(xié)調(diào)控制。6.期刊論文何青.張海巖.張志.HeQing.ZhangHaiyan.ZhangZhi基于C8051F的便攜式多通道數(shù)據(jù)采集系統(tǒng)-儀器儀表學(xué)報2006,27(z1本文研究開發(fā)了一種基于C8051F單片機和USB技術(shù)的便攜式多通道高速數(shù)據(jù)采集系統(tǒng),采用ⅡC接口技術(shù)進行I/O口擴展,并具有和上位機進行數(shù)據(jù)傳輸?shù)忍攸c.系統(tǒng)采
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保護耳朵教案及反思
- 配件風(fēng)險管理策略
- 服裝行業(yè)招投標(biāo)違規(guī)責(zé)任追究
- 游戲廳裝修施工合同
- 商業(yè)綜合體砌體施工協(xié)議
- 公共安全管理辦法釋義
- 大型電力變電站施工合同
- 勞動爭議處理策略研究
- 北京環(huán)保項目采購規(guī)定
- 污水處理工程招投標(biāo)合同
- 小學(xué)數(shù)學(xué)六年級“24點”試題及答案
- Tekla建??旖萱I
- 大航海時代四特產(chǎn)分布
- 鉆孔灌注樁驗孔記錄表
- 法語書信格式(正式版)
- 偏差管理控制程序
- 供應(yīng)商現(xiàn)場審核評分表(詳細)
- 客戶信息登記表
- 二手車復(fù)習(xí)題終極版本
- 畢業(yè)設(shè)計說明書螺旋精確稱重給料機設(shè)計
- 十大危險作業(yè)
評論
0/150
提交評論