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

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

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

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

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

1引 言

隨著數(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芯片組和FPGA的CCD相機(jī)采集系統(tǒng)。系統(tǒng)結(jié)構(gòu)如圖1所示。

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

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

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

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

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開始傳輸數(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ī)上開發(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所示。

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

2.2異步操作

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

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

2.3等時(shí)操作

等時(shí)接收的工作流程圖圖5所示。

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

3驅(qū)動(dòng)開發(fā)

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

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

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

4結(jié)語(yǔ)

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

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

    關(guān)注

    1629

    文章

    21738

    瀏覽量

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

    關(guān)注

    455

    文章

    50818

    瀏覽量

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

    關(guān)注

    146

    文章

    17149

    瀏覽量

    351225
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SM320C6711-EP,SM320C6711B-EP,SM320C6711C-EP,SM320C6711D-EP浮點(diǎn)數(shù)字信號(hào)處理器數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《SM320C6711-EP,SM320C6711B-EP,SM320C6711C-EP,SM320C6711D-EP浮點(diǎn)數(shù)字信號(hào)處理器數(shù)據(jù).pdf》資料免費(fèi)下載
    發(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>浮點(diǎn)數(shù)字信號(hào)處理器數(shù)據(jù)

    STMC32F103C8T6核心板原理圖

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

    CW2015_STM32F1XX_C8T6資料包分享

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

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

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

    請(qǐng)問(wèn)stm8s105k4t6c屬于ARM芯片嗎?

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

    stm8s207s8t6c這個(gè)型號(hào)有沒(méi)有can接口?

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

    請(qǐng)問(wèn)STM32F100C8T6和STM32F100C8T6B有區(qū)別嗎?

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

    STM32F103C8 UART1, I2C1, CAN沖突問(wèn)題怎么解決?

    ST芯片型號(hào): STM32F103C8T6 PB7,PB6用于UART1 PB8,PB9用于做CAN. 問(wèn)題:I2
    發(fā)表于 04-08 08:10

    MGMF242L1C8M-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MGMF242L1C8M-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有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系列 介紹 松下

    stm32f051c8t6的啟動(dòng)文件用在stm32f030c8t6會(huì)不會(huì)有問(wèn)題?

    stm32f051c8t6的啟動(dòng)文件用在stm32f030c8t6會(huì)不會(huì)有問(wèn)題?stm32f051c8t6.s里有個(gè)配置是TSC_IRQHandler與stm32f0xx.s里的TS_IRQHandler,有啥區(qū)別
    發(fā)表于 03-14 06:02

    MGMF132L1C8M-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MGMF132L1C8M-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有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. 一臺(tái)計(jì)算機(jī)(Windows操作系統(tǒng)) 2. STM32F103C8T6開發(fā)板 3. USB轉(zhuǎn)TTL線(也稱為串口線) 4. 充電線(用于給開發(fā)板供電) 5. ST-LINK
    的頭像 發(fā)表于 01-31 15:46 ?7301次閱讀

    ccd是什么類型的相機(jī)

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

    AGM CPLD 應(yīng)用指南

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

    stm32f103c8t6讀內(nèi)部溫度

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