你的位置:首頁 > 電路保護 > 正文

連接SPI接口器件 - 第一部分

發(fā)布時間:2021-11-29 責(zé)任編輯:lina

【導(dǎo)讀】LEC2 Workbench系列技術(shù)博文主要關(guān)注萊迪思產(chǎn)品的應(yīng)用開發(fā)問題。這些文章由萊迪思教育能力中心(LEC2)的FPGA設(shè)計專家撰寫。LEC2是專門針對萊迪思屢獲殊榮的低功耗FPGA和解決方案集合的全球官方培訓(xùn)服務(wù)供應(yīng)商。


連接SPI接口器件 - 第一部分


LEC2 Workbench系列技術(shù)博文主要關(guān)注萊迪思產(chǎn)品的應(yīng)用開發(fā)問題。這些文章由萊迪思教育能力中心(LEC2)的FPGA設(shè)計專家撰寫。LEC2是專門針對萊迪思屢獲殊榮的低功耗FPGA和解決方案集合的全球官方培訓(xùn)服務(wù)供應(yīng)商。


萊迪思CrossLink?-NX FPGA擁有豐富的特性,可加速實現(xiàn)高速和低速接口。本文(系列博文的第一篇)描述了使用CrossLink-NX FPGA連接基于SPI的外部組件。第一篇博文介紹了使用兩個時鐘域?qū)崿F(xiàn)連接DAC(亞德諾半導(dǎo)體公司的AD7303 DAC)的SPI接口。第二篇博文將介紹使用單個時鐘域?qū)崿F(xiàn)連接ADC(亞德諾半導(dǎo)體公司的 ADC AD7476)的SPI接口。兩個案例中呈現(xiàn)了兩種截然不同的實現(xiàn)接口的方法。


兩個時鐘域的實現(xiàn)方案(dac_2c)


亞德諾半導(dǎo)體公司(ADI)的AD7303模塊用作外部DAC。圖1顯示了接口的時序圖和時序參數(shù)。在本例中,SCLK頻率為30 MHz。時序參數(shù)t4、t5和t6在時序約束規(guī)范時尤其需要關(guān)注,它們將在set_output_delay約束中使用。


連接SPI接口器件 - 第一部分

圖1:時序圖和時序特征


兩個時鐘域解決方案的實現(xiàn)如圖2所示。


連接SPI接口器件 - 第一部分

圖2:兩個時鐘域SPI接口的實現(xiàn)


使用的參數(shù):


輸入時鐘頻率:100 MHZ

內(nèi)部時鐘CLK_120頻率:120 MHZ

內(nèi)部時鐘CLK_30頻率:30 MHZ

生成的時鐘dac_sck:30 MHZ


PLL_120_30


PLL從外部時鐘CLK(100 MHz)生成兩個內(nèi)部相位同步時鐘CLK_120和CLK_30。


dac_sample_gen模塊


dac_sample_gen模塊為dac_fsm生成采樣信號(轉(zhuǎn)換)。采樣信號開始向DAC傳輸數(shù)字數(shù)據(jù)。采樣率通過sample_select [1:0]信號設(shè)置,如表1所示。dac_sample_gen的框圖如圖3所示。


連接SPI接口器件 - 第一部分

表1:采樣率設(shè)置


連接SPI接口器件 - 第一部分


連接SPI接口器件 - 第一部分

圖3:dac_sample_gen的框圖


mode_select控制信號控制方波信號或三角波信號的生成,作為DAC的輸入數(shù)據(jù)。


sync_stage模塊


dac_sample_gen模塊與CLK_120一起工作。控制單元dac_fsm是CLK_30域的一部分。sync_stage模塊將轉(zhuǎn)換信號從CLK_120域傳輸?shù)紺LK_30域。來自dac_fsm的相應(yīng)信號從CLK_30域傳輸?shù)紺LK_120。sync_stage的框圖如圖4所示。


連接SPI接口器件 - 第一部分

圖4:sync_stage的框圖


dac_fsm模塊用于雙時鐘實現(xiàn)方案


dac_fsm模塊控制生成傳輸?shù)紻AC的控制/數(shù)據(jù)信號。為了遵循圖1給出的t4、t5和t6的值,dac_fsm在CLK_30的下降沿工作。Dac_fsm作為狀態(tài)機實現(xiàn)。


連接SPI接口器件 - 第一部分

圖5:控制結(jié)構(gòu)dac_fsm狀態(tài)機轉(zhuǎn)換信號被識別后,bit_count計數(shù)器加載值15。串行數(shù)據(jù)在時鐘信號CLK_30的下降沿輸出到dac_sdata上。傳輸16位數(shù)據(jù)后,dac_fsm再次發(fā)出就緒信號并等待下一個轉(zhuǎn)換信號。


約束兩個時鐘域解決方案的設(shè)計


1. 約束時鐘CLK


連接SPI接口器件 - 第一部分


2. 約束時鐘CLK_120和CLK_30


無需明確定義CLK_120和CLK_30這兩個時鐘信號,因為它們會由設(shè)計軟件自動定義。這兩個時鐘也稱為自動生成時鐘。


連接SPI接口器件 - 第一部分


3. 約束dac_clk


連接到端口dac_sck的時鐘信號是內(nèi)部時鐘CLK_30的副本。該信號被外部DAC解讀為時鐘。因此,該信號也必須被定義為時鐘,便于正確描述t4、t5和t6的時間要求。該時鐘即所謂的手動生成時鐘。


連接SPI接口器件 - 第一部分


4. 約束DAS輸入/FPGA輸出


時間值t4、t5和t6描述了外部模塊的setup/hold要求。這些要求使用 set_output_delay約束進行描述。


連接SPI接口器件 - 第一部分


運行兩個時鐘域解決方案的時序分析


時序分析報告顯示了兩個時鐘信號CLK_120和CLK_30之間的關(guān)系。


連接SPI接口器件 - 第一部分


連接SPI接口器件 - 第一部分


注意CLK_120和CLK_30的跨時鐘域參數(shù),反之亦然。這正是我們所期望的。


對輸出信號dac_sync和dac_sdata的分析展示了基于set_output_delay約束實現(xiàn)的setup slack和hold slack。


連接SPI接口器件 - 第一部分


總結(jié)總之,兩個時鐘域提供了一些功耗方面的優(yōu)勢,因為設(shè)計的一部分以較低的速度運行。此外,時序約束也很容易指定。該項目(dac_2c)可在LEC2索取。

(來源:萊迪思)


免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請電話或者郵箱editor@52solution.com聯(lián)系小編進行侵刪。



推薦閱讀:

MOSFET性能改進:RDS(ON)的決定因素

如何使用數(shù)字信號控制器構(gòu)建更好的汽車和電動汽車系統(tǒng)

了解 3 種靜態(tài)電流 (IQ) 的規(guī)格

高壓放大器在交變電場空間電荷測量研究中的應(yīng)用

使用 LTspice 進行電源電路設(shè)計的技巧

特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉