新聞中心

        EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的CCD數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

        基于FPGA的CCD數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

        作者: 時(shí)間:2012-10-22 來(lái)源:網(wǎng)絡(luò) 收藏

        1引 言

        本文引用地址:http://www.104case.com/article/189837.htm

        隨著數(shù)字技術(shù)的進(jìn)步與發(fā)展,對(duì)于數(shù)據(jù)傳輸?shù)母咚俾市院蜁r(shí)實(shí)性提出了很高的要求,IEEE1394協(xié)議的出現(xiàn),很好地解決了該問(wèn)題。IEEE1394又名FIReWire,是一種高速串行總線,已經(jīng)發(fā)展了IEEE1394b提供最高達(dá)3.2 Gb/s的速率,并將傳輸距離擴(kuò)展到100 m。由此可以斷定1394必然成為未來(lái)的“標(biāo)準(zhǔn)”串行總線。

        IEEE1394支持2類事務(wù):等時(shí)傳輸和異步傳輸。

        異步傳輸(asynchrONous transactions)保證數(shù)據(jù)傳輸?shù)恼_性,但是不保證數(shù)據(jù)傳輸?shù)臅r(shí)實(shí)性,主要用來(lái)傳輸控制信息和一些對(duì)數(shù)據(jù)的正確性要求很高的數(shù)據(jù)。一個(gè)異步傳輸由4部分組成:請(qǐng)求數(shù)據(jù)包、請(qǐng)求確認(rèn)數(shù)據(jù)包、響應(yīng)數(shù)據(jù)包和響應(yīng)確認(rèn)數(shù)據(jù)包。確認(rèn)數(shù)據(jù)包是和請(qǐng)求數(shù)據(jù)包、響應(yīng)數(shù)據(jù)包同步的,當(dāng)請(qǐng)求數(shù)據(jù)包和響應(yīng)數(shù)據(jù)包發(fā)送之后立即就是確認(rèn)數(shù)據(jù)包。

        異步傳輸不占據(jù)固定的帶寬,但能保證節(jié)點(diǎn)獲得時(shí)間上的公平訪問(wèn),每一個(gè)執(zhí)行異步傳輸?shù)墓?jié)點(diǎn)都能在單一的間隔內(nèi)準(zhǔn)確地訪問(wèn)總線。

        等時(shí)傳輸(isochronous transactions)對(duì)于數(shù)據(jù)傳輸?shù)臅r(shí)實(shí)性要求很高,而對(duì)于數(shù)據(jù)傳輸?shù)恼_性要求相對(duì)較低。等時(shí)傳輸通過(guò)一個(gè)與等時(shí)傳輸關(guān)聯(lián)的信道號(hào)碼確定設(shè)備,其以固定的時(shí)間間隔(125μs)發(fā)送數(shù)據(jù),所以必須分配固定的總線帶寬,有著高于異步傳輸?shù)膬?yōu)先級(jí),等時(shí)傳輸可用的最大帶寬是整個(gè)帶寬的80%。

        根據(jù)協(xié)議的結(jié)構(gòu)可以將1394協(xié)議分成事務(wù)層、鏈路層、物理層、總線管理層。鏈路層和物理層目前已經(jīng)由硬件芯片實(shí)現(xiàn)。本設(shè)計(jì)主要針對(duì)芯片的應(yīng)用,因此對(duì)協(xié)議本身不做太多介紹和研究。

        2采集系統(tǒng)硬件設(shè)計(jì)

        根據(jù)硬件的特點(diǎn),設(shè)計(jì)了基于T1芯片組和相機(jī)采集系統(tǒng)。系統(tǒng)結(jié)構(gòu)如圖1所示。

        選用Altera公司的Cyclone系列器件EP1C6T144C8,可以為相機(jī)提供工作所需的驅(qū)動(dòng)時(shí)序,同時(shí)接收經(jīng)過(guò)A/D轉(zhuǎn)換的輸出圖像數(shù)據(jù)。

        這里主要介紹1394接口的數(shù)據(jù)采集,內(nèi)部的CCD驅(qū)動(dòng)邏輯暫時(shí)不介紹。本設(shè)計(jì)用于大量的數(shù)據(jù)的傳輸,因此使用TSB12LV32的DM端口來(lái)輸入和輸出數(shù)據(jù)。FPGA與TSB12LV32的DM端口的邏輯電路如圖2所示。

        FPGA內(nèi)部采用異步FIFO解決CCD輸出數(shù)據(jù)頻率和TSB12LV32采集頻率不匹配的問(wèn)題,寫時(shí)鐘由CCD輸出位同步信號(hào)提供,寫請(qǐng)求信號(hào)由FIFO的滿狀態(tài)共同控制;讀時(shí)鐘由TSB12LV32的DMCLK提供,讀請(qǐng)求信號(hào)由DMRW。當(dāng)TSB12LV32開(kāi)始傳輸數(shù)據(jù)時(shí),在FIFO的滿狀態(tài)和TSB12LV32的DMDONE引腳控制下,由CCD輸出位同步信號(hào)將數(shù)據(jù)寫入FIFO;在DMWR的控制下,由DMCLK將FIFO中的數(shù)據(jù)由DM0~DM7引腳讀入TSB12LV32,連接如圖2所示。

        2.1 MCU軟件設(shè)計(jì)

        軟件的設(shè)計(jì)分為2部分:一個(gè)是在PC機(jī)上開(kāi)發(fā)設(shè)備板的驅(qū)動(dòng)程序;另一個(gè)是使用設(shè)備板上面使用MCU控制和配置PDI1394L40的軟件流程。單片的主要負(fù)責(zé)初始化各個(gè)CRF,設(shè)置TSB12LV32的工作模式,配置ROM發(fā)送ROM,分析包頭,構(gòu)造包頭和數(shù)據(jù)包。配置ROM是設(shè)計(jì)的重點(diǎn)也是難點(diǎn),將設(shè)備插入PC的1394端口,通過(guò)配置ROM,使得PC機(jī)識(shí)得設(shè)備。配置ROM的流程如圖3所示。


        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 巴里| 瑞安市| 炎陵县| 陆良县| 芒康县| 徐闻县| 昌图县| 章丘市| 靖边县| 徐汇区| 安化县| 灵石县| 卢氏县| 谢通门县| 德钦县| 南皮县| 木兰县| 兴安盟| 根河市| 平罗县| 肇庆市| 烟台市| 沙河市| 车致| 昭通市| 永新县| 呼和浩特市| 会昌县| 镇坪县| 桐柏县| 都兰县| 瑞安市| 乐山市| 乌拉特后旗| 诸城市| 宣恩县| 石屏县| 碌曲县| 故城县| 乌拉特后旗| 黑龙江省|