新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > CPLD通用寫入器設(shè)計(jì)與開發(fā)

CPLD通用寫入器設(shè)計(jì)與開發(fā)

作者: 時(shí)間:2008-01-15 來源:網(wǎng)絡(luò) 收藏

摘要:可編程邏輯器件(ProgrammableLogicDevice,簡稱PLD)是20世紀(jì)70年代發(fā)展起來的一種新型邏輯器件,它是現(xiàn)代數(shù)字電子系統(tǒng)向超高集成度、超低功耗、超小型封裝和專用化方向發(fā)展的重要基礎(chǔ)。它的應(yīng)用和發(fā)展不僅簡化了電路設(shè)計(jì),降低了成本,提高了系統(tǒng)的可靠性和保密性,而且給數(shù)字系統(tǒng)的設(shè)計(jì)方法帶來了革命性的變化。(ComplexProgrammableLogicDevice),即復(fù)雜可編程邏輯器件,它是20世紀(jì)90年代初期出現(xiàn)的EPLD改進(jìn)器件。同EPLD相比,增加了內(nèi)部連線,對邏輯宏單元和I/O單元也有重大的改進(jìn)。Xilinx是世界上最大的可編程邏輯器件供應(yīng)商之一,F(xiàn)PGA的發(fā)明者。產(chǎn)品種類較全,主要有:XC9500/4000,Coolrunner(XPLA3),Spartan,Vertex。在本文中,我們將通過對的發(fā)展、結(jié)構(gòu)、應(yīng)用和設(shè)計(jì)等方面的認(rèn)知,了解CPLD的基本原理,并設(shè)計(jì)出CPLD脫機(jī)編程的電路圖。
關(guān)鍵詞:復(fù)雜可編程邏輯器件CPLD(ComplexProgrammableLogicDevice),現(xiàn)場可編程邏輯陣列器件FPGA(FieldProgrammableLogicArray),電子設(shè)計(jì)自動(dòng)化EDA(ElectronicDesignAutomation),硬件描述語言HDL(HardwareDescriptionLanguage)。

一.CPLD及其功能
可編程邏輯器件包括現(xiàn)場可編程門陣列FPGA(FiledProgrammableGateArray)和復(fù)雜可編程邏輯器件CPLD(ComplexProgrammableLogicDevic)這兩種類型。
具有固定數(shù)目輸入和輸出的任何組合邏輯函數(shù)可以在可編程只讀存儲器PROM中以輸出為輸入的查找表方式來實(shí)現(xiàn),許多實(shí)現(xiàn)組合邏輯的結(jié)構(gòu)變型已從這一簡單的概念引申出來,而利用VLSI的密度產(chǎn)生更通用的能實(shí)現(xiàn)PCB板上幾個(gè)簡單PAL互連功能的器件是PAL/PROM這類范例的擴(kuò)展,稱為PAL構(gòu)造的PLD,即復(fù)雜可編程邏輯器件――CPLD。
CPLD所提供的邏輯資源比較少,最高約一萬門。但是,CPLD提供了以下特殊功能:
1.CPLD在設(shè)計(jì)過程中為客戶提供了更大的靈活性,因?yàn)閷τ贑PLD來說,設(shè)計(jì)反復(fù)只需要改變編程文件就可以了,而且設(shè)計(jì)改變的結(jié)果可立即在工作器件中看到。CPLD不需要漫長的前置時(shí)間來制造原型或正式產(chǎn)品,CPLD器件已經(jīng)放在分銷商的貨架上并可隨時(shí)付運(yùn);
2.CPLD不需要客戶支付高昂的NRE成本和購買昂貴的掩膜組,因?yàn)镃PLD供應(yīng)商在設(shè)計(jì)其可編程器件時(shí)已經(jīng)支付了這些成本,并且可通過PLD產(chǎn)品線延續(xù)多年的生命期來分?jǐn)傔@些成本;
3.CPLD允許客戶在需要時(shí)訂購所需要的數(shù)量,從而使客戶可控制庫存。采用固定邏輯器件的客戶經(jīng)常會面臨需要廢棄的過量庫存,而當(dāng)對其產(chǎn)品的需求高漲時(shí),他們有可能為器件供貨不足所苦,并且不得不面對生產(chǎn)延遲的現(xiàn)實(shí);
4.CPLD甚至在設(shè)備付運(yùn)到客戶那兒以后還可以重新編程。正是由于有了可編程邏輯器件,一些設(shè)備制造商現(xiàn)在正在嘗試為已經(jīng)安裝在現(xiàn)場的產(chǎn)品增加新功能或者進(jìn)行升級。

二.Xilinx公司的XC9500系列可編程邏輯器件
近年來,可編程邏輯器件在高密度、高速度、低功耗等方面發(fā)展很快。在CPLD方面,Xilinx公司推出了高性能、低成本的XC9500[tm]系列,以及在單個(gè)器件內(nèi)結(jié)合了極低功耗和高速度、高密度和多I/O引腳特點(diǎn)的CoolRunner[tm]系列。此系列CPLD器件需要的功耗極低,并且價(jià)格低廉,從而使其對于成本敏感的、電池供電的便攜式設(shè)備(如移動(dòng)電話和數(shù)字手持助理)非常理想。
XC9500系列CPLD器件是Xilinx公司具有代表性的產(chǎn)品,圖1為XC9500系列芯片的外觀圖:



圖1XC9500系列芯片的外觀圖

三.CPLD的設(shè)計(jì)與開發(fā)
XC9500系列可編程邏輯器件的內(nèi)部結(jié)構(gòu)以及時(shí)序問題就不一一介紹了,我們下面所關(guān)心的是CPLD的設(shè)計(jì)與開發(fā)。
CPLD器件的設(shè)計(jì)一般可以分為設(shè)計(jì)輸入、設(shè)計(jì)實(shí)現(xiàn)、設(shè)計(jì)仿真和下載編程4個(gè)步驟:
1.設(shè)計(jì)輸入
設(shè)計(jì)輸入就是將設(shè)計(jì)者所設(shè)計(jì)的電路以開發(fā)軟件要求的某種形式表達(dá)出來,并輸入到相應(yīng)的軟件中。
2.設(shè)計(jì)實(shí)現(xiàn)
在設(shè)計(jì)輸入之后,實(shí)現(xiàn)工具把邏輯映射到目標(biāo)器件結(jié)構(gòu)的資源中,決定邏輯的最佳布局,選擇邏輯與I/O功能塊連接的布線通道。Xilinx設(shè)計(jì)實(shí)現(xiàn)工具以極高自動(dòng)化程度完成這些任務(wù),設(shè)計(jì)編譯實(shí)用程序自動(dòng)地恢復(fù)所有的輸入文件,執(zhí)行所有必要的步驟來產(chǎn)生CPLD的配置程序。
3.設(shè)計(jì)仿真
這一部分的最大功能是便于用戶查看自己的設(shè)計(jì)思想是否得到實(shí)現(xiàn)。我們可以在設(shè)計(jì)的過程中對整個(gè)系統(tǒng)乃至各個(gè)模塊進(jìn)行仿真,如果有問題,可以很方便地修改錯(cuò)誤,而不必在硬件上動(dòng)手腳。仿真不消耗資源,不浪費(fèi)時(shí)間,實(shí)乃可編程邏輯器件設(shè)計(jì)與開發(fā)精髓之所在。
4.下載編程
下載編程一塊是將設(shè)計(jì)階段生成的JEDEC文件裝入到可編程器件中,是本文的重點(diǎn)。器件編程需要滿足一定的條件,如編程電壓、編程時(shí)序和編程算法等。普通的CPLD器件需要一種編程專用設(shè)備(編程器)完成器件編程。
Xilinx商提供基于IEEE1149.1,JTAG協(xié)議(JTAGBoundaryScan)的CPLD編程。它由DSUB
―25接口和下載電纜組成,被開發(fā)的CPLD必須在開發(fā)基板上進(jìn)行編程,板上就必須留有JTAG使用的接口(TMS,TCK,TDI和TDO信號線等)。這樣的好處是我們能夠?qū)崣C(jī)調(diào)試。
除Xilinx的實(shí)機(jī)編程器外,還可設(shè)計(jì)脫機(jī)CPLD編程(電路如圖2),它能對CPLD進(jìn)行編程寫入,而不需要開發(fā)實(shí)物基板,實(shí)物基板設(shè)計(jì)時(shí)就不需要留有JTAG接口。這樣能節(jié)約基板,減少產(chǎn)品體積。圖2的設(shè)計(jì)電路有以下幾個(gè)主要的部件:
1.并行接口
在圖2中,我們可以看到一個(gè)Parallel并行接口,用它經(jīng)過數(shù)據(jù)線和計(jì)算機(jī)連接。其實(shí)在這里,我們



圖2CPLD編程寫入器總電原理圖

圖3Parallel并行接口圖
也可以使用其它接口,例如Multilinx/Serial串行接口,以及Multilinx/USB接口等。這里使用的端口也是我們經(jīng)常用于連接本地打印機(jī)的接口。該接口是具有25Pin的接口,它的各Pin端口的信號如圖3所示。
2.Bus/Buffer電路
JTAG的信號,如TMS,TCK,TDI和TDO均需要設(shè)置Bus/Buffer電路。該Buffer電路采用了三態(tài)電路,這樣的設(shè)計(jì)使得CPLD寫入器對計(jì)算機(jī)的并行接口無不良影響,僅在需要對CPLD寫入器進(jìn)行數(shù)據(jù)輸入輸出時(shí)才動(dòng)作。在不輸入輸出信號數(shù)據(jù)時(shí)它處于高阻狀態(tài),在需輸入輸出數(shù)據(jù)時(shí)才處于低阻狀態(tài),保
證對CPLD寫入,讀出所需電流。Bus/Buffer電路如圖4所示:



圖4Bus/Buffer電路

圖5LED表示電路
3.LED表示電路
在CPLD編程寫入器電路設(shè)計(jì)中還設(shè)計(jì)有各種LED表示電路。如設(shè)置有綠色LED來表示電源輸出情況,紅色LED在TDI信號為L低電平時(shí)點(diǎn)燈。在紅色LED點(diǎn)滅時(shí)表示傳送數(shù)據(jù)中,此時(shí)不能關(guān)機(jī)或拔連接電纜。LED表示電路如圖5所示。
4.Device切換電路
對不同的CPLD芯片(如PC84,PC44等)進(jìn)行編程寫入,它的選擇由旋轉(zhuǎn)切換開關(guān)來完成,由于篇幅的關(guān)系就不給出了。

基金資助:本文由江蘇省高校自然科學(xué)研究指導(dǎo)性計(jì)劃項(xiàng)目資助,編號:05KJD510122
本文作者創(chuàng)新點(diǎn)及其經(jīng)濟(jì)效益:設(shè)計(jì)出CPLD脫機(jī)編程寫入器,對CPLD進(jìn)行編程寫入,而不需要開發(fā)實(shí)物基板,實(shí)物基板設(shè)計(jì)時(shí)就不需要留有JTAG接口。這樣能節(jié)約基板,減少產(chǎn)品體積。
周杰導(dǎo)師評論:該同學(xué)在書寫這篇文章的過程中,閱讀大量有關(guān)書籍,通過對CPLD的發(fā)展、結(jié)構(gòu)、應(yīng)用和設(shè)計(jì)等方面的認(rèn)知,了解CPLD的基本原理,并設(shè)計(jì)出了CPLD脫機(jī)編程寫入器的電路圖,有一定的創(chuàng)新思想和經(jīng)濟(jì)價(jià)值。

參考文獻(xiàn):
[1]付慧生.《復(fù)雜可編程邏輯器件與應(yīng)用設(shè)計(jì)》.中國礦業(yè)大學(xué)出版社,2003.8.TP332.1
[2]王道憲.《CPLD/FPGA可編程邏輯器件應(yīng)用與開發(fā)》.國防工業(yè)出版社,2004.1.TP332.1
[3]孫航.《Xilinx可編程邏輯器件的高級應(yīng)用與設(shè)計(jì)技巧》.電子工業(yè)出版社,2004.8.TP332.1
[4]趙妍肖冬榮.《幾種網(wǎng)絡(luò)控制系統(tǒng)的比較及典型應(yīng)用》.微計(jì)算機(jī)信息.2006.(4-1):P40-42.



關(guān)鍵詞: CPLD 寫入器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉