新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CPLD的片內環形振蕩器的設計方案

        基于CPLD的片內環形振蕩器的設計方案

        作者: 時間:2010-11-12 來源:網絡 收藏

        本文介紹一種通用的的片內方法,它環形原理,只占用片上普通邏輯資源(LE),無需使用專用邏輯資源(如MaxII中的UFM),從而提高了芯片的資源利用率;振蕩頻率可在一定范圍內調整,振蕩輸出可以驅動內部邏輯和外部器件引腳。本有較大的通用性,可方便地在不同器件間移植,使一些的片上系統(SoC)無需使用外部時鐘信號源,從而降低設計成本和難度,增加系統集成度。通過在Altera公司的MAX7000系列EMP7128LC84-15芯片上的實驗說明實現的方法。實驗實現的頻率范圍在8MHz~62MHz。仿真和硬件測試結果表明了該設計方法的正確性和可行性。

        1 基于CPLD的片

        環形振蕩器原理如圖1所示。由奇數個非門組成的環形非門級聯串使電路處于無穩定狀態,靜態下任何一個非門的輸入和輸出都不可能穩定在高電平或低電平,而只能處于周而復始的高低電平轉換狀態,從而產生自激振蕩。振蕩周期為T=2Ntpd,其中N是非門的個數,tpd是每個非門的傳輸延遲時間,改變電路中非門的數量可以改變電路的振蕩頻率。






        圖1所示的環形振蕩器即使采用電路原理圖輸入,經電子設計自動化(EDA)軟件綜合后,也得不到對應的電路結構。實際上,EDA綜合工具不是從電路結構出發,而是從電路輸入和輸出的邏輯關系出發給出綜合結果,所以,奇數個非門的級聯將被綜合為一個非門,而偶數個非門的級聯被綜合為一個緩沖或一條聯線。為能在CPLD器件中實現圖1的環形振蕩器結構,本文將圖1中單端口輸入元件改成二端口輸入元件,即用二輸入與非門代替圖1的第一個非門,其余偶數個非門則用二輸入與門代替,二端口元件的一個輸入端口連接上級輸出,另一輸入端口作為控制端引出。振蕩器正常工作時控制端全部置高電平。采用Synplify Pro 7.7綜合后的原理圖如圖2所示。該電路完全可實現圖1的功能。

        為了保證正反饋,圖1結構的非門級聯必須是奇數個。圖2中的與非門起到反相作用,其他與門則起延時緩沖的作用。可以通過改變門的數量以及選擇門的種類(與門、與非門等)改變osc輸出端的振蕩頻率,而不受奇數個門的限制,只要保障第一個門得到正反饋就可以產生振蕩。而圖1的結構必須改變偶數個非門才能達到改變振蕩頻率的目的,因而圖2結構在CPLD芯片中實現時可以節省邏輯資源。控制端oscena[n-1,0]為振蕩使能控制端,置高電平時,與非門的輸入和輸出在緩沖級聯鏈的反饋作用下產生自激振蕩,振蕩器正常工作;控制端的任意一位置零使振蕩器停振。所以oscena既可單獨使用,也可互聯后作為一個端使用。實驗證明,圖2結構能夠保證門延時的等間隔特性。





        2 CPLD片內振蕩器的實現和優化

        2.1 CPLD片內振蕩器的實現

        基于上述方法的片形振蕩器設計有很大的通用性,可在不同CPLD芯片間方便地移植。本文以Altera公司的MAX7000S系列CPLD芯片的實現和測試為例說明。MAX7000S系列基于先進的多矩陣構架設計,采用CMOS工藝制造,容量高達256個邏輯單元LE(Logic El-ement),每16個宏單元組成一個邏輯陣列塊LAB(LogicArray Block),速度達3.5ns的管腳到管腳延時,同時支持多種I/O電壓標準。

        從EDA軟件綜合后的報告可以看出,圖2所示電路中每個門占用了一個邏輯單元。也就是說,電路內LE的延時將作為門的延時tpd,而且需要將振蕩使能端引出到I/O引腳,當所實現振蕩頻率較低時,需要較多的門電路單元,這將占用一定的邏輯和引腳資源,從而降低芯片資源的利用率,所以在低頻情況下使用時,要綜合考慮系統需要的振蕩頻率,盡量用較少的門電路實現環形振蕩器,以提供較高振蕩頻率,再設計分頻電路以取得合適的振蕩頻率,從而提高芯片的資源利用率。綜合器的這一處理,從客觀上保證了設計者可以選擇不同的門來實現圖2的結構,仍然可以保證振蕩間隔的一致性。實驗也證實了這個結果。

        2.2 電源電壓的影響

        電壓會影響振蕩電路的工作頻率,電壓增大會導致電路振蕩頻率增加,反之振蕩頻率減小。CPLD芯片一般有兩個相對獨立的供電端口,即核心電壓(VCCINT)和引腳電壓(VCCIO)。其中核心電壓給芯片內部可編程邏輯電路資源提供電源,引腳電壓為芯片的I/O引腳提供電源,以適應各種輸出標準(如LVCOMOS、LVTTL、SSTL-2、SSTL-3等)。對振蕩頻率有影響的是CPLD芯片的核心電壓,對此電壓應采取穩壓措施,穩壓措施要視不同的應用要求而定。最簡單的措施是采用高性能的穩壓芯片給CPLD芯片分別提供兩部分電壓。隨著半導體技術的發展,簡單而廉價的穩壓芯片已具有較高的性能,如National公司的LM2678系列芯片在有效輸入變化范圍內,穩壓輸出誤差在±2%以內。

        2.3 CPLD片內振蕩器優化

        通過EDA軟件對設計做優化有可能提高所設計的振蕩器的性能,減少對CPLD片內資源的占用。當采用MAX+plusII10.2軟件設計時,軟件優化開關設置為:(1)本設計選用MAX系列芯片,故選擇對該芯片的多層綜合選項(Multi-Level Synthesis for Max5000/7000/9000De-vice)。(2)在面積和速度優化選項中,選擇對面積的優化,使振蕩器部分盡可能分配到同一個LAB中。(3)打開Slow Slew Rate以降低開關噪聲,打開XOR Synthesis以減少芯片面積的占用。

        3 電路仿真及測試結果

        本文以Altera公司的MAX+plus II 10.2為設計工具,在MAX7000S系列芯片上實現并測試。圖3為選用EMP7128LC84-15芯片的時序仿真結果。其中p0~p7分別為環形振蕩電路中單個門之后的電路節點;oscena[7…0]為各延時門電路的控制端(即所有二輸入門中多余的輸入端)。






        表1列出了以EPM7128LC84-15為目標芯片、采用Tektronic TDS2012示波器對用不同門數實現的片內振蕩器的測試數據。F1和F2分別表示片內振蕩器輸出和二分頻輸出的測量數據。圖4給出了測量數據的曲線。

        電子血壓計相關文章:電子血壓計原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 扶余县| 芦溪县| 敦煌市| 环江| 萨嘎县| 于田县| 昆明市| 富裕县| 营山县| 大宁县| 麻城市| 安龙县| 墨江| 精河县| 盘锦市| 新巴尔虎右旗| 南阳市| 蓬莱市| 吉安县| 诸暨市| 邮箱| 民乐县| 苍梧县| 高邮市| 岫岩| 石阡县| 枣阳市| 东宁县| 永善县| 南昌县| 图木舒克市| 庆阳市| 古蔺县| 永泰县| 丰宁| 昔阳县| 永福县| 彝良县| 馆陶县| 措勤县| 武安市|