1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>換體DMA高速數據采集電路的CPLD實現

    換體DMA高速數據采集電路的CPLD實現

    時間:2023-02-21 00:03:24 電子通信論文 我要投稿
    • 相關推薦

    換體DMA高速數據采集電路的CPLD實現

      摘要:介紹了塊體DMA高速數據采集電路原理及其CPLD實現。用CPLD設計雙端口RAM緩存、控制譯碼、時序邏輯電路,很好地解決了電路元件所占體積大、電路復雜、不能實現在線升級等問題,大大提高了系統的整體性能。

        關鍵詞:換體DMA CPLD 雙端口RAM 在線升級

    在許多儀器和控制系統中,高速數據采集電路是必不可少的,也是經常需要解決的問題。數據采集電路設計方法很多,但往往離不開A/D轉換電路、數據緩存電路、控制邏輯電路、地址發生器、址譯碼電路等。而數據緩存、控制邏輯、地址譯碼等電路通常是由RAM芯片、與非門、觸發器、緩沖/驅動器等構成,導致數據采集電路復雜、芯片繁多,特別是硬件的固定使得采集系統在線升級幾乎不可能。很多情況下只有重新設計電路和印刷板,重新焊接和調試,造成開發周期長、成本大大增高。復雜可編程邏輯器件CPLD的應用,為這些問題的解決提供了一種好的辦法。利用CPLD芯片本身集成的上萬個邏輯門和EAB,把數據采集電路中的數據緩存、地址發生器、控制譯碼等電路全部集成進一片CPLD芯片中,大大減小了系統的體積,降低了成本,提高了可靠性。同時,CPLD可由軟件實現邏輯重構,而且可實現在系統中編程(ISP)以及有眾多功能強大的EDA軟件的支持,使得系統具有升級容易、開發周期短等優點。在數據采集有電路中,采用換體DMA技術不但大大地提高了數據采集的速度,而且彌補了數據采集中可能丟失數據的缺陷。

    1 換體DMA數據采集電路原理

    系統原理框圖如圖1所示。在時序電路的控制下,模擬輸入開關將多達16路(單端輸入)或8路(差分輸入)的模擬輸入信號經多路開關送至放大器的輸入端,放大后由內含采樣/保持電路的模數轉換器AD774B轉換成數字量,轉換完的數字量經時序電路的控制寫入兩個存儲體的一個(例如存儲體0)中。每個存儲體有4KB的容量,但實際使用中存儲容量可設定為小于4KB。當計數到設定的存儲空量后,控制電路產生換體信號,后續的A/D轉換數據自動地存入另一個存儲體(存儲體1)。同時控制電路向主機發出DMA請求信號,主機響應請求后在時序電路配合下,從已存儲規定數據的存儲體(存儲體0)中讀入所存的數據。這樣存儲體0和存儲體1交替存取,直到規定的換體次數計完為止。
    (范文先生網m.baimashangsha.com收集整理)
        數據采集電路中,時序控制電路、地址發生器、多路控制驅動器等芯片眾多,占用了大部分體積,邏輯時序復雜。用CPLD實現這些電路則顯得簡單明了,如圖2所示。圖2中地址發生器、雙端口RAM、時序控制等電路都可以用HDL語言或原理圖,或是兩者結合來實現,使電路開發簡單、靈活、方便。

    2 采用CPLD實現換體DMA

    CPLD的開發必須經過前期的邏輯設計、前仿真、后仿真、目標代碼下載及在調試等過程,該設計過程是借助ALTERA公司的EDA軟件MAXPLUS II 10.1來實現的。MAXPLUS II支持原理圖輸入、HDL語言輸入、設計波形輸入等。本設計則是將原理圖和HDL語言輸入相結合,這樣既可以加快開發速度,又不失靈活性。本電路設計所用的CPLD芯片一FLEX10K30E。它是ALTERA公司1995年把EAB與邏輯陣列塊相結合的產品,增加了許多FLEX10KA、B系列沒有的新特點;FLEX10K30E內有30000個邏輯門,247576個RAM位,支持3.3V、5V多種電源,速度等級高。

    2.1 數據緩存——雙端口RAM

    雙端口RAM的核心是存儲器陣列,它的讀與寫相互獨立,有各自的時鐘線、地址總線、數據總線和使能端。在數據采集時,數據進入存儲器進行緩存,同時CPU可以從緩存中取出數據讀進計算機內存。在傳統的雙RAM換體方案中要實現換體,存儲器芯片必須使用偶數片來交互存儲;當A/D數據位數超過8位時,需要另加芯片來存儲高于8位的數據。在CPLD中設計雙端口RAM模塊不但實現了雙RAM換體功能,而且使緩存RAM的數據位數、存儲量大小可以根據需要任意配置。

    如上所述,在CPLD中設計雙端口RAM,可以有兩種方式:原理圖輸入和HDL語言輸入。本設計采用的是MAXPLUS II庫中的LPM_RAM_DP宏,原理圖如圖3所示。

    在LPM_RAM_DP宏中總共有10個可配置參數。通常情況下,只配置LPM_WIDTH(數據寬度)、LPM_WIDTHAD(地址總線寬度)、USE_EAB(是否使用嵌入式陣列塊EAB)三個參數。在本設計中,AD774B的數據寬度是12位,轉換速度為8微秒,所以配置了LPM_WIDTH=12,LPM_WIDTHAD=10(緩存容量為1K),USE_EAB=ON。對于緩存的大小,可以在調試過程中根據具體采集速度和緩存要求進行在線調整,而不影響其他邏輯電路。

    圖3LPM_RAM_DP模塊中rdaddress、rden、rdclock、rdclken、q分別為讀端的地址線、使能端、時鐘線、時鐘使能和數據線;data、wraddress為寫端的數據總線和地址總線。圖3的雙端口RAM模塊并沒有BUSY端,當寫地址和讀地址相同時,數據位沖突,讀寫不能正常工作。在實際工作中,這種問題是不應該出現的。結合本系統的具體需要,在此引入了存儲器分而概念,即把1k字節的雙端RAM分為2頁,每頁512字節,分別為讀緩存頁和寫緩存頁,兩者相互交換。當采集數據量達到512字節時,系統馬上申請DMA傳送,把剛轉換完

    的第一頁中的512字節數據送給計算機,傳送結束后等待下一次DMA申請;與此同時,A/D繼續工作,轉換的數據放在第2頁0~511地址中。任何時候讀寫都分別在不同的頁工作,從而有效地避免了數據沖突,但又不影響數據傳輸速度。具體的分頁控制主要由地址發生器設計確定。

    2.2 分頁地址發生器

    分頁地址發生器不但要產生雙端口RAM的讀寫地址,而且還要為緩存器分頁;頁寫滿時,還要提供DMA傳輸申請信號。為了增強靈活性,讀寫地址發生器由VHDL語言編程集中在一個模塊實現,部分程序如下:

    signal wtmp:integer range 0 to 1023;

    signal rtmp:integer range 0 to 1023;

    signal page:intefer range 0 to 1;

    if(wclk'event and wclk='1')then

    if(wtmp>1023)then wtmp<=0;

    else wtmp<=wtmp+1; --wtpm為寫地址值

    end if;

    if(0=<wtmp<512)then page<=0; --page為存儲器分頁標志

    else page<=1; --"0"代表第0頁

    end if; --"1"代表第一頁

    if(twmp=512 and wtmp=1023)then page_full<='1';

    else page_full<='0'; --page-full為頁寫滿標志,同時為DMA傳送申請信號

    end if;

    end if;

    if(page=0)then rtmp<=0; --不同的頁置不同的數據讀地址初始值

    else if(page=1)then rtmp<=512;

    end if;

    if(rclk'event and rclk='1')then

    if(en='1' and rtmp<1024)then rtmp<=rtmp+1;

    end if; --rtmp為讀地址值

    end if;

    代碼經過編譯生成的原理框圖如圖3的ADD_CRE-ATE模塊。在圖形輸入編輯環境下,可以把它作為一個標準的原理圖與其他模塊連接;寫地址時鐘WCK由AD774B的STS端產生,每一組數據轉換結束后,地址發生器加1,讀地址時鐘RCK由DMA應答信號DACK提供;PAGE_FULL在0頁或1頁滿時變為高電平,經D觸發器申請DMA傳輸,把剛滿頁的數據送給計算機內存。

    2.3 時序邏輯電路的設計

    在數據采集電路中,時序邏輯電路主要解決地址譯碼、時序邏輯控制、數據鎖存等功能。用普通的中小規模集成電路實現,電路組成龐大;而用VHDL語言實現則簡單靈活、易于更新升級。圖3中的微機譯碼電路、數據緩沖器、D觸發器等都可以在MAXPLUS II的圖形編輯環境下,從庫中直接調出。計算機在每次DMA傳送中都向外設輸出一個應答信號DACK和讀允許信號IOR,利用這個特點,正好把它們作為讀緩存的地址時鐘,即每DMA傳送一次,讀地址為1;AD774B每轉換完一組數據,在STS端輸出由低電平轉換為高電平,剛好給寫緩存提供寫地址時鐘,同時經過適當延時,STS又可以送到R/C端作為A/D下一次轉換的啟動信號。

    3 DMA的應用

    數據傳送的查詢方式和中斷方式都是在CPU的控制下進行的,因而傳輸速度受CPU指令運行速度的限制。直接存儲器存取方式,即DMA方式。存儲器與外設在DMA控制器控制下,直接傳送數據而不通過CPU,傳輸速率主要取決于存儲存取速度。所以在DMA過程中,數據傳輸完全由DMA控制器8237A控制,不占用CPU時間。

    在本換體DMA高速數據采集電路中,用復雜可編程邏輯器件CPLD來實現數據緩存、帶分頁功能的地址發生器以以復雜的邏輯和時序電路等,使得電路大大簡化;同時硬件電路軟件化,具有可在線更新、升級容易、保密性強等特點。本換體DMA高速數據采集電路已成功地應用在生物醫

    學儀器、核譜獲取電路中。



    【換體DMA高速數據采集電路的CPLD實現】相關文章:

    CPLD在多路高速同步數據采集系統中的應用08-06

    高速數據采集系統中高速緩存與海量緩存的實現08-06

    USB接口的高速數據采集卡的設計與實現08-06

    CPLD在遠程多路數據采集系統中的應用08-06

    DMA結合McBSP在數據采集系統中的應用設計08-06

    基于USB總線的高速數據采集系統08-06

    利用DSP和CPLD增強數據采集的可擴展性08-06

    利用ColdFire uClinux實現數據采集和傳輸08-06

    ISP技術在高速數據采集模塊中的應08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      亚洲а∨天堂久久精品9966 | 一区二区三区字幕不卡 | 亚洲手机在线人成9视频 | 亚洲网久久美利坚合众国 | 亚洲乱理片在线观看中字 | 亚洲一区二区三区和欧美四区 |