基于USB2.0數(shù)字相機的設計畢業(yè)論文_第1頁
基于USB2.0數(shù)字相機的設計畢業(yè)論文_第2頁
基于USB2.0數(shù)字相機的設計畢業(yè)論文_第3頁
基于USB2.0數(shù)字相機的設計畢業(yè)論文_第4頁
基于USB2.0數(shù)字相機的設計畢業(yè)論文_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、編號 本科生畢業(yè)論文基于usb2.0數(shù)字相機的設計the subject of usb2.0 based on the design of digital camera2009年 6 月 摘要 隨著電腦外設和數(shù)碼產(chǎn)品的不斷發(fā)展,各種設備與pc機之間的接口成為當前需要解決的難題。usb是由intel,compaq,microsoft等七家著名的計算機和通信公司于1994年推出的通用串行總線,它的出現(xiàn)大大簡化了pc機和外設的連接過程,使pc機接口的擴展變得更加容易。usb具備其它總線無法比擬的優(yōu)點,比如支持熱插拔、傳輸速度快且穩(wěn)定、低耗能等等。目前,usb己成為微機與外圍設備通信的首選接口。尤其是

2、usb2.0協(xié)議的發(fā)布,是usb技術(shù)發(fā)展史上的里程碑,它在usb1.0的基礎上有了質(zhì)的提高,其理論傳輸速度可達到480mb/s,為計算機與外設的高速數(shù)據(jù)交換提供了可能。 本文對usb接口技術(shù)的基本原理進行了較詳盡的研究,詳細介紹了基于usb2.0的應用系統(tǒng)的基本組成框架??紤]到數(shù)字成像和usb技術(shù)都是近些年來的熱點技術(shù),本文以一種usb2.0的圖像采集系統(tǒng)為實例,給出了該系統(tǒng)的解決方案。文章首先概括的介紹了usb形成的背景、usb接口的優(yōu)點、usb層次結(jié)構(gòu)、usb的通信協(xié)議、usb的數(shù)據(jù)傳輸方式等等。然后,重點論述了基于usb2.0技術(shù)的圖像采集系統(tǒng)的設備端和主機端軟、硬件的設計與實現(xiàn)方法。在

3、硬件方面,在對usb接口芯片cy7c68013和cmos圖像傳感器芯片ov7620的功能結(jié)構(gòu)進行分析的基礎上,提出了系統(tǒng)硬件電路的設計方案,就主要功能模塊的實現(xiàn)進行了論述。在本設計中,選用ov7620實現(xiàn)視頻圖像的采集,選用cypress公司的usb接口芯片cy7c68013實現(xiàn)圖像采集系統(tǒng)中的接口功能,完成圖像數(shù)據(jù)的傳輸;在軟件方面,詳細地介紹了usb接口芯片的固件程序、驅(qū)動程序的開發(fā)流程。關(guān)鍵詞:usb2.0,ov7620,cy7c68013,固件,驅(qū)動程序 abstract with the development of pc peripherals and digital produc

4、ts,the interface andconnection between them and pc has become a difficult problem. the usb specification was proposed by intel,compaq,microsotfnadohtereompnaiesin1994,its emergence simplified the connection between pc and pc peripherals,and made pc interface extension to become more easier. it has m

5、ore advantages than other bus,such as supporting of hot insert&plug,high transmission speed and low expense. now usb has been widely used in pc peripherals and it has become one of the best selections in many buses. especially the 2.0 revision of the usb specification is issued,which is the landmak

6、in the usb history. its transmission speed is 480mb/s. so its possible to realize the high transmission speed bewteen pc and the peripherals. this paper researched the basic principle of usb technology in detail,and introduced the basic frame of an application system based on usb2.0 in detail. in co

7、nsideration of the digital imaging and usb technology are hot techniques in recent years,we select a usb2.0 image acquisition system to be example,and give the solution of that system.the paper generalized the developing background and theadvantages of usb,the hierarchical structure including protoc

8、ol,and transmission means of data etc briefly. then the design and implementation of the hardware and software on both host and device sides of an image acquisition system based on usb2.0 are demonstrated in detail. in hardware segment, after analyzing the features of usb interface chip cy7c68013 an

9、d cmos image sensor ov7620, the paper proposes the layout o f the circuit design and the implementation of the main functional modules is introduced in detail,in this design,we select cmos image sensor ov7620 to complete the image acquisition, and select usb interface chip cy7c68013 to complete the

10、image transmission. in software segment firm ware design and device driver areintroduced in detail.keywords:usb2.0,ov7620,cy7c68013,firmware,drvier目錄第一章:緒論11.1usb總線技術(shù)發(fā)展過程及現(xiàn)狀11.2usb總線的優(yōu)勢11.3圖像采集系統(tǒng)的概述11.4論文主要研究內(nèi)容和主要工作2第二章 :系統(tǒng)框架32.1 usb2.0規(guī)范概述32.2系統(tǒng)的硬件構(gòu)成8第三章 系統(tǒng)硬件設計123.1 系統(tǒng)總體方案與基本原理123.2圖像采集電路設計123.3 ee

11、prom電路設計133.4 cy7c68013與0v7620連接143.5 電源設計153.6電源轉(zhuǎn)換電路設計153.7 時鐘電路的設計16使用外部晶體振蕩電路和內(nèi)部振蕩器。晶體連接到單片機芯片的x1和163.8 sram電路的設計17第四章 系統(tǒng)軟件設計194.1圖像采集系統(tǒng)設計194.2 usb接口芯片的初始化程序設計21syncdelay;21syncdelay;22syncdelay;224.3usb設備請求的處理程序224.4cy7c68013的i2c子程設計234.5gpif接口編程254.6批量傳輸?shù)膶崿F(xiàn)26syncdelay;27syncdelay;27syncdelay;27

12、4.7 usb設備描述符27第五章 結(jié)論30第六章 參考文獻31致謝32 第一章:緒論 1.1usb總線技術(shù)發(fā)展過程及現(xiàn)狀 作為計算機外設接口技術(shù)的重要變革,usb在傳統(tǒng)計算機組織結(jié)構(gòu)的基礎上,引入了網(wǎng)絡的拓撲結(jié)構(gòu)及其設計思想1。usb具有終端用戶的易用性、廣泛的應用性、帶寬的動態(tài)分配、優(yōu)越的容錯性能、較高的性能價格比等特點,方便了外設的增添,適應了現(xiàn)代計算機多媒體的功能拓展,己逐步成為計算機的主流接口。usb總線從誕生起便引發(fā)了一場產(chǎn)業(yè)革命。它以靈活、方便、應用范圍廣、通信穩(wěn)定、成本低廉等優(yōu)點,使得pc的接口紛紛從串行口和并行口轉(zhuǎn)到usb總線上來。sb2.0標準于2000年4月提出2,它的傳

13、輸速率達到了480mb/s,比它之前的usb1.1標準的12mb/s快了40倍。速率瓶頸的突破使usb的應用領域得到了很大的拓展,原來由于速率限制而不適合用usb的大容量硬盤、高品質(zhì)攝像頭、高分辨率掃描儀等設備都可以使用usb2.0接口。 1.2usb總線的優(yōu)勢 usb3(universal serial bus)通用串行總線由intel提出,它是一種快速的、雙向的、同步傳輸?shù)?、廉價的并支持熱拔插的串行接口。usb技術(shù)的應用是計算機接口技術(shù)的重大變革,同以上兩種接口總線相比,usb具有不可比擬的優(yōu)點: 1.usb可連接多達127個外設,簡單方便的擴大了pc機接口能力。 2.對于pc用戶來說,u

14、sb實現(xiàn)了真正的即插即用和熱插拔,當用戶需要將外設連接到pc機上進行功能擴展時,只需要將外設的連線插入pc機的usb接口上就可以了,其余由操作系統(tǒng)來完成。 3.usb規(guī)范具有良好的向下兼容性,如usb2.0的主機控制器就能很好地兼容usb1.1的產(chǎn)品。 4.usb技術(shù)具有開放性,是非營利性的規(guī)范,得到了廣泛的工業(yè)支持。 5.不管是硬件設計或是數(shù)據(jù)傳輸?shù)膮f(xié)議,usb都很穩(wěn)定。usb驅(qū)動程序、接收器以及電纜的硬件規(guī)范,都會盡量減少噪聲干擾產(chǎn)生的錯誤數(shù)據(jù)。 隨著usb2.0版本的發(fā)布,usb越來越流行,它己經(jīng)成為一個標準接口。目前市場上出售的所有pc機都支持usb,而且很多外設只推出了usb版本,如

15、移動硬盤等??梢灶A見,usb的應用肯定會越來越廣泛,其傳輸速率也會越來越高。1.3圖像采集系統(tǒng)的概述隨著數(shù)碼產(chǎn)品的不斷普及,攝像頭的應用范圍在不斷的擴大,攝像頭中的核心部件-圖像傳感器的用量也在日益增長,由于ccd圖像傳感器成本等因素的限制,近幾年cmos圖像傳感器的用量急劇上升,特別在手機、數(shù)碼照相機的應用。與ccd相比,cmos器件則是一種可大規(guī)模生產(chǎn)的集成電路,具有成品率高、價格低等特點。相對于ccd而言,cmos器件技術(shù)有一些明顯的特點4:其一,集成度高;其二,價格低廉,cmos器件結(jié)構(gòu)簡單,從而成品率高,制造成本低。因此,大量的攝像頭生產(chǎn)商都選用了cmos圖像傳感器作為其攝像頭的傳感

16、器。 隨著cmos攝像頭的圖像象素增加,對傳輸攝像頭數(shù)字圖像的通道速度要求越來越高。對百萬象素以上的攝像頭,就要求幾十兆的傳輸速度。因此,研究高速的數(shù)字圖像傳輸接口對cmos數(shù)字圖像攝像頭的生產(chǎn)和應用有著很重要的意義。 1.4論文主要研究內(nèi)容和主要工作 本論文主要研究了usb總線技術(shù),包括usb形成的背景、usb接口的優(yōu)點、usb層次結(jié)構(gòu)、usb的通信協(xié)議、usb的數(shù)據(jù)傳輸方式等等。在充分研究了usb2.0協(xié)議的基礎上,總結(jié)出基于usb2.0的應用系統(tǒng)的基本組成框架。并以此為依據(jù),提出了一種usb2.0的圖像數(shù)據(jù)采集系統(tǒng)實現(xiàn)方法。整個系統(tǒng)在功能上分為采集、傳輸和顯示三個部分。利用嵌入式cpu采

17、集cmos圖像傳感器芯片輸出的數(shù)字圖像信號,然后把數(shù)據(jù)傳輸?shù)街饔嬎銠C(pc機),最后pc機將重建圖像在屏幕上顯示出來。第2章 :系統(tǒng)框架 2.1 usb2.0規(guī)范概述 2.1.1usb的特性 (1)usb的即插即用。usb實現(xiàn)了自動配置,它不需要用戶手工配置i/o地址和中斷請求(irq)。當usb設備連接到計算機上時,操作系統(tǒng)會自動檢測該設備,并加載適合的驅(qū)動程序。(2) 支持熱插拔。用戶可以把usb設備連接到一臺正在運行的計算機上。 (3)最大支持127個物理設備(包括根集線器)的連接。用usb連接的外圍設備數(shù)目最多達127個,共7層。在這7層中,除根集線器外,最多支持5個集線器的級連,即一

18、個usb設備最多可以經(jīng)過5個集線器連接至主機。 (4)靈活供電,usb電纜具有傳送電源的功能,支持節(jié)約能源模式,耗電低,能夠采用總線供電。usb總線提供最大為5v,500ma電流,對于功耗較小的設備來說這是非常有效的。另外,usb支持低功耗模式,如果連續(xù)3ms沒有總線活動,usb就會自動進入掛起狀態(tài),以節(jié)省電能消耗。 (5)支持主機和外圍設備之間多個數(shù)據(jù)和信息流的傳輸。ubs支持三種類型的傳輸速率:1.5mb/s的低速傳輸、12mb/s的全速傳輸和480mb/s的高速傳輸;usb共有4種傳輸方式:控制傳輸、同步傳輸、中斷傳輸、批量傳輸,以適應不同設備的需要。 (6)usb規(guī)范具有良好的向下兼容

19、性,如usb2.0的主機控制器就能很好地兼容usb1.1的產(chǎn)品,操作系統(tǒng)在檢測到全速usb設備接入時,會自動按照12mb/s的速率進行傳輸,而其他高速usb設備,并不會因為全速設備的連接而減慢它們的傳輸速率。5 2.1.2應用范圍分類usb支持三種類型的傳輸速率:1.5mb/s的低速傳輸、12mb/s的全速傳輸和480mb/s的高速傳輸;4種傳輸類型:控制傳輸、中斷傳輸、批量傳輸和同步傳輸,這使其能適合多種外設的需要。表2-l5按照數(shù)據(jù)傳輸速率對usb設備進行了分類,可以看出480mb/s可以包括高速、全速、低速的情況。 表2-1 usb應用范圍分類 2.1.3 usb系統(tǒng)構(gòu)成 usb系統(tǒng)可以

20、從三個方面進行描述:三個邏輯層:usb互連、usb主機和usb設備。usb系統(tǒng)分為三個邏輯層6:功能層、usb設備層和usb總線接口層,且每一層都由主機和ubs設備的不同功能模塊組成9,如圖2-1所示。 主機 互連 物理設備 功能設備客戶軟件 客戶軟件 功能層 usb邏輯設備usb系統(tǒng)軟件 usb設備層 usb主機控制器usb主線接口 usb總線接口層 實際通信流 邏輯通信流圖2-1 usb系統(tǒng)的分層 2.1.3.1 usb總線拓撲結(jié)構(gòu)usb總線的物理連接是一種分層的星型拓撲結(jié)構(gòu)9,如圖2-2所示。集線器(hub)是每個星型結(jié)構(gòu)的中心。由于集線器和電纜的傳播時間有定時的限制,允許的最大層數(shù)是7

21、層(包括根層)。通過這種層次星型的總線拓撲結(jié)構(gòu),usb系統(tǒng)最多可以支持127個usb設備(包括根集線器)的連接。在這7層中,主機和任何設備之間的通信通路最多可支持5個非根集線器。一個復合設備占用兩層,因此它不能被連接到第7層。第7層只允許連接功能設備。如果采用5m長的usb電纜,則最大的傳輸距離為30m,可見usb現(xiàn)在還不適合長距離的數(shù)據(jù)傳輸。圖2-2 usb總線拓撲結(jié)構(gòu) 2.1.3.2 usb主機在usb系統(tǒng)中usb主機是總線上唯一的主人(10),usb設備僅僅響應主機請求。usb主機通過主機控制器管理總線上的數(shù)據(jù)傳輸。usb主機的功能如下:1)檢測usb設備的安裝和拆卸;2)管理在主機和u

22、sb設備間的控制流;3)管理在主機和usb設備間的數(shù)據(jù)流;4)收集狀態(tài)和動作信息;5)提供電源給連接的usb設備。usb主機通常包括以下部分:客戶軟件(usb設備驅(qū)動程序和主機應用程序)、usb系統(tǒng)軟件(usb總線驅(qū)動程序、主機控制器驅(qū)動程序和主機軟件)和ubs主機控制器。圖2-3顯示了ubs主機的軟、硬件組成及它們之間的通信。圖2-3 usb主機的組成 2.2系統(tǒng)的硬件構(gòu)成 2.2.1采集系統(tǒng)總體結(jié)構(gòu)系統(tǒng)總體結(jié)構(gòu)7框圖如圖2-4所示,系統(tǒng)主要由cmos圖像傳感器芯片ov7620、可編程邏輯器件epm7128、數(shù)字信號處理器芯片tms320vc5401、usb2.0接口控制器cy7c68013

23、、sramcy7c1041、總線驅(qū)動器hc244等構(gòu)成。2.1.3.3 usb設備 圖2-4 圖像采集系統(tǒng)結(jié)構(gòu)框圖 2.2.2 ov7620 ov76208是美國omnivision公司推出的一款高集成度、中分辨率(640480)、逐行/隔行掃描、彩色/黑白cmos數(shù)字圖像傳感器芯片19。它的數(shù)字視頻口支持多種輸出格式,包括:60hz 16位/8位ycrcb 4:2:2格式,zv口輸出格式、rgb原始數(shù)據(jù)16位/8位輸出格式和ccir601/ccir656格式。輸出幀頻可于0.5到30幀/秒范圍內(nèi)編程。ov7620內(nèi)部集成i2c總線兼容的sccb(serial camera control b

24、us)接口,外部主機以此來操作芯片內(nèi)部寄存器,對芯片的功能進行設置。ov7620內(nèi)部結(jié)構(gòu)如圖2-5所示,其中y0y7為圖像數(shù)據(jù)輸出y線;uv0uv7圖像數(shù)據(jù)輸出uv線;sda為i2c總線數(shù)據(jù)線;scl為i2c總線時鐘線;fodd為奇場信號輸出;href為行同步輸出;vsync為幀同步輸出;pclk為像素同步時鐘輸出;vto模擬視頻輸出;mid為多片應用允許;cs2:0與y6、y4、y7復用,用于在芯片上電或復位時設置sccb總線地址。圖2-5 ov7620內(nèi)部結(jié)構(gòu)ov7620的數(shù)據(jù)輸出時序如圖2-6所示:圖圖2-6 ov7620輸出時序 2.23cy7c68013cy7c680139集成了us

25、b2.0收發(fā)器、sie(串行接口引擎)、增強的8051微控制器和可編程的外圍接口。fx2這種獨創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸速率達到480mb/s,即usb2.0允許的最大帶寬。在fx2中,智能sie可以處理大部分usbi.1和usb2.0協(xié)議,使得微控制器可以專注于應用功能,從而減少了開發(fā)時間和確保了usb的兼容性。gpif(general programmabale interface)和主/從端點fifo(8位或16位數(shù)據(jù)總線)為ata、utopia、epp、pcmcia和dsp等提供了簡單的無縫連接接口。幾cy7c68013只支持兩種傳輸速率:全速(full speed)12mb/s和高速(hi

26、gh speed)480mb/s,不支持低速(low speed)1.5mb/s。cy7c68013結(jié)構(gòu)圖如圖2-7所示:圖2-7 cy7c68013內(nèi)部結(jié)構(gòu) 第三章 系統(tǒng)硬件設計 3.1 系統(tǒng)總體方案與基本原理 整個圖像采集系統(tǒng)主要由圖像采集電路、eeprom、usb接口芯片、電源轉(zhuǎn)換電路等模塊組成。系統(tǒng)的原理框圖如圖3-1所示。 圖3-1系統(tǒng)原理框圖 3.2圖像采集電路設計 本系統(tǒng)10的圖像采集工作由光學鏡頭和圖像傳感器ov7620完成。圖像傳感器ov7620與epm7128及sram構(gòu)成了前端數(shù)據(jù)采集電路,其具體連接關(guān)系如圖3-2所示。圖3-2數(shù)據(jù)存儲接口ov7620的sccb接口scl

27、、sda兩個引腳與的i2c接口連接,由cy7c68013設置ov7620工作于8位總線模式。圖像數(shù)據(jù)通過輸出線y7:0輸出,將y7:0通過兩片hc244連入系統(tǒng)板的數(shù)據(jù)總線上,分別連接到cy7c1041的數(shù)據(jù)總線高8位和低8位上。幀同步信號vsync和行同步信號href連接到epm7128的通用i/o引腳。ov7620的pclk引腳為像元同步時鐘輸出信號,連接到epm7128的全局時鐘引腳gclk1,作為全局時鐘以保證ov7620與epm7128的同步。3.3 eeprom電路設計 在本系統(tǒng)中,采用的是i2c總線上連接有eeprom11,且在eeprom中存放有固件和vid/pid/did。如

28、圖3-3所示: 圖3-3 24lc64圖3-4為eerpmo硬件電路。圖3-4eeprom電路 3.4 cy7c68013與0v7620連接cy7c68013使用其功能強大的gpif接口實現(xiàn)和ov7620的無縫連接。它們之間的連接如圖3-5:圖中幾個主要的引腳說明如下:y7:0:8位圖像數(shù)據(jù)輸出pclk:像素時鐘輸出vsync:垂直同步信號輸出href:水平同步信號輸出si00:sccb總線的數(shù)據(jù)信號線si01:sccb總線的時鐘信號線ifclk:gpif接口的同步時鐘信號rdy1:0:gpif接口的準備輸入線圖3-5cy7c68013與ov7620的連接cy7c68013與ov7620構(gòu)成的

29、數(shù)據(jù)通道的工作原理是:首先,usb設備完成總線枚舉和設備配置(通過i2c總線對ov7620的內(nèi)部寄存器配置),ov7620完成配置后就進入工作狀態(tài),開始圖像采集。然后,cy7c68013通過gpif接口監(jiān)測ov7620垂直同步信號vsync和水平同步信號href的變化,判斷新的一幀是否開始。新的一幀圖像開始后,在同步時鐘信號pclk的作用下,cy7c68013通過數(shù)據(jù)總線pb7:0將圖像數(shù)據(jù)傳送到fifo中。 3.5 電源設計模擬電源由電源芯片ldi11712負責提供,ld1117總共四個引腳,其中兩個接模擬地,并連接到usb電纜的地線。ld1117的連接如圖3-6所示。圖3-6電源芯片ld1

30、117連接方式 3.6電源轉(zhuǎn)換電路設計整個硬件電路系統(tǒng)采用usb總線供電。也就是說,整個硬件電路的供電是主機(pc機)通過usb接口提供的,其提供的電壓為+5v,最大電流為500ma。硬件電路中ov7620工作電壓為+5v,而usb控制器cy7c68013工作電壓是+3.3v,因此必須通過電源轉(zhuǎn)換芯片lt1763cs8一3.3將+5v的供電電壓轉(zhuǎn)換為+3.3v電壓,從而適應整個硬件系統(tǒng)的需求。圖3-7為電源轉(zhuǎn)換電路。圖3-7 電源轉(zhuǎn)換電路 3.7 時鐘電路的設計 時鐘電路13如圖3-7所示:圖3-7 常見時鐘設計的兩種方法 使用外部晶體振蕩電路和內(nèi)部振蕩器。晶體連接到單片機芯片的x1和x2/c

31、lkin引腳之間,通過激活芯片內(nèi)部振蕩器來實現(xiàn)時鐘發(fā)生。一般石英晶體具有30?左右的有效串阻和1mw的功耗,每個引腳應該連接一個20pf左右的負載電容來構(gòu)成振蕩電路。 3.8 sram電路的設計sram結(jié)構(gòu)如圖3-9所示圖3-9 sram芯片結(jié)構(gòu) 它有256k16bit的存儲空間,存取數(shù)據(jù)的時間最快只要10ns,即存取速度可以達到 100mb/s,完全可以滿足我們存取圖像數(shù)據(jù)的要求。它有18位的地址線,16位的數(shù)據(jù)信號線;當芯片沒有被選中時自動掉電以減少功耗;它采用cmos結(jié)構(gòu),功耗低;3.3v電源供應;全靜態(tài)操作,不需要時鐘刷新;三態(tài)門輸出等。引腳 ce和we為低表示寫設備。如果ble為低,

32、i/o引腳(i/o0一i/o7)上的數(shù)據(jù)被寫到地址引腳(a0-a17)指向的位置。如果bhe為低,則i/o引腳(i/o0-i/o1)上的數(shù)據(jù)被寫到地址引腳(a0-a17)指向的位置。引腳ce和oe為低并且we為高表示讀設備。如果ble接低電平,地址引腳(a0_a17)指向的位置上的數(shù)據(jù)將出現(xiàn)在i/o引腳(i/o0-i/o7)上。如果bhe接低電平,則地址引腳(a0-a17)指向的位置上的數(shù)據(jù)將出現(xiàn)i/o引腳(i/o8-i/o15)上。如果設備取消選定(ce為高),或者輸出被禁止(oe為高),或者bhe和ble為高,或者正在進行寫操作,則輸入引腳(i/o0一i/o15)處于高阻狀態(tài),輸出被禁止(

33、oe為高)第四章 系統(tǒng)軟件設計4.1圖像采集系統(tǒng)設計在整個圖像采集系統(tǒng)中,cy7c68013中固件主要完成三個方面的工作:初始化usb芯片及通過i2c總線對ov7620的各項參數(shù)進行設置;作為usb接口控制芯片與主機通信并傳輸數(shù)據(jù):利用芯片上gpif接口控制cy7c65013和ov7620間的數(shù)據(jù)傳輸。該系統(tǒng)固件共包含6個程序文件:wf.c,dscr.a51,usbov.c,gpif.c,ezusb.lib和usb jumptb.obj。 其中,wf.c是固件架構(gòu)的代碼,它是固件運行的主程序文件,通過調(diào)用初始設置函數(shù)td_init()、用戶功能函數(shù)td_poll()、掛起函數(shù)td_suspen

34、d()和喚醒函數(shù)td-resume()來處理各種usb事件。 dscr.a51是設備描述符文件,定義了系統(tǒng)所使用的各種usb描述符。 usbov.c是用戶功能代碼,其中包含了各種功能函數(shù)的定義,這些功能函數(shù)是各程序之間的橋梁。主要有三類:工作分配器、標準設備請求處理函數(shù)和usb中斷服務例程。 gpif.c是gpif波形文件,包含兩部分內(nèi)容:波形描述符定義和gpif的初始化函數(shù)gpifinit()。 ezusb.1ib是ezusb函數(shù)庫對象程序代碼。 usb jumptb.obj中定義的是usb中斷向量表。 4.1.1主程序設計固件主程序(固件架構(gòu))比較復雜,需要用到大量的函數(shù),但其基本結(jié)構(gòu)卻相

35、對簡單,包括以下3個過程:初始化,包括處理器和圖像傳感器的初始化;主函數(shù),包括處理usb標準設備請求的代碼;中斷處理,包括處理各種中斷的程序代碼,如i2c總線中斷等。固件主程序流程圖如圖4-1。圖4一1:主程序流程圖4.2 usb接口芯片的初始化程序設計主程序首先對一些全局變量進行初始化,這些全局變量被作為狀態(tài)位使用,它們反映出usb設備所處的狀態(tài),并且控制固件的運行。這些全局變量有以下幾個:(1) sleep:usb芯片是否進入掛起狀態(tài)的檢測標志。當usb總線上3ms沒有檢測到傳輸事務,芯片就進入掛起狀態(tài),并產(chǎn)生掛起中斷。在中斷服務程序中,該標志位被設置為真,主程序檢測到該標志位為真后,就會

36、將處理器置為空閑模式(將8051的特殊功能寄存器pcon的第零位置高)。(2) rwuen:遠程喚醒功能使能的標志。這個標志說明了設備能夠由pc機來喚醒。(3) selfwr:自我供電模式的標志。這個標志表示這個設備是自我供電,而非總線供電。(4) gotsud:端點0是否收到setup封包的檢測標志。當主機檢測到該標志位為真時,就會調(diào)用專門的命令處理函數(shù)進行分析和處理。(5) configuration:表示當前所選擇的設備配置。主機可以通過發(fā)送set_configuration()請求進行設置。(6) alternatesetting:表示當前所選擇的替換值。全局變量的初始化完成后,主程序

37、調(diào)用td-init函數(shù)。在該函數(shù)中對usb接口芯片中各種寄存器進行設置,以使cy7c68013工作在用戶要求的狀態(tài)。其主要實現(xiàn)代碼如下:void td-init(void)cpucs=0x10; /使cpu工作于48mhz,不驅(qū)動clkuot輸出gpifinit(); /初始化gpif接口ep2cfg=oxe0; /配置epz為四緩沖的批量輸入端點,其最大包為512 /字節(jié)ep4,ep6和eps未被使用syncdelay;ep4cfg=0x20; /清除有效位syncdelay;ep6cfg=0x62; /清除有效位syncdelay;ep8cfg=0x60; /清除有效位syncdelay;

38、fif0reset=0x80;syncdelay;fif0reset=0x02; /重置fif02syncdelay;fif0reset=0x04; /重置fif04syncdelay;fif0reset=0x06; /重置fif06syncdelay;fif0reset=0x08; /重置fif08snycdelay;fif0reset=0x00;syncdelay;ep2fif0cfg=0x0c; /配置fif0為8位數(shù)據(jù)總線,自動傳輸syncdelay;eie|=0x01; /使能i2c中斷syncdelay;ep2aut0inlenh=0x02; /設置自動提交數(shù)據(jù)包大小,512字節(jié)s

39、yncdelay;ep2aut0inlenl=0x00; 4.3usb設備請求的處理程序設備請求類型是長度為1字節(jié)的類型碼,包含傳輸方向、類型、接收方等信息,可以防止傳輸數(shù)據(jù)是發(fā)生堵塞現(xiàn)象。如圖4-2所示: 圖4-2 設備請求處理流程圖4.4cy7c68013的i2c子程設計cy7c68013中有三個i2c總線寄存器2,用來管理i2c總線的工作,見表4-l14。其中i2dat為8位數(shù)據(jù)寄存器,負責數(shù)據(jù)的讀入或送出;i2tcl為配置寄存器,負責配置總或;i2c為控制狀態(tài)寄存器,負責控制傳輸和報告各種狀態(tài)。 1表4-1 i2c總線控制器寄存器 開始控制位tsart: 當tsart位被配置為1,寫入

40、數(shù)據(jù)到工zadt,開啟i2c總線數(shù)據(jù)傳輸。此位在接收器的應答信號期間自動清零。 停止控制位stop: 當stop位被配置為1,當前總線數(shù)據(jù)傳輸完后,停止i2c總線數(shù)據(jù)傳輸。此位在總線停止傳輸數(shù)據(jù)后自動清零。 錯誤狀態(tài)位berr: 當總線上出現(xiàn)錯誤時,berr位被置為1。此位也可自動清零。 應答信號狀態(tài)位ack: ack位為1時,表示接收器成功接受數(shù)據(jù);反之,表示數(shù)據(jù)傳輸失敗。此位在讀傳輸時被忽略。狀態(tài)位done:當完成1個字節(jié)數(shù)據(jù)傳輸后,cy7c68013設置done位,并產(chǎn)生中斷。當讀或?qū)慽2adt寄存器時,此位自動清零。圖4-2 i2c程序的流程圖 在接口電路中,cy7c68013是通過i

41、2c總線對圖像傳感器ov7620內(nèi)部寄存器進行配置,因此i2c子程序的功能就是完成cy7c68013對ov7620配置操作。配置的方法采用i2c總線接口的寫入操作,先發(fā)送所使用的ov762o的sccbdi寫地址42h,緊接著發(fā)送需要寫的寄存器的地址,再發(fā)送數(shù)據(jù)。 在固件設計中,使用了i2c中斷,對ov7620的配置操作由i2c中斷服務程序完成。i2c中斷是fx2中斷系統(tǒng)中13種中斷之一。當i2c總線上傳輸完1b數(shù)據(jù)且done位被置為1時,產(chǎn)生該中斷。usb設備完成枚舉后,用戶通過主機應用程序發(fā)出配置ov7620的請求,該廠商請求激活設備請求分析函數(shù)setupcommand(),從而進入用戶自定

42、義命令函數(shù)dr_vendorcommand(),在該函數(shù)中開啟i2c總線并將從機地址寫入i2dat中,一個字節(jié)數(shù)據(jù)傳輸完畢后產(chǎn)生i2c中斷,進入i2c中斷服務程序i2c_isr(),完成對ov7620中寄存器的配置。圖4-2為i2c子程序的流程圖。 4.5gpif接口編程gpif允許cy7c68013和外部設備的8位或16位并行接口直接連接。這種連接是通過以下的外部引腳實現(xiàn)的,即6個可編程控制輸出引腳ctl5:0,5個準備輸入引腳rdy5:0,8位/16位的雙向數(shù)據(jù)總線df15:0和9位的地址總線gpifadr8:0。下面是初始化gpif引擎的代碼:void gpifinit(void)byt

43、e i;ifconfig=0x42; /設置cy7c680131作在gpif接口模式下gpifabort=0xff; /終止任何未定波形/初始化gpif配置寄存器gpifreadycfg=initdata0;gpifctlcfg=initdata1;gpifidlecs=initdata2;gpifidlectl=initdata3;gpifwfselect=initdata5:gpifreadystat=initdata6;autoptrsetup=0x07;/波形描述符存放到gpif波形寄存器中aptr1h=msb(&wavedata);aptr1l=lsb(&wavedata);auto

44、ptrh2=0xe4;autoptrl2=0x00;for(i=0x00; i128; i+)extautodat2=extuatodat1;.4.6批量傳輸?shù)膶崿F(xiàn)對圖像數(shù)據(jù)的傳輸使用的gpif的fif0讀來完成的,在主程序的用戶函數(shù)td_po11()中進行處理。為了最大限度的增大usb2.0的帶寬,端點2設置為自動傳輸方式(autoin=1),自動傳輸計數(shù)器為512字(ep2autoinlenh=0x02,epzautoinlenl=0x00),在圖像數(shù)據(jù)傳輸允許后,數(shù)據(jù)傳輸之前需檢測gpif接口是否處于空閑狀態(tài),當條件滿足后,再判斷端點2緩沖區(qū)是否有足夠空間接收最大數(shù)據(jù)包長度的字節(jié),這是因

45、為每次傳輸總是傳輸最大數(shù)據(jù)包長度的數(shù)據(jù)(512字節(jié))。在啟動gpif傳輸后,數(shù)據(jù)讀入端點2緩沖區(qū),由于端點2設置為自動傳輸模式,不需要每包數(shù)據(jù)都指明傳輸?shù)街鳈C的字節(jié)數(shù),即微處理器在啟動gpif傳輸后完全不干預整個傳輸過程。fif0讀傳輸開始后,fif0讀波形會被反復的調(diào)用,每次波形觸發(fā)都會傳輸一個字節(jié)/字,直到事務計數(shù)器gpiftcb3:0到期,即gpif將自動傳送事務計數(shù)器中指定數(shù)量的字節(jié)/字。之后,gpitfrig寄存器的done位被置1,表明gpif數(shù)據(jù)傳輸事務結(jié)束,gpif處于空閑狀態(tài)。執(zhí)行一個fif0讀的過程如下:(1)設置事務計數(shù)器的初值。事務計數(shù)器的最大值為4g字節(jié)/字,將要傳送

46、的字節(jié)/字數(shù)寫入事務計數(shù)器中。然后設置gpitfrgi寄存器的r/w位為1并在ep1:0中寫入接收數(shù)據(jù)的端點號ep2,以觸發(fā)fifo讀波形。 (2)檢查gpiftrig寄存器的done位是否為1,為1表示gpif空閑,此時如果rdy0、rdy1輸入信號滿足數(shù)據(jù)傳輸條件且fif0緩沖區(qū)不滿,就可以觸發(fā)fif0讀波形。之后,在波形的每個idle狀態(tài)檢查事務計數(shù)器的狀態(tài),以確定波形是否結(jié)束。(3) 添加將數(shù)據(jù)從fif0傳送到usb的代碼,自動方式: 8051不參與數(shù)據(jù)的傳輸,僅需要將要傳送的字節(jié)數(shù)寫入寄存器epxautoinlenh:l中,fx2就會自動地將數(shù)據(jù)從fif0傳送到usb。其主要代碼如下

47、:if (gpiftrig & 0x80) /gpif是否空閑if(ep24fif0flgs&0x01) /fif0緩沖區(qū)是否/ep2ff=1,表示fif0滿e1se/ep2ff=0,表示fif0不滿,緩沖區(qū)可用syncdelay; gpiftcb3=0x00; /設置gpif事務計數(shù)器初值syncdelay;gpiftcb2=0x04;syncdelay;gpiftcb1=0xb0;syncdelay;gpiftcb0=0x00;syncdelay;gpiftrig=gpiftrigrd|gpif_ep2; /觸發(fā)ep2 fif0讀傳輸4.7 usb設備描述符在dscr.a51文件中,定義了

48、系統(tǒng)所使用的各種usb描述符。包括設備描述符、配置描述符、接口描述符、端點描述符和字符串描述符。而且,這些描述符表要按照一定的順序存放,以便于尋址。一般按照下面的順序進行列表:設備描述符 配置1描述符 接口1描述符 端點1描述符 端點2描述符 . 接口2描述符 端點1描述符 . 配置2描述符字符串描述符1 字符串描述符2.群組描述符1群組描述符2.null描述符下面是本設計中的幾個描述符:(1)設備描述符db dscr_device_len ; 設備描述符長度18字節(jié)db dscr_device ; 描述符類型,1代表設備 dw 0002h ; 規(guī)范版本usb2.0db 00h ; 設備類db

49、 00h ; 設備子類db 00h ; 設備協(xié)議db 64 ; 最大信息包大小dw 4705h ; viddw 0910h ; piddw 0000h ; 產(chǎn)品版本iddb l ; 制造商的字符串描述符索引db 2 ; 產(chǎn)品的字符串描述符索引db 0 ; 設備序列號的字符串描述符索引db l ; 配置數(shù)目(2)配置描述符configdscr;db dscr_config_len ; 配置描述符長度9字db dscr_intrfc ; 描述符類型,2代表配置db 0 ;接口數(shù)目以0為基值db 0 ;替換值db l ;端點數(shù)目db 0ffh ;接口類db 00h ;接口子類db 00h ;接口協(xié)議db 0 ;接口的字符串描述符索引(3)端點描述符endpdser:db dscr_endpnt_len ;端點描述符長度7字節(jié)db dscr_endpnt ;描述符類型,5代表端點db 82h ;端點號和方向(in/out),ep2和indb et_bulk ;端點類型,批量端點db 00h ;最大數(shù)據(jù)包大小(lsb)db 02h ;最大數(shù)據(jù)包大小(msb)db 00h ;輪詢間隔第五章 結(jié)論在本圖像采集系統(tǒng)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論