CYPRESS2131 USB控制器芯片特點及功能解析方案
USB控制器芯片及其在圖像采集中的應用
詳細介紹CYPRESS2131 USB控制器芯片的特點和功能,并對其在圖像采集中應用進行詳盡的分析。文中包括原理圖及例程。
計算機外設的豐富及消費電子設備與計算機連接的實現(xiàn),擴展了PC的應用空間,同時外設的日益豐富也給用戶造成了連接上的困難。USB技術的提出是基于采用通用連接技術實現(xiàn)外設的簡單連接,以達到方便用戶、降低成本、擴展PC機外設的目的。USB外設需通過USB控制器芯片與PC接口,CYPRESS2131就是這樣一種將PC和外設進行溝通的控制器芯片。CYPRESS2131是由CYPRESS公司開發(fā)的,既符合USB規(guī)范,又具有USB器件的某些結構特征。CYPRESS2131具有增強型8051微控制器內核,其高性能和低價格的組合使它成為PC圖像外設、數(shù)字音頻、PC電話機及存儲設備的理想解決方案。
一、USB規(guī)范簡介
USB是一種支持在USB主機和USB設備之間進行串行數(shù)據(jù)傳輸?shù)耐ㄐ艆f(xié)議。主機作為總線的主叫方,采用兩種信令模式:全速模式12Mb/s和低速模式1.5Mb/s。USB使用四種數(shù)據(jù)傳輸方式:控制傳輸(control)、中斷傳輸(interrupt)、批量傳輸(bulk)及等時傳輸(isochronous)。其中控制模式主要用于控制指令傳輸及USB規(guī)范的實現(xiàn),等時傳輸主要用于音頻及視頻傳輸。USB通過兩次總線列舉(Enumeration and Renumertion)來實現(xiàn)設備識別以及驅動程序析加載。其具體過程為:USB設備連到主機后,主機依據(jù)USB規(guī)范在特定地址通過端口0(endpoint 0)與外設通信,并將外設視為默認設備。外設與主機通信將其6設備標識(DID、PID、VID)發(fā)給主機進行第二次總線列舉。主機根據(jù)設備標識,加載相應設備驅動程序,重新分配地址,并將控制權轉交給外設固件(firmware),通過固件與設備驅動程序及主機應用程序的交互通信,來實現(xiàn)外設的功能。
二、USB控制器芯片
1.CYPRESS2131簡介
CYPRESS2131芯片是一種高度集成的USB芯片,具有3個顯著特片:
(1)提供一種軟件(SOFT,RAM BASED)解決方案,可實現(xiàn)外設固件的不斷更新與升級;
(2)完全符合USB規(guī)范,提供足夠的端點數(shù)目、緩沖區(qū)大小以及足夠的速度;
(3)其內核可自動實現(xiàn)對et="_blank">USB規(guī)范的響應,最大限度地壓縮了代碼長度。
另外,CYPRESS2131還支持存儲器擴展,具有低功耗、低噪聲、有效的高級語言支持和增強的指令集等特性。CYPRESS2131芯片為80針PQFP封裝,其引腳如圖1所示。
2.CYPRESS2131的組成
CYPRESS2131功能框圖如圖2所示。
(1)收發(fā)器
USB電纜只包含4根電線:Vbus、D+、D-和GND。數(shù)據(jù)以12Mb/s的全速信號或1.5Mb/s的低速信號在D+和D-信號線上差分傳輸。收發(fā)器建在芯片上,不需要外部電路(在D+或D-上用來選擇全速或低速的上拉電阻的情況除外)。
(2)串行接口引擎(SIE)
SIE通過包排序、信號產生/檢測、CRC產生/校驗、NRZI數(shù)據(jù)編碼、位填充和包標識產生/解碼來處理USB通信協(xié)議,并保證傳送到USB電纜上的數(shù)據(jù)字節(jié)以LSB開頭。
(3)微控制及片上RAM
CYPRESS2131使用增強型8051,具有以下特點:
(1)使用3.3V電源;
(2)24MHz晶振,一個總線周期僅用4個時鐘周期;
(3)使用雙數(shù)據(jù)指針;
(4)增加了異步串口UART2和16位定時器T2;
(5)高速內存接口及專用16位地址總線;
(6)增加了8個中斷(INT2~INT5、PFI、T2及UART2);
(7)快速外部存儲存取模式(使用AutoPoint);
(8)支持斷點功能。
CYPRESS2131上用的片內內存(RAM)為8KB,但是為了便于外設固件的升級與更新,該8KB RAM既可用于傳統(tǒng)意義上的ROM,又可用于RAM。其中的6KB用于程序存儲與數(shù)據(jù)存儲,其他2KB用于端點緩沖區(qū)。CYPRESS2131使用16個端:8個批量傳輸端點(IN、OUT各8個)、8個等時傳輸端點(IN、OUT各8個),每個端點的緩沖區(qū)為64Byte。每個端點均個有字節(jié)計數(shù)器及重新發(fā)送和接收當數(shù)據(jù)組的能力。該8KB RAM需通過命令MOVX進行訪問。
另外,為了便于實現(xiàn)總線列舉和國外部功能芯片相通信,CYPRESS2131還支持I2C總線。
三、CYPRESS2131在圖像采集中的應用
1.圖像采集系統(tǒng)的硬件實現(xiàn)
在圖像采集系統(tǒng)中,使用OV6120作為圖像采集芯片。OV6120是OmniVision公司開發(fā)的COMS黑白圖像采集芯片。該芯片將COMS光感應核與外圍支持電路集成在一起,輸出的視頻為黑白圖像,與CCIR標準兼容;也可輸出單幀圖像,為YUV格式,從其D7:0輸出Y信號。這里使用YUV方式。
在整個圖像采集系統(tǒng)中,CYPRESS2131主要有三方面的作用:作為USB芯片與主機通信并傳輸數(shù)據(jù);利用其片上增強型8051作為控制器使OV6120正常工作;
通過其I2C總線對OV6120的對比度、亮度、銳度等各項參數(shù)進行設置。其具體工作過程為:SUB芯片上電復位后,CYPRESS2131按照USB規(guī)范應答,提供設備標識,USB進行二次總線列舉,加載對應驅動程序,并將控制權轉交給8051。8051通過I2C總線對OV6120各項參數(shù)進行設置。8051發(fā)出幀采集指令(通過OV6120的FREX)后進行圖像采集,并同數(shù)據(jù)轉移信號PCLK、行頻HSYNC及場頻VSYNC(后兩個信號,圖3中未標出)一起傳給8051。8051將所得的數(shù)據(jù)信號轉儲到SRAM中,當一幀數(shù)據(jù)采集完后,再將SRAM中數(shù)據(jù)通過USB總線傳至PC。CYPRESS2131在訪問外部RAM時,通過FWR與FRD使之成為快速讀寫模式。使用標準12MHz晶振的情況下,讀或寫外部RAM一個字節(jié)只需使用333ns。圖像采集系統(tǒng)原理示意如圖3所示。
2.圖像采集系統(tǒng)源程序
由于驅動程序較為復雜,這里僅給出利用USB總線發(fā)送數(shù)據(jù)的8051子例程。
START:MOV SP,#STACK-1 ;設置堆棧
FILL:MOV R7,#64 ;設置傳輸字節(jié)數(shù)
MOV DPTR,#IN2BUF;使用BULK端點
MOV DPTR1,#0000H
MOV A,@DPTR1 ;從外部RAM中讀取數(shù)據(jù)
INC DPTR1
MOVX @DPTR,A
INC DPTR
DJNZ R7,FILL
MOV DPTR,#IN2BC
MOV A,#40H
MOVX @DPTR,A ;啟動IN2緩沖區(qū)傳輸
LOOP:MOV DPTR,#IN2CS
MOVX A,@DPTR
JNB ACC.1,FILL ;若不忙,繼續(xù)循環(huán)