国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù)

這篇具有很好參考價(jià)值的文章主要介紹了孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

(原創(chuàng)聲明:該文是作者的原創(chuàng),面向?qū)ο笫?/em>FPGA入門(mén)者,后續(xù)會(huì)有進(jìn)階的高級(jí)教程。宗旨是讓每個(gè)想做FPGA的人輕松入門(mén),作者不光讓大家知其然,還要讓大家知其所以然!每個(gè)工程作者都搭建了全自動(dòng)化的仿真環(huán)境,只需要雙擊top_tb.bat文件就可以完成整個(gè)的仿真(前提是安裝了modelsim),降低了初學(xué)者的門(mén)檻。如需整個(gè)工程請(qǐng)留言(WX:Blue23Light),不收任何費(fèi)用,但是僅供參考,不建議大家獲得資料后從事一些商業(yè)活動(dòng)!

SPI的英文全稱(chēng)為Serial Peripheral Interface,顧名思義為串行外設(shè)接口。SPI是一種同步串行通信接口規(guī)范,主要應(yīng)用于嵌入式系統(tǒng)中的短距離通信。該接口由摩托羅拉在20世紀(jì)80年代中期開(kāi)發(fā),后發(fā)展成了行業(yè)規(guī)范。

SPI是一種高速的、全雙工的、同步的通信總線,并且至多僅需使用4根線,節(jié)約了芯片的管腳,SPI主要應(yīng)用于EEPROM、FLASH、ADC、DAC等芯片,還有數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間。

SPI設(shè)備之間采用全雙工模式通信,是一個(gè)主機(jī)和一個(gè)或者多個(gè)從機(jī)的主從模式。主機(jī)負(fù)責(zé)初始化幀,這個(gè)數(shù)據(jù)傳輸幀可以用于讀與寫(xiě)兩種操作,片選線可以從多個(gè)從機(jī)選擇一個(gè)來(lái)響應(yīng)主機(jī)的請(qǐng)求。

SPI通信中有4種不同的操作模式,不同的從機(jī)設(shè)備可能在出廠時(shí)就被設(shè)置好了某種模式,并且無(wú)法更改。但是SPI通信必須處于同一種模式下才能進(jìn)行。因此我們應(yīng)該對(duì)自己手里的SPI主機(jī)設(shè)備進(jìn)行模式的配置,也就是通過(guò)CPOL(時(shí)鐘極性)和CPHA(時(shí)鐘相位)來(lái)控制SPI主設(shè)備的通信模式,具體如下:

時(shí)鐘極性(CPOL)定義了SCLK時(shí)鐘線空閑狀態(tài)時(shí)的電平:

CPOL=0,即SCLK=0,表示SCLK時(shí)鐘信號(hào)線在空閑狀態(tài)時(shí)的電平為低電平,因此有效狀態(tài)為高電平。

CPOL=1,即SCLK=1,表示SCLK時(shí)鐘信號(hào)線在空閑狀態(tài)時(shí)的電平為高電平,因此有效狀態(tài)為低電平。

時(shí)鐘相位(CPHA)定義了數(shù)據(jù)位相對(duì)于時(shí)鐘線的時(shí)序(即相位):

CPHA=0,即表示輸出(out)端在上一個(gè)時(shí)鐘周期的后沿改變數(shù)據(jù),而輸入(in)端在時(shí)鐘周期的前沿(或不久之后)捕獲數(shù)據(jù)。輸出端保持?jǐn)?shù)據(jù)有效直到當(dāng)前時(shí)鐘周期的尾部邊緣。對(duì)于第一個(gè)時(shí)鐘周期來(lái)說(shuō),第一位的數(shù)據(jù)必須在時(shí)鐘前沿之前出現(xiàn)在MOSI線上。也就是一個(gè)CPHA=0的周期包括半個(gè)時(shí)鐘空閑和半個(gè)時(shí)鐘置位的周期。

CPHA=1,即表示輸出(out)端在當(dāng)前時(shí)鐘周期的前沿改變數(shù)據(jù),而輸入(in)端在時(shí)鐘周期的后沿(或不久之后)捕獲數(shù)據(jù)。輸出端保持?jǐn)?shù)據(jù)有效直到下一個(gè)時(shí)鐘周期的前沿。對(duì)于最后一個(gè)時(shí)鐘周期來(lái)說(shuō),從機(jī)設(shè)備在片選信號(hào)消失之前保持MISO信號(hào)線有效。也就是一個(gè)CHPA=1的周期包括半個(gè)時(shí)鐘置位和半個(gè)時(shí)鐘空閑的周期。

孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù),輕松入門(mén)FPGA,fpga開(kāi)發(fā),fpga

時(shí)鐘極性和相位的時(shí)序圖。紅線表示時(shí)鐘的前沿,藍(lán)線表示時(shí)鐘的后沿。

孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù),輕松入門(mén)FPGA,fpga開(kāi)發(fā),fpga

SPIFPGA實(shí)現(xiàn),網(wǎng)上有很多的教程,很多是用狀態(tài)機(jī)實(shí)現(xiàn)的,本節(jié)我們用一種簡(jiǎn)單的方式來(lái)實(shí)現(xiàn)SPI的主機(jī)通信,先來(lái)實(shí)現(xiàn)CPOL=0CPHA=0;下節(jié)課再用通用方式來(lái)實(shí)現(xiàn)4種模式。

SPI的時(shí)鐘一般都是一個(gè)范圍,這個(gè)要看實(shí)際芯片的datasheet,所以我們可以采用主時(shí)鐘的分頻來(lái)實(shí)現(xiàn),主要在規(guī)定的范圍內(nèi)即可。

如下所示,定義了參數(shù)DNUM是要發(fā)送數(shù)據(jù)的位寬,FRE_DIV是主時(shí)鐘的分頻數(shù),取2的冪次,如果是4就是主時(shí)鐘的4分頻,假設(shè)主時(shí)鐘是100MHz,那SPI的時(shí)鐘就是25MHz。FRE_DIV_INDEX就是分頻數(shù)的那個(gè)冪次,FRE_DIV4,F(xiàn)RE_DIV_INDEX就是2,F(xiàn)RE_DIV8,F(xiàn)RE_DIV_INDEX就是3......

孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù),輕松入門(mén)FPGA,fpga開(kāi)發(fā),fpga

用信號(hào)spi_conv來(lái)標(biāo)識(shí)一次SPI通信,spi_state_cnt的計(jì)數(shù)最大值是數(shù)據(jù)位寬和分頻數(shù)的乘積(總共消耗的系統(tǒng)時(shí)鐘數(shù)),同時(shí)根據(jù)計(jì)數(shù)值值完成spi_overspi_cs信號(hào)的控制。

孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù),輕松入門(mén)FPGA,fpga開(kāi)發(fā),fpga

根據(jù)計(jì)數(shù)器取分頻時(shí)鐘,即SPI的時(shí)鐘spi_sck,因?yàn)?strong>CPOL=0,所以spi_sck在空閑狀態(tài)時(shí)低電平。因?yàn)?strong>CPHA=0,就是在spi_sck的下升沿SPI的輸出spi_mosi進(jìn)行變化,通過(guò)信號(hào)shift_enshift_en_d來(lái)取spi_sck的下降沿send_en_flag。最后將要發(fā)送的數(shù)據(jù)通過(guò)send_en_flag控制放到線spi_mosi上即可。

孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù),輕松入門(mén)FPGA,fpga開(kāi)發(fā),fpga

新建tb測(cè)試文件,在文件中設(shè)計(jì)了2個(gè)taskspi_data()用來(lái)產(chǎn)生16位的隨機(jī)數(shù)據(jù),spi_slave()模擬接收spi_master發(fā)送的串行信號(hào),并與spi_master實(shí)際發(fā)送的并行多位信號(hào)進(jìn)行比較,通過(guò)打印信息確定設(shè)計(jì)的功能是否正確。

孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù),輕松入門(mén)FPGA,fpga開(kāi)發(fā),fpga

雙擊sim目錄下得top_tb.bat文件,完成系統(tǒng)得自動(dòng)化仿真。

孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù),輕松入門(mén)FPGA,fpga開(kāi)發(fā),fpga

1SPI發(fā)送的仿真波形圖如下所示。

孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù),輕松入門(mén)FPGA,fpga開(kāi)發(fā),fpga

查看modelsimTranscript窗口,spi_master發(fā)送的數(shù)據(jù)和spi_slave接收的數(shù)據(jù)一致,設(shè)計(jì)功能正常。

孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù),輕松入門(mén)FPGA,fpga開(kāi)發(fā),fpga文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-766580.html

到了這里,關(guān)于孩子都能學(xué)會(huì)的FPGA:第三十一課——用FPGA實(shí)現(xiàn)SPI主機(jī)發(fā)送數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 孩子都能學(xué)會(huì)的FPGA:第二十五課——用FPGA實(shí)現(xiàn)頻率計(jì)

    孩子都能學(xué)會(huì)的FPGA:第二十五課——用FPGA實(shí)現(xiàn)頻率計(jì)

    (原創(chuàng)聲明:該文是 作者的原創(chuàng) ,面向?qū)ο笫?FPGA入門(mén)者 ,后續(xù)會(huì)有進(jìn)階的高級(jí)教程。宗旨是 讓每個(gè)想做FPGA的人輕松入門(mén) , 作者不光讓大家知其然,還要讓大家知其所以然 !每個(gè)工程作者都搭建了全自動(dòng)化的仿真環(huán)境,只需要雙擊 top_tb.bat 文件就可以完成整個(gè)的仿真(前

    2024年02月02日
    瀏覽(18)
  • 孩子都能學(xué)會(huì)的FPGA:第二十課——用FPGA實(shí)現(xiàn)定點(diǎn)數(shù)的開(kāi)方運(yùn)算

    孩子都能學(xué)會(huì)的FPGA:第二十課——用FPGA實(shí)現(xiàn)定點(diǎn)數(shù)的開(kāi)方運(yùn)算

    (原創(chuàng)聲明:該文是 作者的原創(chuàng) ,面向?qū)ο笫?FPGA入門(mén)者 ,后續(xù)會(huì)有進(jìn)階的高級(jí)教程。宗旨是 讓每個(gè)想做FPGA的人輕松入門(mén) , 作者不光讓大家知其然,還要讓大家知其所以然 !每個(gè)工程作者都搭建了全自動(dòng)化的仿真環(huán)境,只需要雙擊 top_tb.bat 文件就可以完成整個(gè)的仿真(前

    2024年02月03日
    瀏覽(23)
  • 孩子都能學(xué)會(huì)的FPGA:第十六課——用FPGA實(shí)現(xiàn)IIR濾波器濾波

    孩子都能學(xué)會(huì)的FPGA:第十六課——用FPGA實(shí)現(xiàn)IIR濾波器濾波

    (原創(chuàng)聲明:該文是 作者的原創(chuàng) ,面向?qū)ο笫?FPGA入門(mén)者 ,后續(xù)會(huì)有進(jìn)階的高級(jí)教程。宗旨是 讓每個(gè)想做FPGA的人輕松入門(mén) , 作者不光讓大家知其然,還要讓大家知其所以然 !每個(gè)工程作者都搭建了全自動(dòng)化的仿真環(huán)境,只需要雙擊 top_tb.bat 文件就可以完成整個(gè)的仿真(前

    2024年01月21日
    瀏覽(22)
  • 孩子都能學(xué)會(huì)的FPGA:第二十八課——用FPGA實(shí)現(xiàn)最近最少使用(LRU)算法

    孩子都能學(xué)會(huì)的FPGA:第二十八課——用FPGA實(shí)現(xiàn)最近最少使用(LRU)算法

    (原創(chuàng)聲明:該文是 作者的原創(chuàng) ,面向?qū)ο笫?FPGA入門(mén)者 ,后續(xù)會(huì)有進(jìn)階的高級(jí)教程。宗旨是 讓每個(gè)想做FPGA的人輕松入門(mén) , 作者不光讓大家知其然,還要讓大家知其所以然 !每個(gè)工程作者都搭建了全自動(dòng)化的仿真環(huán)境,只需要雙擊 top_tb.bat 文件就可以完成整個(gè)的仿真(前

    2024年02月19日
    瀏覽(30)
  • 孩子都能學(xué)會(huì)的FPGA:第八課——狀態(tài)機(jī)

    孩子都能學(xué)會(huì)的FPGA:第八課——狀態(tài)機(jī)

    (原創(chuàng)聲明:該文是 作者的原創(chuàng) ,面向?qū)ο笫?FPGA入門(mén)者 ,后續(xù)會(huì)有進(jìn)階的高級(jí)教程。宗旨是 讓每個(gè)想做FPGA的人輕松入門(mén) , 作者不光讓大家知其然,還要讓大家知其所以然 !每個(gè)工程作者都搭建了全自動(dòng)化的仿真環(huán)境,只需要雙擊 top_tb.bat 文件就可以完成整個(gè)的仿真(前

    2024年01月21日
    瀏覽(26)
  • 孩子都能學(xué)會(huì)的FPGA:第十二課——利用內(nèi)存產(chǎn)生正弦波

    孩子都能學(xué)會(huì)的FPGA:第十二課——利用內(nèi)存產(chǎn)生正弦波

    (原創(chuàng)聲明:該文是 作者的原創(chuàng) ,面向?qū)ο笫?FPGA入門(mén)者 ,后續(xù)會(huì)有進(jìn)階的高級(jí)教程。宗旨是 讓每個(gè)想做FPGA的人輕松入門(mén) , 作者不光讓大家知其然,還要讓大家知其所以然 !每個(gè)工程作者都搭建了全自動(dòng)化的仿真環(huán)境,只需要雙擊 top_tb.bat 文件就可以完成整個(gè)的仿真(前

    2024年02月03日
    瀏覽(18)
  • 孩子都能學(xué)會(huì)的FPGA:第九課——多字節(jié)數(shù)據(jù)的發(fā)送和接收

    孩子都能學(xué)會(huì)的FPGA:第九課——多字節(jié)數(shù)據(jù)的發(fā)送和接收

    (原創(chuàng)聲明:該文是 作者的原創(chuàng) ,面向?qū)ο笫?FPGA入門(mén)者 ,后續(xù)會(huì)有進(jìn)階的高級(jí)教程。宗旨是 讓每個(gè)想做FPGA的人輕松入門(mén) , 作者不光讓大家知其然,還要讓大家知其所以然 !每個(gè)工程作者都搭建了全自動(dòng)化的仿真環(huán)境,只需要雙擊 top_tb.bat 文件就可以完成整個(gè)的仿真(前

    2024年02月04日
    瀏覽(42)
  • 孩子都能學(xué)會(huì)的FPGA:第十課——UART通信增加CRC校驗(yàn)

    孩子都能學(xué)會(huì)的FPGA:第十課——UART通信增加CRC校驗(yàn)

    (原創(chuàng)聲明:該文是 作者的原創(chuàng) ,面向?qū)ο笫?FPGA入門(mén)者 ,后續(xù)會(huì)有進(jìn)階的高級(jí)教程。宗旨是 讓每個(gè)想做FPGA的人輕松入門(mén) , 作者不光讓大家知其然,還要讓大家知其所以然 !每個(gè)工程作者都搭建了全自動(dòng)化的仿真環(huán)境,只需要雙擊 top_tb.bat 文件就可以完成整個(gè)的仿真(前

    2024年02月05日
    瀏覽(20)
  • 【正點(diǎn)原子FPGA連載】第三十一章DDR4讀寫(xiě)測(cè)試實(shí)驗(yàn) 摘自【正點(diǎn)原子】DFZU2EG/4EV MPSoC 之FPGA開(kāi)發(fā)指南V1.0

    【正點(diǎn)原子FPGA連載】第三十一章DDR4讀寫(xiě)測(cè)試實(shí)驗(yàn) 摘自【正點(diǎn)原子】DFZU2EG/4EV MPSoC 之FPGA開(kāi)發(fā)指南V1.0

    1)實(shí)驗(yàn)平臺(tái):正點(diǎn)原子MPSoC開(kāi)發(fā)板 2)平臺(tái)購(gòu)買(mǎi)地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套實(shí)驗(yàn)源碼+手冊(cè)+視頻下載地址: http://www.openedv.com/thread-340252-1-1.html DDR4 SDRAM(Double-Data-Rate Fourth Generation Synchronous Dynamic Random Access Memory,簡(jiǎn)稱(chēng)為DDR4 SDRAM),是一種高速動(dòng)態(tài)隨機(jī)

    2024年01月16日
    瀏覽(28)
  • 【正點(diǎn)原子FPGA連載】第三十一章基于lwip的echo server實(shí)驗(yàn) 摘自【正點(diǎn)原子】DFZU2EG_4EV MPSoC之嵌入式Vitis開(kāi)發(fā)指南

    【正點(diǎn)原子FPGA連載】第三十一章基于lwip的echo server實(shí)驗(yàn) 摘自【正點(diǎn)原子】DFZU2EG_4EV MPSoC之嵌入式Vitis開(kāi)發(fā)指南

    隨著物聯(lián)網(wǎng)的興起,萬(wàn)物互聯(lián)需要一個(gè)強(qiáng)大而又靈活的協(xié)議體系,TCP/IP協(xié)議得天獨(dú)厚,而在嵌入式網(wǎng)絡(luò)設(shè)備中,由于硬件資源的限制,需要特殊的實(shí)現(xiàn)方式。LWIP作為T(mén)CP/IP協(xié)議的一種輕量級(jí)實(shí)現(xiàn)方式,滿足了這一要求。本章我們利用VITIS軟件自帶的lwIP Echo Server例程模板,初步了

    2024年02月14日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包