,
(北京理工大學 機車學院,北京 100081)
AlteraMAXVCPLD的工程設計應用及系統開發
張志明,崔濤
(北京理工大學 機車學院,北京 100081)
本文闡述了Altera MAX V最小系統從硬件原理圖到PCB設計、從軟件QuartusII編寫VHDL到Modelsim-Altera的軟件仿真,以及最終的程序下載到開發板上的整個工程設計調試過程,為后續的Altera MAX V工程設計應用提供技術參考和支持。
Altera MAX V;VHDL;仿真;工程調試
Altera MAX CPLD廣泛應用于電子電器行業,幾乎可實現所有數字和模擬控制功能,而且容易集成到系統中。采用CPLD器件,可以解決電路板級問題,使設計人員主要精力集中在更復雜的設計難題上。近年Altera的MAX II系列在CPLD市場上占據領導地位,其采用了TSMC成本優化的1.8 V、0.18 μm、6層金屬Flash工藝,廣泛應用在大批量消費類、通信、工業和計算機行業。目前MAX II系列已停產,Altera推出了MAX V系列,靜態功耗低至45 μw,密度在40~2 210個邏輯單元之間,引腳布局中提供更多的I/O和邏輯,提供各種低成本、無鹵素封裝(EQFP、TQFP、MBGA),滿足環境標準要求,對于Altera MAX V進行工程應用的開發設計、調試非常重要。
從Altera官網MAX V型號中選擇價格、結構、性能等處于中等的5M570ZT100I5芯片,軟件采用Quartus II進行編寫,并用Modelsim-Altera進行仿真,硬件電路采用Protel進行設計。Quartus II的軟件設計采用VHDL語言編程,因其語言構架類似于C語言,易于理解,在Quartus II中也有全面的VHDL語言模板可以參照,易學易用。
在整個工程設計應用中,先進行硬件電路的設計,在硬件電路制造階段進行VHDL語言的測例編程和模擬仿真,最終下載到硬件電路中進行驗證調試。
2.1 原理圖設計
原理圖設計分為供電電路設計、時鐘電路設計、程序下載電路設計、普通I/O端口的輸入/輸出設計。
(1)供電電路設計
根據官網資料介紹,MAX V系列的I/O電壓為3.3 V,Core Voltage為1.8 V,因此需選用AMS1117的5 V轉3.3 V、5 V轉1.8 V兩種穩壓器,選用SOT-223封裝類型,在VCCINT引腳(pin_13)上并聯10 μF電容。
(2)時鐘電路設計
MAX V系列的I/O口電壓為3.3 V,因此要選用3.3 V的有源晶振,在clk引腳(pin_12)和晶振out引腳之間用33 Ω電阻連接。
(3)程序下載電路設計
MAX V系列程序下載電路與MAX II系列的原理相同,選用標準BDM插頭,TMS、TDI引腳采用3.3 V供電,2只引腳與3.3 V電源之間串聯10 kΩ電阻;TCK引腳與GND之間串聯10 kΩ電阻。
(4)普通I/O端口的輸入輸出設計
普通I/O端口既可以作為信號輸入接口,也可以作為信號輸出接口。I/O端口的輸入/輸出電壓為3.3 V,無其他電路設計的特殊要求。本次將其直接引出,方便測例的調試驗證。
2.2 PCB設計
創建PCB項目文件,首先“選擇追加已有文件到項目中”,選擇上面所建立的原理圖文件,根據已有的原理圖文件生成PCB圖(如圖1所示),重點對時鐘信號線、電源線、地線、TCK、TDO、TDI、TMS等進行手工布線和線寬設置,其他線可在元器件擺放完后進行自動布線操作。

圖1 PCB圖
3.1 VHDL語言編程設計
MAX V采用Quartus II 12系列版本進行VHDL語言設計,在設計過程中要確保工程名稱與文件名稱命名一致,創建工程后,新建VHDL 文件,寫入測試語句:
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity qudong570 is
port
(clk : instd_logic; p : out std_logic;
q : outstd_logic);
end entity;
architecture ad of qudong570 is
signal num:natural:=0; signal cut:natural:=0;
signal i:natural:=0; signal vet:std_logic:='1';
signal vvv:std_logic:='1';
begin
process (clk)
begin
if (clk'event and clk='1') then
num<=num+1;cut<=cut+1;
case num is
when 640=> vvv<='0'; when 960=> vvv<='1';
when 2000=> vet<='0';vvv<='0';cut<=0;i<=1;
when 2900=> cut<=0; when 3800=> cut<=0;
when 4700=> cut<=0; when 9200=> cut<=0;
when 16400=> num<=0;vet<='1';vvv<='1';cut<=0;i<=0;
when others=>NULL;end case;
if (cut=1008 and i=0)then
vvv<=vvv xor '1';cut<=960;/*脈寬48 μs*/
end if; end if;
end process; q<=vet; p<=vvv;end ad;
3.2 對VHDL語言程序的仿真
采用Modelsim-Altera對所編程序進行仿真,在仿真之前先用Quartus自動生成測試文件:[processing]-[start]-[start Test Bench Template Writer]。打開生成的測試文件,將時鐘設定為500 ns,保存后即可在Quartus中點擊[start compilation]進行仿真,仿真結果如圖2所示。

圖2 PCB仿真波形

圖3 采集真實波形
將編寫好的程序下載到開發板上,下載程序過程中,先將下載器與開發板BDM頭插接好,再與PC機的USB相連,最后將開發板與5 V直流電源接通,下載程序成功后,將開發板重新上電即可運行程序。將開發板與示波器連接,測試開發板輸出信號,信號如圖3所示,與Modelsim Altera仿真結果一致,開發板調試成功。
EngineeringDesignandSystemDevelopmentofAlteraMAXVCPLD
ZhangZhiming,CuiTao
(School of Locomotive,Beijing Institute of Technology,Beijing 100081,China)
In the paper,Altera MAX V minimum system is introduced,from the principle diagram of hardware to PCB design, and from a software quartus II writing VHDL to Modelsim-Altera software simulation,and the program downloaded to the development board,that provides technical reference and supports for Altera MAX V engineering design applications.
Altera MAX V;VHDL;simulation;debugging
TP338
A