《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的線陣CCD驅動時序發生器設計
基于FPGA的線陣CCD驅動時序發生器設計
張道勇 徐 杜 蔣永平 林梓榮
廣州廣東工業大學信息工程學院(510643)
摘要: 在分析TOSHIBA公司的TCD1702C型線陣CCD驅動時序關系的基礎上,結合現場可編程門陣列FPGA器件和VHDL硬件描述語言,采用Quartus Ⅱ 3.0軟件平臺與仿真環境,設計了可調節曝光時間的CCD驅動時序發生器,并闡述了其邏輯設計原理。
Abstract:
Key words :

摘   要: 在分析TOSHIBA公司的TCD1702C型線陣CCD驅動時序關系的基礎上,結合現場可編程門陣列FPGA器件和VHDL硬件描述語言,采用Quartus Ⅱ 3.0軟件平臺與仿真環境,設計了可調節曝光時間的CCD驅動時序發生器,并闡述了其邏輯設計原理。
關鍵詞: FPGA  VHDL  Quartus Ⅱ 3.0  電荷耦合器件(CCD)  驅動時序發生器

  電荷耦合器件(CCD)作為一種光電轉換器件,具有自掃描、體積小、分辨率高、可靠性好、光譜響應寬等優點,已廣泛應用于圖像傳感、景物識別、非接觸測量等領域。CCD應用的關鍵是驅動信號的產生及輸出信號的處理。CCD芯片的轉換效率、信噪比等光電轉換特性只有在合適的時序脈沖驅動下,才能達到器件工藝所規定的最佳值而輸出穩定可靠的視頻信號。然而由于不同廠家、不同型號的CCD器件的驅動電路各不相同,致使驅動信號的產生必須根據具體的CCD器件時序要求來設計驅動電路。如何快速、方便地產生CCD驅動電路,成為CCD應用的關鍵問題之一。
  隨著CCD技術的飛速發展,傳統的時序發生器實現方法如單片機驅動法、EPROM驅動法、直接數字驅動法等,由于速度和功能上的限制,已不能很好地滿足CCD應用向高速、小型化、智能化發展的需要。而可編程邏輯器件(CPLD、FPGA)以其高集成度、高速度、高可靠性、開發周期短可滿足這些需要,與VHDL語言的結合可以很好地解決上述問題。由于可編程邏輯器件可以通過軟件編程對其硬件的結構和工作方式進行重構,從而使得硬件的設計可以如同軟件設計那樣方便快捷。
  本文以TCD1702C型線陣CCD芯片為例,在分析其驅動時序關系的基礎上,使用VHDL語言對驅動時序發生器進行硬件描述,運用Quartus Ⅱ 3.0軟件對所做的設計進行功能和時序仿真,選用Altera公司的現場可編程門陣列FPGA器件EP1K30作為硬件設計載體,設計了可調節曝光時間的CCD驅動時序發生器。
1  線陣CCD的工作原理及驅動時序分析
  TCD1702C為TOSHIBA公司生產的一種有效像元數為7 500的雙溝道二相線陣CCD,其像敏單元尺寸為長7μm、高7μm、中心距亦為7μm,像敏區總長為52.5mm,最佳工作頻率1MHz。TCD1702C的原理結構如圖1所示,它的有效象素單元分奇、偶2列轉移并分別由OS1和OS2端口輸出;驅動脈沖由時鐘脈沖Φ1和Φ2、轉移脈沖ΦSH、復位脈沖ΦRS、鉗位脈沖ΦCP構成。其中鉗位脈沖使輸出信號鉗制在零信號電平上。這些信號均由CCD驅動時序發生器產生。TCD1702C驅動脈沖波形結構如圖2所示。


  由圖2可知,CCD的1個工作周期分為二個階段:光積分階段和電荷轉移階段。在光積分階段,ΦSH為低電平,它使存儲柵和模擬移位寄存器隔離,不會發生電荷轉移現象。存儲柵和模擬移位寄存器分別工作,存儲柵進行光積分,模擬移位寄存器則在驅動脈沖的作用下串行地向輸出端轉移信號電荷,最后由OS1和OS2端分別輸出。從圖中可以看到,OS1和OS2幾乎是并行輸出的,OS1輸出奇數像元的信號,OS2輸出偶數像元的信號,ΦRS信號清除移位寄存器中的殘余電荷。在電荷轉移階段,ΦSH為高電平,存儲柵和模擬移位寄存器之間導通,實現感光陣列光積分所得的光生電荷并行地分別轉移到光敏區二側的模擬移位寄存器的電荷勢阱中。此時,輸出脈沖停止工作,輸出端沒有有效信號輸出。
  由于結構上的安排,OS1和OS2端首先分別輸出13個虛設單元信號,再輸出51個暗信號,然后才連續輸出S1到S7500的有效象素單元信號。在S7500信號輸出后,又分別輸出7個暗信號,再輸出1個奇偶檢測信號,以后便是空驅動(空驅動數目可以是任意的)。由于該器件是2列并行分奇、偶傳輸,所以在1個ΦSH周期中至少要有3 822個Φ1脈沖,即TSH>3 822T1。由此可知,改變時鐘頻率或增加光積分周期內的時鐘脈沖數,就可以改變光積分周期。
  本系統的設計方法是:在系統最佳工作頻率下,通過基本計數單元產生CCD工作所需的基本波形,保證CCD正常工作;而通過積分時間控制信號A1、A2、A3控制積分時間的改變;000~111分別控制8檔積分時間變換。000時間最短,111時間最長;將該驅動器通過A/D采集卡與計算機連接,則可以通過軟件動態設置積分時間,實現CCD光積分時間的智能控制。
  根據TCD1702C驅動脈沖時序關系,可以確定各路脈沖的技術指標如下:
  Φ12=1MHz,占空比為1:1,方波;ΦSH脈沖寬度為1 000ns。Φ1、Φ2在并行轉移時有一個大于ΦSH為高電平時的持續時間的寬脈沖,脈寬為2 000ns。ΦRS=1MHz,占空比為1:4,方波,低電平有效;ΦCP=1MHz,脈沖寬度為125ns,方波,低電平有效。
2  可調曝光時間的CCD驅動時序的VHDL描述與仿真
  系統采用Altera公司開發的Quartus Ⅱ3.0軟件平臺與仿真環境。QuartusⅡ是新一代PLD開發系統,能夠提供完整的多平臺設計環境,可以很好地滿足特定設計的需要,并可幫助設計者加快可編程單芯片(SOPC)設計。使用QuartusⅡ軟件在QuartusⅡBlock Editor中建立設計,Block Editor用作以原理圖和流程圖的形式輸入和編輯圖形設計的信息。每個原理圖設計文件包含塊和符號,這些塊和符號代表設計中的邏輯,Block Editor會自動地將每個流程圖、原理圖或符號代表的設計邏輯融合到工程中。
  總體設計思想是選用原理圖設計文件中的塊(Block)建立設計文件,將驅動時序分成3個功能模塊,分別是FENPIN模塊、RESETCLAMP模塊和CLOCKPHASE模塊。每個模塊均由VHDL硬件描述語言編寫。驅動時序發生器頂層原理構成框圖如圖3所示。其中驅動時序發生器還經由CLOCKPHASE模塊提供行同步掃描信號FC以及像元同步脈沖SP,為用戶提供控制脈沖。行同步脈沖FC的上升沿對應于CCD有效視頻輸出的開始(通常線陣CCD輸出的前后端都包含有若干像元的無效信號);像元同步脈沖SP的上升沿對應于單個像元的視頻輸出,如果需要對輸出信號進行A/D轉換,可在SP的上升沿對輸出進行采樣。


  FENPIN模塊的功能是將外部信號發生器產生的8MHz高頻信號脈沖經分頻器分頻后產生脈沖信號CLK,以得到占空比為1:1的1MHz CCD最佳工作頻率。RESETCLAMP(RS_CP)模塊用以產生復位脈沖信號RS和鉗位脈沖信號CP。CLOCKPHASE模塊產生FC、SP、時鐘脈沖信號Φ1、Φ2和轉移脈沖信號ΦSH?;居嫈惦娐酚嫈捣秶鸀?~7 701,用以保證CCD的最小光積分時間要求。而積分時間的改變是通過程序內附加的延時電路實現的。通過積分時間控制信號對積分時間的控制,在保證基本光積分時間下,可以實現1ms、3ms、5ms、10ms、20ms、50ms、100ms的延時。修改程序的延時電路的預值數,可進一步延長CCD的積分時間,以適應那些需要特別長積分時間的場合。在系統各項性能指標得以滿足的情況下,適當更改系統主頻,也可以增加光積分時間。由于篇幅所限,下面僅給出基本計數電路下積分延時時間為1ms的VHDL程序,其他延時時間的VHDL程序原理相同,僅延時預置初值不同。
  PROCESS(CLKIN)
  VARIABLE COUNT:INTEGER;
  VARIABLE N:INTEGER RANGE 0 TO 199;
  VARIABLE BB:INTEGER RANGE 0 TO 2 000;
  VARIABLE AA,CC,DD:STD_LOGIC;
  VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0);
  BEGIN
  TEMP:=A1&A2&A3;
  IF(CLKIN′EVENT AND CLKIN=′1′) THEN
     CASE TEMP IS
     WHEN ″001″=>
       IF(N=1) THEN COUNT:=1;N:=0;
       ELSE COUNT:=COUNT+1;
          IF(COUNT>7701) THEN
               IF(BB=2000) THEN BB:=0;N:=N+1;
               ELSE BB:=BB+1;
               END IF;
         END IF;
      END IF;
    WHEN OTHERS=>NULL;
    END CASE;
    IF(COUNT<5) THEN AA:=′1′;
    ELSE AA:=NOT AA;
    END IF;
    IF(COUNT=2 OR COUNT=3) THEN CC:=′1′;
    ELSE CC:=′0′;
    END IF;
   SHIFT_PULSE<=CC;
   CLOCKPHASE1<=AA;
   CLOCKPHASE2<=NOT AA;
   END IF;
   END PROCESS;
   FPGA設計開發流程可歸納為6個步驟,即:設計輸入、設計綜合、功能仿真、布局布線、時序分析和器件編程與配置。系統邏輯功能時序仿真波形如圖4所示,其輸出波形與圖2的時序波形相吻合,達到了預期的結果。
3  驅動時序發生器的實現
  TCD1702C的時序邏輯是由現場可編程門陣列FPGA器件EP1K30實現的。EP1K30芯片典型門數為30 000門,1 728個邏輯單元,SRAM結構,可在線重新編程。這些特點使得時序的調試與調整比較容易。經過設計輸入、編譯和仿真等步驟,即可通過JTAG加載電纜將生成的數據序列加載到目標芯片,完成系統結構功能配置,實現所需硬件功能;再經電平轉換,將時序脈沖轉變成具有特定波形和電壓幅度的邏輯驅動信號,完成CCD驅動時序發生器的整個設計。
4  結  論
  在分析TOSHIBA公司的TCD1702C型線陣CCD驅動時序關系的基礎上,結合現場可編程門陣列FPGA和VHDL硬件描述語言,設計了可調節曝光時間的CCD驅動時序發生器。系統測試表明,所設計的驅動時序發生器產生的各時序信號可以滿足線陣CCD1702C芯片的驅動要求。由于驅動器結構是可再編程的,如果要增加或減少某些功能,則可在不改變任何硬件的情況下,只對器件重新編程,就可實現驅動器的更新換代。硬件電路設計的軟件化是電路設計的發展趨勢,以HDL語言表達設計意圖、CPLD/FPGA作為硬件載體、計算機為設計開發工具、EDA軟件為開發環境的現代電子設計方法日趨成熟。該方法不僅簡化了硬件的開發和制造過程,使設計人員擺脫了電路細節的繁瑣,而且具有體積小、可靠性高、設計與調試靈活等優點。
參考文獻
1   谷林,胡曉東,羅長洲等.基于CPLD的線陣CCD光積分時 間的自適應調節.光子學報,2002;31(12)
2   王軍波,孫振國,陳強等.高速CCD攝像機驅動時序發生器 的設計及基于CPLD技術的實現.光學技術,2002;28(2)
3   TOSHIBA公司.線陣CCD器件手冊.1997
4   王慶有.CCD應用技術.天津:天津大學出版社,2000
5   曾繁泰,陳美金.VHDL程序設計.北京:清華大學出版社, 2001
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲图片视频在线观看 | 精品久久天干天天天按摩 | 一本大道香蕉大在线最新 | 一区二区高清在线 | 无遮羞成人的动漫在线观看 | 成人在线观看视频免费 | 99免费| 亚洲一区二区三区首页 | 成 人 黄 色 大 片全部 | 日韩不卡一区二区三区 | 深夜福利网址 | 欧美性受xxxx视频 | 亚洲激情成人 | 天堂亚洲国产日韩在线看 | 欧美成a人片免费看久久 | 日本福利写真福利视频 | 亚洲国产成人va在线观看 | 久久综合中文字幕一区二区 | 成人精品人成网站 | 成人黄色一级视频 | 国产精品每日更新 | 男女视频免费观看 | 91精品久久久久久久久中文字幕 | 欧美日韩在线免费 | 性欧美videofree高 | 免费观看成人www精品视频在线 | 久久8| 韩国伊人 | 国产综合视频在线 | 亚洲午夜一区 | 久久久99视频 | 好吊日在线视频 | 欧美日韩在线免费看 | 在线精品国精品国产不卡 | 久久国产精品偷 | 久久久久88色偷偷免费 | 天天干天天做天天射 | 羞羞的影院 | 手机免费看伦理片 | 亚洲精国产一区二区三区 | 日韩欧美国产一区二区三区 |