計算機外設的豐富及消費電子設備與計算機連接的實現(xiàn),擴展了PC的應用空間,同時外設的日益豐富也給用戶造成了連接上的困難。USB技術(shù)的提出是基于采用通用連接技術(shù)實現(xiàn)外設的簡單連接,以達到方便用戶、降低成本、擴展PC機外設的目的。USB外設需通過USB控制器芯片與PC接口,CYPRESS2131就是這樣一種將PC和外設進行溝通的控制器芯片。CYPRESS2131是由CYPRESS公司開發(fā)的,既符合USB規(guī)范,又具有USB器件的某些結(jié)構(gòu)特征。CYPRESS2131具有增強型8051微控制器內(nèi)核,其高性能和低價格的組合使它成為PC圖像外設、數(shù)字音頻、PC電話機及存儲設備的理想解決方案。 圖1 CYPRESS2131封裝 一、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)設備識別以及驅(qū)動程序析加載。其具體過程為:USB設備連到主機后,主機依據(jù)USB規(guī)范在特定地址通過端口0(endpoint 0)與外設通信,并將外設視為默認設備。外設與主機通信將其6設備標識(DID、PID、VID)發(fā)給主機進行第二次總線列舉。主機根據(jù)設備標識,加載相應設備驅(qū)動程序,重新分配地址,并將控制權(quán)轉(zhuǎn)交給外設固件(firmware),通過固件與設備驅(qū)動程序及主機應用程序的交互通信,來實現(xiàn)外設的功能。 二、USB控制器芯片 1.CYPRESS2131簡介 CYPRESS2131芯片是一種高度集成的USB芯片,具有3個顯著特片: (1)提供一種軟件(SOFT,RAM BASED)解決方案,可實現(xiàn)外設固件的不斷更新與升級; (2)完全符合USB規(guī)范,提供足夠的端點數(shù)目、緩沖區(qū)大小以及足夠的速度; (3)其內(nèi)核可自動實現(xiàn)對USB規(guī)范的響應,最大限度地壓縮了代碼長度。 另外,CYPRESS2131還支持存儲器擴展,具有低功耗、低噪聲、有效的高級語言支持和增強的指令集等特性。CYPRESS2131芯片為80針PQFP封裝,其引腳如圖1所示。 2.CYPRESS2131的組成 CYPRESS2131功能框圖如圖2所示。 圖2 CYPRESS2131功能框圖 (1)收發(fā)器 USB電纜只包含4根電線:Vbus、D+、D-和GND。數(shù)據(jù)以12Mb/s的全速信號或1.5Mb/s的低速信號在D+和D-信號線上差分傳輸。收發(fā)器建在芯片上,不需要外部電路(在D+或D-上用來選擇全速或低速的上拉電阻的情況除外)。 (2)串行接口引擎(SIE) SIE通過包排序、信號產(chǎn)生/檢測、CRC產(chǎn)生/校驗、NRZI數(shù)據(jù)編碼、位填充和包標識產(chǎn)生/解碼來處理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)高速內(nèi)存接口及專用16位地址總線; (6)增加了8個中斷(INT2~INT5、PFI、T2及UART2); (7)快速外部存儲存取模式(使用AutoPoint); (8)支持斷點功能。 CYPRESS2131上用的片內(nèi)內(nèi)存(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進行二次總線列舉,加載對應驅(qū)動程序,并將控制權(quán)轉(zhuǎn)交給8051。8051通過I2C總線對OV6120各項參數(shù)進行設置。8051發(fā)出幀采集指令(通過OV6120的FREX)后進行圖像采集,并同數(shù)據(jù)轉(zhuǎn)移信號PCLK、行頻HSYNC及場頻VSYNC(后兩個信號,圖3中未標出)一起傳給8051。8051將所得的數(shù)據(jù)信號轉(zhuǎn)儲到SRAM中,當一幀數(shù)據(jù)采集完后,再將SRAM中數(shù)據(jù)通過USB總線傳至PC。CYPRESS2131在訪問外部RAM時,通過FWR與FRD使之成為快速讀寫模式。使用標準12MHz晶振的情況下,讀或?qū)懲獠縍AM一個字節(jié)只需使用333ns。圖像采集系統(tǒng)原理示意如圖3所示。 圖3 圖像采集系統(tǒng)原理示意圖 2.圖像采集系統(tǒng)源程序 由于驅(qū)動程序較為復雜,這里僅給出利用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) END |