91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

細(xì)說(shuō)SPI主機(jī)發(fā)送性能最大化實(shí)現(xiàn)方案

先楫半導(dǎo)體HPMicro ? 2023-07-31 23:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、背景

在《先楫hpm6000的SPI外設(shè)使用四線模式操作讀寫華邦flash》一文中介紹了先楫SPI外設(shè)是為flash器件而生的控制器,但是樓主在該篇文章讀寫flash的頁(yè)是用的poll輪詢讀寫spi fifo的接口,并沒(méi)用DMA來(lái)進(jìn)行加速優(yōu)化。本篇就是基于SPI配合DMA實(shí)現(xiàn)理論速度性能。

二、問(wèn)題點(diǎn)

(一) SPI FIFO poll阻塞發(fā)送無(wú)法發(fā)揮SPI理論速度性能

使用spi poll阻塞的時(shí)候,雖然能實(shí)現(xiàn)數(shù)據(jù)的完整傳輸,但是傳輸?shù)臅r(shí)間并不能達(dá)到理想傳輸速度,比如SPI四線模式下,30M的SPI SCLK時(shí)鐘,理論可以達(dá)到15MB/S速度。但實(shí)際測(cè)量當(dāng)中并未達(dá)到該性能。從邏輯分析儀看到,發(fā)送flas一頁(yè)數(shù)據(jù),也就是256字節(jié),從開始傳輸?shù)浇Y(jié)束傳輸?shù)臅r(shí)間需要37.034us,合計(jì)為6.91MB/S,與理論速度相差了2到3倍的距離。


53e38048-2fb3-11ee-bbcf-dac502259ad0.png

從波形上看,導(dǎo)致這個(gè)速度達(dá)不到原因就在于,每個(gè)字節(jié)之間存在了一定的間隔時(shí)間,這些間隔的累積導(dǎo)致傳輸時(shí)間變長(zhǎng),導(dǎo)致總的時(shí)間變長(zhǎng),進(jìn)而速度遠(yuǎn)遠(yuǎn)跟不上。

5418fe94-2fb3-11ee-bbcf-dac502259ad0.png

(二)使用了DMA仍然有SPI SCLK時(shí)鐘不連續(xù)問(wèn)題

從(一)的問(wèn)題可以看出,要想達(dá)到理論速度,必須消除每個(gè)字節(jié)的SCLK間隔,縮短傳輸時(shí)間。這時(shí)候需要DMA來(lái)加持速度性能,但實(shí)際上,在使用了相關(guān)配置之后,速度雖然有些提升,但還是存在些許間隔產(chǎn)生。


在這里的例子驗(yàn)證條件是:SPI SCLK時(shí)鐘頻率為50M,主機(jī)發(fā)送512字節(jié)。理論傳輸速度可以25MB/S.從邏輯分析儀可看到,間隔有所縮短,但依然存在字節(jié)間隔。512字節(jié)傳輸需要45.97us,合計(jì)為11.173MB/S。距離25MB/S也有兩倍的差距。

5442dd9a-2fb3-11ee-bbcf-dac502259ad0.png

三、解決問(wèn)題

在二問(wèn)題的所有描述當(dāng)中,速度達(dá)不到理想性能,歸根到底是字節(jié)之間產(chǎn)生間隔累積形成。

所以我們的問(wèn)題解決點(diǎn)是:再配合DMA,進(jìn)行其他優(yōu)化。達(dá)到理想速度性能。


(一) 使用AHB SRAM(內(nèi)存32KB空間)作為數(shù)據(jù)交互RAM。

在HPM6000系列中,AHB/APB外設(shè)總線連接了一個(gè)內(nèi)存為32KB空間的AHB SRAM,與之同時(shí)連接的也有DMA控制器之一HDMA。


從官方文檔可知,AHB SRAM和HDMA以及SPI外設(shè)同樣位于AHB/APB外設(shè)總線中,AHB SRAM是專門給HDMA進(jìn)行低延時(shí)訪問(wèn)的內(nèi)存,也是SPI進(jìn)行DMA低延時(shí)傳輸保證。

5481dde2-2fb3-11ee-bbcf-dac502259ad0.png

在上面的DMA搬運(yùn)中,待發(fā)送的數(shù)據(jù)放在AXI SRAM中。那么把這發(fā)送的數(shù)據(jù)放在AHB SRAM,看下會(huì)不會(huì)有所提升。

54ac15c6-2fb3-11ee-bbcf-dac502259ad0.png

從以下邏輯分析儀結(jié)果看出,傳輸512字節(jié),相比放在AXI_SRAM中,在AHB_SRAM只需要22.97us,縮短了23us, 合計(jì)22MB/S,提高了兩倍速度性能。當(dāng)仍與25MB/S理想速度有些許差距。

54c34318-2fb3-11ee-bbcf-dac502259ad0.png

通過(guò)放大波形查看,有些字節(jié)依然產(chǎn)生間隔,這也是導(dǎo)致速度沒(méi)達(dá)到理想速度的原因。

54daedba-2fb3-11ee-bbcf-dac502259ad0.png

(二)使用DMA的burst突發(fā)傳輸

先楫的DMA,對(duì)于源地址數(shù)據(jù)來(lái)說(shuō),支持突發(fā)傳輸。例如傳輸位寬為8,設(shè)置burst數(shù)量為4,那么就是相當(dāng)一次DMA請(qǐng)求設(shè)置了4個(gè)節(jié)拍,連續(xù)傳輸4個(gè)字節(jié)。是單次傳輸?shù)?倍效率。在這里來(lái)說(shuō),待發(fā)送的數(shù)據(jù)就是源地址數(shù)據(jù)。

5504adee-2fb3-11ee-bbcf-dac502259ad0.png

先楫的SPI控制器有四個(gè)字的FIFO數(shù)據(jù)空間,每個(gè)FIFO是32位。SPI請(qǐng)求DMA搬運(yùn)是通過(guò)發(fā)送FIFO閾值請(qǐng)求。從效率上來(lái)看,最好是一次請(qǐng)求中能把FIFO數(shù)據(jù)全部搬運(yùn)。從上面的優(yōu)化流程來(lái)看,都設(shè)置為了默認(rèn),TX FIFO閾值設(shè)置為了0,也就是只要TXFIFO有一個(gè)為空就請(qǐng)求一次,DMA的源數(shù)據(jù)burst數(shù)量為0,也就是相當(dāng)設(shè)置了1個(gè)節(jié)拍的突發(fā)傳輸,傳輸寬度為8位,一次DMA請(qǐng)求就塞給一次FIFO,等待FIFO完全塞滿后這時(shí)候沒(méi)法請(qǐng)求,所以會(huì)導(dǎo)致一次周期的間隔,當(dāng)DMA收到請(qǐng)求后連這樣能解釋上面為何每隔四個(gè)字節(jié)會(huì)產(chǎn)生間隔的原因。

553c9e70-2fb3-11ee-bbcf-dac502259ad0.png

所以這里我們可以SPI的TXFIFO閾值為3,當(dāng)出現(xiàn)一個(gè)空位的時(shí)候就請(qǐng)求一次,設(shè)置burst數(shù)量為2,也就是四個(gè)字節(jié),一次請(qǐng)求搬運(yùn)四個(gè)字節(jié)。通過(guò)邏輯分析儀可看到:


配合(一)的方案,傳輸512字節(jié),只需要20.468us,合計(jì)為25MB/S左右,接近了理想速度性能了。

5591a99c-2fb3-11ee-bbcf-dac502259ad0.png

放大波形查看,也能看到SCLK時(shí)鐘連續(xù)了。

55b32838-2fb3-11ee-bbcf-dac502259ad0.png

(三)壓榨性能(使用SPI的字節(jié)合并merge功能)

先楫官方手冊(cè)說(shuō)明的是SPI時(shí)鐘可以80M,保守是40M。在四線模式下,SPI時(shí)鐘SCLK為80M,相比單線來(lái)說(shuō)可以提高四倍性能傳輸,也就是可以達(dá)到40MB/S。


但是在實(shí)際操作的時(shí)候,分頻SPI SCLK頻率到66M,又出現(xiàn)了SCLK時(shí)鐘不連續(xù)的情況,導(dǎo)致與理想速度不符合。

55d5be02-2fb3-11ee-bbcf-dac502259ad0.png

仔細(xì)翻下官方手冊(cè),可以知道SPI有個(gè)寄存器是TRANSFMT,有一個(gè)位是DATAMERGE,對(duì)于描述如下:

55f75526-2fb3-11ee-bbcf-dac502259ad0.png

特別說(shuō)明的是,由于SPI的數(shù)據(jù)FIFO是32位,這個(gè)功能只在數(shù)據(jù)單位長(zhǎng)度為8位的時(shí)候有效,而且合并的數(shù)據(jù)量需要以四的整數(shù)倍。如此來(lái)說(shuō),在配置DMA的時(shí)候,傳輸寬度可以從8位變到32位,傳輸?shù)膸捯材芴岣吡怂谋丁D敲次覀冞@樣配置下,邏輯分析儀結(jié)果如下:

在66M的SPI SCLK時(shí)鐘下,邏輯分析儀抓到的SCLK能保持連續(xù),并且數(shù)據(jù)能對(duì)得上。512字節(jié)耗時(shí)15.352us,合計(jì)33MB/S左右,與理論速度33MB/S接近。


564514f0-2fb3-11ee-bbcf-dac502259ad0.png

80M的SPI SCLK頻率,傳輸512字節(jié),耗時(shí)12.794us,合計(jì)40MB/S左右,也能滿足預(yù)期40MB/S速度。

566b762c-2fb3-11ee-bbcf-dac502259ad0.png

SCLK波形也能保持連續(xù)。

568a2266-2fb3-11ee-bbcf-dac502259ad0.png

四、號(hào)外(單線SPI總線可以達(dá)到120M)

四線模式既然能達(dá)到80M,那么樓主想試下80M的單線,也是沒(méi)問(wèn)題的,效果如下:

56aeecc2-2fb3-11ee-bbcf-dac502259ad0.png

再嘗試一把,把SPI SCLK分頻到120M,只是稍微有點(diǎn)間隔,但單線SPI也是沒(méi)問(wèn)題的。

56c8aec8-2fb3-11ee-bbcf-dac502259ad0.png

五、總結(jié)

對(duì)于先楫這個(gè)SPI外設(shè)來(lái)說(shuō),配合DMA,SPI的數(shù)據(jù)FIFO以及相關(guān)SPI配置,能達(dá)到手冊(cè)描述的性能。無(wú)論是四線模式還是二線模式還是單線模式,都能到達(dá)80M的SPI時(shí)鐘性能。


對(duì)于SCLK不連續(xù)的問(wèn)題在于DMA搬運(yùn)和SPI傳輸不同步造成,導(dǎo)致傳輸間隔中斷,特別是SPI頻率越來(lái)越高的情況下。解決同步問(wèn)題就不會(huì)有SCLK不連續(xù)的問(wèn)題存在。

以上內(nèi)容來(lái)自先楫開發(fā)者的原創(chuàng)分享。

我們始終相信開發(fā)者共創(chuàng)的力量。先楫社區(qū)堅(jiān)持開源共享、互惠互利,貼近每一個(gè)開發(fā)者,一步一個(gè)腳印,一點(diǎn)一滴積累,為成為更好的我們而不斷努力。

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

    關(guān)注

    0

    文章

    1053

    瀏覽量

    36745
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1971

    瀏覽量

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

    關(guān)注

    17

    文章

    1885

    瀏覽量

    101261
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    582

    瀏覽量

    105933
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    告別逆流罰款!西格電力防逆流方案,讓光伏并網(wǎng)零風(fēng)險(xiǎn)、收益最大化

    合規(guī)性的管控愈發(fā)嚴(yán)格,違規(guī)逆流不僅面臨經(jīng)濟(jì)處罰,還可能影響項(xiàng)目并網(wǎng)資格。西格電力防逆流柔性控制方案,精準(zhǔn)對(duì)標(biāo)政策要求,從源頭破解痛點(diǎn),實(shí)現(xiàn)光伏并網(wǎng)零合規(guī)風(fēng)險(xiǎn)、發(fā)電收益最大化的雙重目標(biāo)。
    的頭像 發(fā)表于 01-27 16:23 ?1806次閱讀
    告別逆流罰款!西格電力防逆流<b class='flag-5'>方案</b>,讓光伏并網(wǎng)零風(fēng)險(xiǎn)、收益<b class='flag-5'>最大化</b>

    SPI的4個(gè)引腳介紹

    SPI 一般通過(guò) 4 個(gè)引腳與外部設(shè)備相連: ?MOSI 主機(jī)輸出 / 從機(jī)輸入,用于主機(jī)模式下的數(shù)據(jù)發(fā)送和從機(jī)模式下的數(shù)據(jù)接收; ?MISO 主機(jī)
    發(fā)表于 12-15 06:54

    FPG推出CheckMax,以AI洞察助力餐飲業(yè)利潤(rùn)最大化

    -FPG推出CheckMax,F(xiàn)rontline Performance Group推出CheckMax,以AI洞察助力餐飲業(yè)利潤(rùn)最大化 更高利潤(rùn)、更優(yōu)服務(wù):CheckMax直擊餐廳頭號(hào)經(jīng)營(yíng)挑戰(zhàn)
    的頭像 發(fā)表于 12-10 19:02 ?1056次閱讀
    FPG推出CheckMax,以AI洞察助力餐飲業(yè)利潤(rùn)<b class='flag-5'>最大化</b>

    聚飛光電PLM系統(tǒng)升級(jí)推動(dòng)IPD全流程價(jià)值最大化落地

    研發(fā)全流程的規(guī)范化管控與高效協(xié)同,為產(chǎn)品創(chuàng)新提速、市場(chǎng)響應(yīng)提質(zhì)注入核心動(dòng)力,推動(dòng)IPD全流程價(jià)值最大化落地。
    的頭像 發(fā)表于 12-05 09:55 ?843次閱讀
    聚飛光電PLM系統(tǒng)升級(jí)推動(dòng)IPD全流程價(jià)值<b class='flag-5'>最大化</b>落地

    提升PLC數(shù)據(jù)采集效率:性能瓶頸分析與實(shí)踐

    面對(duì)“越快越好”的PLC數(shù)據(jù)采集需求,如何準(zhǔn)確評(píng)估設(shè)備能力瓶頸?又該如何突破極限,實(shí)現(xiàn)采集速度的最大化?本文將系統(tǒng)探討如何科學(xué)評(píng)估PLC的數(shù)據(jù)采集能力極限,并在此基礎(chǔ)上,提供一系列旨在最大化采集速度
    的頭像 發(fā)表于 11-26 11:33 ?337次閱讀
    提升PLC數(shù)據(jù)采集效率:<b class='flag-5'>性能</b>瓶頸分析與實(shí)踐

    天合光能解決方案如何助力光伏發(fā)電收益最大化

    ,重點(diǎn)介紹了基于市場(chǎng)化電力交易特點(diǎn)打造的綜合解決方案,并深度解析該方案如何在競(jìng)爭(zhēng)性電力市場(chǎng)助力光伏發(fā)電收益最大化。
    的頭像 發(fā)表于 10-22 11:36 ?1281次閱讀
    天合光能解決<b class='flag-5'>方案</b>如何助力光伏發(fā)電收益<b class='flag-5'>最大化</b>

    SPI主機(jī)/從機(jī)接收發(fā)送都開啟DMA通信

    AT32_SPI主機(jī)/從機(jī)接收發(fā)送都開啟DMA通信 示例目的 本示例代碼展示了如何使用 AT32 的 DMA 進(jìn)行 SPI 數(shù)據(jù)傳輸。SPI
    發(fā)表于 09-10 16:56

    性能開關(guān)在自動(dòng)導(dǎo)引車的應(yīng)用

    性能開關(guān)在現(xiàn)代自動(dòng)導(dǎo)引車運(yùn)行和控制中的價(jià)值從未像現(xiàn)在如此巨大。自1928年以來(lái),C&K 的產(chǎn)品組合一直以多種輕觸開關(guān)、帶燈輕觸開關(guān)、 按動(dòng)開關(guān)和防破壞開關(guān)為主,為自動(dòng)導(dǎo)引車設(shè)計(jì)師提供最大化的選擇。
    的頭像 發(fā)表于 09-08 11:42 ?933次閱讀

    從GX連接器到應(yīng)用:如何選擇合適的連接器以提高設(shè)備性能

    的連接器,從而實(shí)現(xiàn)設(shè)備性能最大化提升。在這一過(guò)程中,德索精密工業(yè)憑借其優(yōu)質(zhì)的GX連接器系列,為客戶提供了可靠的連接解決方案,助力各行各業(yè)的技術(shù)創(chuàng)新和設(shè)備升級(jí)。如有GX
    的頭像 發(fā)表于 08-26 14:39 ?760次閱讀
    從GX連接器到應(yīng)用:如何選擇合適的連接器以提高設(shè)備<b class='flag-5'>性能</b>

    MAX3421E USB外設(shè)/主機(jī)控制器,SPI接口技術(shù)手冊(cè)

    串行接口引擎(SIE)處理底層USB協(xié)議,如錯(cuò)誤校驗(yàn)和總線重試。通過(guò)頻率高達(dá)26MHz的SPI?接口訪問(wèn)寄存器組,實(shí)現(xiàn)MAX3421E的控制。利用簡(jiǎn)易的3線或4線SPI接口,可為任何SPI
    的頭像 發(fā)表于 05-22 16:39 ?1568次閱讀
    MAX3421E USB外設(shè)/<b class='flag-5'>主機(jī)</b>控制器,<b class='flag-5'>SPI</b>接口技術(shù)手冊(cè)

    借助DFT技術(shù)實(shí)現(xiàn)競(jìng)爭(zhēng)力最大化

    通過(guò)改進(jìn)和優(yōu)化設(shè)計(jì)與制造的各個(gè)方面,半導(dǎo)體行業(yè)已經(jīng)能夠實(shí)現(xiàn) IC 能力的巨大進(jìn)步。可測(cè)試性設(shè)計(jì) (DFT)——涵蓋從在 RTL 中插入測(cè)試邏輯,到對(duì)現(xiàn)場(chǎng)退回產(chǎn)品進(jìn)行失效分析等全流程,是半導(dǎo)體企業(yè)獲得
    的頭像 發(fā)表于 05-22 15:16 ?988次閱讀

    是德科技發(fā)布人工智能系列解決方案

    是德科技(NYSE:KEYS)發(fā)布Keysight AI(KAI),這是一系列端到端的解決方案,旨在幫助客戶通過(guò)使用真實(shí)世界的AI工作負(fù)載仿真從而驗(yàn)證AI集群組件來(lái)擴(kuò)展數(shù)據(jù)中心的AI處理能力。KAI提供系統(tǒng)級(jí)互操作性、性能和效率洞察,幫助運(yùn)營(yíng)商
    的頭像 發(fā)表于 04-07 16:23 ?984次閱讀

    為UART、MCXA142實(shí)現(xiàn)ISP通信的主機(jī)端,發(fā)送Ping數(shù)據(jù)包并收到預(yù)期的響應(yīng),發(fā)送和接收數(shù)據(jù)包的典型順序是什么?

    我想為 UART、MCXA142 實(shí)現(xiàn) ISP 通信的主機(jī)端。我發(fā)送 Ping 數(shù)據(jù)包并收到預(yù)期的響應(yīng)。發(fā)送和接收數(shù)據(jù)包的典型順序是什么? 此刻,我的照片是這樣的: 1.
    發(fā)表于 04-03 08:05

    深度解析如何利用時(shí)延解決方案最大化相控陣性能

    本文將探討TDU在相控陣系統(tǒng)中的角色、它們與天線性能的關(guān)系,以及不同的設(shè)計(jì)考量如何影響系統(tǒng)效率。討論還將深入到TDU與移相器的集成、真時(shí)延技術(shù),以及波束寬度、掃描角和陣列尺寸之間的關(guān)系。
    的頭像 發(fā)表于 03-25 11:36 ?2041次閱讀
    深度解析如何利用時(shí)延解決<b class='flag-5'>方案</b><b class='flag-5'>最大化</b>相控陣<b class='flag-5'>性能</b>

    使用STM32的SPI主機(jī)通訊需要喚醒嗎?

    在使用STM32生成的工程里面,使用SPI作為主機(jī)模式,在與從機(jī)通訊的時(shí)候,第一次發(fā)送字節(jié)之前,需要發(fā)送一個(gè)空字節(jié),SPI通訊才正常,要不
    發(fā)表于 03-10 08:22