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

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

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

      新聞中心

      EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的UART 16倍頻采樣的VHDL設(shè)計(jì)

      基于FPGA的UART 16倍頻采樣的VHDL設(shè)計(jì)

      作者: 時(shí)間:2013-04-18 來源:網(wǎng)絡(luò) 收藏

      起始位檢測8個(gè)連續(xù)脈沖的另一個(gè)更重要的原因是,采用16采樣的時(shí)鐘,第8個(gè)采樣脈沖所對應(yīng)的數(shù)據(jù)波形正好是該位數(shù)據(jù)位波形的正中點(diǎn)(以時(shí)鐘上升沿采樣),在該處讀寫數(shù)據(jù)應(yīng)該是最安全點(diǎn)。

      在設(shè)計(jì)時(shí),充分抓住異步數(shù)據(jù)的特征進(jìn)行設(shè)計(jì):起始位為低電平、停止位為高電平、每幀數(shù)據(jù)幀結(jié)構(gòu)相同。根據(jù)異步數(shù)據(jù)這些特征就可設(shè)計(jì)出以下相應(yīng)程序:

      process(clk16x,start) --產(chǎn)生clk1x時(shí)鐘進(jìn)程
      begin
      if start=’0’ then
      q=0001;
      elsif clk16x’event and clk16x=’1’
      then
      q=q+1;
      end if;
      end procESS ;
      clk1x=q(3);
      process(clk16x,i,serialin,rst) --起始位檢測進(jìn)程
      begin
      if rst=’1’ then
      start=’0’;
      elsif rising_edge(clk16x) then    if serialin=’0’ then
      start=’1’ ;
      elsif over=’0’ then
      start=’1’;
      else start=’0’;
      end if;
      end if;
      end process;
      process(clk1x,serialin,i,rst) --讀數(shù)據(jù)進(jìn)程
      begin
      if rst=’1’ then
      buff= (others => ’1’);
      Dout_P= (others => ’1’);
      i=0;
      over=’1’;
      elsif rising_edge(clk1x) then
      if i>
      buff21=serialin;
      i=i+1;
      over=’0’;    else
      i=0;
      over=’1’;
      Dout_P=buff;
      end if;
      end if;
      end process ;

      本設(shè)計(jì)采用硬件描述語言來進(jìn)行描述。clk16x為16采樣時(shí)鐘,clk1x是檢測到真正起始位后由clk16x時(shí)鐘分頻產(chǎn)生的采樣時(shí)鐘,start為開始接收數(shù)據(jù)信號(接收數(shù)據(jù)期間為高電平)、serialin為異步數(shù)據(jù)輸入端口。平常,接收器按clk16x時(shí)鐘上升采樣serialin。當(dāng)采樣時(shí)鐘檢測到低電平時(shí)輸出一個(gè)高電平給start信號,clk1x分頻計(jì)數(shù)器啟動(dòng)。如果連續(xù)采集8個(gè)脈沖都為低電平(起始位之半),即確定該低電平為起始位,輸出一個(gè)低電平給接收數(shù)據(jù)完信號over(接收數(shù)據(jù)期間為低電平,接收完數(shù)據(jù)為高電平),over信號在低電平檢測共同作用下保持start為高電平。start長時(shí)間保持高電平(8個(gè)clk16周期T)產(chǎn)生clk1x時(shí)鐘。反之判別為假起始位,over仍然為高電平,start卻變?yōu)榈碗娖?,clk1x分頻計(jì)數(shù)器復(fù)位,一直等到下次檢測serialin為低電平才重新啟動(dòng)。可見,只有確定了起始位,clk1x時(shí)鐘才會(huì)產(chǎn)生,否則不產(chǎn)生。而clk16x時(shí)鐘始終存在,保證不會(huì)錯(cuò)過每次接收線上的數(shù)據(jù)采樣。

      結(jié)語

      按常規(guī)的16采樣方法接收異步數(shù)據(jù),其抗干擾性、移植性等都優(yōu)于3倍頻采樣方法。實(shí)際應(yīng)用表明,提高采樣倍數(shù),接收準(zhǔn)確性相應(yīng)提高;在一定范圍內(nèi),提高數(shù)據(jù)波特率不會(huì)影響接收準(zhǔn)確性。

      fpga相關(guān)文章:fpga是什么



      上一頁 1 2 下一頁

      關(guān)鍵詞: FPGA UART VHDL 倍頻

      評論


      相關(guān)推薦

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

      關(guān)閉