簡(jiǎn)易USB接口卡的設(shè)計(jì)和實(shí)現(xiàn)
發(fā)布時(shí)間:2008/8/23 0:00:00 訪問(wèn)次數(shù):449
目前比較常用的方法是在pc機(jī)或工控機(jī)內(nèi)安裝isa或pci數(shù)據(jù)采集卡(如a/d卡及422,485卡).但這些數(shù)據(jù)采集卡存在安裝麻煩,受計(jì)算機(jī)插槽數(shù)量、地址、中斷資源的限制,可擴(kuò)展性差等缺點(diǎn)特別是在一些電磁干擾較強(qiáng)的工業(yè)現(xiàn)場(chǎng)。隨著usb總線的發(fā)展和應(yīng)用以及usb接口芯片出現(xiàn),現(xiàn)在usb接口卡應(yīng)該是一個(gè)即實(shí)用又方便的選擇了。這項(xiàng)設(shè)計(jì)實(shí)現(xiàn)的是一個(gè)動(dòng)態(tài)采集和存儲(chǔ)系統(tǒng)的計(jì)算機(jī)通信接口卡,基本上可分為cy7c68013 usb接口芯片、cpld芯片擴(kuò)展控制部分、軟件的實(shí)現(xiàn)部分。
一、 整體結(jié)構(gòu)圖
usb設(shè)備包含一些向主機(jī)軟件提供一系列usb 設(shè)備的特征和能力的信息的設(shè)備描述符,用來(lái)配置設(shè)備和定位usb 設(shè)備驅(qū)動(dòng)程序。這些信息確保了主機(jī)以正確的方式訪問(wèn)設(shè)備。通常,一個(gè)設(shè)備有一個(gè)或多個(gè)配置( conf iguration) 來(lái)控制其行為。配置是接口( interface) 的集合,接口指出軟件應(yīng)該如何訪問(wèn)硬件。接口又是端點(diǎn)( endpoint) 的集合,每一個(gè)與usb交換數(shù)據(jù)的硬件就為端點(diǎn),它是作為通信管道的一個(gè)終點(diǎn). 圖1-1就是整個(gè)動(dòng)態(tài)采集和存儲(chǔ)系統(tǒng)中的usb接口連接部分的基本框。在計(jì)算機(jī)上的應(yīng)用程序通過(guò)調(diào)用usb驅(qū)動(dòng)從接口中讀取數(shù)據(jù),讀到輸入緩沖區(qū)中。計(jì)算機(jī)通過(guò)接口采數(shù)存數(shù)并發(fā)出控制信號(hào)然后由驅(qū)動(dòng)程序通過(guò)接口將其轉(zhuǎn)換為電壓信號(hào),而接口卡則是將其有限的控制信號(hào)進(jìn)行擴(kuò)展而且轉(zhuǎn)換為usb設(shè)備可以正常接收的電壓信號(hào),使被控制部分執(zhí)行相應(yīng)的操作由于cy7c68013 usb接口芯片廠商提供了基本的固件程序所以用戶只需編相應(yīng)的應(yīng)用程序和簡(jiǎn)單的驅(qū)動(dòng)程序就可以實(shí)現(xiàn)一般用戶要實(shí)現(xiàn)的基本功能,如果有特殊的需要只需稍加修改。所以cy7c68013 usb接口芯片是一款使用起來(lái)快速方便又簡(jiǎn)單的usb接口芯片。
二、芯片
ez2usb fx2是一款集成usb2. 0的微處理器,它集成了usb 2. 0收發(fā)器、sie (串行接口引擎) 、增強(qiáng)的8051微控制器和可編程的外圍接口(gp if) 。fx2這種獨(dú)創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸率達(dá)到56mbp s,即usb 2. 0允許的最大帶寬。在fx2中,智能sie可以硬件處理許多usb 1. 1和usb 2. 0協(xié)議,從而減少了開(kāi)發(fā)時(shí)間和確保了usb 的兼容性。gp if ( general pro2grammable interface)和主/從端點(diǎn)f ifo ( 8 位或16 位數(shù)據(jù)總線)為ata,utop ia, epp, pcmcia,dsp等提供了簡(jiǎn)單和無(wú)縫連接接口。ez2usb fx2 cy7c68013內(nèi)部的微處理器是一個(gè)增強(qiáng)的8051內(nèi)核,內(nèi)部的ram可用于存儲(chǔ)程序和數(shù)據(jù),使ez2usb具有軟配置特性。usb主機(jī)(如pc機(jī))通過(guò)usb總線將8051程序代碼和設(shè)備描述符裝載到ram中后, ez2usb使用已下載的固件程序中定義的外設(shè)特性進(jìn)行重枚舉。內(nèi)置的8051 處理器,相對(duì)標(biāo)準(zhǔn)的8051處理器有以下改進(jìn):
(1)獨(dú)立的地址總線和數(shù)據(jù)總線,總線周期為四個(gè)時(shí)鐘;
(2)雙數(shù)據(jù)指針和自動(dòng)指針可用于存儲(chǔ)器之間的快速數(shù)據(jù)傳輸,提高數(shù)據(jù)傳輸效率;
(3)通用可編程接口(gp if) ,可以直接連接到并口( 8位和16位) ,可編程波形描述符和配置寄存器;支持多個(gè)ready輸入和control輸出;
(4)矢量usb中斷,獨(dú)立的數(shù)據(jù)緩沖區(qū)供setup 包和data包控制傳輸;
(5)四個(gè)f ifo,可與asic和dsp等無(wú)縫連接;
(6)擴(kuò)展的中斷系統(tǒng)支持13 個(gè)中斷源,并支持f ifo 和gp if自動(dòng)矢量中斷;
(7)一個(gè)i2c接口;兩個(gè)uart接口, 40個(gè)可配置i/o端口;www.51kaifa.com
(8)三個(gè)16 位內(nèi)置定時(shí)/計(jì)數(shù)器、512 字節(jié)內(nèi)部寄存器ram;
(9)外部時(shí)鐘可達(dá)48mhz;
(10)芯片內(nèi)部集成有8kb、外部ram, 8051 內(nèi)核使用movx指令訪問(wèn)此ram區(qū)。
三、基本電路圖的設(shè)計(jì)結(jié)構(gòu)
圖3-1基本的原理圖結(jié)構(gòu)
其中的主要芯片是cy7c68013,起基本的usb接口通信功能,epm7128sq是一款cpld主要用來(lái)通過(guò)編程擴(kuò)展控制引腳的,剩下的芯片都是起電壓轉(zhuǎn)換給cy7c68013和cpld芯片供電用的或一些起穩(wěn)壓和調(diào)理作用的。一般usb接口的通信可以通過(guò)驅(qū)動(dòng)程序?qū)⑵湓O(shè)為高速或低速形式,只要在接口卡上給出一個(gè)電壓判斷信號(hào)進(jìn)行確認(rèn)是高速還是低速的就可以在驅(qū)動(dòng)里加以判斷自動(dòng)進(jìn)行速度的調(diào)整。
四、程序
程序的大體結(jié)構(gòu)如圖4-1所示:
固件程序是芯片廠家提供的在此就不做詳細(xì)介紹了。
目前比較常用的方法是在pc機(jī)或工控機(jī)內(nèi)安裝isa或pci數(shù)據(jù)采集卡(如a/d卡及422,485卡).但這些數(shù)據(jù)采集卡存在安裝麻煩,受計(jì)算機(jī)插槽數(shù)量、地址、中斷資源的限制,可擴(kuò)展性差等缺點(diǎn)特別是在一些電磁干擾較強(qiáng)的工業(yè)現(xiàn)場(chǎng)。隨著usb總線的發(fā)展和應(yīng)用以及usb接口芯片出現(xiàn),現(xiàn)在usb接口卡應(yīng)該是一個(gè)即實(shí)用又方便的選擇了。這項(xiàng)設(shè)計(jì)實(shí)現(xiàn)的是一個(gè)動(dòng)態(tài)采集和存儲(chǔ)系統(tǒng)的計(jì)算機(jī)通信接口卡,基本上可分為cy7c68013 usb接口芯片、cpld芯片擴(kuò)展控制部分、軟件的實(shí)現(xiàn)部分。
一、 整體結(jié)構(gòu)圖
usb設(shè)備包含一些向主機(jī)軟件提供一系列usb 設(shè)備的特征和能力的信息的設(shè)備描述符,用來(lái)配置設(shè)備和定位usb 設(shè)備驅(qū)動(dòng)程序。這些信息確保了主機(jī)以正確的方式訪問(wèn)設(shè)備。通常,一個(gè)設(shè)備有一個(gè)或多個(gè)配置( conf iguration) 來(lái)控制其行為。配置是接口( interface) 的集合,接口指出軟件應(yīng)該如何訪問(wèn)硬件。接口又是端點(diǎn)( endpoint) 的集合,每一個(gè)與usb交換數(shù)據(jù)的硬件就為端點(diǎn),它是作為通信管道的一個(gè)終點(diǎn). 圖1-1就是整個(gè)動(dòng)態(tài)采集和存儲(chǔ)系統(tǒng)中的usb接口連接部分的基本框。在計(jì)算機(jī)上的應(yīng)用程序通過(guò)調(diào)用usb驅(qū)動(dòng)從接口中讀取數(shù)據(jù),讀到輸入緩沖區(qū)中。計(jì)算機(jī)通過(guò)接口采數(shù)存數(shù)并發(fā)出控制信號(hào)然后由驅(qū)動(dòng)程序通過(guò)接口將其轉(zhuǎn)換為電壓信號(hào),而接口卡則是將其有限的控制信號(hào)進(jìn)行擴(kuò)展而且轉(zhuǎn)換為usb設(shè)備可以正常接收的電壓信號(hào),使被控制部分執(zhí)行相應(yīng)的操作由于cy7c68013 usb接口芯片廠商提供了基本的固件程序所以用戶只需編相應(yīng)的應(yīng)用程序和簡(jiǎn)單的驅(qū)動(dòng)程序就可以實(shí)現(xiàn)一般用戶要實(shí)現(xiàn)的基本功能,如果有特殊的需要只需稍加修改。所以cy7c68013 usb接口芯片是一款使用起來(lái)快速方便又簡(jiǎn)單的usb接口芯片。
二、芯片
ez2usb fx2是一款集成usb2. 0的微處理器,它集成了usb 2. 0收發(fā)器、sie (串行接口引擎) 、增強(qiáng)的8051微控制器和可編程的外圍接口(gp if) 。fx2這種獨(dú)創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸率達(dá)到56mbp s,即usb 2. 0允許的最大帶寬。在fx2中,智能sie可以硬件處理許多usb 1. 1和usb 2. 0協(xié)議,從而減少了開(kāi)發(fā)時(shí)間和確保了usb 的兼容性。gp if ( general pro2grammable interface)和主/從端點(diǎn)f ifo ( 8 位或16 位數(shù)據(jù)總線)為ata,utop ia, epp, pcmcia,dsp等提供了簡(jiǎn)單和無(wú)縫連接接口。ez2usb fx2 cy7c68013內(nèi)部的微處理器是一個(gè)增強(qiáng)的8051內(nèi)核,內(nèi)部的ram可用于存儲(chǔ)程序和數(shù)據(jù),使ez2usb具有軟配置特性。usb主機(jī)(如pc機(jī))通過(guò)usb總線將8051程序代碼和設(shè)備描述符裝載到ram中后, ez2usb使用已下載的固件程序中定義的外設(shè)特性進(jìn)行重枚舉。內(nèi)置的8051 處理器,相對(duì)標(biāo)準(zhǔn)的8051處理器有以下改進(jìn):
(1)獨(dú)立的地址總線和數(shù)據(jù)總線,總線周期為四個(gè)時(shí)鐘;
(2)雙數(shù)據(jù)指針和自動(dòng)指針可用于存儲(chǔ)器之間的快速數(shù)據(jù)傳輸,提高數(shù)據(jù)傳輸效率;
(3)通用可編程接口(gp if) ,可以直接連接到并口( 8位和16位) ,可編程波形描述符和配置寄存器;支持多個(gè)ready輸入和control輸出;
(4)矢量usb中斷,獨(dú)立的數(shù)據(jù)緩沖區(qū)供setup 包和data包控制傳輸;
(5)四個(gè)f ifo,可與asic和dsp等無(wú)縫連接;
(6)擴(kuò)展的中斷系統(tǒng)支持13 個(gè)中斷源,并支持f ifo 和gp if自動(dòng)矢量中斷;
(7)一個(gè)i2c接口;兩個(gè)uart接口, 40個(gè)可配置i/o端口;www.51kaifa.com
(8)三個(gè)16 位內(nèi)置定時(shí)/計(jì)數(shù)器、512 字節(jié)內(nèi)部寄存器ram;
(9)外部時(shí)鐘可達(dá)48mhz;
(10)芯片內(nèi)部集成有8kb、外部ram, 8051 內(nèi)核使用movx指令訪問(wèn)此ram區(qū)。
三、基本電路圖的設(shè)計(jì)結(jié)構(gòu)
圖3-1基本的原理圖結(jié)構(gòu)
其中的主要芯片是cy7c68013,起基本的usb接口通信功能,epm7128sq是一款cpld主要用來(lái)通過(guò)編程擴(kuò)展控制引腳的,剩下的芯片都是起電壓轉(zhuǎn)換給cy7c68013和cpld芯片供電用的或一些起穩(wěn)壓和調(diào)理作用的。一般usb接口的通信可以通過(guò)驅(qū)動(dòng)程序?qū)⑵湓O(shè)為高速或低速形式,只要在接口卡上給出一個(gè)電壓判斷信號(hào)進(jìn)行確認(rèn)是高速還是低速的就可以在驅(qū)動(dòng)里加以判斷自動(dòng)進(jìn)行速度的調(diào)整。
四、程序
程序的大體結(jié)構(gòu)如圖4-1所示:
固件程序是芯片廠家提供的在此就不做詳細(xì)介紹了。
熱門點(diǎn)擊
- 存儲(chǔ)器的地址線(Address Line)數(shù)
- 什么是PS/2接口 USB(Universa
- 一套數(shù)字音頻采集、播放和傳輸系統(tǒng)的實(shí)現(xiàn)
- 在嵌入式系統(tǒng)中應(yīng)用NAND Flash閃存作
- 內(nèi)核棧的使用
- S3C2440 Windows CE的RTC
- 通用串行總線USB及其應(yīng)用
- 基于VC的USB接口通信程序設(shè)計(jì)
- USB接口研究與硬件電路設(shè)計(jì)
- Linux下I2C設(shè)備驅(qū)動(dòng)開(kāi)發(fā)和實(shí)現(xiàn)
推薦技術(shù)資料
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車用精準(zhǔn)定位
- 高效先進(jìn)封裝工藝
- 模數(shù)轉(zhuǎn)換器 (Analog-to-Digit
- 集成模數(shù)轉(zhuǎn)換器(ADC)
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究