




圖象采集系統FIFO幀存儲與USB接口電路設計說明.doc 免費下載
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 . . . (2009 屆) 畢業論文(設計)題目:圖象采集系統FIFO幀存儲與USB接口電路設計 學院:數學與信息工程學院專業:電子信息工程 班級:工程 052 學號:3 姓名:磊 指導教師: 思佳 教務處制 2009年5月30日誠信申明本人重聲明:所呈交的畢業論文,是本人在指導老師的指導下,獨立進行研究工作所取得的成果,成果不存在知識產權爭議,除文中已經注明引用的容外,本論文不含任何其它個人或集體已經發表或撰寫過的作品成果,對本文的研究做出重要貢獻的個人和集體均已在文中以明確方式標明。本人完全意識到本聲明的法律結果由本人承擔。 畢業論文作者簽名: 年 月 日 授權申明本學位論文作者完全了
2、解學校有關保障、使用學位論文的規定,同意學校保留并向有關學位論文管理部門或機構送交論文的復印件和電子版,允許論文被查閱和借閱。本人授權省級優秀學士論文評選機構將本學位論文的全部或部分容編入有關數據進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學位論文。本學位論文屬于 1、 囗,在10年解密后適用本授權書。2、不囗。(請在以上相應方框打“”)作者簽名:年 月 日導師簽名: 年 月 日圖象采集系統FIFO幀存儲與USB接口電路設計摘 要:高速數字圖像采集系統是研究瞬間發生的物理現象的一種有效工具,高速運動物體數字圖像的獲得,是對瞬間發生的物理現象研究的基礎。隨著數字多媒體技術的不斷發展,
3、數字圖像處理技術被廣泛應用于可視、電視會議、監控系統等各種民用、商業與工業生產領域中。本文以CMOS數字圖像傳感器為圖像采集器件,以與PIC16F87x系列單片機和CY7C68013AUSB接口芯片,再加上CPLD邏輯控制和FIFO幀存儲器,構建一個靜態圖像采集系統。CMOS圖像傳感器主要用來對敏感景物產生像素,FIFO幀存儲器用來存儲一幀這樣的像素,CPLD用來控制像素從圖像傳感器到FIFO傳輸的時序邏輯,單片機將像素發送到USB接口,并控制整個電路工作,USB接口的任務是將像素傳到計算機,以便進行后續處理。關鍵字:圖象采集;FIFO;USB Design of High-Image 目錄1
4、 緒論(1)1緒論數字圖像處理技術的飛速發展使得所有圖像處理的問題都可以用數字信號處理的形式來解決,這為實時圖像處理的應用提供了廣闊的空間。首先,數字信號處理中存在大量成熟的快速算法,這些算法已經大量的應用于圖像處理中。其次,幾個技術發展趨勢進一步促使此領域的發展,隨著超大規模集成電路的高速發展,包括低價位DSP(Digital Signal Processor)數字信號處理器,微處理器支持的并行處理技術,用于圖像數字化的低成本的電荷耦合器件,低成本存儲陣列的新存儲技術,以與低成本、高分辨的彩色顯示系統的發展為高速的實現信號處理、為達到系統的實時性提供了可能1。這些發展都使得圖像處理技術廣泛的
5、運用于科學研究、工農業生產、資源的遙感探測、醫療衛生、空間探索等各個領域 ,如今隨著信息高速公路的建設,各種網絡的發展非常迅速。因而,圖像的傳輸也得到了極大的關注。另一方面,圖像傳輸可使不同的系統共享圖像數據資源,也極推動了圖像在各個領域的廣泛應用。高速數字圖像采集系統是研究瞬間發生的物理現象的一種有效工具,高速運動物體數字圖像的獲得,是對瞬間發生的物理現象研究的基礎。目前高速圖像采集系統(一般指幀頻在100fps以上)主要應用在軍事領域。在軍工靶場測量中,需要對快速飛行目標的飛行實況進行跟蹤、測量,事后要對測量數據進行分析、處理,為了提高測量精度,普遍采用高幀頻數字圖像采集系統2。考慮到高速
6、實時處理與實用化兩方面的具體要求,需要開發一種具有高速、高集成度等特點的視頻圖象信號采集系統,為此系統采用專用視頻解碼芯片和復雜可編程邏輯器件(CPLD)構成前端圖象采集部分。設計上采用專用視頻解碼芯片,以CPLD器件作為控制單元和外圍接口,以FIFO為緩存結構,能夠有效地實現視頻信號的采集與讀取的高速并行,具有整體電路簡單、可靠性高、集成度高、接口方便等優點,無需更改硬件電路,就可以應用于各種視頻信號處理系統中3。使得原來非常復雜的電路設計得到了極大的簡化,并且使原來純硬件的設計,變成軟件和硬件的混合設計,使整個系統的設計增加柔韌性。本次畢業設計,我以CMOS數字圖像傳感器為圖像采集器件,以
7、與PIC16F87x系列單片機和CY7C68013AUSB接口芯片,再加上CPLD邏輯控制和FIFO幀存儲器,構建一個靜態圖像采集系統。CMOS圖像傳感器主要用來對敏感景物產生像素,FIFO幀存儲器用來存儲一幀這樣的像素,CPLD用來控制像素從圖像傳感器到FIFO傳輸的時序邏輯,單片機將像素發送到USB接口,并控制整個電路工作,USB接口的任務是將像素傳到計算機,以便進行后續處理。2. 圖象采集系統概述2.1系統組成部分系統主要由圖象采集模塊、存儲模塊、處理模塊和傳輸模塊組成。高幀頻CMOS 成像單元主要由CMOS 圖像傳感器和控制芯片FPGA 組成,它是系統的成像部件,用以捕獲高速運動物體的
8、圖像,其電路輸出為數字圖像數據。圖像存儲單元主要由FIFO幀存儲器組成,負責對成像單元輸出的圖像數據進行實時存儲,供計算機采集、處理圖像數據。因圖像傳輸的數據量大,要求較高的傳輸速度,本系統采用了usB總線上傳到PC,實際中速度可以達到400 Kbps,能滿足CIF格式圖像的實時傳輸。系統結構框圖如圖1所示。單片機主機USB接口CMOS圖象傳感器CPLD邏輯控制光學鏡頭FIFO幀存儲圖1 系統結構框圖系統選用OminiVision公司生產的CMOS芯片OV7620,它是一款集成了一個640 ×480 (30萬像素)圖像矩陣的彩色攝像芯片,在隔行掃描模式下工作頻率可達60Hz,逐行掃描
9、時為30幀/ s。其像面大小為1 /3英寸,支持8位或16位數字信號從單通道或雙通道輸出,輸出信號的類型可在YCrCb和RGB 之間選擇,圖像矩陣支持VGA或CIF 規定, 數字輸出格式遵循CCIR601, ZVPorts, CCIR656等標準4。OV7620有很強的攝像和控制功能,如暴光控制,校正,增益,色彩矩陣,窗口選擇等,所有這些功能都可以通過I2C接口進行編程控制。CPLD選用ALTERA公司的芯片EPM7128S,它在系統中處于核心地位,既要負責將OV7620輸出的視頻數據存入FIFO幀存儲器,又要與MCU配合完成視頻數據的USB 傳輸。MCU 是Cygnal 公司的高性能單片機C
10、8051F020,它通過I2C總線控制CMOS芯片的工作方式和狀態, C8051F020自帶SMBUS總線接口,可以把I2 C的時鐘線SCL和數據線SDA通過交叉開關分配到端口引腳,MCU作為I2 C總線通訊的主機,OV7620用42H (W rite) 、43H (Read)作為從機地址與MCU進行通信。另外MCU還控制USB 通信,負責USB芯片的初始化和與PC的通信連接,其64KB 的flash程序存儲空間足以存放USB 通信固件5。USB 接口芯片采用EZ-USB FX2 芯片CY7C68013A,該芯片支持USB 2.0標準協議和DMA傳輸模式。2.2硬件模塊設計2.2.1 圖象采集
11、模塊CCD(Charge Coupled Device 電荷耦合器件)和CMOS(Complementary Metal Oxide Semiconductor 互補金屬氧化物半導體)傳感器是當前被普遍采用的兩種圖像傳感器,兩者都是利用感光二極管(photodiode)進行光電轉換,將光像轉換為電子數據。CCD于1969年研制成功,發展于20世紀八、九十年代,現在被廣泛應用于廣播電視領域。COMS傳感器是上世紀80 年代為克服CCD 生產工藝復雜、功耗較大、價格高、不能單片集成和有光暈、拖尾等不足之處而研制出的一種新型圖像傳感器,CMOS傳感器已成為消費類數碼相機、電腦攝像頭、可視等多功能產品
12、的理想之物,隨著技術的發展,已逐步應用于高端數碼相機和電視領域。一.CCD 與CMOS 的對比CCD和CMOS之間的主要差異是數據傳送的方式不同。CCD傳感器中每一行中每一個像素的電荷數據都會依次傳送到下一個像素中,由最底端部分輸出,再經由傳感器邊緣的放大器進行放大輸出;而在CMOS傳感器中,每個像素都會鄰接一個放大器與A/D轉換電路,用類似存電路的方式將數據輸出,如圖1。造成這種差異的原因在于:CCD 的特殊工藝可保證數據在傳送時不會失真,因此各個像素的數據可匯聚至邊緣再進行放大處理;而CMOS工藝的數據在傳送距離較長時會產生噪聲,因此,必須先放大,再整合各個像素的數據6。正是由于數據傳送方
13、式的不同,造成了兩者之間的本質差別。 CCD CMOS 圖2 CCD和CMOS的數據傳送方式不同1. 成本由于CMOS 傳感器采用半導體電路最常用的CMOS 工藝,可以輕易地將周邊電路(如AGC、CDS、時鐘、DSP等)集成到傳感器芯片中,因此可以節省外圍芯片的成本;而CCD傳感器采用電荷傳遞的方式傳送數據,其中有一個像素不能運行,將會導致一整排的數據不能傳送,控制CCD傳感器的成品率會比CMOS傳感器困難的多,因此,CCD傳感器的成本要高于CMOS 傳感器。2. 靈敏度CCD的感光信號以行為單位傳輸,電路占據像素的面積比較小,這樣像素點對光的感受就高些;而CMOS傳感器的每個像素由多個晶體管
14、與一個感光二極管構成(含放大器與A/D 轉換電路),使得每個像素的感光區域只占據像素本身很小的表面積,像素點對光的感受就低;因此在像素尺寸一樣的情況下,CCD 傳感器的靈敏度要高于CMOS 傳感器。3. 分辨率CMOS傳感器上集成有放大器、定時、ADC等電路,每個像素都比CCD 傳感器復雜,因而電路所占像素的面積也大,所以一樣尺寸的傳感器,CCD可以做得更密。通常CCD傳感器的分辨率會優于CMOS 傳感器的水平。4. 噪聲CCD的特色在于充分保持信號在傳輸時不失真(有專屬通道設計),透過每一個像素集合至單一放大器上做統一處理,可以保持資料的完整性;相對地,CMOS 的設計中每個像素旁就直接連著
15、ADC(放大兼模擬/數字信號轉換器),信號直接放大并轉換成數字信號。CMOS 的制造工藝較簡單,沒有專屬通道的設計,因此必須先放大再整合各個像素的資料。所以CMOS 計算出的噪點要比CCD 多,這將會影響到圖像品質。5. 功耗CMOS 傳感器的圖像采集方式為主動式,即感光二極管所產生的電荷會直接由晶體管放大輸出;而CCD 傳感器為被動式采集,需外加電壓讓每個像素中的電荷移動,除了在電源管理電路設計上的難度更高之外,高驅動電壓更使其功耗遠高于CMOS 傳感器。6. 響應速度由于CCD采用串行連續掃描的工作方式,必須一次性讀出整行或整列的像素數據。而COMS 由于采用單點信號傳輸,通過簡單的X-Y
16、 尋址技術,允許從整個排列、部分甚至單元來讀出數據,從而提高尋址速度,實現更快的信號傳輸。二.CCD 和CMOS 發展趨勢綜上所述,CCD在多個方面都占據著一定的優勢,而且CCD技術還處在發展當中,如富士公司的超級CCD SR(Super Dynamic Range,超級動態圍),相對于同等數量像素的傳統CCD而言,它有更高的靈敏度、更高的信噪比和更大的動態圍。但是CMOS傳感器的低功耗、可集成性與快速響應是它的最大優點,雖然CMOS的早期產品應用情況并不十分理想,生成的圖片質量差,噪波也大,而且圖像處理性能也不好。但經過多年發展,CMOS 技術得到了充足發展。去年業界發展了CMOS圖像傳感器
17、新技術C3D,這項技術的最大特點就是像素反應的均一性,提高了CMOS圖像傳感器在均一性和暗電流反應的標準性能。日本佳能公司的頂級單反數碼相機EOS-1Ds使用的就是一款1100 萬像素的CMOS 圖像傳感器。特別是在2004年2 月,美國FOVEON 公司展示了最新發展的FOVEON X3 技術,這是全球第一款可以在一個像素上捕捉全部彩色信息的圖像傳感器陣列。傳統的CCD 只能感應光的強度,彩色信息是通過RGB 濾鏡來實現的,使用單片CCD(馬賽克形式),將會降低圖像的分辨率,使用3 片CCD(分光棱鏡形式),不僅結構復雜,而且成本大幅增加。而FOVEON X3技術可以在一個像素上通過不同的深
18、度來感應色彩信息,它是根據硅對不同波長光線的吸收效應來實現一個像素感應全部色彩信息的。利用這項革新技術可以使CMOS傳感器提供更加銳利的圖像,更好的色彩和更低的設備成本。目前CMOS圖像傳感器在圖像噪聲和成像質量方面還存在著一定的問題,如能解決好這兩個問題,則CMOS 圖像傳感器技術將會更加趨于成熟,相信未來會有更加廣闊的前景。三.器件性能OV7620是一種帶A/D轉換的CMOS圖像傳感器,它包括一個664*492元像素的感光陣列,同時集成了幀(行)控制電路、視頻時序產生電路、模擬信號處理電路、A/D轉換電路、I2C編程接口等部件,可根據需要輸出多種標準的視頻信號7。圖3 圖象采集信號時序OV
19、7620工作方式和輸出格式非常多,可以適應不同的應用場合,針對我們的較小系統,采用了單通道Y輸出,以與逐行掃描的工作方式。這些工作方式的實現是通過MCU 的I2 C編程控制的。當OV7620 設置工作方式穩定后,它就會輸出視頻數據,同時還有3個重要的參考信號輸出:幀同步信號SYNC,水平同步信號HREF,和像素時鐘信號PCLK8。參見圖3,每一個幀同步信號SYNC 周期包含480 個水平同步信號HREF脈沖,而每一個HREF周期包含640個PCLK時鐘脈沖。每一個PCLK時鐘輸出一個像素的視頻數據(8位標準的Bayer2pattern彩色RGB數據) 。2.2.2 圖象存儲模塊一FIFO存儲器
20、簡介FIFO( First In First Out)簡單說就是指先進先出。由于微電子技術的飛速發展,新一代FIFO芯片容量越來越大,體積越來越小,價格越來越便宜。作為一種新型大規模集成電路,FIFO芯片以其靈活、方便、高效的特性,逐漸在高速數據采集、高速數據處理、高速數據傳輸以與多機處理系統中得到越來越廣泛的應用。 在系統設計中,以增加數據傳輸率、處理大量數據流、匹配具有不同傳輸率的系統為目的而廣泛使用FIFO存儲器,從而提高了系統性能。FIFO存儲器是一個先入先出的雙口緩沖器,即第一個進入其的數據第一個被移出,其中一個存儲器的輸入口,另一個口是存儲器的輸出口。對于單片FIFO來說,主要有兩
21、種結構:觸發導向結構和零導向傳輸結構。觸發導向傳輸結構的FIFO是由寄存器陣列構成的,零導向傳輸結構的FIFO是由具有讀和寫地址指針的雙口RAM構成9。因此,選擇合適的存儲芯片對于提高系統性能很重要,在以往的設計中經常采用的是“乒乓型”存儲方式,這種方式就是采用兩片存儲器,數據首先進入其中一片,當數據滿時再讓數據進入第二片存儲器,同時通過邏輯控制,將第一片存儲器中的數據取走,以此類推,兩片輪流對數據進行緩存。這種方式有著較明顯的缺點,首先是控制復雜,要有專門的邏輯來維護這種輪流機制;其次,數據流的流向要不斷變化,限制了數據流的速率,還容易產生干擾。從數據傳輸上說,緩存芯片容量越大,對后續時序要
22、求就越低,可減少總線操作的頻次;但從數據存儲上說,就意味著需要開辟更大的存空間來進行進行緩沖,會增加計算機的存開銷,而且容量越大,成本也越高。因此,在綜合考慮系統性能和成本的基礎上,選擇滿足系統需要的芯片即可。FIFO存儲器是系統的緩沖環節,如果沒有FIFO存儲器,整個系統就不可能正常工作,它主要有幾方面的功能10: (1)對連續的數據流進行緩存,防止在進機和存儲操作時丟失數據; (2)數據集中起來進行進機和存儲,可避免頻繁的總線操作,減輕CPU的負擔; (3)允許系統進行DMA操作,提高數據的傳輸速度。這是至關重要的一點,如果不采用DMA操作,數據傳輸將達不到傳輸要求,而且大大增加CPU的負
23、擔,無法同時完成數據的存儲工作。FIFO又可以分為基于動態存儲的DRAM和基于靜態的SRAM。基于靜態SRAM的優點是不需要刷新電路,但容量小,需要多片才能存儲一幀數據;基于DRAM的優點是容量大,只需一片就能存儲一幀數據;缺點是必須有刷新電路。高幀頻CMOS成像系統在全分辨率下最高工作幀頻為250ftp,圖像大小為640×480像素,因此它的數據率約為768Mbit/s,我們采用FIFO存儲器對CMOS相機輸出的數據進行實時的存儲,這樣做不會影響CMOS相機的工作速度,適合于對圖像數據進行事后處理和分析。這里所用的FIFO 不能理解為傳統意義的FIFO ,因為數據的處理是針對每一幀
24、數據,而不是每一個數據。使用FIFO 的關鍵在于FIFO 的讀和寫使能的控制,而在控制FIFO 的過程中,不能使用FIFO 本身的full (滿) 和empty(空) 標志信息來產生控制信息,需要自己設計控制信息。本文根據MPEG- 2 碼流的實際處理,提出了一種FIFO 控制的巧妙設計,從而完成整幀數據處理的FIFO 設計。FIFO 是一種在電子系統得到廣泛應用的器件,通常用于數據的緩存和用于容納異步信號的頻率或相位的差異。FIFO 的實現通常是利用雙口RAM 和讀寫地址產生模塊來實現的11。FIFO 的接口信號包括異步的寫時鐘(wr - clk) 和讀時鐘(rd - clk) 、與寫時鐘同
25、步的寫有效(wr - en) 和寫數據(datain) 、與讀時鐘同步的讀有效( rd- en) 和讀數據( dataout) 。為了實現正確的讀寫和避免FIFO 的上溢或下溢,通常還應該給出與讀時鐘和寫時鐘同步的FIFO 的空標志和滿標志以禁止讀寫操作。二FIFO的功能描述Datain dataoutWr-clk fullWr-en emptyRd-clk almost-full Rd-en almost-empty圖4 FIFO的信號接口圖4為FIFO 的信號接口,如果利用雙口RAM和讀寫地址產生模塊來實現FIFO ,則在FIFO 的部需要用wr - clk 和rd - clk 控制讀寫地
26、址,寫地址根據寫時鐘和寫有效信號產生遞增的寫地址,讀地址根據讀時鐘和讀有效信號產生遞增的讀地址。FIFO的操作如下:在寫時鐘wr - clk 的上升沿,當wr - en有效時,將datain 寫入雙口RAM 中寫地址對應的位置中;在讀時鐘rd- clk 的上升沿,當rd- en 有效時,dataout 輸出雙口RAM 中讀地址對應的位置中的數據,始終將讀地址對應的雙口RAM中的數據輸出到讀數據總線上。這樣就實現了先進先出的功能。FIFO 的設計根據讀地址和寫地址關系產生FIFO 的滿標志和空標志。當FIFO 的滿標志有效時, FIFO禁止寫操作;當FIFO 的空標志有效時,FIFO 禁止讀操作
27、。如果我們自己用FPGA 實現FIFO 的設計,可以適當加大讀寫地址的差值關系,從而使得FIFO 產生的滿標志和空標志能夠正確的指示FIFO 的狀態,而不產生錯誤指示。文獻 1 采用了格雷碼對地址編碼的方式,避免讀寫時鐘完全異步而產生錯誤的滿標志和空標志,并給出了具體的實現方法,這種方法比適當加大讀寫地址的差值的方法多用了12個地址位。三存儲器芯片類型的選擇構成幀存儲器一般可采用靜態存儲器SRAM、動態存儲器DRAM、先進先出FIFO 存儲器、雙端口RAM等幾種芯片. 作為信號發生器使用的幀存儲器, 不需要隨機存取, 只需順序讀寫, 因此可以選擇FIFO 存儲器, 從而避免了復雜的讀寫地址.
28、FIFO 有獨立的數據輸入、輸出端口, 操作方便, 因此選擇FIFO 存儲芯片構成幀存儲器要比其它類型更為合理。選擇存取速度滿足要求的大容量FIFO 存儲芯片構成幀存器,AverLogic 公司的FIFO 存儲芯片AL422B是一個較好的選擇, 其基本參數: 存儲容量為393 216 字節×8 位; 讀寫周期為20 ns. 所有的尋址、刷新等操作都由集成在芯片部的控制系統完成, 因此外部連接與使用非常簡單,而且具有獨立的讀、寫操作, 寫入與讀出速率可以不同. 具有以上特點的AL422B 非常適合在視頻圖象信號發生器中應用。 采樣頻率13. 5MHz 和12MHz 時, NTSC 制、
29、PAL 制有關的取樣參數與存儲一幀電視圖象所需的容量如表1 所示。 參數 13.5MHZ采樣頻率 12MHZ采樣頻率NTSC制 PAL制 NTSC制 PAL制每行有效素數 720 720 640 640有效行數 480 575 484 575每個基色所需存儲容量 348480 41400 309760 36800每個基色所需AL422B 1 2 1 1表1 取樣參數與存儲容量 Tab.1 The sample parameter and memory capacity從電路簡化和成本考慮, 用一片AL422B 存儲一個基色的一幀較為理想, 在一般場合應用時, PAL制采用12MHz 的采樣時鐘
30、, NTSC 制使用13. 5MHz 采樣時鐘, 一片AL422B 就可以滿足一個基色的存儲容量要求, 整個系統共需3 片AL422B.。AL422B 的引腳功能如表2 所示. AL422B 有獨立的數據寫入和讀出端口, 讀寫操作獨立進行。名稱 引腳 功能DI0-DI7 1-4,11-14 /WE允許時,數據在WCK的上升沿寫入存儲體WCK 9 寫數據同步的時鐘信號/WE 5 寫數據允許,低有效/WRST 8 /WRST低有效時,寫指針復位,指向零地址DO0-DO7 15-28,25-28 /RE和/OE都允許時,數據在RCK的上升沿讀出RCK 20 讀數據同步的時鐘信號/RE 24 控制讀數
31、據的允許與否,低有效/RRST 21 /RRST低有效時,讀指針復位,指向零地址 /OE 22 /OE允許時,數據輸出到DO0-DO7引腳TST 7 出廠測試用,設計應用時應接地VDD 10 接3V或3.3VDEC/VDD 19 5V或3.3V選擇GND 6,23 接地線表2 AL422B引腳功能 Tab2 The pin function of AL422BPWE 控制寫數據的允許與否, PWE 低有效, 此時數據在WCK上升沿同步寫入存儲體, 并且寫指針自動指向下一地址. PWE 高無效, 此時FIFO 不接受數據, 寫指針不變. PWRST 低有效時, 寫指針復位,指向地址為零的存儲單元
32、。PRE 控制讀數據的允許與否, PRE 低有效, 此時數據在RCK上升沿由存儲體同步讀出, 并且讀指針自動指向下一地址. PRE 高無效, 此時不能讀取數據, 讀指針不變. PRRST 低有效時, 讀指針復位, 指向地址為零的存儲單元。四FIFO的控制設計從FIFO 的功能描述可以看出,普通FIFO 適合處理一般數據,但普通FIFO 設計仍然會產生錯誤,當滿標志有效時,即使FIFO 的wr - en 有效,FIFO 不會進行寫操作,而是產生錯誤;當空標志有效時,即使FIFO 的rd - en 有效,FIFO 也不會進行讀操作,同樣也是產生錯誤12。如果我們在FIFO 外加以邏輯控制,用FIF
33、O 的滿標志full 和空標志empty 分別控制FIFO 的寫有效和讀有效,就可以避免上述情況的發生。但在處理整幀的數據過程中,如果不能巧妙地設計FIFO 的控制,則很容易引起數據的混亂錯誤。原因在于FIFO 的空間大小常常不是N ×M,M 代表一幀數據的長度,N 為正整數。所以當普通FIFO 的滿標志有效時,FIFO 最后的一幀數據就不完整,隨著時間的推移,就不能保證FIFO 的讀出數據是一些完整的幀數據。從FIFO 讀出的數就變得雜亂無章,產生數據混亂錯誤。從以上的分析可以看出,處理整幀數據時,容易發生幀結構的錯誤,原因在于FIFO 的空間不是幀長的整數倍。為了避免這種情況,本
34、文提出了一種巧妙的設計,使得FIFO 讀入和讀出的數據都是整幀數據。也就是說,當FIFO 的滿標志full 有效時,此時當寫入FIFO 的數據剛好是一幀數據的結束,使得FIFO 的wr - en 無效,從而禁止向FIFO 寫入數據;如果FIFO 的full 滿標志無效,等下一幀數據開始時,再次使得FIFO 的wr - en 有效,數據能夠寫入FIFO ,從而保證FIFO 的寫入和讀出數據都是完整的幀數據13。同樣,當FIFO 的空標志empty 有效時,此時當FIFO 的讀出數據的一幀剛剛結束時,rd- en 無效,從而禁止FIFO 輸出;如果FIFO 空標志empty 無效,當FIFO下一幀
35、的數據要讀出時,使得rd- en 再次有效;rd en 兩次有效的時間間隔恰好是n 個數據幀的間隔,這樣有利于幀數據的處理。五FIFO控制的關鍵技術和仿真結果FIFO 控制技術的關鍵在于用于控制模塊的滿標志和空標志不是采用FIFO 本身的full 和empty ,而是我們特別加上的。所以當滿標志有效時,此時不代表FIFO 真正已滿,所以仍然可以向FIFO 寫入數據,當此幀數據寫入完畢,滿標志仍然有效時,寫使能wr en 無效,禁止FIFO 寫入。同樣當空標志有效時,也不代表FIFO 一定是空,一般情況下是非空,但FIFO 的數據開始少于一幀,所以仍然可以輸出數據,當此幀結束時,若empty 仍
36、然有效,此時rd- en無效,禁止從FIFO 讀出數據。通過用我們自己設計的空、滿標志控制FIFO 的讀、寫使能,使得讀、寫使能的有效時間或無效時間的間隔都是幀長的整數倍,從而達到控制FIFO 適合處理整幀數據的目的。因為處理的數據為整幀數據,故可利用幀頭產生一個幀頭同步信息,本文所列舉的例子的寫入和讀出的幀頭同步信息分別為psync 和outpsync 。當寫入幀頭psync 有效時,表明要開始寫入數據,如果此時full 無效,則輸出wr en 有效;如果此時full 有效,則輸出wr en 無效,控制FIFO 禁止寫入,圖5為其仿真圖。當讀出幀頭outpsync 有效時,表明要開始讀出數據
37、。圖5(a) : 寫幀頭psync 有效,full 無效,輸出寫wr en 有效,控制FIFO 可以寫入數據;因有數據寫入,empty 變成無效,FIFO 不空;圖5 ( b) : number1 控制,使得full 有效,但此時wr en 仍有效,所以不代表FIFO 真正滿;圖5I : 寫幀頭psync 有效,full 有效,輸出寫wr en 無效,控制FIFO 禁止寫入;如果此時empty 無效,則輸出讀rd- en 有效;如果此時empty 有效,則輸出rd- en 無效,控制FIFO 禁止讀出,圖3 為其仿真圖。圖6 (a) :讀幀頭outpsync 有效,empty 無效,輸出讀rd
38、 en 有效;控制FIFO 可讀;圖6 (b) :number2 控制,使得empty 有效,但此時rd en 仍有效,所以不代表FIFO 真正空;圖6 I :讀幀頭outpsync 有效,empty 有效,輸出寫rd en 無效,控制FIFO 禁止讀出;圖6 (d) :讀幀頭outpsync 有效,如果full 有效, 因開始讀出一幀數據,而沒有寫入一幀數據,full 變成無效,表明FIFO 處于可讀可寫狀態。 圖5 寫入數據控制仿真結果圖圖6 讀出數據控制仿真結果圖2.2.3圖象傳輸模塊在工業生產和科學技術研究的各行業中,常常利用PC或工控機對各種數據進行采集。這其中有很多地方需要對各種數
39、據進行采集,如液位、溫度、壓力、頻率等。現在常用的采集方式是通過數據采集板卡,常用的有A/D卡以與422、485等總線板卡。采用板卡不僅安裝麻煩、易受機箱環境的干擾,而且由于受計算機插槽數量和地址、中斷資源的限制,不可能掛接很多設備。而通用串行總線(Universal Aerial Bus,簡稱USB)的出現,很好地解決了以上這些沖突,很容易就能實現低成本、高可靠性、多點的數據采集。五 USB簡介 USB是一些PC大廠商,如Microsoft、Intel等為了解決日益增加的PC外設與有限的主板插槽和端口之間的矛盾而制定的一種串行通信的標準,自1995年在Comdex上亮相以來至今已廣泛的為各P
40、C廠家所支持。現在生產的PC幾乎都配備了USB接口,Microsft的Windows98、NT以與MacOS、Linux、FreeBSD等流行操作系統都增加了對USB的支持。五 USB系統的構成USB系統主要由主控制器(Host Controller)、USB HUB和USB外設(Peripherals Node)組成系統拓撲結構。主控制器負責主機和USB設備間數據流的傳輸。這些傳輸數據被當作連續的比特流。每個設備提供了一個或多個可以與客戶程序通信的接口,每個接口由0個或多個管道組成,它們分別獨立地在客戶程序和設備的特定終端間傳輸數據。USBD為主機軟件的現實需求建立了接口和管道,當提出配置請
41、求時,主控制器根據主機軟件提供的參數提供服務。USB支持四種基本的數據傳輸模式:控制傳輸,等時傳輸,中斷傳輸與數據塊傳輸。每種傳輸模式應用到具有一樣名字的終端,則具有不同的性質。控制傳輸類型:支持外設與主機之間的控制,狀態,配置等信息的傳輸,為外設與主機之間提供一個控制通道。每種外設都支持控制傳輸類型,這樣主機與外設之間就可以傳送配置和命令/狀態信息。 等時傳輸類型:支持有周期性,有限的時延和帶寬且數據傳輸速率不變的外設與主機間的數據傳輸。該類型無差錯校驗,故不能保證正確的數據傳輸,支持像計算機集成系統(CTI)和音頻系統與主機的數據傳輸。中斷傳輸類型:支持像游戲手柄,鼠標和鍵盤等輸入設備,這
42、些設備與主機間數據傳輸量小,無周期性,但對響應時間敏感,要求馬上響應。數據塊傳輸類型:支持打印機,掃描儀,數碼相機等外設,這些外設與主機間傳輸的數據量大,USB在滿足帶寬的情況下才進行該類型的數據傳輸。USB采用分塊帶寬分配方案,若外設超過當前帶寬分配或潛在的要求,則不能進入該設備。同步和中斷傳輸類型的終端保留帶寬,并保證數據按一定的速率傳送。集中和控制終端按可用的最佳帶寬來傳輸傳輸數據。(2)USB的主要優點 速度快。USB有高速和低速兩種方式,主模式為高速模式,速率為12Mbps,另外為了適應一些不需要很大吞吐量和很高實時性的設備,如鼠標等,USB還提供低速方式,速率為1.5Mb/s。 設
43、備安裝和配置容易。安裝USB設備不必再打開機箱,加減已安裝過的設備完全不用關閉計算機。所有USB設備支持熱拔插,系統對其進行自動配置,徹底拋棄了過去的跳線和撥碼開關設置。 易于擴展。通過使用Hub擴展可撥接多達127個外設。標準USB電纜長度為3m(5m低速)。通過Hub或中繼器可以使外設距離達到30m。 能夠采用總線供電。USB總線提供最大達5V電壓、500mA電流。 使用靈活。USB共有種傳輸模式:控制傳輸(control)、同步傳輸(Synchronization)、中斷傳輸(interrupt)、批量傳輸(bulk),以適應不同設備的需要。二.采用USB傳輸的數據采集設備(1)硬件組成
44、 一個實用的USB數據采集系統包括A/D轉換器、微控制器以與USB通信接口。為了擴展其用途,還可以加上多路模擬開關和數字I/O端口。 系統的A/D、數字I/O的設計可沿用傳統的設計方法,根據采集的精度、速率、通道數等諸元素選擇合適的芯片,設計時應充分注意抗干擾的性能,尤其對A/D采集更是如此。 在微控制器和USB接口的選擇上有兩種方式,一種是采用普通單片機加上專用的USB通信芯片。現在的專用芯片中較流行的有National Semiconductor公司的USBN9602、ScanLogic公司的SL11等。筆者曾經采用Atmel公司的89c51單片機和USBN9602芯片構成系統,取得了良好
45、的效果。這種方案的設計和調試比較麻煩,成本相對而言也比較高。 另一種方案是采用具備USB通信功能的單片機。隨著USB應用的日益廣泛,Intel、SGS-Tomson、Cypress、Philips等芯片廠商都推出了具備USB通信接口的單片機。這些單片機處理能力強,有的本身就具備多路A/D,構成系統的電路簡單,調試方便,電磁兼容性好,因此采用具備USB接口的單片機是構成USB數據采集系統較好的方案。不過,由于具備了USB接口,這些芯片與過去的開發系統通常是不兼容的,需要購買新的開發系統,投資較高。 USB的一大優點是可以提供電源。在數據采集設備中耗電量通常不大,因此可以設計成采用總線供電的設備。
46、 (2)軟件構成 Windows98 提供了多種USB設備的驅動程序,但好象還沒有一種是專門針對數據采集系統的,所以必須針對特定的設備來編制驅動程序。盡管系統已經提供了很多標準接口函數,但編制驅動程序仍然是USB開發中最困難的一件事情,通常采用Windows DDK來實現。目前有許多第三方軟件廠商提供了各種各樣的生成工具,象Compuware的driver works,Blue Waters的Driver Wizard等,它們能夠很容易地在幾分鐘之生成高質量的USB的驅動程序。設備中單片機程序的編制也同樣困難,而且沒有任何一家廠商提供了自動生成的工具。編制一個穩定、完善的單片機程序直接關系到設
47、備性能,必須給予充分的重視。 以上兩個程序是開發者所關心的,用戶不大關心。用戶關心的是如何高效地通過鼠標來操作設備,如何處理和分析采集進來的大量數據,因此還必須有高質量的用戶軟件。用戶軟件必須有友好的界面,強大的數據分析和處理能力以與為用戶提供進行再開發的接口。 三實現USB遠距離采集數據傳輸傳輸距離是限制USB在工業現場應用的一個障礙,即使增加了中繼或Hub,USB傳輸距離通常也不超過幾十米,這對工業現場而言顯然是太短了。 現在工業現場有大量采用RS485傳輸數據的采集設備。RS485有其固有的優點,即它的傳輸距離可以達到1200米以上,并且可以掛接多個設備。其不足之處在于傳輸速度慢,采用總
48、線方式,設備之間相互影響,可靠性差,需要板卡的支持,成本高,安裝麻煩等。RS485的這些缺點恰好能被USB所彌補,而USB傳輸距離的限制恰好又是RS485的優勢所在。如果能將兩者結合起來,優勢互補,就能夠產生一種快速、可靠、低成本的遠距離數據采集系統。這種系統的基本思想是:在采集現場,將傳感器采集到的模擬量數字化以后,利用RS485協議將數據上傳。在PC端有一個雙向RS485USB的轉換接口,利用這個轉接口接收485的數據并通過USB接口傳輸至PC機進行分析處理。而主機向設備發送數據的過程正好相反:主機向USB口發送數據,數據通過485USB轉換口轉換為485協議向遠端輸送。 在方案中,關鍵設
49、備是485USB轉換器。這樣的設備在國外都已經面市。筆者也曾經用National Semiconductor公司的USBN9602+89c51+MAX485實現過這一功能,在實際應用中取得了良好的效果。 需要特別說明的是,在485USB轉換器中,485接口的功能和通常采用485卡的接口性能(速率、驅動能力等)完全一樣,也就是說,一個485USB轉換器就能夠完全取代一塊485卡,成本要低許多,同時具有安裝方便、不受插槽數限制、不用外接電源等優點,為工業和科研數據采集提供了一條方便、廉價、有效的途徑。四綜合式采集數據傳輸系統的實現現在的數據采集系統通常有分布式和總線兩種。采用USB接口易于實現分布
50、式,而485接口則易于實現總線式,如果將這兩者結合起來,則能夠實現一種綜合式的數據采集系統。實現方法是:仍然利用上面提到過的USB485轉換器實現兩種協議的轉換。由于USB的數據傳輸速率大大高于485,因此在每條485總線上仍然可以掛接多個設備。 這種傳輸系統適用于一些由多個空間上相對分散的工作點,而每個工作點又有多個數據需要進行采集和傳輸的場合,例如大型糧庫,每個糧倉在空間上相對分散,而每個糧倉又需要采集溫度、濕度、二氧化碳濃度等一系列數據。在這樣的情況下,每一個糧倉可以分配一條485總線,將溫度、濕度、二氧化碳濃度等量的采集設備都掛接到485總線上,然后每個糧倉再通過485總線傳輸到監控中
51、心,并轉換為USB協議傳輸到PC機,多個糧倉的傳輸數據在轉換為USB協議后可以通過Hub連接到一臺PC機上。由于糧倉的各種數據監測實時性要求不是很高,因此采用這種方法可以用一臺PC機完成對一個大型糧庫的所有監測工作。 五芯片選擇USB 芯片在外設領域的應用面很廣。USB外設控制芯片通常包括USB收發器、串行接口引擎(SIE)、USB控制器和外設功能等四個模塊(SIE主要以硬件方式處理大多數USB協議,USB控制器負責與PC交互通信信息)。USB控制器一般有兩種類型:一種是MCU集成在芯片里面的,如 Intel的8X930AX、CYPRESS的EZ-USB、SIEMENS的C541U以與 MOT
52、OLORA、National Semiconductors等公司的產品;另一種就是純粹的USB接口芯片,僅處理 USB通信,如PHILIPS的PDIUSBD11(I2C接口)、 PDIUSBP11A、PDIUSBD12(并行接口),National Semiconductor的USBN9602、USBN9603、USBN9604等。 集成MCU的USB控制芯片優點是CPU與控制器在同一片芯片里,CPU只需要訪問一系列寄存器和存儲器,便可實現USB口的數據傳輸,最大限度的發揮 USB高速的特點。而且簡化了程序的設計,極降低了USB外設的
53、開發難度。缺點是靈活性不夠高,開發成本較大。 純粹的USB接口芯片的優點是系統組成靈活,可根據不同的系統需求,搭配不同的MCU,具有較高的性能價格比。但因為USB控制器是通過串行口或并行口與MCU連接,在傳輸速度方面和開發難度方面不如集成了MCU的控制芯片。不同的實現方式在設計開銷、上市時間、元器件開銷和引腳數方面各有優劣,選擇不同的方案意味著在以上各項指標中進行取舍。本文主要介紹USB接口芯片選用Cypress 公司EZ-USB FX2 芯片CY7C68013A。它部集成有增強型USB CORE(高速8051 Core具有4Clock/Cycle的48MHZ8051CPU,比一般標準8051的執行速度快10倍)、GPIF和FIFO兩種接口模式、DMA引擎,并提供全部傳輸類型(等時、批量、中斷、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CCMA 0157-2023旋挖鉆機動力頭扭矩測試方法
- T/CCIAS 013-2023牛油火鍋底料
- T/CCASC 2002-2022醫用級聚氯乙烯專用樹脂
- T/CCAS 036-2024水泥工廠新、改、擴建設項目安全生產驗收評定技術規范
- T/CCAS 010-2019水泥窯協同處置飛灰預處理產品水洗氯化物
- T/CATEA 007-2023甘蔗脫毒健康種苗田間繁育技術規程
- T/CASWSS 023-2023社區老年中醫健康管理服務中心中醫保健服務技術規范
- T/CARD 041-2023殘疾人社會康復服務指南
- T/CAR 16-2023制冷集裝箱用外掛式柴油發電機組技術要求
- T/CAQI 33-2017空氣凈化器氣態污染物凈化性能分級第1部分:甲醛
- 神經外科醫師職業發展計劃
- 高磷血癥的飲食護理
- 中國清潔服務行業發展運行現狀及投資潛力預測報告
- 2025年基礎會計試題庫及答案
- 外資公司財報審計報告及附注模板(英文版)
- 糧食倉儲安全生產三項制度
- 江蘇省鹽城市(2024年-2025年小學六年級語文)部編版期末考試(下學期)試卷及答案
- 2024 大模型典型示范應用案例集-1
- 金融合規培訓
- DB21T 3411-2024 城市園林綠化智慧養護技術規程
- 【MOOC】信息檢索與利用-江南大學 中國大學慕課MOOC答案
評論
0/150
提交評論