簡易USB接口卡的設(shè)計和實現(xiàn)
目前比較常用的方法是在PC機或工控機內(nèi)安裝ISA或PCI數(shù)據(jù)采集卡(如A/D卡及422,485卡).但這些數(shù)據(jù)采集卡存在安裝麻煩,受計算機插槽數(shù)量、地址、中斷資源的限制,可擴展性差等缺點特別是在一些電磁干擾較強的工業(yè)現(xiàn)場。隨著USB總線的發(fā)展和應(yīng)用以及USB接口芯片出現(xiàn),現(xiàn)在USB接口卡應(yīng)該是一個即實用又方便的選擇了。這項設(shè)計實現(xiàn)的是一個動態(tài)采集和存儲系統(tǒng)的計算機通信接口卡,基本上可分為CY7C68013 USB接口芯片、CPLD芯片擴展控制部分、軟件的實現(xiàn)部分。
本文引用地址:http://m.butianyuan.cn/article/82820.htm一、 整體結(jié)構(gòu)圖
USB設(shè)備包含一些向主機軟件提供一系列USB 設(shè)備的特征和能力的信息的設(shè)備描述符,用來配置設(shè)備和定位USB 設(shè)備驅(qū)動程序。這些信息確保了主機以正確的方式訪問設(shè)備。通常,一個設(shè)備有一個或多個配置( Conf iguration) 來控制其行為。配置是接口( InteRFace) 的集合,接口指出軟件應(yīng)該如何訪問硬件。接口又是端點( endpoint) 的集合,每一個與USB交換數(shù)據(jù)的硬件就為端點,它是作為通信管道的一個終點. 圖1-1就是整個動態(tài)采集和存儲系統(tǒng)中的USB接口連接部分的基本框。在計算機上的應(yīng)用程序通過調(diào)用USB驅(qū)動從接口中讀取數(shù)據(jù),讀到輸入緩沖區(qū)中。計算機通過接口采數(shù)存數(shù)并發(fā)出控制信號然后由驅(qū)動程序通過接口將其轉(zhuǎn)換為電壓信號,而接口卡則是將其有限的控制信號進(jìn)行擴展而且轉(zhuǎn)換為USB設(shè)備可以正常接收的電壓信號,使被控制部分執(zhí)行相應(yīng)的操作由于CY7C68013 USB接口芯片廠商提供了基本的固件程序所以用戶只需編相應(yīng)的應(yīng)用程序和簡單的驅(qū)動程序就可以實現(xiàn)一般用戶要實現(xiàn)的基本功能,如果有特殊的需要只需稍加修改。所以CY7C68013 USB接口芯片是一款使用起來快速方便又簡單的USB接口芯片。
二、芯片
EZ2USB FX2是一款集成USB2. 0的微處理器,它集成了USB 2. 0收發(fā)器、SIE (串行接口引擎) 、增強的8051微控制器和可編程的外圍接口(GP IF) 。FX2這種獨創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸率達(dá)到56Mbp s,即USB 2. 0允許的最大帶寬。在FX2中,智能SIE可以硬件處理許多USB 1. 1和USB 2. 0協(xié)議,從而減少了開發(fā)時間和確保了USB 的兼容性。GP IF ( General Pro2grammable Interface)和主/從端點F IFO ( 8 位或16 位數(shù)據(jù)總線)為ATA,UTOP IA, EPP, PCMCIA,DSP等提供了簡單和無縫連接接口。EZ2USB FX2 CY7C68013內(nèi)部的微處理器是一個增強的8051內(nèi)核,內(nèi)部的RAM可用于存儲程序和數(shù)據(jù),使EZ2USB具有軟配置特性。USB主機(如PC機)通過USB總線將8051程序代碼和設(shè)備描述符裝載到RAM中后, EZ2USB使用已下載的固件程序中定義的外設(shè)特性進(jìn)行重枚舉。內(nèi)置的8051 處理器,相對標(biāo)準(zhǔn)的8051處理器有以下改進(jìn):
(1)獨立的地址總線和數(shù)據(jù)總線,總線周期為四個時鐘;
(2)雙數(shù)據(jù)指針和自動指針可用于存儲器之間的快速數(shù)據(jù)傳輸,提高數(shù)據(jù)傳輸效率;
(3)通用可編程接口(GP IF) ,可以直接連接到并口( 8位和16位) ,可編程波形描述符和配置寄存器;支持多個Ready輸入和Control輸出;
(4)矢量USB中斷,獨立的數(shù)據(jù)緩沖區(qū)供Setup 包和Data包控制傳輸;
(5)四個F IFO,可與ASIC和DSP等無縫連接;
(6)擴展的中斷系統(tǒng)支持13 個中斷源,并支持F IFO 和GP IF自動矢量中斷;
(7)一個I2C接口;兩個UART接口, 40個可配置I/O端口;www.51kaifa.com
(8)三個16 位內(nèi)置定時/計數(shù)器、512 字節(jié)內(nèi)部寄存器RAM;
(9)外部時鐘可達(dá)48MHz;
(10)芯片內(nèi)部集成有8KB、外部RAM, 8051 內(nèi)核使用MOVX指令訪問此RAM區(qū)。
三、基本電路圖的設(shè)計結(jié)構(gòu)
圖3-1基本的原理圖結(jié)構(gòu)
其中的主要芯片是CY7C68013,起基本的USB接口通信功能,EPM7128SQ是一款CPLD主要用來通過編程擴展控制引腳的,剩下的芯片都是起電壓轉(zhuǎn)換給CY7C68013和CPLD芯片供電用的或一些起穩(wěn)壓和調(diào)理作用的。一般USB接口的通信可以通過驅(qū)動程序?qū)⑵湓O(shè)為高速或低速形式,只要在接口卡上給出一個電壓判斷信號進(jìn)行確認(rèn)是高速還是低速的就可以在驅(qū)動里加以判斷自動進(jìn)行速度的調(diào)整。
四、程序
程序的大體結(jié)構(gòu)如圖4-1所示:
固件程序是芯片廠家提供的在此就不做詳細(xì)介紹了。
評論