Jeff Sondermeyer, Jeritt Kent, Martin Kessler, 和 Rick Gentile
在 1970 年代和 80 年代,高速混合信號設(shè)計最常受到數(shù)字電路的限制,而不是模擬電路的限制。例如,自10年代以來,ADI公司(ADI)等行業(yè)領(lǐng)導(dǎo)者就提供高速并行轉(zhuǎn)換器(>1970 MSPS)?,F(xiàn)在,模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器(ADC和DAC)正在以更高的采樣速率(例如,14位,>50 MSPS)處理高分辨率數(shù)據(jù)。此外,越來越多的應(yīng)用需要密集的實時算法。這些因素要求使用更快的可編程通用(GP)數(shù)字信號處理器(DSP)來應(yīng)對高速數(shù)據(jù)速率帶來的挑戰(zhàn)。
直到最近,大多數(shù)設(shè)計人員還必須將高速并行轉(zhuǎn)換器連接到專用IC(ASIC)或快速現(xiàn)場可編程門陣列(FPGA)。像這樣的設(shè)備能夠解決許多所需的同步并行數(shù)字操作;但它們通常不靈活,而且可能非常昂貴?,F(xiàn)在,隨著最近黑鰭金槍魚的推出?DSP(如ADSP-21535)用戶提供可編程通用(GP)16位定點(diǎn)矢量DSP(具有支持300 MHz的內(nèi)核),可以處理處理來自許多可用高速轉(zhuǎn)換器的數(shù)據(jù)所需的持續(xù)輸入/輸出(I/O)和內(nèi)核吞吐量。根據(jù)內(nèi)核時鐘頻率,可以實現(xiàn)133MHz的最大系統(tǒng)時鐘(SCLK)。[此 SCLK 不應(yīng)與串行外設(shè)接口 (SPI) 的串行時鐘混淆]。
為什么選擇通用DSP?
GP DSP 的成本通常遠(yuǎn)低于最接近的數(shù)字處理對應(yīng)產(chǎn)品 FPGA 和 ASIC,而且易于編程。此外,由于GP DSP設(shè)計周期要短得多,因此上市時間可以更快。對于FPGA/ASIC,用戶必須經(jīng)常聘請或咨詢具有專業(yè)設(shè)計技能的專業(yè)人員。他們甚至可能被要求將其知識產(chǎn)權(quán) (IP) 發(fā)送到外部,從而給硬件、固件和軟件的機(jī)密性帶來風(fēng)險。另一方面,GP DSP代碼可以存儲在只讀存儲器(ROM)中,也可以屏蔽到DSP中(例如ADSP-2153x系列的成員),從而進(jìn)一步保護(hù)IP。最后,GP DSP是完全可編程的,與ASIC實現(xiàn)相反,在ASIC實現(xiàn)中,每個更改都需要昂貴的重新設(shè)計(時間和金錢)。這些因素很容易促使許多工程師考慮將GP DSP作為首選解決方案,特別是當(dāng)內(nèi)核速率接近“奔騰級”芯片時。?
ADSP-21535是ADI公司Blackfin系列的首款產(chǎn)品,設(shè)計用于在計算機(jī)總線環(huán)境中實現(xiàn)最佳工作,而即將推出的較新設(shè)計(年內(nèi))將具有并行外設(shè)接口(PPI),專門設(shè)計用于處理I/O數(shù)據(jù)。但是,在此期間,ADSP-21535的電源可以與少量現(xiàn)成的外部電路配合使用,用于無線應(yīng)用等急需的設(shè)計。
存在哪些問題?通常,為了保證足夠的數(shù)據(jù)處理帶寬,DSP需要比轉(zhuǎn)換器的采樣速率快一個數(shù)量級(10倍)的最小時鐘速度。反過來,所需的處理帶寬量取決于DSP的接口能力,而DSP的接口能力又受到其他幾個因素的影響。這些注意事項包括:塊處理與樣本處理、是否存在直接內(nèi)存訪問 (DMA) 控制器、多端口內(nèi)存以及是否使用外部 FIFO。幸運(yùn)的是,ADSP-21535具有獨(dú)立于內(nèi)核工作的完整DMA控制器,具有多端口1級(L1)和2級(L2)存儲器。內(nèi)核速度、獨(dú)立DMA控制器和大型多端口板載存儲器(308 KB)相結(jié)合,使ADSP-21535能夠以高數(shù)據(jù)速率執(zhí)行高效的模塊處理。例如,如果使用符合修訂版 2.2 的 33-MHz、32 位(4 字節(jié))外圍組件互連 (PCI) 接口(本應(yīng)用程序中未顯示),則可以實現(xiàn)接近 132 MB/s 的傳輸帶寬。
圖1.ADSP-21535與AD9860/AD9862之間的外部邏輯連接。
ADSP-21535的外部總線接口單元(EBIU)提供異步(ASYNC)外部存儲器接口。如果PCI總線必須用于其他系統(tǒng)通信,則EBIU是將ADSP-21535連接到高速轉(zhuǎn)換器的唯一可用并行接口。將DSP掌握的該端口異步控制與轉(zhuǎn)換器的同步連續(xù)數(shù)據(jù)流相結(jié)合,可能會給系統(tǒng)設(shè)計人員帶來一些挑戰(zhàn)。
本文介紹一種特定的硬件實現(xiàn),它利用低引腳數(shù)、低成本、常用的“膠合邏輯”器件,如可編程陣列邏輯芯片 (PAL)、復(fù)雜可編程邏輯器件 (CPLD) 或 FPGA。該邏輯在AD9860/62混合信號前端(MxFE?)和ADSP-21535的異步外部存儲器總線之間執(zhí)行控制功能。圖1所示的應(yīng)用適用于正交頻分復(fù)用(OFDM)無線便攜式終端。ADC 和 DAC 通過 DSP 的異步接口實現(xiàn)分時(時分復(fù)用或 TDM)。(此處提供的信息同樣適用于其他并行高速ADC和DAC。
工程師對工程師 注意 EE-162 可用,描述了互連方案的詳細(xì)信息。假設(shè)讀者手頭有關(guān)于ADSP-21535和AD9860/2的信息,包括“ADSP-2153x/21535 Blackfin? DSP硬件基準(zhǔn)”和AD9860/AD9862的數(shù)據(jù)手冊。
設(shè)計目標(biāo)
該項目的早期設(shè)計目標(biāo)之一是最大限度地減少連接DSP和轉(zhuǎn)換器所需的外部控制邏輯量。在成本的驅(qū)動下,工程部門希望消除外部邏輯器件中的任何FIFO或存儲器。另一個限制是避免通過邏輯路由數(shù)據(jù)總線,從而減少引腳數(shù)量、封裝尺寸和邏輯器件的成本。圖1所示的初始設(shè)計將所有功能(包括數(shù)據(jù)鎖存)組合到單個邏輯器件中。然而,這種設(shè)計的量產(chǎn)模型將使用由邏輯器件驅(qū)動的廉價三態(tài)鎖存器。這些鎖存器或緩沖器會將從DSP存儲器接口的樣本多路復(fù)用(打包)到12/14位DAC,并將10/12位ADC樣本緩沖或解復(fù)用(解包)到DSP存儲器接口。
設(shè)計挑戰(zhàn)
任何混合信號/DSP設(shè)計的關(guān)鍵因素之一是充分了解器件之間的約束和隨之而來的權(quán)衡取舍。以下討論將說明將ADC/DAC與ADSP-21535接口時必須考慮的各種權(quán)衡。
一些主要的設(shè)計約束是:
該設(shè)計的OFDM調(diào)制方案驅(qū)動了所需的15.36 MSPS轉(zhuǎn)換器采樣速率
AD9860/2內(nèi)置一個雙通道、10/12位、64 MSPS ADC和一個雙通道12/14位、128 MSPS DAC。
與具有DMA請求和DMA授權(quán)(即DMA可以從外部設(shè)備控制)的SHARC處理器不同,ADSP-21535只有一組內(nèi)部存儲器DMA通道(memDMA),必須從DSP控制。?
此外,當(dāng)ADSP-21535異步接口連接到不包含F(xiàn)IFO或存儲器的器件時,必須徹底了解所有延遲。例如,每次 memDMA 在突發(fā) 8 次傳輸后放棄總線時,都需要 10 個 SCLK 周期才能開始下一次傳輸。
未來的Blackfin系列產(chǎn)品將具有DMA控制器的可編程優(yōu)先級,以及專用的高速并行接口 - 具有DMA請求和DMA授權(quán)信號。有了專用的PPI,這些未來的Blackfin產(chǎn)品將不需要異步存儲器接口來連接并聯(lián)轉(zhuǎn)換器。
此處使用的方法假定存儲器接口專用于轉(zhuǎn)換器。使用轉(zhuǎn)換器多路復(fù)用外部SRAM/SDRAM存儲器將很困難,不建議這樣做,特別是考慮到只有一個memDMA,并且需要共享。大容量板載L2存儲器(256K字節(jié))的存在最大限度地減少了對任何外部存儲器的需求。但是,允許在初始引導(dǎo)過程中使用閃存或EPROM多路復(fù)用并行轉(zhuǎn)換器。
該設(shè)計采用TDM時間片方法在ADC和DAC之間共享外部總線,因為由于單個存儲器接口執(zhí)行讀取或?qū)懭耄⑶抑挥幸唤MmemDMA通道(源和目標(biāo)),因此無法同時訪問。
ADSP-21535將支持133 MHz的最大SCLK(峰值DMA帶寬)。在此速率下,無需外部FIFO,memDMA可以維持32 MSPS/133的傳輸(10位字)速率(總線采集需要1個周期,下一次傳輸需要13個周期)或3.21535 M字/秒。但是,ADSP-1的SCLK源自內(nèi)核時鐘(CCLK)。CCLK反過來通過PLL分頻器生成,其可用比率為31比2,并且只有四種可用分頻比:0.2、5.3、0.4和0.133。因此,允許 266 MHz SCLK 的 CCLK 和除數(shù)的一種可能組合是 CCLK = 2 MHz 和 CCLK/SCLK = 300。但是,如果內(nèi)核必須以120 MHz運(yùn)行,例如在此應(yīng)用中,則可以獲得的最高SCLK為2 MHz(除數(shù)= 5.133),以保持在最大<> MHz以下。
現(xiàn)在,由于 ASYNC 存儲器接口的寬度為 32 位,因此每個字最多可以打包兩個 16 位樣本(在本例中為 I 和 Q)。這有效地將DSP必須處理的字速率減半(對于15.36 MSPS轉(zhuǎn)換器采樣速率,DSP將“看到”7.68 MSPS)。在這些條件下,memDMA支持的最高外部轉(zhuǎn)換器采樣速率為2 x 120/10 = 24 MSPS。此外,SCLK必須是轉(zhuǎn)換器采樣速率的整數(shù)倍,以確保轉(zhuǎn)換器時序和DSP時序之間的正確相位對齊,并且無需任何外部FIFO。因此,ADSP-21535在300 MHz內(nèi)核速率下支持的最高轉(zhuǎn)換器采樣速率為2 x 120/10 M = 24 MSPS,或memDMA速率的兩倍,如誡命#10中所述。由于DSP僅以該速率的一半處理打包數(shù)據(jù),因此12 MSPS是memDMA可以承受的最大速率,即12 M字/秒。如果轉(zhuǎn)換器和EBIU之間包含小型外部FIFO,則ADSP-21535可以處理更高的采樣速率。
表 1.ADSP-21535的可能參數(shù)方案。
轉(zhuǎn)換器 采樣率 (兆字節(jié)) |
CCLK (MHz) |
CCLK/SCLK 分率 |
高鐵 (兆赫) |
memDMA (Mwrites/s) |
高清晰度/轉(zhuǎn)換器 采樣率 |
15.360* 24.000 26.600 20.000 15.000 10.000 8.8670 0.8867 企業(yè)社會責(zé)任 <= 26.6 |
276.48 300 266 300* 300* 300 266 26.6 CCLK < 300 |
3.0 2.5 2.0 3.0 4.0 2.5 2.0 2.0 2.0、2.5、3.0 或 4.0 |
92.16 120 133* 100 75 120 133* 13.30 SCLK < 133 |
9.216 12.0 13.3 10.0 7.5 12.0 13.3 1.33 內(nèi)存DMA < 13.3 |
6 5 5 5 5 12 15 15* 5 <= 整數(shù) <= 15 |
*表示驅(qū)動參數(shù)
現(xiàn)在回想一下,OFDM 要求決定了 15.36 MSPS 轉(zhuǎn)換器采樣速率。要獲得該轉(zhuǎn)換器采樣速率的整數(shù)倍的SCLK,必須選擇鎖相環(huán)(PLL)乘法器,該乘法器是四個可用除數(shù)比(2.0、2.5、3.0或4.0)之一的整數(shù)倍。當(dāng)PLL乘法器為18時,允許的最大CCLK為276.48 MHz。這反過來又將 SCLK 限制為 3 的整數(shù)倍,因為 276.48/3 = 92.16 MHz(分頻比為 2 將使 SCLK 超過最大值 133 MHz)。在這些約束下,memDMA可以支持的最大持續(xù)速率為92.16/10 = 9.21 M字/秒。
DMA 注意事項
必須仔細(xì)考慮組合的、必需的、“持續(xù)的”DMA 性能。由于 memDMA 是 DMA 總線 (DAB) 上的共享資源,因此在此總線上仲裁其他 DMA 活動。此應(yīng)用要求串行端口 (SPORT) 上有一個 10 Mbit/s 串行通道,該串行通道還必須針對 DAB 進(jìn)行仲裁。這將在 625 位/字的 DMA 帶寬下額外消耗 16 K 字/秒。ADSP-21535最多可支持133 M字/秒(峰值)DMA帶寬,并且SPORT的仲裁優(yōu)先級高于memDMA(見表1)。因此,SPORT DMA應(yīng)該有效地利用上述十個周期的延遲,并允許memDMA使用大部分(如果不是全部)9.21 M字/秒。有 9.21M – 15.36 M/2 = 1.53 M 字/秒的額外帶寬,這應(yīng)該提供足夠的裕量來維持 7.68 MSPS 速率。
表2:仲裁優(yōu)先權(quán)
民建聯(lián)大師 | 仲裁優(yōu)先權(quán) |
運(yùn)動0 遙控 DMA 控制器 | 0 - 最高 |
運(yùn)動1 遙控 DMA 控制器 | 1 |
運(yùn)動0 XMT DMA 控制器 | 2 |
運(yùn)動1 XMT DMA 控制器 | 3 |
USB DMA 控制器 | 4 |
SPI0 DMA 控制器 | 5 |
SPI1 DMA 控制器 | 6 |
UART0 遙控控制器 |
7 |
UART1 遙控控制器 | 8 |
UART0 XMT 控制器 | 9 |
UART1 XMT 控制器 | 10 |
內(nèi)存 DMA 控制器 | 11 - 最低 |
對ADSP-21535中的DMA引擎的分析揭示了其他一些考慮因素。雖然 DMA 引擎支持兩種類型的 DMA 傳輸(基于描述符和基于自動緩沖區(qū)),但 memDMA 控制器不支持基于自動緩沖區(qū)的 DMA。因此,必須使用基于描述符的傳輸。從 L1/L2 內(nèi)存獲取描述符涉及兩個 5 字塊移動,一個用于源描述符,另一個用于目標(biāo)描述符。此外,memDMA 具有一個 16 個條目的 32 位 FIFO,該 FIFO 從源填充并從目標(biāo)清空。如果同時加載兩個描述符,則需要從 L39 加載 2 個 SCLK 周期(最壞情況)。目標(biāo)描述符加載優(yōu)先于源負(fù)載,以避免超出 FIFO。因此,在本例中,同時加載兩個描述符所需的時間為 (1/92.16 M) x 39 = 423 ns。從 L2 內(nèi)存加載描述符時,DMA 引擎描述符加載性能最佳。如果描述符位于 L1 內(nèi)存中,則存在額外的延遲。來自 L1 的最壞情況源加目標(biāo)描述符加載時間為 65 個 SCLK 周期。為了在這些采樣率下有效地處理數(shù)據(jù),通常使用乒乓緩沖器(在此設(shè)計中,使用兩個1024字緩沖器)。此技術(shù)允許將數(shù)據(jù)填充到一個緩沖區(qū)中,而內(nèi)核處理另一個緩沖區(qū)。作為參考,ADI公司提供了完整的VisualDSP++? 2.0項目程序。
必須分析兩個工作階段:DSP 必須從 ADC 接收樣本(接收器 TDM 相位);并且樣本必須從DSP傳輸?shù)紻AC(發(fā)射器TDM相位)。
接收器 TDM 相位
在接收機(jī)階段,數(shù)據(jù)移動方式為:ADC–>EBIU–>(源)–>memDMA–>FIFO–>L1/L2(目的地)。在 15.36MHz 轉(zhuǎn)換器采樣速率下,每 32/1.7M = 68.130 ns 就有一個新的 2 位采樣到達(dá) DSP。從描述符加載時間延遲(423 ns)可以看出,必須采取一些措施來避免DSP過載和丟失樣本。幸運(yùn)的是,轉(zhuǎn)換器連接到外部總線,并且沒有使用地址總線。因此,將樣本移動到DSP中時,可以設(shè)置最大傳輸計數(shù)為65536字的源描述符,以及具有預(yù)期乒乓緩沖傳輸大小為1024字的目標(biāo)描述符。這樣,每 1024 個字從內(nèi)核中斷一次時,僅重新加載目標(biāo)描述符,加載時間減少到 20 SCLK x 1/92.16M = 217 ns。如前所述,該設(shè)計采用TDM方案,其中ADC和DAC占用單獨(dú)的時間片。多路復(fù)用速率為5至8 ms的可變值。由于ADC和DAC數(shù)據(jù)是交錯的,在最壞的情況下,接口每8 ms從接收器到發(fā)射器再回來一次。因此,65536字x 130.2 ns或8.5 ms就足夠了,并且只需在每個接收器TDM階段開始時設(shè)置一次源描述符。最后,16 個條目的 memDMA FIFO “隱藏”了目標(biāo)描述符加載時間,因為當(dāng)目標(biāo)描述符從內(nèi)存加載時,源仍在填充 FIFO。在最壞的情況下,memDMA FIFO只會在重新加載描述符之前積累一些數(shù)據(jù)樣本。然后,這些樣本被突增到內(nèi)存中。因此,無需在接收器側(cè)使用外部FIFO,并且不會丟失任何樣本。
發(fā)射器 TDM 相位
在傳輸階段(數(shù)據(jù)到DAC),數(shù)據(jù)移動方向相反:L2/L1(源)–>memDMA–>FIFO–>EBIU (目標(biāo))–>DAC。與接收模式不同,源描述符必須每 1024 個單詞更新一次。這將需要 20 個 SCLK 周期或 217 ns。但是,由于memDMA(9.21M字/秒)的運(yùn)行速度略快于采樣率(7.68M字/秒),因此在memDMA FIFO中應(yīng)保持16個樣本,這將在描述符加載時饋送DAC。目標(biāo)描述符傳輸計數(shù)可以固定為 65536 個單詞。同樣,不需要外部FIFO,也不會丟失樣品。
邏輯概述和時序
為了避免外部邏輯中需要FIFO,將轉(zhuǎn)換器時鐘與DSP系統(tǒng)時鐘SCLK同步仍然很重要。這限制了可用的ADSP-21535時鐘選項,具體取決于采樣速率。至少,SCLK 必須可被轉(zhuǎn)換器采樣率整除,并且 CCLK 可能還需要被轉(zhuǎn)換器采樣率整除(只有一個非整數(shù)除數(shù) 2.5 - 在某些情況下可能不可用)。必須使用外部鎖存器或緩沖器使來自轉(zhuǎn)換器的數(shù)據(jù)與DSP的時序?qū)R(有關(guān)采樣偏斜和延遲,請參見圖2和圖3)。四線DSP SPI端口直接連接到AD9860/AD9862 SPI端口。為確保正確的電源排序和初始化,DSP應(yīng)復(fù)位轉(zhuǎn)換器。為了進(jìn)一步減少外部邏輯的引腳數(shù),AD9860/AD9862的另一個選項(此處未顯示)允許將兩個10/12位ADC值時間復(fù)用到一條10/12位RXDATA總線上。雖然這將消除兩條10/12位總線之一,但它需要外部邏輯在將數(shù)據(jù)傳輸?shù)紻SP之前對數(shù)據(jù)進(jìn)行解復(fù)用。
所有數(shù)據(jù)移動都由DSP中的memDMA控制或控制。讀取ADC數(shù)據(jù)時(見圖2),必須由外部邏輯驅(qū)動數(shù)據(jù)和ARDY信號。外部邏輯必須對/AOE引腳進(jìn)行采樣,以檢查何時可以將數(shù)據(jù)驅(qū)動到ADSP-21535。/AOE 信號向外部邏輯指示 DMA 控制器已準(zhǔn)備好獲取數(shù)據(jù)。接收器三態(tài)機(jī)如圖底部所示。
圖2.接收計時和狀態(tài)機(jī)。
當(dāng)數(shù)據(jù)發(fā)送到DAC時(見圖3),外部邏輯必須對/AWE信號進(jìn)行采樣,然后驅(qū)動ARDY。/AWE 向外部邏輯指示 DMA 控制器何時準(zhǔn)備好使用新數(shù)據(jù)。變送器四態(tài)機(jī)如圖底部所示。
圖3.傳輸定時和狀態(tài)機(jī)。
結(jié)論
盡管ADSP-21535并非專門設(shè)計用于連接高速并行轉(zhuǎn)換器,但它具有許多其他優(yōu)點(diǎn),可用于需要快速上市的設(shè)計。具有專用并行外設(shè)接口(PPI)的ADSP-BF532等新一代器件將很快推出,以更低的成本為此類應(yīng)用提供更明確的解決方案。為了滿足緊急需求,我們建議使用一種低成本的“無先進(jìn)先出”解決方案,直到下一代零件批量生產(chǎn)為止。這將使目前的300 MHz ADSP-21535能夠與采樣速率高達(dá)24 MSPS的ADC和DAC接口。如果ADSP-21535內(nèi)核的時鐘頻率可以專門定時為266 MHz,則最高轉(zhuǎn)換器采樣速率僅受ADSP-21535可以支持的最大SCLK(133 MHz)和突發(fā)間10周期memDMA延遲的限制:2 x 133 M/10 = 26.6 MHz。
審核編輯:郭婷
-
FPGA
+關(guān)注
關(guān)注
1625文章
21627瀏覽量
601249 -
轉(zhuǎn)換器
+關(guān)注
關(guān)注
27文章
8602瀏覽量
146716 -
asic
+關(guān)注
關(guān)注
34文章
1183瀏覽量
120227
發(fā)布評論請先 登錄
相關(guān)推薦
評論