在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的A/D轉(zhuǎn)換采樣控制模塊的設(shè)計(jì)

      基于FPGA的A/D轉(zhuǎn)換采樣控制模塊的設(shè)計(jì)

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

      摘要:本文采用器件EP1C6T144C8芯片代替單片機(jī)控制A/D芯片ADC0809進(jìn)行控制,整個(gè)設(shè)計(jì)用VHDL語(yǔ)言描述,在QuartusⅡ平臺(tái)下進(jìn)行軟件編程實(shí)現(xiàn)正確的A/D的工作時(shí)序控制過(guò)程,并將數(shù)據(jù)從二進(jìn)制轉(zhuǎn)化成BCD碼。本設(shè)計(jì)可用于高速應(yīng)用領(lǐng)域和實(shí)時(shí)監(jiān)控方面。
      關(guān)鍵詞:;A/D;VHDL;控制;BCD碼

      本文引用地址:http://www.biyoush.com/article/192133.htm

      在以往的A/D器件采樣控制設(shè)計(jì)中,多數(shù)是以單片機(jī)或CPU為控制核心,雖然編程簡(jiǎn)單,控制靈活,但缺點(diǎn)是控制周期長(zhǎng),速度慢。單片機(jī)的速度極大的限制了A/D高速性能的利用,而的時(shí)鐘頻率可高達(dá)100MHz以上。本設(shè)計(jì)以高集成度的芯片為核心,進(jìn)行時(shí)序控制、碼制變換。具有開(kāi)發(fā)周期短,靈活性強(qiáng),通用能力好,易于開(kāi)發(fā)、擴(kuò)展等優(yōu)點(diǎn)。既降低了設(shè)計(jì)難度,又加快了產(chǎn)品的開(kāi)發(fā)周期。

      1 系統(tǒng)設(shè)計(jì)原理

      本設(shè)計(jì)采用FPGA芯片EP1C6T144C8來(lái)對(duì)ADC0809進(jìn)行采樣控制,并對(duì)數(shù)據(jù)進(jìn)行處理,可將數(shù)據(jù)用LED顯示出來(lái)。如圖1所示,芯片EP1C6T144C8在對(duì)ADC0809控制時(shí)產(chǎn)生START轉(zhuǎn)換啟動(dòng)信號(hào),ALE地址鎖存允許信號(hào)(高電平有效),在工作過(guò)程中,F(xiàn)PGA不斷讀入轉(zhuǎn)換結(jié)束信號(hào)EOC判斷AD0809轉(zhuǎn)換是否結(jié)束。當(dāng)EOC發(fā)出一個(gè)正脈沖時(shí),表示A/D轉(zhuǎn)換結(jié)束,此時(shí)開(kāi)啟輸出允許OE,打開(kāi)ADC0809的三態(tài)緩沖鎖存器將轉(zhuǎn)換好的8位二進(jìn)制數(shù)輸入FPGA芯片中。通過(guò)查找表的方法將8位二進(jìn)制數(shù)轉(zhuǎn)換成12位BCD碼。


      圖1 控制原理圖

      2 FPGA模塊設(shè)計(jì)與仿真

      本設(shè)計(jì)采用QuartusⅡ軟件平臺(tái)下的VHDL硬件描述語(yǔ)言進(jìn)行軟件編程。主要分為兩個(gè)部分:ADC0809的工作狀態(tài)模塊和二進(jìn)制到BCD碼轉(zhuǎn)換模塊。

      2.1 ADC0809工作狀態(tài)模塊

      采用雙進(jìn)程有限狀態(tài)機(jī)的方法來(lái)實(shí)現(xiàn)。設(shè)計(jì)st0~st7八個(gè)工作狀態(tài)。st0:初始化。st1:產(chǎn)生ALE的上升沿將模擬通道IN1的地址鎖存。st2:產(chǎn)生START信號(hào)上升沿,啟動(dòng)A/D轉(zhuǎn)換。st3:START信號(hào)延時(shí)一個(gè)脈沖。st4:A/D轉(zhuǎn)換中,等待。st5:轉(zhuǎn)換結(jié)束,開(kāi)啟輸出允許信號(hào)OE。st6:OE延時(shí)一個(gè)脈沖,并開(kāi)啟數(shù)據(jù)鎖存信號(hào)LOCK。st7:延時(shí)一個(gè)時(shí)鐘,輸出數(shù)據(jù)。狀態(tài)轉(zhuǎn)換方式見(jiàn)下面程序段。

      case current_state is

      when st0=> ale='0';start='0';oe='0';lock='0'; next_state=st1;

      ---初始態(tài)ST0向下一狀態(tài)ST1轉(zhuǎn)換,0809采樣控制信號(hào)初始化;

      when st1=> ale='1';start='0';oe='0';lock='0'; next_state=st2;

      ---由ALE的上升沿將通道地址'001'鎖入0809的地址寄存器;

      when st2=> ale='1';start='1';oe='0';lock='0'; next_state=st3; ---啟動(dòng)采樣信號(hào);

      when st3=> ale='0';start='1';oe='0';lock='0';

      if(eoc='0') then next_state=st4; ---轉(zhuǎn)換即將結(jié)束,轉(zhuǎn)換至下一狀態(tài);

      else next_state=st3; ---轉(zhuǎn)換未結(jié)束,繼續(xù)在狀態(tài)ST3中等待;

      end if;

      when st4=> ale='0';start='0';oe='0';lock='0';

      if(eoc='1') then next_state=st5; ---EOC由0恢復(fù)1,轉(zhuǎn)換結(jié)束;

      else next_state=st4; ---轉(zhuǎn)換未結(jié)束,等待;

      end if;

      when st5=> ale='0';start='0';oe='1';lock='0'; next_state=st6; --開(kāi)啟輸出允許OE;

      when st6=> ale='0';start='0';oe='1';lock='1'; next_state=st7; --開(kāi)啟數(shù)據(jù)鎖存LOCK;

      when st7=> ale='0';start='0';oe='0';lock='1'; next_state=st0;

      when others=>next_state=st0; ---其它狀態(tài)返回ST0;

      end case;

      2.2 二進(jìn)制到BCD碼轉(zhuǎn)換模塊

      本設(shè)計(jì)模擬量輸入范圍為0~+5V,用8位二進(jìn)制數(shù)表示其精度為0.02。將ADC0809輸出的二進(jìn)制數(shù)劃分為高四位與低四位,通過(guò)查表分別算出電壓值并寫(xiě)出對(duì)應(yīng)的12位BCD碼, 將得到的高四位電壓與低四位電壓值用12位BCD碼加法,把12位BCD碼分為三組,每組四位,相加從最低4位開(kāi)始,且每4位相加結(jié)果超過(guò)10時(shí)需作進(jìn)位動(dòng)作,最終得到BCD碼分別對(duì)應(yīng)高、中、低三位輸出顯示。


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

      關(guān)鍵詞: FPGA 轉(zhuǎn)換 采樣 控制模塊

      評(píng)論


      相關(guān)推薦

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

      關(guān)閉