可編程邏輯器件(PLD)在工業(yè)、自動(dòng)控制、信號處理和日常生活等方面都發(fā)揮著(zhù)愈來(lái)愈大的作用。isp(在系統可編程)器件就是PLD中的一朵奇葩,它以其良好的系統性能、較強的設計靈活性、較高的邏輯利用率和優(yōu)越的E2CMOS工藝而得到了電路設計者們的青睞。本設計就是采用Lattice公司的高密度在系統可編程芯片pLSI/ispLSI1016設計的一個(gè)通信數字信號源。設計中采用兩套地址總線(xiàn)(微機總線(xiàn)與isp總線(xiàn))分時(shí)對兩片RAM進(jìn)行讀寫(xiě)操作,并采用不斷查詢(xún)端口的方式進(jìn)行協(xié)調控制,從而產(chǎn)生出滿(mǎn)足設計要求的數字碼流。 1 isp系統介紹 1.1 概述 在系統可編程器件是近幾年來(lái)興起的一種PLD器件。所謂在系統可編程,是指在用戶(hù)自己設計的目標系統中或線(xiàn)路板上為重構邏輯器件進(jìn)行編程或反復編程的能力。常規PLD通常是先編程后裝配,而采用isp技術(shù)的PLD則是先裝配后編程,成為產(chǎn)品之后還可反復編程。在系統可編程器件的出現使得當今數字電子系統設計的面貌煥然一新。采用isp技術(shù)之后硬件設計可以變得象軟件那樣靈活而易于修改,硬件的功能可以實(shí)時(shí)地加以修改或按預定程序改變組態(tài),這不僅擴展了器件的用途,縮短了系統調試周期,而且還省卻了對器件單獨編程的環(huán)節和器件編程設備,簡(jiǎn)化了目標設備的現場(chǎng)升級和維護工作。isp是美國Lattice半導體公司生產(chǎn)的可編程邏輯器件的專(zhuān)用商標,該公司生產(chǎn)的PLD在工藝上吸收了E2PROM的浮柵技術(shù),并與CMOS靜態(tài)RAM相結合,開(kāi)拓了能長(cháng)期保持數據的E2CMOS技術(shù)。目前所有的GALpLSI/ispLSI都應用了Lattice公司的高速UltraMOS E2CMOS技術(shù)。Lattice公司已將其獨特的isp技術(shù)應用到它的高密度可編程邏輯器件(HDPLD)中,形成ispLSI系列高密度在系統可編程邏輯器件,使得isp成為新產(chǎn)品研制和開(kāi)發(fā)的理想工具。 1.2 isp器件的特點(diǎn) 可編程邏輯器件的在系統編程能力必將更新人們設計、制造和維護電子系統的方法,具有如下特點(diǎn): •在系統編程允許用戶(hù)“在系統之中”編程或修改邏輯設計,而無(wú)需將器件從線(xiàn)路板上拆上拆下。這就加速了系統和線(xiàn)路板的調試過(guò)程,便于用戶(hù)在設計過(guò)程中更早地確定線(xiàn)路板的布局。 •當對傳統的PLD器件進(jìn)行編程時(shí),其測試、制造過(guò)程總是免不了人工處置。采用ispLSI器件之后,可以將芯片直接焊接在印刷電路板上,然后再進(jìn)行編程或改寫(xiě)。這就保證了調試制造過(guò)程中絕不會(huì )損傷器件的引腳。 •ispLSI器件在焊接到印刷電路板上之后,仍可毫不困難地修改其邏輯功能,于是用戶(hù)可在同一塊電路板上實(shí)現各種硬件結構。 •通過(guò)軟件重構系統,ispLSI器件的現場(chǎng)改寫(xiě)只需從磁盤(pán)裝入或通過(guò)調制解調器送入結構文件,實(shí)現起來(lái)非常容易,而且還可實(shí)現遠距離遙控編程。 •所有ispLSI器件都為用戶(hù)提供了一個(gè)保密位來(lái)防止對片內編程模式的非法復制。保密位僅能在芯片改寫(xiě)時(shí)被擦除,因而一旦被編程后就無(wú)法讀出芯片內原有的內部結構。 此外ispLSI器件也可以用市售的通用邏輯編程器來(lái)進(jìn)行編程。 1.3 pLSI/ispLSI1000系列的結構及特點(diǎn) pLSI/ispLSI邏輯塊的基本單位是萬(wàn)能邏輯塊(GLB),這種萬(wàn)能邏輯塊由四個(gè)輸出邏輯宏單元(OLMC)組成。每個(gè)GLB中有18個(gè)輸入、一個(gè)可編程的與/或/異或陣列和4個(gè)輸出。GLB的輸入來(lái)自于集總布線(xiàn)區(GRP Global Routing Pool)和直通輸入。所有GLB的輸出都送至集總布線(xiàn)區,因此可使它們與器件中其它GLB的輸入相連,如圖1所示。 由8個(gè)GLB、16個(gè)I/O單元和兩個(gè)直通輸入互相連接而構成一個(gè)大塊(Megablock)。這8個(gè)GLB的輸出通過(guò)輸出布線(xiàn)區(ORP The Output Routing Pool)被連至16個(gè)通用I/O單元。每一個(gè)大塊共享一個(gè)輸出使能控制信號。 pLSI/ispLSI器件由于邏輯輸入端多,邏輯塊劃分較細膩而優(yōu)越于一般的可編程邏輯器件。它之所以設計靈活,邏輯利用率高,是由于它具有靈活的布線(xiàn)資源和可供選擇的宏單元時(shí)鐘,還有輸入寄存器和豐富的使能信號。pLSI/ispLSI器件編程速度快,出廠(chǎng)前100%經(jīng)過(guò)測試,因此在系統編程能力、質(zhì)量、可靠性和生產(chǎn)率方面都領(lǐng)先于一般的PLD。對于pLSI/ispLSI1016而言,它包括96個(gè)寄存器、4個(gè)直通輸入、3個(gè)直通輸入時(shí)鐘和一個(gè)集總布線(xiàn)區。isp1016具有5V在系統編程和在系統監測能力。isp1016共包括2個(gè)大塊,內含16個(gè)GLB。該器件同時(shí)具有32個(gè)I/O單元和4個(gè)直通輸入,它們都直接連至I/O引腳。每一個(gè)I/O單元都可以單獨編程為組合輸入、寄存器輸入、鎖存器輸入、輸出或是具有三態(tài)控制的雙向I/O引腳。 2 系統設計原理及框圖 2.1 設計原理 本設計的任務(wù)是設計一個(gè)數字信號源。要求碼長(cháng)可變;數據格式是可以符合任何一種建議的數據格式;碼速率可調且在1~10Mbps之間。為此,在設計之初采用了以下方案,框圖如圖2所示,其中八分頻電路,可置數的地址計數器電路及并/串轉換電路由isp器件編程實(shí)現。為了實(shí)現碼速在1~10Mbps之間可調,特采用DDS器件產(chǎn)生出1~10MHz的正弦波信號,經(jīng)過(guò)整形及濾波電路而形成方波,即主控時(shí)鐘CLK信號。主控時(shí)鐘經(jīng)過(guò)8分頻電路而形成CLK0信號,它成為可置數的地址計數器的計數脈沖。同時(shí)CLK0信號經(jīng)過(guò)反相成為并/串轉換電路的置入(采樣)脈沖信號fsa,而CLK 信號經(jīng)過(guò)反相成為并/串轉換電路的時(shí)鐘信號fcp,這樣CLK信號的速率就決定了所產(chǎn)生的數據碼流的速率。在EPROM存儲器中存放著(zhù)符合一定數據格式的數據。這樣由可置數的地址計數器循環(huán)地長(cháng)度可變地讀出EPROM中的數據(以byte為單位),經(jīng)過(guò)并/串轉換電路便產(chǎn)生了碼長(cháng)可變、碼速可變的數字碼流。 但是,考慮到EPROM編程及擦寫(xiě)的過(guò)程比較繁瑣,數據不易改寫(xiě),靈活性及通用性較差,因此,經(jīng)過(guò)比較決定采用第二種方案。其框圖如圖3所示。 在第二種方案中,isp器件仍由編程實(shí)現八分頻電路、地址譯碼器電路及并/串轉換電路的功能。圖3中,端口電路的作用主要是通過(guò)不斷查詢(xún)B15的狀態(tài),從而控制兩片RAM的讀寫(xiě)進(jìn)程。控制電路主要包括地址線(xiàn)選擇控制,存儲器片選控制,讀寫(xiě)及輸出使能端控制以及總線(xiàn)驅動(dòng)控制等。設計中采用兩片RAM進(jìn)行分時(shí)讀寫(xiě)操作,這樣做的目的是使數據信號的設計具有更大的靈活性。當微機對RAM1進(jìn)行寫(xiě)操作的同時(shí),由isp器件中的地址計數譯碼對RAM2進(jìn)行讀操作,讀出的數據經(jīng)isp內并/串轉換部分而輸出數據信號OUT;同樣地,當微機對RAM2進(jìn)行寫(xiě)操作的同時(shí),由isp器件中的地址計數譯碼對RAM1進(jìn)行讀操作,讀出的數據經(jīng)isp內并/串轉換部分而輸出數字信號流OUT。如此往復循環(huán),從而方便靈活地產(chǎn)生出符合設計要求的數字碼流。 由于設計中采用兩套地址總線(xiàn)進(jìn)行分時(shí)讀寫(xiě)操作,而分時(shí)讀寫(xiě)操作的切換主要是利用ispLSI1016中地址計數譯碼電路的最高位—B15。在整個(gè)工作期間,兩片RAM都應處于被選中的狀態(tài),即片選信號均應為低電平。當微機對一片RAM進(jìn)行寫(xiě)操作時(shí),要保證ispLSI1016對另一片RAM進(jìn)行讀操作,每一片RAM都有2個(gè)雙向數據收發(fā)器74LS245與之相連接。其中一個(gè)固定為輸入→輸出,對應為ispLSI1016從RAM中讀出數據;另外一個(gè)固定為輸出→輸入,對應為微機向RAM寫(xiě)數據。 由于寫(xiě)操作是通過(guò)編程由微機控制的,速度較快,而讀操作是由ispLSI1016控制的,速度較慢,這就很有可能出現讀寫(xiě)操作的混亂。為了防止這種情況的發(fā)生,在設計中增加了端口電路部分。我們可以在系統程序中增加一段不斷查詢(xún)端口的語(yǔ)句,而標志位就為B15(因為對一片RAM而言,B15信號電平的改變就意味著(zhù)讀寫(xiě)狀態(tài)的改變)。當查詢(xún)到標志位發(fā)生改變時(shí),立即進(jìn)行下一輪讀寫(xiě);當查詢(xún)到標志位不變時(shí),繼續查詢(xún),直至其發(fā)生改變?yōu)橹?然后進(jìn)行下一輪讀寫(xiě)。 對于ispLSI1016的時(shí)鐘輸入,可以使用DDS?直接數字頻率合成 構造一個(gè)可變頻率的正弦波產(chǎn)生電路,然后再進(jìn)行波形變換而形成一個(gè)方波脈沖信號。但是為了簡(jiǎn)單起見(jiàn),也可使用一個(gè)4MHz的晶體和基本門(mén)電路搭成一個(gè)具有一定頻率穩定度的方波產(chǎn)生電路。 前面已經(jīng)提到過(guò)ispLSI1016由編程實(shí)現八分頻電路、地址計數譯碼電路、并/串轉換電路的功能。其中八分頻電路可以看作是一個(gè)3位的計數器,它的進(jìn)位信號就是外部輸入時(shí)鐘的八分頻信號;地址計數譯碼電路也可以看作是一個(gè)16位的地址計數器,它的低15位就是作為輸出的地址信號,它的最高位B15是做為控制信號來(lái)使用的;并/串轉換電路可以看作是一個(gè)八位的移位寄存器,它的移出信號就是所要產(chǎn)生的數據碼流信號。 2.2 系統程序設計 系統程序主要完成以下功能:由微機將符合一定建議數據格式的數據寫(xiě)入RAM中,查詢(xún)端口的狀態(tài)并完成相應的操作,結束系統的工作等。系統程序流程圖如圖4所示。 3 isp編程設計 3.1 在系統編程原理 ispLSI器件的編程是由片內狀態(tài)機控制的,狀態(tài)的輸入即為進(jìn)入片內的五個(gè)編程接口信號。圖5給出了在系統編程電路的典型結構。 圖中編程信號來(lái)自專(zhuān)門(mén)的在系統編程控制電路。編程過(guò)程即為把JEDEC形式的熔絲圖傳送到器件中的過(guò)程。ispLSI器件有兩種模式:正常工作模式與編程模式。器件的工作模式是由在系統編程使能信號ispEN控制的。ispLSI器件一旦進(jìn)入編程模式,器件的編程操作就完全受片內isp狀態(tài)機控制。在五個(gè)編程控制信號中,ispEN信號用來(lái)使能或取消其他四個(gè)編程控制信號。它們是:數據串入信號SDI、模式控制信號MODE、數據串出信號SDO和串行時(shí)鐘信號SCLK。在SCLK的作用下,來(lái)自JEDEC文件的編程信息通過(guò)SDI端口串行地移入器件,同時(shí)通過(guò)SDO端口移出。SCLK同時(shí)也驅動(dòng)片內狀態(tài)機工作。當器件處于正常工作模式時(shí),4個(gè)編程控制信號端口可以用作普通的直通輸入端。對ispLSI器件編程有多種方法。其中最簡(jiǎn)單的是直接把isp編程引腳當作專(zhuān)用的編程端口。用如圖5那樣的并行編程結構來(lái)進(jìn)行編程。 3.2 設計軟件簡(jiǎn)介 如前所述,isp由編程實(shí)現八分頻電路、地址計數器電路以及并/串轉換電路的功能。在這里對isp編程采用原理圖設計法,即先設計出滿(mǎn)足上述功能的原理圖,然后生成JEDEC形式的熔絲圖,再寫(xiě)入isp器件中。 我們使用的繪制原理圖的軟件為OrCAD System公司的OrCAD/SDT IV。需要注意的是,因為要使用OrCAD Systems公司的WDOWNLD軟件包進(jìn)行對ispLSI1016的編程寫(xiě)入,所以在繪圖時(shí)要采用庫LSC.LIB(Lattice Semiconductor Corporation Library)中的元件。也就是說(shuō),要使用LSC庫中基本邏輯門(mén)和D觸發(fā)器來(lái)繪制出具有上述三種功能的isp編程原理圖。 在原理圖繪制完畢之后,就可以用OrCAD/SDT IV中的網(wǎng)絡(luò )表制作功能生成網(wǎng)絡(luò )表.EDN文件,此時(shí)還可使用OrCAD/VST進(jìn)行數字電路的邏輯模擬。在電路連接網(wǎng)表文件生成以后,就可以使用pDS+ OrCAD Software軟件包生成JEDEC形式的熔絲圖文件了。有關(guān)pDS+ OrCAD Software的資料請參考文獻[4]。當具有標準JEDEC格式的熔絲圖文件生成以后,就可以使用WDOWNLD軟件包(即DOWNLOAD for Windows)對isp器件進(jìn)行編程寫(xiě)入了。下載電纜線(xiàn)是專(zhuān)用的ispDOWNLOAD CABLE,它的一端是25針的并行接口,另一端是一個(gè)8腳的插座。對WDOWNLOAD軟件感興趣的讀者請參考相關(guān)的資料。 經(jīng)過(guò)上述步驟,pLSI/ispLSI1016就成為一個(gè)具有一定功能的邏輯器件了,我們也就可以在系統電路板上使用它了。 總之,美國Lattice 公司將“在系統可編程(isp)”技術(shù)應用到高密度可編程器件中,形成既有可編程邏輯器件(PLD)的性能與特點(diǎn),又有現場(chǎng)可編程邏輯陣列(FPGA)高密度和靈活性的在系統可編程邏輯器件。本設計就是對這種器件進(jìn)行了一定的開(kāi)發(fā)及應用,設計出一種通用數字信號源。有關(guān)isp器件的開(kāi)發(fā)及應用還值得我們作進(jìn)一步的探索 |