《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > 連接SPI接口器件 - 第二部分

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

2021-11-29
來源:萊迪思
關(guān)鍵詞: SPI LEC2 FPGA

  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)SPI接口,。本文將介紹使用單個時鐘域?qū)崿F(xiàn)連接ADC(亞德諾半導(dǎo)體公司的 ADC AD7476)的SPI接口。兩個案例中呈現(xiàn)了兩種截然不同的實現(xiàn)接口的方法,。

  一個時鐘域的實現(xiàn)方案(dac_1c)

  單個時鐘SPI接口方案的實現(xiàn)如圖1所示,。

  

1.jpg

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

  單個時鐘域SPI實現(xiàn)的思路與兩個時鐘域非常相似。這里為了便于演示沒有使用PLL,。同時,,也不需要sync_stage模塊。由于是單個時鐘,,需要clock_generator來生成dac_sck所需的時鐘下降沿條件,,dac_sck則用作狀態(tài)機dac_fsm的觸發(fā)條件。

  clock_generator模塊

  圖2所示的clock_generator模塊產(chǎn)生時鐘信號dac_clk以及顯示dac_sck的下降沿,。圖 3 顯示了 dac_sclk 和 edge_low 的關(guān)系,。

  

2.jpg

  圖2:clock_generator模塊框圖

  

3.jpg

  圖3:單個時鐘域dac_fsm狀態(tài)機的控制結(jié)構(gòu)

  在轉(zhuǎn)換信號被識別后,,bit_count計數(shù)器加載值15。每當edge_low生效時,,串行數(shù)據(jù)在時鐘信號CLK_120的上升沿輸出到dac_sdata上,。傳輸16個數(shù)據(jù)位后,dac_fsm de再次發(fā)出就緒信號并等待下一個轉(zhuǎn)換信號,。

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

  1. 約束時鐘CLK_120

  4.jpg

  2. 約束dac_clk

  連接到dac_sck端口的時鐘信號由clock_generator生成,。CLK_120和dac_sck之間的關(guān)系為4分頻。

  5.jpg

  3. 約束DAC輸入/FPGA輸出

  時間值t4,、t5和t6描述了外部模塊的setup/hold要求,。這些要求使用set_output_delay約束進行描述。由于是單時鐘域,,因此需要多周期約束,。

  

6.jpg

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

  正如預(yù)期那樣,時序分析報告在dac_sdata輸出信號上顯示出了相同的性能數(shù)據(jù),。

  

7.jpg

  總結(jié)

  單個時鐘域的方法使用了單個時鐘分配網(wǎng)絡(luò),,由于不需要同步階段與高級功能通信,因而具有設(shè)計上的優(yōu)勢,。

  該項目(dac_1c)以及兩個時鐘域的項目均可通過郵箱[email protected]索取,。

  Eugen Krassin是萊迪思教育能力中心(LEC2)的總裁兼創(chuàng)始人。




圖片.jpg


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。