USB軟件設(shè)計
USB接口開發(fā)中有相當大的工作量是關(guān)于USB軟件的開發(fā),USB軟件包括三方面的工作:固件(firmware)設(shè)計,驅(qū)動程序設(shè)計和主機端應(yīng)用程序的設(shè)計。
3.1 固件設(shè)計
固件是運行在CY7C68013上的程序,可采用匯編語言或C語言設(shè)計,其主要功能是控制 CY7C68013接收并處理USB驅(qū)動程序的請求(如請求設(shè)備描述符、請求或設(shè)置設(shè)備狀態(tài),請求或設(shè)置設(shè)備接口等USB2.0標準請求)、控制 CY7C68013接收應(yīng)用程序的控制指令、通過CY7C68013存放數(shù)據(jù)并實時上傳至PC等。
本方案中的固件設(shè)計思路如下:
①使CY7C68013工作于異步從FIFO(Asynchronous Slave FIFO)模式。相應(yīng)的寄存器操作為:IFCONFIG=0xCB。
CY7C68013具有多種工作方式,除了可以作為能夠產(chǎn)生任意控制波形的主控芯片外,即使作為從設(shè)備,也可選擇異步還是同步方式。由于DSP的關(guān)系,本方案選擇異步從方式。
②將4KB的FIFO對應(yīng)兩個端點(EndPoint),即EndPoint2和EndPoint6。相應(yīng)的寄存器操作為:EP2CFG=0xA0,EP6CFG=0xF2。
EndPoint2與EndPoint6分別對應(yīng)2KB的內(nèi)裝中FIFO(下文分別稱為 FIFO2、FIFO6),存放USB需要上傳與接收的數(shù)據(jù)。其中EndPoint2為OUT型,負責從主機接收數(shù)據(jù);EndPoint6為IN型,負責向主機發(fā)送數(shù)據(jù)。另外,EndPoint2與EndPoint6均采用批量(BULK)傳輸方式,這種方式相對于其它USB2.0定義的傳輸方式具有數(shù)據(jù)可靠、傳輸速率高等特點,是最常用的傳輸方式。
③對FIFO進行配置。相應(yīng)的寄存器操作為:EP2FIFOCFG=0x11,EP6FIFOCFG=0x0D。
本方案將FIFO2、FIFO6設(shè)置成自動方式。這里所謂“自動”,是指在數(shù)據(jù)的傳輸過程中,不需要CY7C68013的8051內(nèi)核參與。如有特殊需要可以設(shè)成手動方式,這樣8051就可以對數(shù)據(jù)進行修改,如圖6所示。另外還將FIFO配置成16位接口。
④其它操作。為了完善整個USB傳輸功能,提高固件的健壯性,還必須配以其它設(shè)計,這包括FIFO的自動清空復(fù)位,個性化命令等功能,在此就不進行詳細討論了。
3.2 驅(qū)動程序設(shè)計
USB系統(tǒng)驅(qū)動程序采用分層結(jié)構(gòu)模型,分別為較的USB設(shè)備驅(qū)動程序和較低級的USB 函數(shù)層。其中USB函數(shù)層由兩部分組成:較的通用串行總線驅(qū)動程序模塊(USBD)和較低級的主控制器驅(qū)動程序模塊(HCD)。在上述USB分層模塊中,USB函數(shù)層(USBD及HCD)由Windows提供,負責管理USB設(shè)備驅(qū)動程序和USB控制器之間的通信;加載及卸載USB驅(qū)動程序;與USB 設(shè)備通用端點(EndPoint)建立通信并執(zhí)行設(shè)備配置、數(shù)據(jù)與USB協(xié)議框架和打包格式的雙向轉(zhuǎn)換任務(wù)。目前Windows提供有多種USB設(shè)備驅(qū)動程序,但并不針對實時數(shù)據(jù)采集設(shè)備,因此USB設(shè)備驅(qū)動程序需由自己編寫。
開發(fā)USB設(shè)備驅(qū)動程序,可采用Numega公司的開發(fā)包Driver Works和Microsoft公司的2000DDK,并以VC++6.0作為輔助開發(fā)環(huán)境。Driver Works提供的驅(qū)動向?qū)В筛鶕?jù)用戶的需要,自動生成代碼框架,減少了開發(fā)的難度,縮短了開發(fā)的周期。但是,Cypress公司為了方便用戶開發(fā)USB 接口,在CY7C68013的開發(fā)包中提供了一個通用驅(qū)動程序,該程序可不加修改,經(jīng)DDK編譯后直接使用。在本設(shè)計方案中,采用的就是這個通用驅(qū)動程序。
3.3 應(yīng)用程序設(shè)計
主機應(yīng)用程序是主要實現(xiàn)從高速數(shù)據(jù)采集處理板該取處理后的數(shù)據(jù)、存儲、顯示處理結(jié)構(gòu)以及向數(shù)據(jù)采集處理板發(fā)送控制命令。在Windows 2000下,我們使用的應(yīng)用程序開發(fā)工具是VC++6.0。
170ADM35010
ABB YB560103-CB DSQC236B DriveUnit
ABB YB560103-CC DSQC236C DriveUnit
ABB 3HAB2207-1 DSQC236D DriveUnit
ABB YB560103-CD DSQC236G DriveUnit
ABB 3HAB2207-1 DSQC236P DriveUnit
ABB YB560103-CE DSQC236T DriveUnit
ABB YB560 103-CL/5 DSQC241 PowerUnit
ABB 3HAB 2210-1 DSQC300 Robot Computer
ABB 3HAB 2216-1 DSQC314B PowerUnit
ABB 3HAB 2219-1 DSQC316 Main Computer
ABB 3HAB 2220-1 DSQC317 6MB Card
ABB 3HAB 2236-1 DSQC321 4MB Card
ABB 3HAB 5956-1 DSQC323 8MB Card
ABB 3HAB 5957-1 DSQC324 16MB Card
ABB 3HAB 2241-1 DSQC325 Main Computer
ABB 3HAB 2242-1 DSQC326 Robot Computer
ABB 3HAB7229-1 DSQC328 I/O Card
ABB 3HAB 6182-1 DSQC335 Robot Computer
ABB 3HAB8101-3/05D DSQC345B DriveUnit
ABB 3HAB8101-3/08C DSQC345C DriveUnit
ABB 3HAB8101-7/01C DSQC346C DriveUnit
ABB 3HAB8101-8 DSQC346G DriveUnit
ABB cable DSQC351 Interbus-S
ABB 3HAC 0373-1 DSQC361 Main Computer
ABB 3HAC3180-1 DSQC373 Robot Computer
ABB 900054 1Gb SD-card S3/S4 DDR
ABB 900056 1Gb SD-card S2 DDR
3HNE 00026 Teach Pendant
3HNE 00312-1 Teach Pendant
3HNE 00313 Teach Pendant
CHAA 3560-AXA Teach Pendant
ABB 3HAB9271-1/01B DriveUnit Dummy DriveUnit Dummy
ABB 57510001-AA DSCA 114 Print out board
ABB 57520001-U DSCA 121 Communication board
ABB 57160001-A DSDI 110 Digital input board
ABB 57160001-K DSDO 110 Digital output board
ABB YB161102-AH DSDX 110 Digital in/output board
ABB 57160001-TP DSDX B001 digital in-output board
ABB 57360001-U DSMB 124 Semiconductor memory board
ABB 57360001-AN DSMB 125 Semiconductor memory board
ABB 57360001-HG DSMB 127 Memory board
ABB 57330001-N DSMC 110 Floppy disk controller
ABB YB161102-AK DSPA 110 Axis computer
ABB 57310256-AF DSPC 150 Central processor
ABB 57310256-BA DSPC 153 Expand. single board computer
ABB 57310001-GP DSPC 157 Expand. single board computer
ABB YB161102-AD DSQC 103 Resolver power board
ABB YB161102-AF DSQC 105 Display board
ABB YB161102-BA DSQC 110 Programming board
ABB YB161102-BS DSQC 115 Resolver power board + 2 analogue
ABB YB161102-BE DSQC 116 Power supply
ABB YB161102-BG DSQC 117 Resolver power board
ABB YB161102-BU DSQC 124 Terminal unit
ABB YB161102-BV DSQC 129 R/D board
ABB YB161102-CH DSQC 136 Safety board
ABB YB161102-CM DSQC 138 Terminal unit
ABB YB560103-AC DSQC 202 Robot computer
ABB YB560103-AS DSQC 208A External axis board
ABB YB560103-AL DSQC 209 Analogue I/O board
ABB YB560103-AM DSQC 210 Safety board
ABB YB560103-AN DSQC 211 Power supply
ABB YB560103-BF DSQC 215 Robot computer
ABB YB560103-AZ DSQC 220 Programming board
ABB YB560103-BD DSQC 223 PC Board digital I/O
ABB YB560103-BE DSQC 224 PC Board combi I/O
ABB YB560103-BK DSQC 227 Winchester interface
ABB YB560103-BD DSQC 228 Safety board
ABB YB560103-BN DSQC 230 Robot computer
ABB YB560103-BS DSQC 233 External axis board
ABB YB560103-BY DSQC 235A Rectifier
ABB YB560103-BZ DSQC 235B Rectifier
ABB YB560103-CA DSQC 236A Drive unit
DSQC 236B Drive
ABB YB560103-CC DSQC 236C Drive unit
ABB 3HAB2207-1 DSQC 236D Drive unit
ABB YB560103-CD DSQC 236G Drive unit
ABB 3HAB2245-1 DSQC 236H Drive unit
ABB 3HAA3563-AJA DSQC 236P Drive unit
ABB YB560103-CE DSQC 236T Drive unit
DSQC 239 Board - ABB RIO
ABB DSQC 241 Power supply
ABB YB560103-CM DSQC 242 Programming board
ABB 3HAA0001-CP DSQC 243 Serial measurement board
ABB 3HAA3563-ACA DSQC 245 Serial measurement board
ABB 3HAA3563-AAA DSQC 248 Programming board
ABB 3HAA3563-AGA DSQC 249A Rectifier
ABB 3HAA3563-AHA DSQC 249B Rectifier
ABB 3HAA3563-AD DSQC 252 System board
E3HAC028756-001 DSQC 253 SMB unit DSQC 573
E3HAA3563-AMA DSQC 253 Serial Measurement Board
E3E 042816 DSQC 253 Exch. Serial mes. DSQC 253W
6369901-218 DSQC 253 Serial Measurement Board
ABB 3HAB2211-1 DSQC 256A System board
ABB 3HAA3563-AUA DSQC 258 Power supply
ABB 3HAB8797-1 DSQC 266B Drive unit
ABB 3HAB8798-1 DSQC 266C Drive unit
ABB 3HAB8801-1 DSQC 266G Drive unit
ABB 3HAB8800-1 DSQC 266H Drive unit
ABB 3HAB8799-1 DSQC 266K Drive unit
ABB 3HAB8802-1 DSQC 266T Drive unit
ABB 3HAA3573-AAA DSQC 300 Board - Computer
ABB 3HAB2210-1 DSQC 300 Board - Computer
ABB 3HAB2233-1 DSQC 300 Board - Computer
ABB 6369901-380 DSQC 300 Board - Computer
ABB 3HAA3573-ABA DSQC 301 Programming board
ABB 3HAB2209-1 DSQC 306 Computer board
ABB 6369901-298 DSQC 306 Computer board
ABB E3HAB2209-1 DSQC 306 Computer board
ABB 3HAB3700-1 DSQC 313 Serial measurement board
ABB 3HAB4259-1 DSQC 313 Serial measurement board
ABB 3HAC9522-1 DSQC 313 Serial Measurement Board
ABB 3HAB2215-1 DSQC 314A Rectifier
ABB 3HAB2216-1 DSQC 314B Rectifier
ABB 3HAB2231-1 DSQC 314C Rectifier DC link
ABB 6369901-336 DSQC 314C Rectifier DC link
ABB E3HAB2231-1 DSQC 314C Rectifier DC link
ABB 3HAB2214-1 DSQC 315 Combi I/O
ABB 3HAB2219-1 DSQC 316 Computer board
ABB 3HAB2209-1 DSQC 317 Memory expansion board
ABB 3HAB2233-1 DSQC 322 Robot computer
ABB 3HAB5956-1 DSQC 323 Memory expansion board
ABB 3HAB5957-1 DSQC 324 Memory expansion board
ABB 3HAB2241-1 DSQC 325 Main computer
ABB 3HAB2242-1 DSQC 326 Robot computer
ABB 3HAB7230-1 DSQC 327 Analogue Digital Combi I/O
ABB 3HAB7229-1 DSQC 328 Digital 24 VDC I/O
ABB 3HAB7215-1 DSQC 331 Panel unit
ABB 3HAC17973-1 DSQC 332 Digital relay I/O
ABB 3HAB5845-1 DSQC 334 Power supply
ABB 3HAB6182-1 DSQC 335 Robot computer
ABB 3HNE00001-1 DSQC 336 Network board NIOC-01
ABB 3HAB8101-1 DSQC 345A Rectifier
ABB 3HAB8101-2 DSQC 345B Rectifier
ABB 3HAB8101-3 DSQC 345C Rectifier
ABB 3HAB8101-4 DSQC 345D Rectifier
ABB 3HAB8101-14 DSQC 345E Rectifier
ABB 3HAB8101-5 DSQC 346A Drive unit
ABB 3HAB8101-6 DSQC 346B Drive unit
ABB 3HAB8101-7 DSQC 346C Drive unit
ABB 3HAB8101-11 DSQC 346E Drive unit
ABB 3HAB8101-8 DSQC 346G Drive unit
ABB 3HAB8101-13 DSQC 346U Drive unit
ABB 3HNE00957-1 DSQC 350 Remote I/O
ABB 3HNE00065-1 DSQC 354 Encoder interface
DSQC 355 I/O Board
ABB 3HAB8101-10 DSQC 358C Drive unit / Rectifier
ABB 3HAB8101-12 DSQC 358E Drive unit / Rectifier
ABB 3HAB8101-15 DSQC 358F Driveunit / Rectifier
ABB 3HAB8101-16 DSQC 358G Drive unit / Rectifier
ABB 3HAC0373-1 DSQC 361 Main computer
ABB 3HAC1462-1 DSQC 363 Robot computer
ABB 3HAC1620-1 DSQC 365 Power supply
ABB 3HAC3180-1 DSQC 373 Robot computer
ABB 3HAC3462-1 DSQC 374 Power supply
ABB 3HAC10597-1 DSQC 386 Devicenet gateway
ABB 3HAC3616-1 DSQC 500 Main computer
ABB 3HAC3619-1 DSQC 503 Axis computer
ABB 3HAC4297-1 DSQC 506 Power supply
ABB 3HAC5393-2 DSQC 508 Battery unit
ABB 3HAC5687-1 DSQC 509 Panel unit
ABB 3HAC7519-2 DSQC 518A Flash disk 64Mb
ABB 3HAC7519-3 DSQC 518B Flash disk 128Mb
ABB 3HAC8848-1 DSQC 522 I/O computer board
ABB 3HAC12158-1 DSQC 532 I/O Computer
ABB 3HAC14265-1 DSQC 539 Power supply
ABB 3HAC14279-1 DSQC 540 Main computer
ABB 3HAC16917-3 DSQC 544A Flash disk 64Mb
ABB 3HAC16917-4 DSQC 544B Flash disk 128Mb
ABB 3HAB8101-19 DSQC 545A Rectifier
ABB 3HAB8101-18 DSQC 546A Drive unit
ABB 3HAC17396-1 DSQC 562 Serial measurement board
ABB 3HAC022104-001 DSQC 564A Flash disk 64Mb
ABB 3HAC022104-002 DSQC 564B Flash disk 128Mb
ABB 3HAC020466-1 DSQC 627 Power supply
ABB 3HAC025918-001 DSQC 653 Digital relay
ABB 3HAC025465-004 DSQC 656 Flash disk 256Mb
ABB YB560103-BD DSQC223 I/O Card
ABB YB560103-BL DSQC228
ABB YB560103-CA DSQC236A DriveUnit
ABB 3HAA 3562-AGA/2 DSQC249A PowerUnit
ABB 3HAA 3563-ALA/2 DSQC252
ABB 3HAB 2211-1/1 DSQC256A
ABB 3HAB2213-1/3 DSQC313
ABB 3HAB6372-1 DSQC330 S4C Rechner Rack
ABB 3HAB7215-1/07 DSQC331 S4C Safety Board
ABB cable DSQC352 Profibus
ABB cannot find pn DSQC355 Analogbaugruppe
ABB YB161100-DP DSQS 174 Teach pendant S2
ABB YB161100-DR DSQS 174 Teach pendant S2
ABB 48990001-FE DSSR 115 Power supply
ABB 48990001-FK DSSR 116 Power supply
ABB 3HAC023195-1 Flexpendant Teach pendant IRC5
ABB 3HNE00313-1 TPU
YT212 002-A Rectifier
YT212 002-X Rectifier
ABB YT213001-BA YTE 102A Drive unit
ABB YT213001-BB YTE 102B Drive unit
ABB YT213001-BB YTE 102B Drive unit
ABB YT213001-BC YTE 102C Drive unit
YT213001-AC YTE 102C Drive
6369901-182 YTE 102C
EYT213001-BC YTE 102C
ABB YT212001-AF YTEA 250-15 Drive unit
ABB YT212001-AE YTEA 250-8 Drive unit
ABB YT212001-AB YYE 109A Power supply
ABB YT212001-AC YYT 102A Servo board
ABB YT212001-AD YYT 102B Servo board
ABB YT212001-AK YYT 102C Servo board
ABB YT212001-AT YYT 102D Servo board
ABB YT212001-AM YYT 102E Servo board
ABB YT212001-AN YYT 102F Servo board
ABB YT212001-AP YYT 102G Servo board
ABB YT212001-AR YYT 102H Servo board
ABB YT212002-AD YYT 107A Rectifier
Kuka 96 Roboter IR365/10 Langarm
Kuka 93 Roboter IR364/10/15
Kuka 98/99 Roboter KR125-2, 150, L150
Kuka 96 Roboter VKR125-1
Kuka 99 Roboter VKR125-2, VKR150
Kuka -00 Druckausgleich GA2-D.2
Kuka 96 VKRC1 Controller
Kuka 2000 VKRC1 Controller
Kuka 98/99 KRC1 Controller
Kuka 2000 KRC1 Controller
Kuka like new KRC1 Separat Controller Top
Kuka KRC1 Separat Controller Top
Kuka RC30/51c Controller
Kuka 71-052-214 MFC KRC1
71-039-272 with DSEAT
Kuka 00-117-336 DSE-IBS-C33
Kuka 71-039-271 RDW KRC1
Kuka 71-051-224 Motorleitung KRC1 7m
Kuka 71-051-225 Motorleitung KRC1 15m
Kuka Motorleitung KRC2 7m Serie2000
Kuka 00-106-496 Geberleitung KRC1/2 7m
Kuka 71-051-222 Geberleitung KRC1/2 15m
Kuka 00-127-94 Geberleitung KRC1/2 25m
Kuka 69-327-924 KRC32, PS15/67I
Kuka 69-327-921 KRC32, 3PS15/67I
Kuka 69-334-285 KRC32, NM100ABN
Kuka 69-223-650 KRC32, FE001/1
Kuka 69-223-653 KRC32, FE002/1-2
Kuka SEF 1b TP
Kuka 6FR2490-0AH12 KCP32 TP
Kuka 69-000-398 KCP1 TP
Kuka 00-110-185 KCP2 TP
Kuka 00-130-547 KCP2 TP
Kuka 69-000-399 VKCP1 TP
Kuka 00-107-264 VKCP2 TP
Kuka 00-132-347 KCP2
Kuka 6FX1404-0CC20 KCP32
Kuka 6FX1404-0CC10 KCP32 KUKA KCP2-00-110-185
Fanuc A05B - 2301 - 335
Fanuc TP Leitung
Fanuc EE-5188-201-014
Fanuc EE-5188-208-014
KSD1-16
KSD1-48
KSD1-32
KSD1-64
KSD1-08
KPS-600/20-ESC
KUKA KRC2 KSD1-48
KUKA KRC2 KSD1-32
KUKA KCP2-2005
DSQC 609 3HAC14178-1 1pcs
DSQC 662 3HAC026254-001 1pcs
DSQC 661 3HAC026253-001 2pcs
DSQC 652 3HAC025917-001 2pcs
DSQC 651 3HAC025784-001 2pcs
DSQC 655 3HAC025562-001 1pcs
4周
DSQC 328A 3HAC17970-1
DSQC 611 3HAC13389-2
DSQC 608 3HAC12934-1
DSQC 604 3HAC12928-1
DSQC 602 3HAC12816-1
DSQC 601 3HAC12815-1
DSQC 658 3HAC025779-001
DSQC 643 3HAC024488-001
DSQC604
DSQC 604
3HNE00313-1
3HAC14279-1/04 DSQC 540
DSQC679 3HAC028357-001
1. 視教器 3HAC028357-001
2. 電源 3HAC025917-001/00
3.伺服控制器 3HAC17282-1/07A
4.伺服控制器 3HAC14657-2/06A
5.伺服控制器 3HAC14549-3/12A
6.伺服控制器 3HAC14550-4/08A
7.伺服控制器 3HAC17281-1/03A
8.伺服控制器 3HAC025338-006/08A
9.QSDC652,10模塊 3HAC026253-001
ABB 3HAB8101-11
ABB 3HAC14363-1
ABB 3HAC18159-1
ABB 3HNE00442-1
ABB 3HNE03277-1
ABB 3HNE06225-1
3HNE00314-1
3HNM07686-1
3HNM07485-1