《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 采用ISP器件設(shè)計可變格式和可變速率的通信數(shù)字信號源

采用ISP器件設(shè)計可變格式和可變速率的通信數(shù)字信號源

2009-06-19
作者:時信華 張爾揚(yáng)

  摘 要: 采用Lattice公司的在系統(tǒng)可編程器件pLSI/ispLSI1016,設(shè)計出一個具有可變格式、可變長度和可變速率的通信數(shù)字信號源,從而可以產(chǎn)生出符合設(shè)計者要求的數(shù)字碼流。
  關(guān)鍵詞: 在系統(tǒng)可編程(isp) 可編程邏輯器件(PLD) 數(shù)據(jù)格式 信號源


  可編程邏輯器件(PLD)在工業(yè)、自動控制、信號處理和日常生活等方面都發(fā)揮著愈來愈大的作用。isp(在系統(tǒng)可編程)器件就是PLD中的一朵奇葩,它以其良好的系統(tǒng)性能、較強(qiáng)的設(shè)計靈活性、較高的邏輯利用率和優(yōu)越的E2CMOS工藝而得到了電路設(shè)計者們的青睞。本設(shè)計就是采用Lattice公司的高密度在系統(tǒng)可編程芯片pLSI/ispLSI1016設(shè)計的一個通信數(shù)字信號源。設(shè)計中采用兩套地址總線(微機(jī)總線與isp總線)分時對兩片RAM進(jìn)行讀寫操作,并采用不斷查詢端口的方式進(jìn)行協(xié)調(diào)控制,從而產(chǎn)生出滿足設(shè)計要求的數(shù)字碼流。
1 isp系統(tǒng)介紹
1.1 概述

  在系統(tǒng)可編程器件是近幾年來興起的一種PLD器件。所謂在系統(tǒng)可編程,是指在用戶自己設(shè)計的目標(biāo)系統(tǒng)中或線路板上為重構(gòu)邏輯器件進(jìn)行編程或反復(fù)編程的能力。常規(guī)PLD通常是先編程后裝配,而采用isp技術(shù)的PLD則是先裝配后編程,成為產(chǎn)品之后還可反復(fù)編程。在系統(tǒng)可編程器件的出現(xiàn)使得當(dāng)今數(shù)字電子系統(tǒng)設(shè)計的面貌煥然一新。采用isp技術(shù)之后硬件設(shè)計可以變得象軟件那樣靈活而易于修改,硬件的功能可以實(shí)時地加以修改或按預(yù)定程序改變組態(tài),這不僅擴(kuò)展了器件的用途,縮短了系統(tǒng)調(diào)試周期,而且還省卻了對器件單獨(dú)編程的環(huán)節(jié)和器件編程設(shè)備,簡化了目標(biāo)設(shè)備的現(xiàn)場升級和維護(hù)工作。isp是美國Lattice半導(dǎo)體公司生產(chǎn)的可編程邏輯器件的專用商標(biāo),該公司生產(chǎn)的PLD在工藝上吸收了E2PROM的浮柵技術(shù),并與CMOS靜態(tài)RAM相結(jié)合,開拓了能長期保持?jǐn)?shù)據(jù)的E2CMOS技術(shù)。目前所有的GALpLSI/ispLSI都應(yīng)用了Lattice公司的高速UltraMOS E2CMOS技術(shù)。Lattice公司已將其獨(dú)特的isp技術(shù)應(yīng)用到它的高密度可編程邏輯器件(HDPLD)中,形成ispLSI系列高密度在系統(tǒng)可編程邏輯器件,使得isp成為新產(chǎn)品研制和開發(fā)的理想工具。
1.2 isp器件的特點(diǎn)
  可編程邏輯器件的在系統(tǒng)編程能力必將更新人們設(shè)計、制造和維護(hù)電子系統(tǒng)的方法,具有如下特點(diǎn):
  ·在系統(tǒng)編程允許用戶“在系統(tǒng)之中”編程或修改邏輯設(shè)計,而無需將器件從線路板上拆上拆下。這就加速了系統(tǒng)和線路板的調(diào)試過程,便于用戶在設(shè)計過程中更早地確定線路板的布局。
  ·當(dāng)對傳統(tǒng)的PLD器件進(jìn)行編程時,其測試、制造過程總是免不了人工處置。采用ispLSI器件之后,可以將芯片直接焊接在印刷電路板上,然后再進(jìn)行編程或改寫。這就保證了調(diào)試制造過程中絕不會損傷器件的引腳。
  ·ispLSI器件在焊接到印刷電路板上之后,仍可毫不困難地修改其邏輯功能,于是用戶可在同一塊電路板上實(shí)現(xiàn)各種硬件結(jié)構(gòu)。
  ·通過軟件重構(gòu)系統(tǒng),ispLSI器件的現(xiàn)場改寫只需從磁盤裝入或通過調(diào)制解調(diào)器送入結(jié)構(gòu)文件,實(shí)現(xiàn)起來非常容易,而且還可實(shí)現(xiàn)遠(yuǎn)距離遙控編程。
  ·所有ispLSI器件都為用戶提供了一個保密位來防止對片內(nèi)編程模式的非法復(fù)制。保密位僅能在芯片改寫時被擦除,因而一旦被編程后就無法讀出芯片內(nèi)原有的內(nèi)部結(jié)構(gòu)。
  此外ispLSI器件也可以用市售的通用邏輯編程器來進(jìn)行編程。
1.3 pLSI/ispLSI1000系列的結(jié)構(gòu)及特點(diǎn)
  pLSI/ispLSI邏輯塊的基本單位是萬能邏輯塊(GLB),這種萬能邏輯塊由四個輸出邏輯宏單元(OLMC)組成。每個GLB中有18個輸入、一個可編程的與/或/異或陣列和4個輸出。GLB的輸入來自于集總布線區(qū)(GRP Global Routing Pool)和直通輸入。所有GLB的輸出都送至集總布線區(qū),因此可使它們與器件中其它GLB的輸入相連,如圖1所示。


  由8個GLB、16個I/O單元和兩個直通輸入互相連接而構(gòu)成一個大塊(Megablock)。這8個GLB的輸出通過輸出布線區(qū)(ORP The Output Routing Pool)被連至16個通用I/O單元。每一個大塊共享一個輸出使能控制信號。
  pLSI/ispLSI器件由于邏輯輸入端多,邏輯塊劃分較細(xì)膩而優(yōu)越于一般的可編程邏輯器件。它之所以設(shè)計靈活,邏輯利用率高,是由于它具有靈活的布線資源和可供選擇的宏單元時鐘,還有輸入寄存器和豐富的使能信號。pLSI/ispLSI器件編程速度快,出廠前100%經(jīng)過測試,因此在系統(tǒng)編程能力、質(zhì)量、可靠性和生產(chǎn)率方面都領(lǐng)先于一般的PLD。對于pLSI/ispLSI1016而言,它包括96個寄存器、4個直通輸入、3個直通輸入時鐘和一個集總布線區(qū)。isp1016具有5V在系統(tǒng)編程和在系統(tǒng)監(jiān)測能力。isp1016共包括2個大塊,內(nèi)含16個GLB。該器件同時具有32個I/O單元和4個直通輸入,它們都直接連至I/O引腳。每一個I/O單元都可以單獨(dú)編程為組合輸入、寄存器輸入、鎖存器輸入、輸出或是具有三態(tài)控制的雙向I/O引腳。
2 系統(tǒng)設(shè)計原理及框圖
2.1設(shè)計原理
  本設(shè)計的任務(wù)是設(shè)計一個數(shù)字信號源。要求碼長可變;數(shù)據(jù)格式是可以符合任何一種建議的數(shù)據(jù)格式;碼速率可調(diào)且在1~10Mbps之間。為此,在設(shè)計之初采用了以下方案,框圖如圖2所示,其中八分頻電路,可置數(shù)的地址計數(shù)器電路及并/串轉(zhuǎn)換電路由isp器件編程實(shí)現(xiàn)。為了實(shí)現(xiàn)碼速在1~10Mbps之間可調(diào),特采用DDS器件產(chǎn)生出1~10MHz的正弦波信號,經(jīng)過整形及濾波電路而形成方波,即主控時鐘CLK信號。主控時鐘經(jīng)過8分頻電路而形成CLK0信號,它成為可置數(shù)的地址計數(shù)器的計數(shù)脈沖。同時CLK0信號經(jīng)過反相成為并/串轉(zhuǎn)換電路的置入(采樣)脈沖信號fsa,而CLK 信號經(jīng)過反相成為并/串轉(zhuǎn)換電路的時鐘信號fcp,這樣CLK信號的速率就決定了所產(chǎn)生的數(shù)據(jù)碼流的速率。在EPROM存儲器中存放著符合一定數(shù)據(jù)格式的數(shù)據(jù)。這樣由可置數(shù)的地址計數(shù)器循環(huán)地長度可變地讀出EPROM中的數(shù)據(jù)(以byte為單位),經(jīng)過并/串轉(zhuǎn)換電路便產(chǎn)生了碼長可變、碼速可變的數(shù)字碼流。


  但是,考慮到EPROM編程及擦寫的過程比較繁瑣,數(shù)據(jù)不易改寫,靈活性及通用性較差,因此,經(jīng)過比較決定采用第二種方案。其框圖如圖3 所示。


  在第二種方案中,isp器件仍由編程實(shí)現(xiàn)八分頻電路、地址譯碼器電路及并/串轉(zhuǎn)換電路的功能。圖3中,端口電路的作用主要是通過不斷查詢B15的狀態(tài),從而控制兩片RAM的讀寫進(jìn)程??刂齐娐分饕ǖ刂肪€選擇控制,存儲器片選控制,讀寫及輸出使能端控制以及總線驅(qū)動控制等。設(shè)計中采用兩片RAM進(jìn)行分時讀寫操作,這樣做的目的是使數(shù)據(jù)信號的設(shè)計具有更大的靈活性。當(dāng)微機(jī)對RAM1進(jìn)行寫操作的同時,由isp器件中的地址計數(shù)譯碼對RAM2進(jìn)行讀操作,讀出的數(shù)據(jù)經(jīng)isp內(nèi)并/串轉(zhuǎn)換部分而輸出數(shù)據(jù)信號OUT;同樣地,當(dāng)微機(jī)對RAM2進(jìn)行寫操作的同時,由isp器件中的地址計數(shù)譯碼對RAM1進(jìn)行讀操作,讀出的數(shù)據(jù)經(jīng)isp內(nèi)并/串轉(zhuǎn)換部分而輸出數(shù)字信號流OUT。如此往復(fù)循環(huán),從而方便靈活地產(chǎn)生出符合設(shè)計要求的數(shù)字碼流。
  由于設(shè)計中采用兩套地址總線進(jìn)行分時讀寫操作,而分時讀寫操作的切換主要是利用ispLSI1016中地址計數(shù)譯碼電路的最高位—B15。在整個工作期間,兩片RAM都應(yīng)處于被選中的狀態(tài),即片選信號均應(yīng)為低電平。當(dāng)微機(jī)對一片RAM進(jìn)行寫操作時,要保證ispLSI1016對另一片RAM進(jìn)行讀操作,每一片RAM都有2個雙向數(shù)據(jù)收發(fā)器74LS245與之相連接。其中一個固定為輸入→輸出,對應(yīng)為ispLSI1016從RAM中讀出數(shù)據(jù);另外一個固定為輸出→輸入,對應(yīng)為微機(jī)向RAM寫數(shù)據(jù)。
  由于寫操作是通過編程由微機(jī)控制的,速度較快,而讀操作是由ispLSI1016控制的,速度較慢,這就很有可能出現(xiàn)讀寫操作的混亂。為了防止這種情況的發(fā)生,在設(shè)計中增加了端口電路部分。我們可以在系統(tǒng)程序中增加一段不斷查詢端口的語句,而標(biāo)志位就為B15(因?yàn)閷σ黄琑AM而言,B15信號電平的改變就意味著讀寫狀態(tài)的改變)。當(dāng)查詢到標(biāo)志位發(fā)生改變時,立即進(jìn)行下一輪讀寫;當(dāng)查詢到標(biāo)志位不變時,繼續(xù)查詢,直至其發(fā)生改變?yōu)橹?,然后進(jìn)行下一輪讀寫。
  對于ispLSI1016的時鐘輸入,可以使用DDS(直接數(shù)字頻率合成)構(gòu)造一個可變頻率的正弦波產(chǎn)生電路,然后再進(jìn)行波形變換而形成一個方波脈沖信號。但是為了簡單起見,也可使用一個4MHz的晶體和基本門電路搭成一個具有一定頻率穩(wěn)定度的方波產(chǎn)生電路。
  前面已經(jīng)提到過ispLSI1016由編程實(shí)現(xiàn)八分頻電路、地址計數(shù)譯碼電路、并/串轉(zhuǎn)換電路的功能。其中八分頻電路可以看作是一個3位的計數(shù)器,它的進(jìn)位信號就是外部輸入時鐘的八分頻信號;地址計數(shù)譯碼電路也可以看作是一個16位的地址計數(shù)器,它的低15位就是作為輸出的地址信號,它的最高位B15是做為控制信號來使用的;并/串轉(zhuǎn)換電路可以看作是一個八位的移位寄存器,它的移出信號就是所要產(chǎn)生的數(shù)據(jù)碼流信號。
2.2 系統(tǒng)程序設(shè)計
  系統(tǒng)程序主要完成以下功能:由微機(jī)將符合一定建議數(shù)據(jù)格式的數(shù)據(jù)寫入RAM中,查詢端口的狀態(tài)并完成相應(yīng)的操作,結(jié)束系統(tǒng)的工作等。系統(tǒng)程序流程圖如圖4所示。

?


3 isp編程設(shè)計
3.1在系統(tǒng)編程原理

  ispLSI器件的編程是由片內(nèi)狀態(tài)機(jī)控制的,狀態(tài)的輸入即為進(jìn)入片內(nèi)的五個編程接口信號。圖5給出了在系統(tǒng)編程電路的典型結(jié)構(gòu)。
  圖中編程信號來自專門的在系統(tǒng)編程控制電路。編程過程即為把JEDEC形式的熔絲圖傳送到器件中的過程。ispLSI器件有兩種模式:正常工作模式與編程模式。器件的工作模式是由在系統(tǒng)編程使能信號控制的。ispLSI器件一旦進(jìn)入編程模式,器件的編程操作就完全受片內(nèi)isp狀態(tài)機(jī)控制。在五個編程控制信號中,信號用來使能或取消其他四個編程控制信號。它們是:數(shù)據(jù)串入信號SDI、模式控制信號MODE、數(shù)據(jù)串出信號SDO和串行時鐘信號SCLK。在SCLK的作用下,來自JEDEC文件的編程信息通過SDI端口串行地移入器件,同時通過SDO端口移出。SCLK同時也驅(qū)動片內(nèi)狀態(tài)機(jī)工作。當(dāng)器件處于正常工作模式時,4個編程控制信號端口可以用作普通的直通輸入端。對ispLSI器件編程有多種方法。其中最簡單的是直接把isp編程引腳當(dāng)作專用的編程端口。用如圖5那樣的并行編程結(jié)構(gòu)來進(jìn)行編程。
3.2 設(shè)計軟件簡介
  如前所述,isp由編程實(shí)現(xiàn)八分頻電路、地址計數(shù)器電路以及并/串轉(zhuǎn)換電路的功能。在這里對isp編程采用原理圖設(shè)計法,即先設(shè)計出滿足上述功能的原理圖,然后生成JEDEC形式的熔絲圖,再寫入isp器件中。
  我們使用的繪制原理圖的軟件為OrCAD System公司的OrCAD/SDT IV。需要注意的是,因?yàn)橐褂肙rCAD Systems公司的WDOWNLD軟件包進(jìn)行對ispLSI1016的編程寫入,所以在繪圖時要采用庫LSC.LIB(Lattice Semiconductor Corporation Library)中的元件。也就是說,要使用LSC庫中基本邏輯門和D觸發(fā)器來繪制出具有上述三種功能的isp編程原理圖。在原理圖繪制完畢之后,就可以用OrCAD/SDT IV中的網(wǎng)絡(luò)表制作功能生成網(wǎng)絡(luò)表.EDN文件,此時還可使用OrCAD/VST進(jìn)行數(shù)字電路的邏輯模擬。在電路連接網(wǎng)表文件生成以后,就可以使用pDS+ OrCAD Software軟件包生成JEDEC形式的熔絲圖文件了。有關(guān)pDS+ OrCAD Software的資料請參考文獻(xiàn)[4]。當(dāng)具有標(biāo)準(zhǔn)JEDEC格式的熔絲圖文件生成以后,就可以使用WDOWNLD軟件包(即DOWNLOAD for Windows)對isp器件進(jìn)行編程寫入了。下載電纜線是專用的ispDOWNLOAD CABLE,它的一端是25針的并行接口,另一端是一個8腳的插座。對WDOWNLOAD軟件感興趣的讀者請參考相關(guān)的資料。
  經(jīng)過上述步驟,pLSI/ispLSI1016就成為一個具有一定功能的邏輯器件了,我們也就可以在系統(tǒng)電路板上使用它了。
  總之,美國Lattice 公司將“在系統(tǒng)可編程(isp)”技術(shù)應(yīng)用到高密度可編程器件中,形成既有可編程邏輯器件(PLD)的性能與特點(diǎn),又有現(xiàn)場可編程邏輯陣列(FPGA)高密度和靈活性的在系統(tǒng)可編程邏輯器件。本設(shè)計就是對這種器件進(jìn)行了一定的開發(fā)及應(yīng)用,設(shè)計出一種通用數(shù)字信號源。有關(guān)isp器件的開發(fā)及應(yīng)用還值得我們作進(jìn)一步的探索。
參考文獻(xiàn)
1 章開和.用ispLSI高密度在系統(tǒng)可編程器件實(shí)現(xiàn)雙CPU控制器.電子技術(shù),1995;(2)
2 張旭東、廖先蕓編著.IBM微型機(jī)實(shí)用接口技術(shù).科學(xué)技術(shù)文獻(xiàn)出版社,1993年
3 黃德榮、黃美慧、周金賢編著.OrCAD/SDT IV 電腦輔助電路設(shè)計的研究.1994年
4 周明德編著.微型計算機(jī)IBM-PC/XT(0520)系列系統(tǒng)原理及應(yīng)用(修訂版),上.清華大學(xué)出版社,1991年

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。