0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Renesa RA如何使用SPI來實現(xiàn)高速比特流的發(fā)送

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 作者:瑞薩MCU小百科 ? 2024-07-22 14:38 ? 次閱讀

有些特殊的外設(shè)會使用基于SPI模式,發(fā)送連續(xù)比特流來傳輸數(shù)據(jù)。本文主要介紹對于Renesa RA,如何使用SPI來實現(xiàn)高速比特流的發(fā)送。

注意,此方式僅針對搭載了支持該工作模式SPI外設(shè)的RA產(chǎn)品,使用前請在硬件手冊中確認(rèn)這一點。

靈活的Renesas Advanced(RA)32位MCU是采用Arm Cortex-M33、-M23、-M4和-M85處理器內(nèi)核,并經(jīng)過PSA認(rèn)證的、行業(yè)領(lǐng)先的32位MCU。RA可提供更為強(qiáng)大的嵌入式安全功能、卓越的CoreMark性能和超低的運(yùn)行功率,相比競爭對手的Arm Cortex-M MCU具有重大優(yōu)勢。PSA認(rèn)證可為客戶提供信心和保障,幫助其快速部署安全的物聯(lián)網(wǎng)端點和邊緣設(shè)備,以及適用于工業(yè)4.0的智能工廠設(shè)備。

RSPI在正常的配置模式下,如果發(fā)送4個字節(jié),總線上波形如下圖所示。在每兩個字節(jié)之間都有delay的插入。

65238552-47f3-11ef-b8af-92fbcf53809c.png

點擊可查看大圖

手冊上關(guān)于這部分的描述如下:

654d8848-47f3-11ef-b8af-92fbcf53809c.png

t1是從SSLn生效到第一個clock的延時

t2是最近一個CLK結(jié)束到SSLn失效的延時

t3是SSLn再次使能之前的延時

但是這樣會造成比特流不連續(xù),無法滿足某些特定應(yīng)用的要求。

SPI實際上還提供了Burst功能,用于產(chǎn)生連續(xù)的比特流,該功能尚未在FSP界面中支持,當(dāng)前可通過手動修改R_SPI代碼實現(xiàn),把寄存器位SSLKP和BFDS置位。更新代碼如下所示:

657808de-47f3-11ef-b8af-92fbcf53809c.png

點擊可查看大圖

修改代碼后,測試波形結(jié)果如下圖:

6591ca4e-47f3-11ef-b8af-92fbcf53809c.png

點擊可查看大圖

細(xì)心的小伙伴會發(fā)現(xiàn),最后一個字節(jié)沒有發(fā)送完成。仔細(xì)檢查發(fā)現(xiàn),在最后一個字節(jié)發(fā)送的過程中,RSPCK上缺少兩個clock,實際上程序也沒有進(jìn)入發(fā)送完成中斷。

所以光這樣還不行,還需要在發(fā)送中斷程序中做一下處理。

在rafspsrc _spi _spi.c的函數(shù)r_spi_transmit函數(shù)中增加一個判斷,在發(fā)送最后一個字節(jié)前,重新把SSLKP清零:

65bb472a-47f3-11ef-b8af-92fbcf53809c.png

點擊可查看大圖

這是修改后的時序,字節(jié)間已經(jīng)沒有插入delay,保證了比特流的連續(xù)性。

65ddaafe-47f3-11ef-b8af-92fbcf53809c.png

點擊可查看大圖

需特別注意的是,假如生成連續(xù)比特流,則不支持通過DMA/DTC進(jìn)行SPI傳輸。

另外,如果不切換FSP的版本,對于源碼的修改,RA文件夾中可以保留,但是ra_cfg和ra_gen文件夾中的內(nèi)容會被FSP重寫。如果切換FSP的版本,則三個文件夾(ra,ra_cfg和ra_gen)中的內(nèi)容均會被FSP重寫。

對該功能的支持已加入FSP的開發(fā)計劃,屆時無需手動修改,僅需在FSP Stack中配置即可。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228813
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16885

    瀏覽量

    349914
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1688

    瀏覽量

    91202
  • RA
    RA
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    24657
  • 比特流
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    8101

原文標(biāo)題:關(guān)于使用RSPI來發(fā)送連續(xù)比特流的方法

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    了解FPGA比特流結(jié)構(gòu)

    比特流是一個常用詞匯,用于描述包含F(xiàn)PGA完整內(nèi)部配置狀態(tài)的文件,包括布線、邏輯資源和IO設(shè)置。大多數(shù)現(xiàn)代FPGA都是基于SRAM的,包括Xilinx Spartan 和Virtex 系列。在
    發(fā)表于 11-30 10:59 ?1064次閱讀

    無法生成比特流

    你好,我使用Vivado 2017.4;當(dāng)我運(yùn)行Synthesis和Implementation時,一切似乎都可以。但是,當(dāng)我想生成比特流文件時,沒有任何錯誤消息發(fā)生。.runs / impl_l
    發(fā)表于 11-09 11:37

    將時鐘與輸入比特流同步

    我的時鐘對傳入的脈沖??紤]到PLL是圍繞外部時鐘同步設(shè)計的,我天真地期望只產(chǎn)生適當(dāng)?shù)臅r鐘速率并將其連接到我的輸入比特流,并且它將根據(jù)每一個脈沖自動重新同步。PSOC5是現(xiàn)實的嗎?查看時鐘組件,我看不出任何方法
    發(fā)表于 12-17 16:35

    無法生成比特流

    'hdcp@2015.09'未經(jīng)許可.IPCP功能在IP GUI上也不可用(灰顯)。忽略此嚴(yán)重警告后,我們能夠生成,合成,放置和路由知識產(chǎn)權(quán)。但無法生成比特流。錯誤是:[Common 17-69]命令失?。捍?/div>
    發(fā)表于 01-03 11:06

    中途向ICAP中止寫入部分比特流

    嗨,我正在嘗試部分自我重新配置。想法是通過介質(zhì)將部分比特流發(fā)送到FPGA。FPGA接收它(在多個塊中)并將比特流寫入ICAP。當(dāng)連接發(fā)生時,我的FPGA的行為會發(fā)生什么發(fā)送部分
    發(fā)表于 02-14 09:40

    怎么使用ISE Webpack生成比特流

    ifourunderstanding不正確,并希望得到任何幫助和建議:1.我們將使用ISE Webpack生成比特流。2.然后我們將生成一個新文件,由SPI閃存使用,包含上一步中獲得的比特流。3.現(xiàn)在我們將使
    發(fā)表于 07-04 08:13

    比特流是什么

    `請問比特流是什么?`
    發(fā)表于 08-23 16:24

    USRP解碼的比特流錯誤

    1.為什么用USRP發(fā)送數(shù)字調(diào)制信號后,如FSK和QPSK,接收端解碼出來的比特流都是不對的?
    發(fā)表于 08-28 09:18

    如何使用Vivado生成特定的部分比特流

    Mul7.穆添加8. Mul Sub9. Mul Mul現(xiàn)在我希望為上述任何一種組合提供完整的比特流(比如Add Add)。并且我希望部分比特流用于所選擇的組合,即添加用于部分區(qū)域1和1。 2,Sub
    發(fā)表于 05-05 09:42

    平臺是否會向4010發(fā)送任何不包含在比特流中的內(nèi)容?

    所有:由于缺少DMS respin的源文件,我很高興不得不重用遺留部分。我所擁有的只是一個最初存儲在XC1701部件上的比特流。我們相信我們已經(jīng)使用板外編程器成功地將此編程到Micron
    發(fā)表于 05-29 11:06

    如何從同一實現(xiàn)生成2種類型的比特流SPI x4和SelectMAP x16)

    如標(biāo)題所述,我想從相同的實現(xiàn)為同一FPGA(Artix-7)生成2種類型的比特流SPI x4和SelectMAP x16)。這有點可能嗎?目前,我有兩種不同的實現(xiàn)運(yùn)行(由于約束集 -
    發(fā)表于 06-09 07:40

    是否需要在flash上??切換黃金比特流和多重比特流的位置?

    嗨專家, 我正在使用spartan-6 FPGA進(jìn)行多重啟動實驗。我發(fā)現(xiàn)位文件位于ug380上,如下圖所示。黃金比特流位于閃存的下部塊上,多重引導(dǎo)比特流位于閃存的較高塊上。 因此,如果我想使用保護(hù)區(qū)
    發(fā)表于 06-09 17:43

    匹配位置對比特流隨機(jī)性的影響研究

    本文闡述了IP 報文標(biāo)識字段比特流隨機(jī)性的評價標(biāo)準(zhǔn),通過對大量實測報文進(jìn)行統(tǒng)計分析證明了比特流的匹配位置對隨機(jī)測度值有一定影響。結(jié)果表明,標(biāo)識字段比特流隨機(jī)測度值
    發(fā)表于 08-04 08:20 ?19次下載

    英特爾壓力比特流和編碼器提高質(zhì)量并加速比特流分析

    通過分支和語法覆蓋提高質(zhì)量并加速比特流分析 - 英特爾壓力比特流和編碼器(英特爾?SBE)
    的頭像 發(fā)表于 11-01 06:30 ?3111次閱讀
    英特爾壓力<b class='flag-5'>比特流</b>和編碼器提高質(zhì)量并加<b class='flag-5'>速比特流</b>分析

    使用加密和身份驗證保護(hù)UltraScale/UltraScale+ FPGA比特流

    電子發(fā)燒友網(wǎng)站提供《使用加密和身份驗證保護(hù)UltraScale/UltraScale+ FPGA比特流.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 17:14 ?1次下載
    使用加密和身份驗證<b class='flag-5'>來</b>保護(hù)UltraScale/UltraScale+ FPGA<b class='flag-5'>比特流</b>