新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 多核DSP的多路同步時鐘信號設(shè)計

多核DSP的多路同步時鐘信號設(shè)計

作者: 時間:2016-10-16 來源:網(wǎng)絡(luò) 收藏

摘要:多核數(shù)字信號處理器(DSP)具有豐富的外設(shè)接口,每個外設(shè)接口具有各自獨(dú)立的參考。由于具有較快的數(shù)據(jù)處理能力,對外設(shè)接口的要求較高。當(dāng)多個接口協(xié)同工作時,對的同步要求較高。本文介紹了多核數(shù)字信號處理器丁MS320C6678的時鐘設(shè)計,通過時鐘芯片提供多路不同工作頻率的時鐘信號到DSP,文中介紹了時鐘芯片的初始化和設(shè)置以及詳細(xì)的軟硬件設(shè)計方法。

本文引用地址:http://2s4d.com/article/201610/308154.htm

引言

多核處理器是最近快速發(fā)展的電子器件,單個芯片內(nèi)集成了多個同構(gòu)或者異構(gòu)的處理器,使得其計算處理能力得到較大幅度的提高。DSP處理器由于其具有較高的數(shù)字處理能力,得到較廣泛的應(yīng)用。芯片以目前性能較高的TMS320C66系列為例,其中TMS320C6678(以下簡稱C6678)含有8個處理器。這些處理器可以獨(dú)立工作,也可以并行聯(lián)合工作。當(dāng)它們聯(lián)合工作時,相互之間通信和握手就非常重要,尤其是在對時間要求較高的場合,時鐘的穩(wěn)定和同步就非常關(guān)鍵。時鐘的穩(wěn)定和同步對系統(tǒng)設(shè)計、時鐘源、時鐘分配、電路布線、時鐘線屏蔽等都提出較高的要求。

本文利用時鐘分配芯片,以此輸出多路時鐘,提供到8核DSP芯片C6678,提供出DSP核工作時鐘、DDR3數(shù)據(jù)讀寫時鐘、RapidIO和PCIe數(shù)據(jù)傳輸時鐘、千兆網(wǎng)絡(luò)加速器等時鐘信號。文中介紹了詳細(xì)的電路設(shè)計、時鐘芯片配置以及的配置,相關(guān)片內(nèi)設(shè)備的初始化等。

1 C6678及其結(jié)構(gòu)

C6678是TI公司多核處理器中的一款8核浮點(diǎn)型DSP,最高工作頻率達(dá)到1.25 GHz,單核可以提供40GMAC定點(diǎn)計算或者20G FLOP浮點(diǎn)計算能力,單個芯片可以提供320G MAC或者160G FLOP計算能力。C6678的片內(nèi)結(jié)構(gòu)如圖1所示。

多核DSP的多路同步時鐘信號設(shè)計

C6678的每個核具有32 KB的程序、32 KB的數(shù)據(jù)以及512 KB的2級Cache存儲空間,芯片片內(nèi)具有一個4MB的共享SRAM。C6678具有DDR3控制器接口,可以外接DDR3,直接尋址范圍達(dá)到8 GB。C6678的片內(nèi)外設(shè)有RapidIO、PCIe、EMIF以及SPI、I2C總線等接口。這些接口通過片內(nèi)的高速互聯(lián)總線和各個處理器交互數(shù)據(jù)。

和網(wǎng)絡(luò)相關(guān)的片內(nèi)設(shè)備如圖1右下角灰色模塊所示,主要包括兩個對外的SGMII接口、以太交換和網(wǎng)絡(luò)交換模塊,以及用于數(shù)據(jù)管理的安全加速器和包加速器,是為了快速檢測數(shù)據(jù)的校驗以及協(xié)議是否遵循網(wǎng)絡(luò)標(biāo)準(zhǔn),對于錯誤的數(shù)據(jù)直接丟棄.降低CPU的負(fù)擔(dān)。為了加快網(wǎng)絡(luò)和CPU的數(shù)據(jù)交換,片內(nèi)的隊列管理器用于管理網(wǎng)絡(luò)包或者網(wǎng)絡(luò)幀的緩存,分發(fā)等功能。這些數(shù)據(jù)都采用數(shù)據(jù)包DMA讀/寫,不需要CPU參與。

C6678的其他片內(nèi)設(shè)備包括PLL、仿真口、信號量、電源管理和復(fù)位管理等模塊。其中PLL配置CPU和外設(shè)的工作時鐘;仿真口用于連接仿真器,實(shí)現(xiàn)對軟件運(yùn)行的監(jiān)控;信號量實(shí)現(xiàn)對DSP/BIOS操作系統(tǒng)中信號量的控制;電源管理實(shí)現(xiàn)整個芯片電流電壓的控制;復(fù)位管理配

置啟動的方式,硬復(fù)位進(jìn)行全啟動,軟復(fù)位進(jìn)行部分啟動。

2 及其結(jié)構(gòu)

CDCM62xx系列芯片是TI公司針對多核處理器專門開發(fā)的時鐘產(chǎn)生、驅(qū)動和分配芯片。CDCM6208是該系列的第二代產(chǎn)品,相比于第一代CDCM6208的最大優(yōu)點(diǎn)就是功耗大幅度降低,從第一代的2~3 W降低到0.5 W左右。而其功能、指標(biāo)和體積沒有弱化。CDCM6208有兩路可選時鐘輸入,8路時鐘輸出。8路輸出中的4路只能做整數(shù)倍分頻,另外4路可以做小數(shù)倍分頻,滿足多核芯片的各種不同的時鐘需求。8路時鐘支持LVPECL、CML、HCSL以及LVDS信號電平,最大支持800 MHz的時鐘頻率,滿足RapidIO和PCIe這些高速接口需求。時鐘抖動小于265 fs。其控制可以通過標(biāo)準(zhǔn)的SPI或者I2S接口實(shí)現(xiàn),非常方便靈活。TI公司提供針對該芯片專門開發(fā)的圖形化控制軟件,用戶選擇所要設(shè)置的時鐘工作方

式、輸出頻率等參數(shù),該軟件生成其內(nèi)部寄存器的值,通過SPI或I2S接口寫入就完成整個芯片的配置。

CDCM6208的內(nèi)部結(jié)構(gòu)如圖2所示。從圖中可以看出,可選兩路時鐘輸入后,首先經(jīng)過一個14倍頻器,作為參考時鐘驅(qū)動片內(nèi)VCO產(chǎn)生時鐘信號。為了提高時鐘相位噪聲,倍頻后信號經(jīng)過一個片內(nèi)的濾波器,該濾波器可以由片內(nèi)提供阻容電路設(shè)置。VCO時鐘功分到兩路預(yù)分頻器,預(yù)分頻器只能4、5或者6分頻。預(yù)分頻后時鐘再次進(jìn)入后期的分頻器。每個預(yù)分頻器功分到兩個小數(shù)分頻器和一個整數(shù)分頻器。分頻后信號驅(qū)動后輸出。從圖2右邊輸出可以看出,整數(shù)分頻器輸出的Y0和Y1兩路時鐘頻率一樣,Y2和Y3時鐘頻率一樣。小數(shù)分頻的Y4~Y7可以各自設(shè)置CDCM6208的這種時鐘配置限制了其應(yīng)用,但好處是降低了功耗,目前這種配置滿足絕大部分多核處理器的要求,尤其是TI公司的C66系列以及AK2系列多核DSP可以實(shí)現(xiàn)無縫連接。

多核DSP的多路同步時鐘信號設(shè)計

3 硬件設(shè)計

根據(jù)TMS320C6678的應(yīng)用,所需要的時鐘如圖3所示。

多核DSP的多路同步時鐘信號設(shè)計

其主要時鐘包括:①內(nèi)核運(yùn)行時鐘,該時鐘輸入是100 MHz,DSP片內(nèi)PLL將其鎖定到工作頻率,最高為1GHz,最低為700 MHz。②RapioIO接口和HyperLink超級連接接口工作時鐘,這兩路時鐘輸入都為312.5MHz,RapioIO倍頻4、8、10、16,工作在1.25 GHz、2.5GHz、3.125 GHz和5 GHz。HyperLink倍頻到40、80、100、160,工作在12.5 GHz、25 GHz、31.25 GHz和50 GHz。

③PCIe接口時鐘和PA_SS網(wǎng)絡(luò)加速器時鐘,這兩路時鐘都是輸入100MHz,內(nèi)部倍頻后相應(yīng)的工作時鐘,滿足各自接口傳輸時鐘要求。④DDR3時鐘,該時鐘輸入為66.667 MHz,倍頻20或者25倍,工作在1333.33 MHz或者1666.7 MHz。這些時鐘在DSP片內(nèi)都各有獨(dú)立的PLL電路設(shè)置,其工作原理和設(shè)置方法基本一致。圖3中的單獨(dú)25 MHz是專門為千兆網(wǎng)提供的工作時鐘,由一個單獨(dú)的晶體提供。C6678還提供一路時鐘輸出信號,默認(rèn)輸出為核時鐘的1/6,圖中為16.667 MHz,輸出時鐘可以檢測C6678是否正常工作。

多核DSP的多路同步時鐘信號設(shè)計

由于C6678的核時鐘由CDCM6208提供,所以對CDCM6208的設(shè)置只能由另外一個處理器完成,只要該處理器具有SPI或者I2S接口即可。本文使用低功耗的DSP芯片C6747來實(shí)現(xiàn)多CDCM6208的設(shè)置。C6747和CDCM6208的接口如圖4所示,采用標(biāo)準(zhǔn)4線制SPI接口控制,為了避免干擾提高傳輸可靠性,在SPI的片選信號的寫信號分別上拉和下拉,這樣在空閑下其引腳狀態(tài)不會被干擾。在控制CDCM6208之前,需要對其進(jìn)行復(fù)位,圖中使用一個通用GPIO引腳控制,當(dāng)CDCM6208配置成功后,會提供一個狀態(tài)檢測信號,該信號連接到C6747的GPIO引腳,用來判斷是否正確配置。圖中C6747還使用一個引腳控制CDCM6208的低功耗設(shè)置,當(dāng)該引腳為高時,CDCM6208進(jìn)入低功耗模式。

4 軟件設(shè)計

由于系統(tǒng)采用C6747控制CDCM6208時鐘信號,所以C6747的軟件是系統(tǒng)整個初始化的關(guān)鍵,C6747的初始化軟件主要包括對CDCM6208的復(fù)位、配置和檢測以及對C6678的復(fù)位、C6678外掛Flash的復(fù)位等工作。整個系統(tǒng)的軟件流程如圖5所示。

多核DSP的多路同步時鐘信號設(shè)計

上電啟動后,C6747軟件加載成功后,復(fù)位CDCM6208,為確保復(fù)位成功,C6747要等待10 ms才能通過SPI接口配置CDCM6208。配置完成后,C6747可以查詢CDCM6208的狀態(tài)輸出引腳,檢測是否配置成功。如果配置失敗,重復(fù)復(fù)位、配置、檢測這幾個步驟。配置成功后,表明CDCM6208已經(jīng)輸出準(zhǔn)備時鐘到C6678,但在此之前,C6678仍然處于復(fù)位狀態(tài)。由于C6678的程序保存在片外Flash中。所以,C6747要首先復(fù)位Flash,等待其復(fù)位后,再復(fù)位C6678,查詢C6678的輸出狀態(tài),確定C6678是否正常下作。如果輸出不正常,仍然重復(fù)復(fù)位Flash、復(fù)位C6678和檢測這幾個步驟,直到初始化成功。

結(jié)語

多核處理器由于其接口豐富,運(yùn)行頻率較高,對時鐘設(shè)計要求較高,一般要求一個高精度的時鐘通過分頻/倍頻方式產(chǎn)生多路時鐘到相應(yīng)的接口。本文以多核數(shù)字信號處理器C6678為應(yīng)用對象,通過CDCM6208產(chǎn)生多路時鐘,提供到多核DSP的核時鐘、DDR3、RapidIO等時鐘信號。通過單核低功耗小成本處理器C6747實(shí)現(xiàn)對整個時鐘電路的復(fù)位、設(shè)置和檢測。本文介紹的時鐘配置方法具有通用性,對同類產(chǎn)品的時鐘設(shè)計方案具有一定的參考價值。



關(guān)鍵詞: 多核DSP 時鐘 CDCM6208

評論


相關(guān)推薦

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

關(guān)閉