0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于EP1C6T144C8芯片的CCD相機采集系統(tǒng)設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-01-09 07:23 ? 次閱讀

1引 言

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

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

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

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

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

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

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

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

基于EP1C6T144C8芯片的CCD相機采集系統(tǒng)設(shè)計

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

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

基于EP1C6T144C8芯片的CCD相機采集系統(tǒng)設(shè)計

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

2.1 MCU軟件設(shè)計

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

基于EP1C6T144C8芯片的CCD相機采集系統(tǒng)設(shè)計

2.2異步操作

異步發(fā)送“自動插入header的異步包發(fā)送”為例,介紹如何進行異步發(fā)送操作,其流程圖如圖4所示。

基于EP1C6T144C8芯片的CCD相機采集系統(tǒng)設(shè)計

2.3等時操作

等時接收的工作流程圖圖5所示。

基于EP1C6T144C8芯片的CCD相機采集系統(tǒng)設(shè)計

3驅(qū)動開發(fā)

采用Numega公司的DriverWorks工具開發(fā)驅(qū)動,該軟件對DDK中的函數(shù)進行很好的封裝。使用DriverWizard可以直接生成驅(qū)動程序源代碼的框架,只需對其做修改即可。

由于Windows已經(jīng)提供了總線驅(qū)動程序和端口驅(qū)動程序,因此只需要開發(fā)功能驅(qū)動程序即可。DriverWorks將DDK下的1394請求包(IRB)封裝成KIrb類,并將總線驅(qū)動程序的功能封裝在K1394LowerDevice類中,對于等時傳輸和異步傳輸也有相應(yīng)的類對其相應(yīng)的DDK進行封裝。

1394WDM驅(qū)動程序使用IRB(請求包)和總線進行通信,IRB被發(fā)送到總線驅(qū)動,總線驅(qū)動將IRB在總線上執(zhí)行。DriverWorks使用KIrb類迅速創(chuàng)建一個IRB,同時使用K1394LowerDevice::SubmitIrb函數(shù)將IRB發(fā)送到總線驅(qū)動。

4結(jié)語

經(jīng)測試,該系統(tǒng)實現(xiàn)IEEE1394a的傳輸協(xié)議,實現(xiàn)了異步和同步傳輸。IEEE已經(jīng)推出1394b標(biāo)準(zhǔn),1394b的最高速度可以達到3.2 Gb/s,有效傳輸距離延長到100 m,而且有些公司已經(jīng)開始推出1394b控制芯片。該系統(tǒng)不但實現(xiàn)了設(shè)備端與PC主機之間數(shù)據(jù)的高速傳輸,同時還為1394b傳輸系統(tǒng)的設(shè)計和實現(xiàn)提供了有效的鋪墊。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598930
  • 芯片
    +關(guān)注

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417167
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16667

    瀏覽量

    347786
收藏 人收藏

    評論

    相關(guān)推薦

    SM320C6711-EP,SM320C6711B-EP,SM320C6711C-EP,SM320C6711D-EP浮點數(shù)字信號處理器數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《SM320C6711-EP,SM320C6711B-EP,SM320C6711C-EP,SM320C6711D-EP浮點數(shù)字信號處理器數(shù)據(jù).pdf》資料免費下載
    發(fā)表于 08-03 10:07 ?0次下載
    SM320<b class='flag-5'>C6711-EP</b>,SM320<b class='flag-5'>C6711B-EP</b>,SM320<b class='flag-5'>C6711C-EP</b>,SM320<b class='flag-5'>C6711D-EP</b>浮點數(shù)字信號處理器數(shù)據(jù)

    STMC32F103C8T6核心板原理圖

    STM32F103C8T6原理圖
    發(fā)表于 07-15 11:47 ?0次下載

    CW2015_STM32F1XX_C8T6資料包分享

    CW2015_STM32F1XX_C8T6
    發(fā)表于 06-07 12:46 ?4次下載

    學(xué)STM32為什么首選F103C8T6?

    這個價格低廉性能優(yōu)越的芯片。F103C8T6的優(yōu)勢有哪些?1.高性能STM32F103C8T6采用了ARMCortex-M3內(nèi)核,主頻高達72MHz,具有強大的處
    的頭像 發(fā)表于 05-18 08:04 ?2870次閱讀
    學(xué)STM32為什么首選F103<b class='flag-5'>C8T6</b>?

    請問stm8s105k4t6c屬于ARM芯片嗎?

    各位大神,stm8s105k4t6c屬于ARM芯片
    發(fā)表于 05-15 07:38

    stm8s207s8t6c這個型號有沒有can接口?

    stm8s207s8t6c的can接口問題: 1. stm8s207s8t6c這個型號有沒有can接口? 2.看官網(wǎng)的資料沒有can接口,但是實際用著有can接口數(shù)據(jù)正常 3.官網(wǎng)資料有變化
    發(fā)表于 05-07 07:08

    請問STM32F100C8T6和STM32F100C8T6B有區(qū)別嗎?

    最近在用STM32F100C8T6,但是市場上有很多STM32F100C8T6B的型號, 有知道這個尾綴帶B的和不帶B的有啥區(qū)別嗎? 看絲印都不一樣,不知道能否完全替代的?
    發(fā)表于 04-10 07:33

    MGMF242L1C8M-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MGMF242L1C8M-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MGMF242L1C8M-MINAS A6
    發(fā)表于 04-05 18:46
    MGMF242L<b class='flag-5'>1C8</b>M-MINAS A<b class='flag-5'>6</b>N系列 介紹 松下

    MGMF132L1C8M-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MGMF132L1C8M-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MGMF132L1C8M-MINAS A6
    發(fā)表于 03-04 19:11
    MGMF132L<b class='flag-5'>1C8</b>M-MINAS A<b class='flag-5'>6</b>N系列 介紹 松下

    用USB轉(zhuǎn)TTL線怎么把程序燒寫到stm32f103C8T6

    ,我們需要準(zhǔn)備以下材料: 1. 一臺計算機(Windows操作系統(tǒng)) 2. STM32F103C8T6開發(fā)板 3. USB轉(zhuǎn)TTL線(也稱為串口線) 4. 充電線(用于給開發(fā)板供電) 5. ST-LINK
    的頭像 發(fā)表于 01-31 15:46 ?6226次閱讀

    ccd是什么類型的相機

    、應(yīng)用領(lǐng)域等方面進行詳細(xì)介紹,以便讀者更好地理解和了解CCD相機。 CCD相機的原理和結(jié)構(gòu) CCD相機
    的頭像 發(fā)表于 01-10 15:27 ?1973次閱讀

    AGM CPLD 應(yīng)用指南

    (CPLD) EPM570T144IxN---->AG576SL144(CPLD) EP3C5E144—>AG6KL144 EP4CE6E2
    的頭像 發(fā)表于 01-10 09:29 ?706次閱讀
    AGM CPLD 應(yīng)用指南

    stm32f103c8t6讀內(nèi)部溫度

    STM32F103C8T6是一款32位的Cortex-M3內(nèi)核微控制器,它擁有豐富的外設(shè)資源和強大的計算能力,可以廣泛應(yīng)用于各種嵌入式系統(tǒng)中。其中一個重要的功能是能夠使用內(nèi)部傳感器來讀取芯片的溫度
    的頭像 發(fā)表于 01-08 13:48 ?2581次閱讀

    stm32f103c8t6怎么連接噪聲傳感器

    連接噪聲傳感器到STM32F103C8T6需要以下步驟: 確定傳感器和STM32F103C8T6之間的連接接口。噪聲傳感器通常使用模擬信號輸出,可以將其連接到STM32F103C8T6的模擬輸入引腳
    的頭像 發(fā)表于 12-21 16:10 ?1085次閱讀

    基于CW32F030C8T6的舵機控制應(yīng)用

    基于CW32F030C8T6的舵機控制應(yīng)用
    的頭像 發(fā)表于 10-25 16:52 ?702次閱讀
    基于CW32F030<b class='flag-5'>C8T6</b>的舵機控制應(yīng)用