基于CPLD技術的數字時序控制電路設計
由32MHz高精度晶體振蕩器提供精確的時鐘信號。MAX II芯片EPM570T100C5產生精確的時序控制信號。EPM570是世界一流的低成本器件,適用于實現任何數字控制功能。該芯片采用非易失單芯片解決方案,可解決處理器I/O引腳不夠用等板級問題,管理上電排序,配置其它更復雜的器件,或者低成本實現不兼容接口(“膠合邏輯”)的轉換。具有低成本、零功耗、小封裝、瞬間啟動以及非易失性、系統(tǒng)內可編程能力(ISP)等優(yōu)點。CD4053根據CPLD芯片提供的精確時序數字控制信號完成正弦信號的時分制激勵。本文引用地址:http://m.butianyuan.cn/article/163806.htm
4、軟件設計[5]
在CPLD開發(fā)的過程中,使用的是Altera公司提供的CPLD開發(fā)軟件QuartusⅡ,該軟件支持Altera公司的絕大部分器件。為了縮短設計周期和降低設計復雜度,QuartuslI包含了工作組計算、集成邏輯分析功能、EDA工具集成、多工程支持、增強重編譯和IP集成等功能。在設計過程中采用的是自頂到底的設計思想,頂層基于功能塊的設計,底層的具體功能通過VHDL語言編程實現。
4.1 頂層設計[6、7]
自頂向底的設計過程是在軟件中先從系統(tǒng)級功能設計開始,然后分別設計并驗證系統(tǒng)中不同的功能塊。這種設計方法的好處是可以不斷地向設計中添加新的功能模塊,完善系統(tǒng)的功能。
在頂層中主要設計了三個功能模塊: 預分頻模塊、次分頻模塊、譯碼模塊。功能塊圖見圖5。系統(tǒng)上電工作時,首先由晶振為系統(tǒng)提供精確的基頻信號,通過預分頻模塊將原有基頻信號轉化為400Hz的時序信號,將400Hz的信號通過次分頻模塊進行二分頻和四分頻[6,7],將分頻所得100Hz和200Hz的信號輸入譯碼器模塊[7],通過譯碼產生時序間隔為2.5ms的精確時序控制信號。
4.2 底層設計
系統(tǒng)功能驗證完成后,將抽象的頂層設計向低層設計細化,底層軟件設計是基于頂層軟件中三大功能模塊而設計的,模塊設計采用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、系統(tǒng)仿真和驗證
軟件設計完成后,通過Quartus II軟件指定芯片為EPM570T100C5,并根據電路原理圖進行引腳分配,設定CPLD的引腳功能,然后啟動編譯程序來編譯項目。編譯器將進行錯誤檢查、網表提取、邏輯綜合和器件適配,然后進行行為仿真、功能仿真和時序仿真,最后用下載電纜通過JTAG編程方式將文件下載到芯片中,從而生成硬件電路。
圖6為系統(tǒng)軟件仿真的結果,從圖中可以發(fā)現,生成的時序控制信號狀態(tài)穩(wěn)定,精度為納秒級。
圖7為將程序下載到目標芯片,硬件工作時通過邏輯分析儀觀察到的系統(tǒng)實際工作狀態(tài)圖,可以發(fā)現系統(tǒng)實際工作狀態(tài)與理論設計思想相一致。圖中的三路時序控制信號精度較高、狀態(tài)穩(wěn)定,無毛刺和漂移現象,為提高系統(tǒng)的穩(wěn)定性和接收矩陣的精度奠定了基礎。
評論