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

基于USB的虛擬信號發生器接口固件設計

2011-01-01 00:00:00趙峻穎孫睿峰孫建
智能計算機與應用 2011年5期

摘 要: 計算機總線技術制約著虛擬儀器的發展。USB通用串行總線的出現促進了儀器儀表的數字化。選用PHILIPS公司的PDIUSBD12作為接口芯片,用單片機C語言與匯編語言開發接口固件,完成基于USB的虛擬信號發生器接口程序設計。

關鍵詞:

中圖分類號: TP391.9 文獻標識碼: A 文章編號:2095-2163(2011)03-0077-03

The Interface Firmware Design of Virtual Instrument based on USB

ZHAO Junying1, SUN Ruifeng1,2, SUN Jian1

Abstract: Computer bus technology restricts the development of virtual instruments.Universal Serial Bus promotes the emergence of digital instrument. The paper adopts PDIUSBD12 interface chip of Philips Electronics Corporation, and uses C language and Assembly language to develop interface firmware, therefore completes interface program design of USB-based virtual signal generator .

Key words:

0 引言

USB設備接口固件的開發在整個虛擬信號發生器的設計過程中具有非常重要的作用,雖然設備接口硬件可以完成一部分的工作,但每一步都需要軟件協同處理;另外軟件還有一些必須處理的任務,例如對控制請求的處理。對開發者來說,接口硬件的工作是不可見的,可見的是接口固件在控制系統的每一步工作。

1 芯片的選擇

選擇微處理器主要從兩方面考慮,一方面控制USB接口芯片,另一方面控制信號的產生。接口芯片采用僅處理USB通信的PDIUSBD12,其主要特點是價格便宜、通用性強,可作為組件嵌入到不同的儀器儀表系統中。由于系統采用USB總線供電,其提供的電源功率有限,所以整個系統設計都要考慮選用低功耗的芯片和器件。功能模塊主要由D/A轉換功能部件組成,由于虛擬儀器的便攜特點,希望微處理器能具有兩個10位D/A轉換輸出通道,這樣就省去了D/A轉換芯片及其外圍電路的電源需要,也簡化了硬件電路。基于以上的考慮,選擇了臺灣凌陽公司的SPCE061A。因其集成度高、功耗低,能夠非常容易、快速地處理復雜的數字信號,而且性價比極高,非常適用于便攜式的儀器、儀表。

2 接口固件設計

開發接口固件采用模塊化和通用性的設計思想。使用單片機C語言和匯編語言完成接口固件的設計。匯編語言是可直接操作硬件的低級語言,C語言是通用的計算機程序設計語言,既有高級語言的特征又可以直接操作系統硬件,還可以進行結構化程序設計。接口固件設計采用分層結構。最底層是一些簡單、原始的功能子程序,這些子程序直接和硬件通信或者完成一些最基本的功能,例如向USB接口寫數據和讀取數據。通過調用這些子程序形成高層、更復雜的應用程序。接口固件模塊結構如圖1所示。程序按分層結構編寫,簡潔易懂,易于測試,不但增加了程序的通用性,又增加了代碼的可讀性。

SPCE061A控制程序由三部分組成:

(1)初始化芯片:SPCE061A、PDIUSBD12。在與設備進行數據交換之前,主機要了解設備的工作,根據設備的要求進行系統配置。在初始化過程中,主機調用總線枚舉進程,標識、管理設備狀態的改變。當主機發現有設備連入系統,就會向集線器發送命令,使連入設備進入復位狀態;此時設備把自己的地址暫時設成編號為0的特殊地址(為缺省狀態),通過此缺省地址端點0接受主機發送的命令,交由接口固件解釋并處理;再由主機統籌整個系統的狀況,為設備分配一個正式地址。此后主機跟設備通信都將以這個正式地址為基礎,通過一系列請求命令取得設備的用途和特性信息,為該設備選擇配置方式。

(2)主程序部分:主要任務是檢測標志位信號是否有改變,如果改變則執行相應的子程序,否則就會一直循環等待中斷。主機應用程序使用標準Windows API函數從連接設備讀取或寫入數據。由于主機和設備已交換完列舉信息,并且設備驅動程序已經分配和裝載,因此數據通道已經建立好了。設備主要工作是對配置端點進行端點操作,對相應寄存器的狀態位實時處理。

(3)中斷服務程序:主要完成接收、發送數據,設置相應的標志位的工作。首先主機發令牌包給PDIUSBD12,在PDIUSBD12接收到令牌包后會給單片機發送中斷請求;條件滿足時,單片機進入中斷服務程序。在此先讀PDIUSBD12的中斷服務寄存器,判斷 USB令牌包是哪種類型,然后再執行相應的操作。因此,單片機固件主要就是中斷服務程序的編寫。

在USB單片機編程中要完成對各種令牌包的響應,比較難處理的是Setup包,主要是對端點0的編程。主機負責建立Setup包的每個域的值,如表1所示。由設備固件程序負責解釋各個域的值,并根據其內容執行相應的操作。

USB設備的11種標準設備請求及用C語言編寫的執行請求的函數如表2所示。標準請求碼的范圍從00H到0CH。除了SET_address和SYNCH_frame請求之外,多數請求都成對出現。描述如下:

(1)清除特性是用來清除一個指定的特性。

(2)取得配置是返回當前設備的配置值,若返回0值表明設備沒有配置。

(3)取得描述符返回存在的描述符,包括設備、配置、接口、端點、類和字串描述符。

(4)取得接口主要用于支持多個接口配置的設備,主機請求當前的接口號。

(5)取得狀態返回設備、接口或端點的特性狀態,包括設備的供電形式、是否支持遠程喚醒等。

(6)設置地址請求指定設備以后通信的地址,完成此請求后,所有通信全都使用這個新地址。

(7)設置配置請求告訴設備使用選擇的配置,此配置必須是配置描述符中返回的設備所支持的。

(8)設置描述符請求主要用于更新或添加新的描述符,普通設備不支持這個請求。

(9)設置特性請求是用來使能一個設備、接口或端點。

(10)設置接口請求主要用于有多個接口配置的設備,主機可以為指定接口選擇一個配置。

系統初始化部分包括系統時鐘、 I/O口、中斷設置(開放外部中斷)、PDIUSBD12芯片軟件復位/初始化。其主流程核心部分是協議層的請求處理,關系到PC機枚舉USB設備是否成功。因此在調試單片機程序的過程中,要特別注意Windows對USB設備的枚舉順序。若枚舉成功,主機將會找到新的設備,提示安裝驅動程序;否則就會找到未知設備.

主站蜘蛛池模板: 国产精品美人久久久久久AV| 久久天天躁狠狠躁夜夜2020一| 国产精品思思热在线| 四虎国产永久在线观看| 国产成人1024精品下载| 亚洲IV视频免费在线光看| 无码免费视频| 91精品啪在线观看国产| 波多野吉衣一区二区三区av| 国产欧美日韩18| 国产区福利小视频在线观看尤物| 国产最爽的乱婬视频国语对白| 国产毛片高清一级国语| 日韩精品欧美国产在线| 国产三区二区| 四虎永久免费地址| 曰AV在线无码| 91久久性奴调教国产免费| 国产成人综合亚洲欧美在| 18禁高潮出水呻吟娇喘蜜芽| 中文字幕第1页在线播| 狠狠色婷婷丁香综合久久韩国| 日韩一区二区在线电影| 亚洲国语自产一区第二页| 亚洲国产理论片在线播放| 国产成在线观看免费视频| 波多野结衣国产精品| 亚洲精品欧美日本中文字幕| 亚洲一区二区三区香蕉| 亚洲第一视频网站| 亚洲国产成人在线| 亚洲无限乱码| 国产成人综合在线视频| 国产精品亚洲片在线va| 国产免费福利网站| 91口爆吞精国产对白第三集 | 深夜福利视频一区二区| 亚洲精品午夜天堂网页| 精品国产黑色丝袜高跟鞋| 欧美成人第一页| 欧美在线天堂| 成人免费午夜视频| 亚洲天堂区| 成人在线不卡视频| 国产亚洲欧美在线专区| 国产丝袜91| 91精品国产一区自在线拍| 中国精品自拍| 99久久国产综合精品2020| 91无码人妻精品一区| 午夜在线不卡| 最新无码专区超级碰碰碰| 玖玖精品视频在线观看| 美女毛片在线| 日韩视频福利| igao国产精品| 香蕉国产精品视频| 蜜桃视频一区二区| 凹凸精品免费精品视频| 网友自拍视频精品区| 亚洲欧美日韩另类在线一| 香蕉蕉亚亚洲aav综合| 日韩精品亚洲人旧成在线| 国产黑丝一区| 精品久久久久久久久久久| 久久国产精品影院| 精品国产成人高清在线| 久久精品国产精品一区二区| 国产精品jizz在线观看软件| 在线无码私拍| 亚洲成a人在线播放www| 国产一区二区三区免费| 美女被狂躁www在线观看| 天天躁日日躁狠狠躁中文字幕| 国产女人水多毛片18| 亚洲人成影院午夜网站| 中文字幕 日韩 欧美| 国产精品性| 伊人成人在线视频| 亚洲一区二区视频在线观看| 黄色a一级视频| 国产特级毛片aaaaaa|