新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于PC機的模擬信號發生器的設計

        基于PC機的模擬信號發生器的設計

        作者: 時間:2007-08-28 來源:網絡 收藏

        摘要:本文介紹了一種利用設備來設計的方案。該方案通過利用內的充分資源來產生各種所需波形,然后通過USB2.0接口輸出。在外采用DAC8580對數字信號進行DA轉換,并用CPLD對整個電路進行控制。
        關鍵詞:CPLD;DAC;并串行轉換;數字濾波器

        1 引言

        在實際研發各種控制器、顯示器等涉及到數據采集的電子儀器的時候,對這些產品進行性能測試是必不可少的。購買專用的信號發生器不但價格昂貴,而且可擴展性能較差;把研發的產品放到實際工作環境,不但不便于調試,而且很多工業現場也不允許。考慮到PC機的普及程度,可以利用現有的資源來設計一個,同時運用CPLD進行電路控制,可以方便的實現電路擴展。

        2 設計與實現

        21 設計思想

        在PC機上產生波形信號通過USB2.0接口傳入USB接收模塊。USB接收模塊將接收到的波形信號傳輸給CPLD。由于DAC8580是16位串行輸入的DA轉換器,CPLD需要對波形信號的數據格式進行并行到串行的轉換。DAC8580對從CPLD傳輸過來的串行數據進行DA轉換,輸出所需的模擬信號。

        模擬信號發生器整體框圖如圖一所示。

        圖一 整體框圖

        22 基于CPLD的數據并串行轉換

        DAC8580是串行輸入的DA轉換器,而從USB模塊中傳出的是并行數據,所以需要在CPLD中進行數據的并串行轉換。數據轉換器的工作原理圖如圖二所示,其中TXD[7:0]是并行數據輸入信號,TCLK是數據轉換器的時鐘信號,RESET是數據轉換器控制模塊內部復位信號,MWDSL是電平敏感鎖存器使能信號,TRST是一位鎖存器模塊復位信號,TXDATA是串行數據輸出信號。當數據轉換器開始工作的時候,電平敏感鎖存器使能信號(MWDSL)有效,并行數據被送入鎖存器,之后,控制模塊產生并入串出移位寄存器裝入信號(STLD),以在時鐘信號(TCLK)的作用下,將并行數據裝入并入串出移位寄存器,然后,控制模塊再產生并入串出移位寄存器移位信號(STLD),并在時鐘信號(TCLK)的作用下,將并行數據移出。

        圖二 數據并串行轉換器工作原理圖

        本設計中采用Altera的CPLD(FLEX EPF10K20RC240)來實現數據轉換器的硬件電路功能,并用Quartus Ⅱ軟件進行源文件設計。在電路頂層,我們采用原理圖和結構圖的形式進行數據轉換器的整體框架設計。Quartus Ⅱ為實現不同的邏輯功能提供了大

        量的基本單元符號和宏功能模塊,這些符號與模塊的管腳定義與功能一般都是默認的,而在結構圖輸入方式中,我們可以根據自行定義模塊的管腳與功能。結構圖定義的模塊上只是一些自行定義的方框和管腳符號, 沒有涉及其內部具體邏輯, 因而這種模塊稱之為頂層模塊。頂層模塊的內部具體邏輯可以通過硬件描述語言來編寫,也可以通過底層模塊來充實和支持頂層模塊。底層模塊是與頂層模塊相對的概念,一個源文件可以包涵多級模塊,但是最底層的模塊必然是一種由各種門和觸發器等基本邏輯器件組成的基本原理圖或者是用硬件描述語言描述的電路邏輯,可以說它是頂層原理圖的內核所在。

        電平敏感鎖存器、一位鎖存器模塊以及控制模塊部分調用系統庫內的宏模塊, 因為這一部分硬件電路已很成熟, 而且并不是很復雜。并入串出移位寄存器采用結構圖方式輸入,其內部具體邏輯通過VHDL硬件描述語言來實現,其VHDL 源文件如下:

        LIBRARY ieee;

        USE ieee.std_logic_1164.all;

        ENTITY parrial IS

        PORT

        (

        STLD : IN STD_LOGIC;

        CLK : IN STD_LOGIC;

        Q1 : IN STD_LOGIC;

        Q2 : IN STD_LOGIC;

        Q3 : IN STD_LOGIC;

        Q4 : IN STD_LOGIC;

        Q5 : IN STD_LOGIC;

        Q6 : IN STD_LOGIC;

        Q7 : IN STD_LOGIC;

        Q8 : IN STD_LOGIC;

        shiftout : OUT STD_LOGIC

        );

        END parrial;

        ARCHITECTURE parrial_architecture OF parrial IS

        signal latch : std_logic_vector (7 downto 0) ;

        begin

        process (CLK,STLD,Q1 ,Q2 ,Q3,Q4 ,Q5 ,Q6 ,Q7,Q8)

        begin

        if (CLK’event and CLK=‘1’) then

        if (STLD =‘1’) then

        latch(7) = Q8;

        latch(6) = Q7;

        latch(5) = Q6;

        latch(4) = Q5;

        latch(3) = Q4;

        latch(2) = Q3;

        latch(1) = Q2;

        latch(0) = Q1;

        else

        latch(0) = latch(1) ;

        latch(1) = latch(2) ;

        latch(2) = latch(3) ;

        latch(3) = latch(4) ;

        latch(4) = latch(5) ;

        latch(5) = latch(6) ;

        latch(6) = latch(7) ;

        latch(7) = ‘1’;

        end if ;

        end if ;

        end process;

        shiftout=latch(0);

        END parrial_architecture;

        通過調試、編譯,最后得出仿真結果,接收的并行數據為:D0=‘1’,D1=‘0’,D2=‘1’,D3=‘0’,D4=‘0’,D5=‘1’,D6=‘1’,D7=‘0’,仿真圖如圖三所示。

        圖三 數據轉換器仿真圖

        23 基于CPLDDA轉換

        DAC8580是16位串行輸入、電壓輸出,高速低噪聲DA轉換器,可以實現2~16倍內部插值。最高數據更新率為16MSPS。其內部邏輯電路如圖四所示。

        圖四 DAC8580內部邏輯電路

        DAC8580通過3條信號線與CPLD進行通信,這3跟信號線分別是:FSYNC(字節時鐘信號)、SLCK(位時鐘信號)、SDIN(串行數據輸入)。輸入數據在SCLK的上升沿被鎖存在輸入移位寄存器中(最高有效位最先輸入),FSYNC的下降沿將最后一次接收到的一個16位的輸入數據(被認證為有效的數據)從移位寄存器鎖存到暫時存儲器。暫時存儲器可以通過管腳控制來選擇連接到數字濾波器或者連接到DAC鎖存器。在FSYNC的下降沿后的第二個SCLK的上升沿,數據被轉移到DAC鎖存器(數字濾波器關閉),或是轉移到數字濾波器(數字濾波器開啟)。數字濾波器的工作也需要一個持續的SCLK信號。

        CPLD通過控制OSR2、OSR1、BPB、RSTB四個管腳的信號值,可以實現對DAC8580中的數字濾波器的設置。可以通過在CPLD中集成一個CASE結構來實現多頻率的DA轉換,串行數據輸入頻率與經過DAC內部數字濾波器插值后的數據頻率關系如圖五所示。

        圖五 插值后數據頻率與輸入頻率的關系圖

        3 結束語

        本文利用CPLD的邏輯控制技術和DAC8580高效的DA轉換能力,完成了對PC機內產生的數字波形到模擬信號的轉換。最后,通過軟件仿真,得到了預期目標。

        本文的創新點在于對傳統的模擬信號發生器進行了創造性重構, 利用PC機和數模轉換技術實現了模擬信號發生器的基本功能;并且由于CPLD可以以任意位寬實現運算,所以該設計可以方便的進行擴展,實現更高的系統精度。

        參考文獻

        [1] Altera Corporation. University Program Design Laboratory Package. http://www.altera.com

        [2] 李永軍,胡昌林,胡文華. 基于CPLD的某BIT系統研制,微計算機信息[J], 2006,3: 177-178

        [3] Altera Corporation. Quartus Ⅱ Handbook. http://www.altera.com

        [4] Texas Instruments Incorporated. DAC8580 Data Sheet. http://www.ti.com

        [5] Uwe Meyer-Baese. 數字信號處理的FPGA實現. 北京:清華大學出版社,2003



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 报价| 普定县| 海淀区| 湖南省| 乐昌市| 金乡县| 东宁县| 赣州市| 宜川县| 兴海县| 阜宁县| 古田县| 罗田县| 东阿县| 卢氏县| 台前县| 即墨市| 湖口县| 巴塘县| 会同县| 普兰店市| 大竹县| 即墨市| 泰顺县| 井陉县| 航空| 隆子县| 德州市| 河北省| 建瓯市| 延寿县| 锦屏县| 石景山区| 自贡市| 克拉玛依市| 灌阳县| 元谋县| 喀喇| 石河子市| 沛县| 嘉荫县|