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