關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于CPLD技術的數字時序控制電路設計

        基于CPLD技術的數字時序控制電路設計

        作者: 時間:2009-05-15 來源:網絡 收藏

          由32MHz高精度晶體振蕩器提供精確的時鐘信號。MAX II芯片EPM570T100C5產生精確的時序信號。EPM570是世界一流的低成本器件,適用于實現任何數字功能。該芯片采用非易失單芯片解決方案,可解決處理器I/O引腳不夠用等板級問題,管理上電排序,配置其它更復雜的器件,或者低成本實現不兼容接口(“膠合邏輯”)的轉換。具有低成本、零功耗、小封裝、瞬間啟動以及非易失性、系統內可編程能力(ISP)等優點。CD4053根據芯片提供的精確時序數字信號完成正弦信號的時分制激勵。

        本文引用地址:http://www.104case.com/article/163806.htm

        4、軟件設計[5]

          在開發的過程中,使用的是Altera公司提供的開發軟件QuartusⅡ,該軟件支持Altera公司的絕大部分器件。為了縮短設計周期和降低設計復雜度,QuartuslI包含了工作組計算、集成邏輯分析功能、EDA工具集成、多工程支持、增強重編譯和IP集成等功能。在設計過程中采用的是自頂到底的設計思想,頂層功能塊的設計,底層的具體功能通過VHDL語言編程實現。

        4.1 頂層設計[6、7]

          自頂向底的設計過程是在軟件中先從系統級功能設計開始,然后分別設計并驗證系統中不同的功能塊。這種設計方法的好處是可以不斷地向設計中添加新的功能模塊,完善系統的功能。

          在頂層中主要設計了三個功能模塊: 預分頻模塊、次分頻模塊、譯碼模塊。功能塊圖見圖5。系統上電工作時,首先由晶振為系統提供精確的基頻信號,通過預分頻模塊將原有基頻信號轉化為400Hz的時序信號,將400Hz的信號通過次分頻模塊進行二分頻和四分頻[6,7],將分頻所得100Hz和200Hz的信號輸入譯碼器模塊[7],通過譯碼產生時序間隔為2.5ms的精確時序控制信號。


        4.2 底層設計

          系統功能驗證完成后,將抽象的頂層設計向低層設計細化,底層軟件設計是頂層軟件中三大功能模塊而設計的,模塊設計采用VHDL語言描述完成,通過編譯、綜合、仿真后生成底層設計文件,以供頂層設計調用。以fenpin模塊為例,部分程序如下:

        architecture rt of fenpin is
        signal temp :std_logic_vector(1 downto 0);
        begin
        process(clk,temp,en)
        begin
        if en=’1’ then
        if rising_edge(clk) then
        temp=temp+’1’;
        end if;
        null;
        end if;
        end process;
        clk2=temp(0);
        clk4=temp(1);
        end rt;

        5、系統仿真和驗證

          軟件設計完成后,通過Quartus II軟件指定芯片為EPM570T100C5,并根據電路原理圖進行引腳分配,設定CPLD的引腳功能,然后啟動編譯程序來編譯項目。編譯器將進行錯誤檢查、網表提取、邏輯綜合和器件適配,然后進行行為仿真、功能仿真和時序仿真,最后用下載電纜通過JTAG編程方式將文件下載到芯片中,從而生成硬件電路。

          圖6為系統軟件仿真的結果,從圖中可以發現,生成的時序控制信號狀態穩定,精度為納秒級。
          
          圖7為將程序下載到目標芯片,硬件工作時通過邏輯分析儀觀察到的系統實際工作狀態圖,可以發現系統實際工作狀態與理論設計思想相一致。圖中的三路時序控制信號精度較高、狀態穩定,無毛刺和漂移現象,為提高系統的穩定性和接收矩陣的精度奠定了基礎。
         


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 柏乡县| 成都市| 临汾市| 海伦市| 佛教| 中阳县| 岑巩县| 六安市| 铜山县| 钦州市| 通海县| 遵化市| 苏尼特左旗| 包头市| 封丘县| 桃源县| 慈溪市| 繁昌县| 白银市| 屏山县| 东安县| 揭西县| 宜兰市| 蒙自县| 高雄县| 济源市| 南靖县| 贵德县| 和静县| 辰溪县| 陈巴尔虎旗| 靖安县| 秀山| 海宁市| 仙桃市| 玛多县| 京山县| 洪雅县| 富蕴县| 高邑县| 恩平市|