熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于PCI總線的模擬高速CCD數據輸出系統

基于PCI總線的模擬高速CCD數據輸出系統

時間:2008-12-23 15:30:15來源:ronggang

導語:?在闡述相關設計要求的基礎上,介紹了一種用于測試目的、基于PCI總線的模擬高速CCD數據輸出系統的開發過程,包括系統的硬件設計和相關軟件的開發,著重對設計思路和方法做了詳細介紹
摘 要:在闡述相關設計要求的基礎上,介紹了一種用于測試目的、基于PCI總線的模擬高速CCD數據輸出系統的開發過程,包括系統的硬件設計和相關軟件的開發,著重對設計思路和方法做了詳細介紹。 關鍵詞:PCI總線 PCI 9054 WinDriver [b][align=center]High Speed Data Outputting System Based on PCI Bus Pi Hai-feng Li Zi-tian Xu Xiu-zhen Xue Li-jun[/align][/b] Abstract: Followed the expatiation of design requirement, the development process for a system based on PCI bus is expounded, which is assumed as CCD high speed data outputting system and used for testing. The design idea and method is emphasized. Key words: PCI bus PCI9054 WinDriver   光譜成像儀是集光學、光譜學、精密機械、電子技術及計算機技術于一體的新型探測儀器。其中,CCD(charge coupled device)成像系統,將采集到的光譜信息轉換為可處理、存儲的電信號。由于數據量龐大,CCD成像系統所采集的數據在存儲之前通常都要經過壓縮處理。在光譜成像儀的研制過程中,需要這樣一種測試設備,它模擬光譜成像儀CCD成像系統,對外持續輸出已知數據及時序信號。通過將已知的發送數據,和經過壓縮后接收到的數據進行對比,可以量化地檢測數據壓縮系統的性能指標。 0. 系統要求及設計思路   本文中高速數據輸出卡的功能是完成對光譜成像儀CCD系統數據輸出過程的模擬。光譜成像儀CCD系統的數據輸出格式如下: [align=center] 圖1 光譜成像儀CCD系統數據輸出格式[/align]   其中,圖象數據與輔助數據分時共用數據線,在幀正程傳送256(行) x 512(列) x 12bit圖像數據,在幀逆程傳送128x12bit輔助數據,一幀周期的數據共有131200x12bit,而一幅完整的光譜圖象要包含512幀數據。系統輸出時鐘為8.9M Hz,全部輸出信號為LVDS電平接口。   為達到模擬效果,要求數據輸出卡以相同的數據格式及接口,持續不間斷地對外輸出數據;同時,為測試后續數據壓縮系統所采用壓縮算法針對不同特性圖像數據的有效性,還要求數據輸出卡能夠較為方便的更換輸出數據。   針對以上系統要求,選用了基于PCI總線的設計方案:將要輸出的圖像數據文件放置于特定內存區中,作為為數據源,根據計算機控制,循環對該數據文件所在內存區進行讀取,并將讀取的數據向外發送。從而達到模擬CCD系統數據輸出的效果。如果要更換輸出數據,只需將新的數據重新置入內存區,具有較強的靈活性,使測試過程更為簡潔。 1. 系統的硬件設計   高速數據輸出卡的硬件結構框圖如下圖所示,PCI總線設備接口選用專用接口芯片PCI 9054,系統時鐘信號分別來自計算機所提供的PCI時鐘和卡自身所帶的8.9M Hz晶振。整個過程的時序控制由可編程邏輯器件完成,由其控制對PCI 9054產生定時中斷,PCI 9054響應這個外部中斷,并在PCI總線上對計算機發出PCI中斷信號,當上位機檢測到PCI 9054這個中斷信號后,就立即控制PCI 9054以連續DMA方式從上位機指定的內存區域讀取數據,并向外發送至大容量FIFO進行數據緩沖。FIFO中的12位的圖象數據以及數據時鐘、幀同步兩個時序信號經過LVDS驅動器轉換為差分信號,發送至后續設備進行處理。 [align=center] 圖2 高速數據輸出卡硬件結構框圖[/align]   在本系統中,將PCI 9054設定為C工作模式,即32位地址、32位數據、總線非復用工作模式。由于PCI 9054從上位機讀取數據均發送到FIFO一個設備,因此其Local端地址線不起任何作用,而數據線僅選用高12位。此外,在本設計中采用串行EEPROM 93LC56B對PCI 9054進行配置,在上電后,PCI 9054自動讀取93LC56B中的數據,設置相關寄存器,完成初始化操作。   鑒于本系統高速,大數據量的特點,一般常用的FIFO無法適應要求,因此選用了384K x 8 bit的視頻幀存儲器AL422B,作為數據緩沖。AL422B由3M位的DRAM組成,工作頻率最高可達50 MHz,有獨立的輸入、輸出接口及讀寫時鐘,可同時進行讀寫操作;/RE,/WR,/REST及/WRST四個輸入信號分別控制AL422B的讀、寫與讀指針、寫指針復位操作。本系統中,將兩片AL422B并聯,擴展為384K x 16 bit的FIFO存儲器。   整個過程的時序控制由可編程邏輯器件完成,它的工作包括:向PCI 9054發出定時中斷信號,由其向上位計算機申請中斷;控制數據緩沖器AL422B的讀寫時序,包括其初始化復位操作;產生PCI 9054所需的時序信號。 2 系統軟件開發   整個系統的軟件包括PCI 9054驅動程序與上位機應用程序,圖像數據預處理(格式轉換)程序及可編程邏輯器件CPLD的VHLD程序。在此,僅對PCI 9054驅動程序與應用程序的開發作以簡要介紹。   WinDriver是Jungo公司出品的開發工具包,它支持的總線結構包括PCI/CardBus/ISA/ISAPnP/EISA/CompactPCI和USB,可大大簡化生成硬件驅動程序和開發應用程序的過程。本次開發使用的是WinDriver 6.03版。   WinDriver已經內置了包括PCI 9054在內的多種PCI/USB接口芯片的驅動程序,因此只需將設計完成的PCI卡插入計算機,然后運行Windriver的向導程序,并在列表中選擇相應的PCI接口芯片,只要硬件接口連接正確,即可生成相應的 .inf文件。inf文件包含了設備類型、生產廠商、型號及拷貝文件的路徑等PCI硬件設備的信息,通過inf文件,Windows才可以找到PCI卡并完成對其驅動程序的安裝。 [align=center] 圖3 使用WinDriver生成PCI卡硬件設備信息文件(.inf文件)界面[/align]   上位機軟件開發采用用戶模式,其流程圖如圖4所示: [align=center] 圖4 上位機軟件流程圖[/align]   由于AL422B并不象其它通用FIFO那樣能提供數據空、半滿、全滿等邏輯信號,因此只能根據其數據發送速率、FIFO容量及PCI總線速率,來設定一個定時中斷。這個定時中斷設定為數據輸出卡向外發送一幀數據所需的時間,約為14.8ms,即數據輸出卡每向外發送一幀數據,必定會從上位機緩沖區中讀入一幀數據。由于在啟動定時中斷前,數據輸出卡已經預先讀取一幀,因此,即便上位機對定時中斷的響應有一定延遲,也不會出現FIFO被讀空的情況。同時,由于FIFO的深度為384K,近似于3幀的數據量,因此也不可能出現FIFO被寫滿,而造成數據丟失的情況。定時中斷由卡上的CPLD根據輸入時鐘精確產生,在定時中斷服務程序中,程序依次讀取一幅完整光譜圖像中的一幀數據,若全部512幀數據被讀完,則指針歸零,從頭再次開始,以此保證光譜圖像數據的循環發送。下面給出了中斷服務程序的部分源代碼。WinDriver針對PCI 9054芯片,提供了大量API函數可供調用,因此使對PCI 9054的編程操作非常方便。   void WINAPI PLX_IntHandlerRoutine(P9054_HANDLE hPlx, P9054_INT_RESULT *intResult) ——中斷服務程序   { DWORD dwIntStatus;   P9054_DMAReadWriteBlock(hPlx,0x0,(PVOID)pBuffer,SEND_BLOCK_SIZE,FALSE,P9054_MODE_WORD,P9054_DMA_CHANNEL_0);   —— 控制PCI 9054以DMA方式從上位機緩沖區讀取1幀數據   if(block_num   { pBuffer=pBuffer+SEND_BLOCK_SIZE;   block_num++;   } ——每發送1幀數據后,數據指針向后移動一幀的數據量,已發送幀計數加1   else   { pBuffer=Buffer; block_num=0; ——512幀發送完后,指針回零,從而實現512幀數據的循環讀取   }   ……   dwIntStatus = P9054_ReadReg (hPlx, P9054_INTCSR);   P9054_WriteReg (hPlx, P9054_INTCSR, dwIntStatus | 0x00000d00);   ——開中斷,中斷服務程序結束,等待下一次中斷   } 3. 測試結果和結論   將高速數據輸出卡安裝在計算機上,運行應用程序,即可使數據輸出卡進行工作。下圖是通過示波器采集的數據輸出卡上部分信號的時序圖。 [align=center] 圖5 PCI高速數據輸出卡部分信號時序圖[/align]   其中,LINTi#為PCI 9054的局域端中斷輸入,由CPLD的定時中斷信號產生;INTA為PCI 9054在PCI總線上輸出的中斷請求信號;WE\為數據輸出卡上FIFO的寫使能信號,當其有效時,向FIFO寫入數據;INT_EN\為定時中斷使能信號,由它控制CPLD開始產生定時中斷。有圖中可看出,在預讀取一幀數據后,定時中斷使能信號有效,CPLD開始向PCI 9054發出定時中斷信號;PCI 9054接收到此信號后,隨即通過PCI總線向上位計算機請求中斷;在經過延時后,中斷被響應;在中斷服務程序中,數據輸出卡從計算機內存中讀出數據,讀取一幀數據的時間是14.6 ms。   由時序圖中可以看到,數據輸出卡讀取一幀數據的時間(即WE\信號有效時間),小于向外發送一幀數據的時間(即定時中斷間隔),由此可保證FIFO內數據不會被讀空。根據以上的試驗結果,可以充分說明高速數據輸出卡已實現了設計要求。   在高速數據輸出卡的開發過程中,采用了專用PCI接口芯片PCI 9054和總線軟件開發工具包WinDriver,能使我們從繁瑣復雜的PCI協議和底層驅動程序中擺脫出來,將更多的精力投入硬件電路設計及軟件功能的實現,大大節省了開發周期。目前此卡已用于實際的測試工作中,圓滿完成了設計要求。 參考文獻:   [1]. 李貴山,陳金鵬. PCI局部總線及應用. 西安電子科技大學出版社, 2003年   [2]. PCI Local Bus Specification,Revision 2.2. December 18, 1998   [3]. PCI 9054 Data Book,Version 2.1. http://www.plxtech.com January 2000   [4]. WinDriver v6.00 User’s Guide. Jungo Ltd, 17th March 2003   [5]. 李愛玲,張伯珩等. 基于CPLD的CCD相機圖像信號模擬器的設計 《微計算機信息》 2006年第1-2期 P151-152、P162

標簽:

點贊

分享到:

上一篇:無速度傳感器控制礦用電力機...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 华池县| 富民县| 泸水县| 新乡市| 聂荣县| 吉安市| 湖南省| 合阳县| 甘南县| 大连市| 灵石县| 阳原县| 调兵山市| 新蔡县| 墨脱县| 确山县| 广水市| 泽州县| 双牌县| 平凉市| 安吉县| 福贡县| 浦县| 沈丘县| 嵊泗县| 枞阳县| 河北省| 通海县| 财经| 九江县| 高雄市| 那坡县| 中卫市| 清丰县| 中西区| 永吉县| 延吉市| 林州市| 河间市| 南宫市| 略阳县|