新聞中心

        EEPW首頁 > 汽車電子 > 學習方法與實踐 > 用DSP實現CPLD多方案現場可編程配置

        用DSP實現CPLD多方案現場可編程配置

        作者: 時間:2008-01-30 來源:電子元器件網 收藏

          1 總體描述
          
          系統中的DSP采用TI公司的定點數字信號處理器TMS320C5402。它采用4總線4級流水線的增強型哈佛結構,處理速度為100MIPS;具有片內4K×16位的ROM和16K×16位的DARAM, 2個多通道緩沖串行口(McBSP),1個直接存儲控制器(DMA)等片內外圍電路;外部可擴展至1M×16位存儲空間,芯片采用3.3V電源電壓。
          
          TMS320C5402的多通道緩沖串行口(multi-channel buffercd scrial port)具備標準串行口的所有功能,可設定收發數據格式(8位~32位);在8位不擴展模式下,可選擇高位(MSB)先送或低位(LSB)先送。直接存儲控制器(DMA)可以實現數據在串行口McBSP和內部DARAM間的直接交換, 提高工作效率, 節省運行時間。
          
          CPLD采用Altera公司FLEX10K系列的EPFl0KIOA7C144-1。可用資源有576個邏輯單元(LE)、72個邏輯陣列塊(LAB)、3個嵌入式陣列塊(EAB)和102個I/O引腳,電源電壓為3.3V。
          
          FLEX1OK的配置由Altera的專用串行配置PROM(EPCI)或系統控制器提供的數據宋完成,也由編程硬件通過下載電纜 (BytcBlastcrMV)進行在線配置。依據控制配置過程的器件不同, 可將配置分為主動配置和被動配置兩類;依據配置數據流的格式不同,可將配置分為串行配置和并行配置兩類。本文采用的是在微處理器控制下的被動串行配置(passivc serial)模式。配置連接示意如圖1所示。

        本文引用地址:http://www.104case.com/article/78249.htm

          其中,DSP的XF作為輸出控制CPLD的nCONFIG,INTO和INT1作為輸入監控CPLD的nSTATUS和1NT DONE,緩沖串行口的BCLKX0和BDX0分別接CPLD的DCLK和DATA0,BCLKR0 作為輸入端檢測CONF DONE的信號。TMS320C5402和EPFl0KIOATC144-1都采用3.3V電源電壓。

          2 配置數據的獲取和存儲
          
               對CPLD的配置設計完成以后,MAX+PLUS II的編譯器在編譯過程中自動產生一個存儲器目標文件(*.sof)。它包括一個專用數據頭和二進制配置數據,供下載電纜(BvtcBlastcrMV)對器件進行被動申行配置時使用。在存儲器目標文件(*.sof)的基礎上,可以生成其它類型配置文件。我們所用到的是十六進制文件(*.hex),是ASCII形式的配置數據文件。使用MAX+PLUSII生成十六進制文圖2十六進制文件(*.hex)的生成過程件(*hex)的過程,如圖2所示。

          ①完成編譯之后,從“FILE”菜單中選擇“ConvertSRAM Object Files|…”(圖中a);
          
          ②選擇相應的配置文件*.sof(圖中b);
          
          ③設定輸出文件格式為.hex(圖中c);
          
          ④選擇對應輸出文件•.hex(圖中d);
          
          ⑤點擊“OK”確認(圖中e)。
          
          然后,在MAx+PLUSII環境下打開生成的十六進制文件(*.hex),便可獲取到ASCIl格式的配置數據。將配置數據通過DSP的開發軟件轉化成二進制數據,通過DSP存入其外部大容量數據存儲器(flash memory)中。
          
          EPF10K10ATCl44_1的二進制配置數據大小約為120000位,即14.6KB。TMS320C5402的內部DARAM為16K×16位,外部存儲空間為lM×1 6位,故可存儲數十個配置文件。

          1NT—DONE一狀態指示端,配置時為低,配置數據初始化完成后釋放,漏極開路;
         
          DCLK一配置時鐘信號端;
          
          DATA0——配置數據輸入端。

          被動串行配置(PS模式)的時序如圖3所示。

          圖3中關鍵的時序參數如表1所列。

          3.2配置過程描述
          
          參照被動串行配置時序,DSP控制下CPLD現場配置的實現過程如下所述。
          
          首先,DSP將一個方案的配置數據從外部數據存儲器中讀入內部DARAM。然后,在DCONFIG上產生一個由低到高的跳變,使CPLD進入配置狀態,等待CPLD釋放nSTATUS。nSTATuS變高之后,通過McBSP在時鐘(DCLK)上升沿將配置數據逐位送到DATA0上,時鐘(DCLK)頻率選為10MHz。因為配置要求每字節數據的最低位(LSB)先送出,故在初始化McBSP時,設定發送控制寄存器(XCRl和XCR2),使McBSP工作于8位不擴展傳送模式和低位(LsB)先發模式,DMA完成數據從DARAM到
        McBSP口的直接傳送。CPLD接收完所有配置數據 (120 000字節)后,會釋放CONF_DONE,變成高電平,之后DSP仍須在DCLK上輸出脈沖來初始化CPLD器件,直到INT_DONE被釋放變成高電平,表示CPLD器件初始化完畢,進入用戶狀態,配置過程結束。在配置的過程中,沒有握手信號。一旦CPLD檢測到出錯,會將nSTATus拉低,此時會產生DSP外部中斷。DSP響應中斷后,在nCONFIG上產生一個由低到高的跳變,重新開始配置,或者DSP檢測到配置出錯,也要強制重新開始配置。
          
          配置結束后,DSP和CPLD將工作于該方案模式下。當需要進入其它方案模式時,DSP按照需求讀入新的配置方案數據,對CPLD重新進行配置。由于 DSP的高處理速度(100MIPS)和配置時鐘的高頻率(10MHz),使得CPLD的配置時間小于20ms,因此可以快速、靈活地實現各配置方案間的現場實時切換。

          結語
          
          在繼電保護測試裝置中,要求測試端的輸入輸出特性隨被測試線圈阻抗的變化而改變。CPLD作為測試端的核心器件,基于DSP實現其多方案現場可編程配置,實現了多種類型繼電保護裝置通用測試器的設計。本設計的思路及方法也適用于其它DSP+CPLD/FPGA或MCU+CPLD/FPGA系統。利用系統中現有的DSP/MCU和大容量通用數據存儲器,省去專用的配置PROM,方便靈活地實現對CPLD的現場可編程配置。



        關鍵詞: DSP CPLD

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 河源市| 金坛市| 郧西县| 策勒县| 巴南区| 南澳县| 黔南| 承德市| 六安市| 临清市| 庆阳市| 冀州市| 深水埗区| 东光县| 德保县| 大悟县| 南漳县| 双鸭山市| 扎赉特旗| 奉新县| 昔阳县| 甘泉县| 黄平县| 梨树县| 乌恰县| 修武县| 根河市| 正安县| 嵊州市| 美姑县| 平顺县| 驻马店市| 靖州| 顺平县| 蕉岭县| 黄平县| 镇巴县| 临沧市| 达日县| 探索| 科技|