• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      FPGA在數(shù)據(jù)采集與傳輸中的應用

      2012-08-08 07:10:20陶衛(wèi)國
      塔里木大學學報 2012年3期
      關鍵詞:波特率存儲器時序

      EDA技術是以高級語言描述、系統(tǒng)級仿真和綜合技術為特征的第三代電路CAD技術。在我們研制的數(shù)據(jù)采集板上使用了該先進技術,采集板主要完成如下功能:A/D轉換、數(shù)據(jù)緩存、數(shù)據(jù)傳輸。該板使用一片ALTERA公司的FPGA(Field Programmable Gate Array)芯片F(xiàn)LEX10K,完成了對A/D轉換的控制,數(shù)據(jù)緩存,以及采集板與計算機的數(shù)據(jù)異步傳輸(UART)功能。如果用傳統(tǒng)的設計方法完成上述功能至少需要使用MCU(微控制單元)、RAM、RS232的接口芯片等多塊芯片。正是使用了先進的EDA技術使系統(tǒng)更緊湊、更可靠。本文將簡要介紹FPGA的結構,開發(fā)方法,以及在我們的采集板中的應用。

      1 FLEX10K芯片的結構與工作原理

      大部分的FPGA是采用基于SRAM的查找表邏輯形成結構的,用SRAM來形成邏輯函數(shù)發(fā)生器,我們的數(shù)據(jù)采集板中的FLEX10K芯片主要由嵌入式陣列塊、邏輯陣列塊、快速通道和I/O單元四部分構成。其中邏輯陣列塊由邏輯單元組成,邏輯單元又是由查找表與附加電路組成。邏輯陣列塊是形成邏輯功能的基礎,多個邏輯陣列塊可以級聯(lián)構成更大的單元??焖偻ǖ涝谶壿媶卧cI/O單元間起連接作用。嵌入式陣列塊是在輸入、輸出口帶有寄存器的RAM塊,可以提供存儲器的功能。

      2 開發(fā)系統(tǒng)與語言

      我們用的是ALTERA公司的器件,所以開發(fā)軟件平臺使用MAXPLUSII,開發(fā)硬件平臺使用GW48系統(tǒng),HDL語言我們選擇了Verilog,verilog語言一般用于硅片邏輯功能設計。

      3 FPGA在采集板中的功能劃分

      采集板數(shù)據(jù)采集模塊由A/D轉換芯片ADC0809來實現(xiàn)。我們利用FLEX10K芯片的內(nèi)部邏輯陣列塊實現(xiàn)數(shù)據(jù)采集控制器ADCINT;利用其內(nèi)部的嵌入式陣列塊形成一個先進先出的存儲器FIFO;利用快速通道和I/O單元實現(xiàn)向主機傳送數(shù)據(jù)的通用異步收發(fā)器UART。其系統(tǒng)框圖如圖1:

      圖1 采集板系統(tǒng)框圖

      4 采集控制器和存儲器功能的實現(xiàn)

      4.1 采集控制器的實現(xiàn)

      A/D轉換器件ADC0809為單極性輸入,8位轉換逐次逼近A/D轉換器,可對0~5V的INT0~INT7的8路模擬電壓信號分時進行轉換,當時鐘頻率為500 KHz,A/D完成一次轉換的時間為130us。CBA作為8路通道選擇地址,ALE是地址鎖存允許信號,EOC為狀態(tài)結束標志,START為轉換啟動信號,上升沿有效;OE為數(shù)據(jù)輸出允許端,〔D0…D7〕為數(shù)據(jù)輸出端。

      可用硬件描述語言按有限狀態(tài)機模式編寫一個模塊實現(xiàn)控制器的定制。其中:ST0初始態(tài),ST1發(fā)送地址鎖存信號ALE,ST2發(fā)送啟動轉換信號START,ST3檢測轉換結束信號EOC的下降沿,ST4檢測EOC的上升沿,ST5發(fā)送輸出使能信號OE,ST6發(fā)送輸出鎖存信號LOCK。

      控制器的源程序如下:

      4.2 FIFO存儲器的實現(xiàn)

      利用FLEX10K內(nèi)部固有的存儲模塊,通過MAXPLUSII的兆功能塊定制一個帶20字節(jié)緩存的FIFO存儲器,因為先入先出存儲器不需要尋址,可以節(jié)省時鐘周期,適合動態(tài)采集數(shù)據(jù).存儲器和控制器組成的控制存儲電路AD_FIFO如下圖2:

      圖2 控制存儲電路AD_FIFO電路圖

      圖中ADCINT就是采集控制模塊,F(xiàn)IFO2是先進先出存儲模塊。AD_FIFO的工作分兩個階段,即采樣階段和數(shù)據(jù)讀取階段,在采樣階段WR_EN為高電平,CLK使能,ADCINT開始工作,讀請求被禁止,當某一采樣周期結束,ADCINT發(fā)LOCK信號,把出現(xiàn)在D[7.0]的采樣數(shù)據(jù)存入FIFO2中。

      在完成采樣后進入讀取階段,在讀取階段,WR_EN為低電平,F(xiàn)IFO2的讀時鐘CLOCK由RD_EN控制,在每個上升沿,F(xiàn)IFO2的數(shù)據(jù)將逐一出現(xiàn)在端口Q[7.0]上。

      應當注意的是,讀時鐘與采樣時鐘的區(qū)別:采樣時鐘是ADCINT的LOCK信號形成的,要與A/D轉換速度匹配;讀時鐘是由外部時鐘發(fā)生器的RD_EN形成的,同時讀時鐘應該與后面的數(shù)據(jù)傳輸?shù)牟ㄌ芈势ヅ洹?/p>

      5 FPGA中UART功能的集成

      UART是基于RS232協(xié)議的通用異步收發(fā)方式,有免費的軟ip core經(jīng)過裁剪功能后,再經(jīng)過MAXPLUSII編譯和綜合到我們的FPGA中。在我們的采集板中的UART只集成了發(fā)送器的功能,確定發(fā)送方式為:波特率為9600bps;幀格式為,一個起始位、8個數(shù)據(jù)位、一個停止位。我們用16倍的發(fā)送速率做定時信號,還需要做一個16倍波特率發(fā)生器。

      6 FPGA的整體功能配合和時序分配的問題

      FLEX10K芯片中功能模塊的連接情況如下圖3:

      圖3 FLEX10K芯片內(nèi)功能模塊圖

      圖中的CLK_PULSE單元用于為整個系統(tǒng)功能提供時鐘信號,共需4種時鐘信號:CLK_WRE采樣周期,CLK_RDE采樣數(shù)據(jù)的讀周期,CLK_WRN數(shù)據(jù)的傳輸周期,BCLK為16倍的波特率。

      整個時序配合情況如下:CLK_WRE根據(jù)ADC0809的轉換速率130 US和設定的緩存區(qū)大小決定的采樣時間;CLK_RDE要根據(jù)緩存的數(shù)據(jù)以及UART的傳輸速率,決定的數(shù)據(jù)的讀時間;CLK_WRN要根據(jù)每幀的位數(shù)和發(fā)送波特率決定的傳輸時間;BCLK是波特率的16倍。在本系統(tǒng)中時序配合非常重要,它決定了數(shù)據(jù)傳輸是否能可靠實現(xiàn),因此我們除了要準確計算各個時鐘周期外,還利用MAXPLUSII的時序仿真功能,分析整個系統(tǒng)功能是否正確。

      在時序仿真正確的情況下,在我們的數(shù)據(jù)采集板上做了實際驗證,實際驗證中發(fā)現(xiàn)接受的數(shù)據(jù)有誤碼。經(jīng)分析后,發(fā)現(xiàn)是在傳輸中沒有考慮芯片延時造成的,經(jīng)過對時序的仔細調(diào)整后,最終解決了傳輸中的誤碼問題。

      [1] FLEX 10K Embedded Programmable Logic Device Family[EB/CD] .http://www.altera.com/literature/ds/archives/dsf10k.pdf.January 2003,Ver.4.2.

      [2] Donald E.Thomas,Philip R.Moorby.The Verilog Hardware Description Language[M] .Fifth Edition.New York:Kluwer Academic Publishers,2002.

      猜你喜歡
      波特率存儲器時序
      時序坐標
      基于Sentinel-2時序NDVI的麥冬識別研究
      靜態(tài)隨機存儲器在軌自檢算法
      CAN 總線波特率自適應程序設計
      智能制造(2020年5期)2020-07-03 06:24:00
      基于FPGA的異步串行通信波特率容錯設計
      電子測試(2018年7期)2018-05-16 06:27:18
      一種毫米波放大器時序直流電源的設計
      電子制作(2016年15期)2017-01-15 13:39:08
      存儲器——安格爾(墨西哥)▲
      DPBUS時序及其設定方法
      河南科技(2014年15期)2014-02-27 14:12:36
      基于Nand Flash的高速存儲器結構設計
      C*Core芯片SCI串口波特率容限優(yōu)化
      巫山县| 娱乐| 长春市| 白山市| 涟源市| 琼海市| 台东县| 库车县| 桃园县| 达尔| 奉化市| 吐鲁番市| 峨边| 西峡县| 弥渡县| 水富县| 定西市| 尉犁县| 宜川县| 合山市| 乐山市| 日土县| 宜城市| 广水市| 广东省| 团风县| 武宁县| 西乌珠穆沁旗| 治县。| 信丰县| 新安县| 德安县| 游戏| 肥东县| 阆中市| 左云县| 靖安县| 大关县| 剑川县| 琼结县| 安泽县|