關(guān)鍵字:S2-LP,F(xiàn)IFO,大數(shù)據(jù)透?jìng)?/span>
目錄預(yù)覽
1 引言2 應(yīng)用場(chǎng)景3 實(shí)驗(yàn)結(jié)果4 小結(jié)
1. 引言
眾所周知,S2-LP 擁有兩個(gè)數(shù)據(jù) FIFO,一個(gè)用于數(shù)據(jù)傳送,另外一個(gè)用于數(shù)據(jù)接收,它們各自的長(zhǎng)度均為 128 字節(jié)。針對(duì)普通的小數(shù)據(jù)量而言,128 字節(jié)長(zhǎng)度的 FIFO 基本上可以滿足大部分應(yīng)用。但是,隨著應(yīng)用越來(lái)越復(fù)雜以及對(duì)數(shù)據(jù)量的需求越來(lái)越大,128 字節(jié)就不夠用了,此時(shí)就需要對(duì) FIFO 進(jìn)行管控,才能接收或者發(fā)送更多的數(shù)據(jù)。本文將詳細(xì)介紹 S2-LP 針對(duì)大數(shù)量場(chǎng)景時(shí)的 FIFO 機(jī)制。
2. 應(yīng)用場(chǎng)景
為了更好地闡述 S2-LP 針對(duì)大數(shù)據(jù)量傳輸時(shí)的 FIFO 機(jī)制,這里以發(fā)送/接收 500 字節(jié)的數(shù)據(jù)內(nèi)容為例,講解 S2-LP 如何管控 FIFO 來(lái)達(dá)到這個(gè)目的。對(duì)于 TX/RX FIFO 而言,它們均有兩個(gè)可編程的閥值,S2-LP 就是基于這兩個(gè)閥值來(lái)對(duì) TX/RX 的 FIFO 進(jìn)行管控,具體如下圖 1 所示:
1. FIFO_CONFIG1[6:0]-->TX_AFTHR,用于設(shè)置 FIFO Almost Full 閥值
2. FIFO_CONFIG0[6:0]-->TX_AETHR,用于設(shè)置 FIFO Almost Empty 閥值
由于 S2-LP FIFO 的特性,這兩個(gè)閥值的配置是不一樣的。例如,當(dāng)用戶希望 TX FIFO 達(dá)到 80 Bytes 時(shí),產(chǎn)生 FIFO Almost Full 中斷,那么 TX_AFTHR = 128 - (80-2);而當(dāng)用戶希望 TX FIFO 達(dá)到 20 Bytes 時(shí),產(chǎn)生 FIFO Almost Empty 中斷,那么TX_AETHR = 20。因此,如果 S2-LP 要發(fā)送 500 字節(jié)的數(shù)據(jù),就需要利用這兩個(gè)中斷,即當(dāng) FIFO Almost Full 中斷觸發(fā)時(shí),及時(shí)將數(shù)據(jù)傳送出去,而當(dāng) FIFO Almost Empty 中斷觸發(fā)時(shí),及時(shí)將剩余的數(shù)據(jù)填充至 TX FIFO。 2.2RXFIFO 同理,當(dāng) RX FIFO 中的數(shù)據(jù)達(dá)到對(duì)應(yīng)的閥值時(shí),也會(huì)產(chǎn)生相應(yīng)的中斷 ,從而用戶可以根據(jù)中斷做出下一步的動(dòng)作;S2-LP 有專屬的寄存器 FIFO_CONFIG3、FIFO_CONFIG2 來(lái)配置這兩個(gè)閥值,如下所示:
1. FIFO_CONFIG3[6:0]-->RX_AFTHR,用于設(shè)置 FIFO Almost Full 閥值
2. FIFO_CONFIG2[6:0]-->RX_AETHR,用于設(shè)置 FIFO Almost Empty 閥值
但是,相較于 TX FIFO 的閥值設(shè)置,RX FIFO 有些許不同,即當(dāng)用戶希望 RX FIFO 達(dá)到80 Bytes 時(shí),產(chǎn)生 FIFO Almost Full 中斷,那么 RX_AF_THR = 128 - 80;而當(dāng)用戶希望 RX FIFO 達(dá)到 20 Bytes 時(shí),產(chǎn)生 FIFO Almost Empty 中斷,那么 RX_AE_THR = 20。因此,如果 S2-LP 要接收 500 字節(jié)的數(shù)據(jù),就需要利用 FIFO Almost Full 中斷,當(dāng)其觸發(fā)時(shí),及時(shí)將數(shù)據(jù)從 RX FIFO 取走,從而陸陸續(xù)續(xù)地將這 500 字節(jié)的數(shù)據(jù)獲取到。3. 實(shí)驗(yàn)結(jié)果
基于上述的內(nèi)容,利用 S2-LP FIFO Almost Full 和 FIFO Almost Empty 的機(jī)制就可以實(shí)現(xiàn)大數(shù)據(jù)傳輸?shù)膱?chǎng)景,測(cè)試結(jié)果如下圖 2 所示,其中對(duì)應(yīng)的源碼文件見(jiàn)下述的附件:
其中測(cè)試結(jié)果中的 DATA_CORRECT 意思是說(shuō),發(fā)送的數(shù)據(jù)與接收的數(shù)據(jù)是一致的。
4. 小結(jié)
本篇章重點(diǎn)描述了 FIFO Almost Full 和 Almost Empty 工作原理及特性,并利用該特性實(shí)現(xiàn)了 500 字節(jié)的數(shù)據(jù)透?jìng)?。同時(shí)也給需要使用數(shù)據(jù)量比較大的應(yīng)用場(chǎng)景,提供一個(gè)很好的參考樣例。
完整內(nèi)容請(qǐng)點(diǎn)擊“閱讀原文”下載原文檔。

長(zhǎng)按掃碼關(guān)注公眾號(hào)
更多資訊,盡在STM32
▽點(diǎn)擊“閱讀原文”,可下載原文檔
原文標(biāo)題:應(yīng)用筆記|S2-LP 的 FIFO 機(jī)制
文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44989瀏覽量
650344 -
STM32
+關(guān)注
關(guān)注
2293文章
11032瀏覽量
364777
原文標(biāo)題:應(yīng)用筆記|S2-LP 的 FIFO 機(jī)制
文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
GPDV6624C應(yīng)用筆記1.0版
是否可以通過(guò)SLAVE FIFO模式或GPIF將2個(gè)MPEG-TS解調(diào)器連接到FX2LP?
使用S2-LP芯片的LDC模式,但是芯片一直無(wú)法正常工作,為什么?
了解ISL28022的電流和功率計(jì)算應(yīng)用筆記

ES32VF2264應(yīng)用筆記

AT32F423 PWC應(yīng)用筆記

S32K3系列汽車(chē)級(jí)MCU應(yīng)用筆記
應(yīng)用筆記 | SiC模塊并聯(lián)驅(qū)動(dòng)振蕩的抑制方法
安富利推出S2-LP超低功耗射頻收發(fā)器

TLC3702 TLC3704系列應(yīng)用筆記

LP8864-Q1 LP8864S-Q1 LP8866-Q1和LP8866S-Q1診斷說(shuō)明和故障處理程序

評(píng)論