999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于USB總線接口的控制系統設計

2012-08-10 03:40:28楊翠軍
通信技術 2012年8期
關鍵詞:單片機功能設備

朱 靜,錢 敏,楊翠軍

(蘇州大學 電子信息學院微電子系,江蘇 蘇州 215006)

0 引言

通用串行總線是一種高效、快速、雙向和支持熱插拔的新型接口,可實現 PC機與外設的通信。同時,它使用了一種易于擴展的結構,理論上可接127個設備[1]。當前,越來越多的電子產品中都會涉及到USB接口。因此,對基于USB接口的通信系統的研究是非常必要的。目前USB3.0協議已經制定并將大行其道。

基于USB接口設計了符合USB1.1協議的控制系統。整個系統通過 PC機的應用程序界面控制操作,USB接口負責單片機與PC機的通信??傮w設計方案為:選用 Atmel公司的 MCU芯片STC89C52RC和Philips公司的USB控制接口芯片PD12,進行系統的硬件設計和軟件編程。硬件設計主要是 PD12與單片機間的接口電路及外圍電路單元(如LCD、按鍵),軟件分為3部分:①固件,控制PD12識別USB數據流、輸入輸出等;②USB功能設備驅動程序,介于硬件和應用軟件之間,提供橋梁作用;③客戶應用程序,完成頂層軟件對底層硬件的控制。

1 USB協議及PD12簡介

USB是一種數據傳輸總線協議。首先,USB系統被定義為3部分: ①USB的連接;②USB的主機;③USB的設備。主機在USB通信中居于核心地位,它與USB設備的通信模型如圖1所示。主機和設備都被劃分成不同的層次[2],每個層次的實現對USB有不同的要求。

圖1 USB通信模型之間的基本信息流

USB數據流是協議中的重點內容。從邏輯上講,USB數據的傳輸是通過虛擬管道進行的。實際上,主機與設備的通信過程如下:設備驅動程序首先調用USB驅動接口(USB Driver Interface)發出I/O請求(IRP, I/O Request Packet);USB驅動程序收到該請求后,調用主控制器接口,將IRP轉化為USB的基本傳輸;通過主控制器將該傳輸解析成總線操作并以數據包(Packet)的形式輸出。

USB發展經歷了1.0、1.1、2.0、3.0版本,由于本項目中數據傳輸速率要求不高,故采用符合USB1.1的PD12芯片。它是USB控制接口芯片,集成了SIE、FIFO存儲器、收發器及電壓調整器[3]。是一款帶有并行總線的USB器件,支持本地DMA傳輸。這些特點在系統實現時能節約成本,外設能實現更高級的USB功能。PD12需單片機配合才能完成USB通信,單片機利用讀寫外部存儲器方式來執行該芯片的通信功能命令。

2 硬件系統設計框圖及介紹

基于 USB接口的控制系統硬件組成包括單片機、USB接口芯片及一些外圍電路元件(如數碼管、LED發光管、蜂鳴器等)。如圖2所示是系統硬件設計框圖,主要由5個部分組成:PC主機用于對后臺的控制;USB接口是主機和外設之間連接的橋梁;USB接口芯片完成數據通信功能,并讀入微控制器中處理;微控制器選用STC89C52RC芯片,完成各部分控制功能和USB傳輸協議;外圍電路元件用來檢驗系統的通信是否成功。

圖2 系統的組成框

3 固件設計

固件是運行于單片機中的前臺控制程序,采用KeilC51編譯生成。為了使PD12在USB上的數據傳輸速率盡可能大,固件被設計成完全的中斷驅動模式,前后臺分開工作,并通過事件標志和 Setup包數據緩沖區來實現數據的交換[4]。通常,USB固件程序包含3部分:①初始化整個電路;②主循環部分;③中斷服務程序。

固件軟件系統結構模塊[4]如圖3所示。

圖3 系統固件的結構

硬件提取層:它是固件最低層的代碼,完成對單片機I/O口和硬件接口進行操作。

PD12命令接口:對PD12的所有功能進行訪問并操作,簡化PD12編程。

中斷服務程序:對 PD12發出的中斷請求進行處理,從 PD12內部讀數據到存儲器,并設置事件標志,以便主循環進一步處理。

標準請求和廠商請求:對協議中各種標準請求以及用戶添加的特殊請求進行處理。

主循環:首先初始化微控制器單元的所有端口、存儲器和中斷服務程序,然后進入循環,輪詢各種狀態并進行相應的處理。

該程序結構具有高度的可移植性以及很好的可擴展性,它按功能將復雜的過程分成多個簡單的模塊處理,采用事件標志和緩沖存儲,有效地將各個模塊聯系起來,能夠完成微控制器和 PC機之間的USB通信。

4 USB設備驅動程序設計

由于Windows中沒有現成的驅動程序支持設備的使用,因此必須編寫與 PD12數據通信相匹配的功能層設備驅動程序。

設備驅動程序提供操作系統與硬件的接口,支持用戶與應用程序間的信息交換。軟件程序在Visual C++6.0的環境下完成,使用Compuware公司的 DriverStudio工具生成驅動程序框架[5],用戶對其進行修改并加入自己的功能代碼,大大縮短了開發的時間。

采用 Windows驅動程序模型(WDM, Windows Driver Model),其架構如圖4所示。它是一種基于Windows平臺的設備驅動程序模型,采用靈活的分層處理方法,不僅可以接收來自其上層驅動程序提供的相關服務,而且可以通過發送IRP請求與其他驅動程序進行通信[6]。

圖4 WDM型的USB驅動程序架構

USB驅動程序的工作流程如下:首先,用戶應用程序調用Windows API函數,向驅動程序發出請求,并將相關數據打包成IRP,IO管理器捕獲IRP并進行相應處理;然后,IO管理器向USB功能設備驅動程序發送IRP包,請求功能設備驅動程序進行相應處理;最后,功能設備驅動程序處理完接收到的 IRP,設好相關環境后將其傳給更底層的驅動程序,由總線驅動程序完成對硬件的操作,并將結果返回。中間層驅動程序相當于過濾器,可不做任何事,只是向下傳遞IRP。

5 USB設備應用程序設計

USB設備應用程序的作用是為主機與 USB外設提供通信橋梁,實現主機對 PD12的管理與操作,為用戶提供友好的人機交互界面。它是系統與用戶的接口,不能直接去訪問USB設備,必須通過調用驅動程序來完成對外圍設備的控制和通信。

應用程序在Visual C++6.0環境中開發實現,使用它提供的微軟基礎類(MFC, Microsoft Foundation Class)來編寫程序,MFC對Win32 API函數進行封裝,提供了大量的類庫和代碼支持[7],可實現大部分API功能,大大簡化了應用程序的編程。

應用程序主要向硬件發送數據或命令。它與驅動程序的通信主要是通過驅動程序提供的函數來實現的,過程如下:應用程序首先調用 CreateFile函數打開 USB設備,獲得設備句柄;然后利用該句柄,應用程序調用DeviceIoControl函數與WDM驅動程序進行通信;最后在退出應用程序之前,應調用CloseHandle函數來關閉該USB設備[8]。

圖5為PC機與USB設備進行通信的應用程序簡單界面。首次將前臺被控端與 PC機相連需安裝驅動程序,用戶基于該界面在 PC端進行各功能的操作,如在文本框中輸入字符、點擊相關按鈕等,設備端可以作出相應的反應。調試結果表明,數據在該系統中傳輸無誤,程序運行正常可靠。

圖5 應用程序簡單界面

6 結語

提供了一種基于USB接口的控制系統的設計方法,通過實際的硬件實現和軟件調試,數據能夠在該系統中快速無誤地傳輸,可應用在各種電子產品中實現與PC機進行準確的數據傳輸[9]。但在硬件通信協議方面,可以選用符合 USB2.0協議的接口芯片,加快通信的速度,使圖像傳輸等高速通訊成為可能。在軟件方面,設計的方式和源代碼的實現可以采用更優化的方法。相信隨著USB總線技術的不斷發展,它的應用領域會越來越廣闊。

[1] 邊海龍, 賈少華. USB2.0設備的設計與開發[M]. 北京:人民郵電出版社,2004.

[2] 胡曉軍, 張愛成. USB接口開發技術[M]. 西安:西安電子科技大學出版社,2005.

[3] 胡凱, 龔莉萍, 陳云榕. 基于 USB2.0的數字高速采集設備設計[J]. 通信技術, 2009, 42(07):45-47.

[4] 周立功. PDIUSBD12固件編程與驅動開發[M]. 北京:北京航空航天大學出版社,2003.

[5] 陳亞娟. USB廣播播放控制系統設計[J]. 通信技術,2009, 42(02):292-294.

[6] 武安河. Windows2000/XP WDM設備驅動程序開發[M].北京:電子工業出版社,2005.

[7] 張岳新. Visual C++程序設計[M]. 蘇州:蘇州大學出版社,2002.

[8] 鄢斌. 基于USB接口密碼模塊的可信計算平臺設計[J].信息安全與通信保密,2011(05):107-109.

[9] 張建軍, 杜莉. 防跟蹤 USB接口加密狗的設計[J]. 信息安全與通信保密,2010(10):58-59,62.

猜你喜歡
單片機功能設備
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
諧響應分析在設備減振中的應用
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
關于非首都功能疏解的幾點思考
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
Microchip推出兩個全新PIC單片機系列
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 久久精品无码国产一区二区三区| 国产91视频观看| 伊人久久婷婷| 在线播放真实国产乱子伦| 找国产毛片看| 日韩精品亚洲一区中文字幕| 国产精品福利一区二区久久| 午夜精品一区二区蜜桃| AV老司机AV天堂| 国产乱子伦视频三区| 欧美日韩国产高清一区二区三区| 国产精品一区二区在线播放| 性色在线视频精品| Jizz国产色系免费| 国产亚洲欧美另类一区二区| 久久精品中文字幕免费| 色网站在线视频| 免费一级无码在线网站| 國產尤物AV尤物在線觀看| 久久久久久午夜精品| 国产大片喷水在线在线视频| 欧美性猛交xxxx乱大交极品| 无码福利日韩神码福利片| 日本免费新一区视频| 国产成人无码综合亚洲日韩不卡| 国产成人精品无码一区二| 免费人成在线观看成人片| 一级毛片网| 丝袜高跟美脚国产1区| 亚洲欧美国产高清va在线播放| 性色一区| 成年午夜精品久久精品| 新SSS无码手机在线观看| 国产欧美日韩va另类在线播放| 在线观看av永久| 亚洲成aⅴ人片在线影院八| 亚洲综合天堂网| 国产日韩AV高潮在线| 精品久久国产综合精麻豆| 人人看人人鲁狠狠高清| 国产色图在线观看| 黄色在线网| 日韩视频免费| 69国产精品视频免费| 国产在线视频欧美亚综合| 玖玖精品视频在线观看| 亚洲美女一区二区三区| 国产av一码二码三码无码| 在线欧美日韩国产| 亚洲av无码人妻| 日韩a级毛片| 国产精品美女自慰喷水| 国产乱子伦视频在线播放| V一区无码内射国产| 欧美一道本| 999精品色在线观看| 真人免费一级毛片一区二区| 亚洲成网777777国产精品| 国产免费羞羞视频| 日韩无码白| 国产哺乳奶水91在线播放| 伊人久久婷婷| 五月天丁香婷婷综合久久| 亚洲人成网18禁| 亚洲视频色图| 婷婷中文在线| 高潮爽到爆的喷水女主播视频| 日韩a级片视频| 国产白丝av| 欧美五月婷婷| 亚洲免费成人网| 91精品aⅴ无码中文字字幕蜜桃| 国产区91| 日本91在线| 国产成人免费观看在线视频| 国产精品欧美亚洲韩国日本不卡| 亚洲成a人片在线观看88| 91九色国产在线| 2022国产无码在线| 亚洲成a人片77777在线播放| 亚洲欧美激情小说另类| 日韩久久精品无码aV|