日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

S32K-LPSPI中文手册

發(fā)布時(shí)間:2023/12/8 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 S32K-LPSPI中文手册 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

低功耗串行外設(shè)接口(LPSPI)

46.1 芯片專用LPSPI信息

46.1.1 實(shí)例化信息

下表總結(jié)了該模塊在產(chǎn)品系列中每個(gè)芯片的實(shí)現(xiàn)。

每個(gè)模塊的芯片選擇的確切數(shù)量取決于封裝。 并非所有芯片選擇都可用于不同的封裝。 LPSPI2不支持任何TRGMUX相關(guān)功能,例如TRGMUX的HREQ源或TRGMUX的任何觸發(fā)器。
器件上的所有LPSPI實(shí)例都有所有記錄的LPSPI寄存器。
該設(shè)備不支持低泄漏和等待模式。 有關(guān)可用功率模式的詳細(xì)信息,請參見在可用低功率模式下的模塊操作。

46.2 介紹

46.2.1 總覽

LPSPI是一種低功耗串行外圍設(shè)備接口(SPI)模塊,它支持作為主設(shè)備和/或從設(shè)備的SPI總線的有效接口。 LPSPI可以在停止模式下繼續(xù)運(yùn)行,只要有適當(dāng)?shù)臅r(shí)鐘可用,并且可以通過FIFO寄存器訪問的DMA卸載來降低CPU開銷。

46.2.2 特征

LPSPI支持以下功能:

  • 字大小= 32位
  • 命令/發(fā)送4個(gè)字的FIFO
  • 接收4個(gè)字的FIFO
  • 主機(jī)請求輸入可用于控制SPI總線傳輸?shù)拈_始時(shí)間

46.2.3 框圖

46.2.4 運(yùn)行模式

LPSPI模塊支持下表中描述的芯片模式。
表46-2. LPSPI模塊支持的芯片模式

芯片模式LPSPI操作
Run正常操作
Stop如果Doze使能位(CR [DOZEN])清零并且LPSPI使用的外部或內(nèi)部時(shí)鐘源在停止模式下仍可工作,則可以繼續(xù)工作。
Debug (the core is in Debug/Haltedmode)如果設(shè)置了調(diào)試使能位(CR [DBGEN]),則可以繼續(xù)操作。

46.2.5 信號說明

SignalDescriptionI/O
SCK串行時(shí)鐘。 在從模式下輸入,在主模式下輸出。I/O
PCS[0]外圍芯片選擇。 在從模式下輸入,在主模式下輸出。I/O
PCS[1] / HREQ外圍芯片選擇或主機(jī)請求。 當(dāng)HREN = 1和HRSEL = 0時(shí),選擇主機(jī)請求引腳。 在從機(jī)模式下輸入或用作主機(jī)請求時(shí),在主機(jī)模式下輸出。I/O
PCS[2] / DATA[2]四數(shù)據(jù)傳輸期間,外圍芯片選擇或數(shù)據(jù)引腳2。 在從模式下輸入,在主模式下輸出,在四數(shù)據(jù)接收傳輸中輸入,在四數(shù)據(jù)傳輸傳輸中輸出。I/O
PCS[3] / DATA[3]四數(shù)據(jù)傳輸期間,外圍芯片選擇或數(shù)據(jù)引腳3。 在從模式下輸入,在主模式下輸出,在四數(shù)據(jù)接收傳輸中輸入,在四數(shù)據(jù)傳輸傳輸中輸出。I/O
SOUT / DATA[0]串行數(shù)據(jù)輸出。 可以配置為串行數(shù)據(jù)輸入信號。 在四數(shù)據(jù)和雙數(shù)據(jù)傳輸中用作數(shù)據(jù)引腳0。I/O
SIN / DATA[1]串行數(shù)據(jù)輸入。 可以配置為串行數(shù)據(jù)輸出信號。 在四數(shù)據(jù)和雙數(shù)據(jù)傳輸中用作數(shù)據(jù)引腳1。I/O

46.3 內(nèi)存映射和寄存器

46.3.1 LPSPI寄存器說明

46.3.1.1 LPSPI內(nèi)存映射

LPSPI0 base address: 4002_C000h
LPSPI1 base address: 4002_D000h
LPSPI2 base address: 4002_E000h

46.3.1.2 版本ID寄存器(VERID)

46.3.1.2.1 偏移

46.3.1.2.2 圖表

46.3.1.2.3 位域

位域功能
31-24 MAJOR主要版本號;該只讀字段返回模塊規(guī)范的主要版本號。
23-16 MINOR次版本號;該只讀字段返回模塊規(guī)范的次要版本號。
15-0 FEATURE模塊識別號;該只讀字段返回功能集編號。 0000000000000100b-支持32位移位寄存器的標(biāo)準(zhǔn)功能集。

46.3.1.3 參數(shù)寄存器(PARAM)

46.3.1.3.1 偏移

46.3.1.3.2 圖表

46.3.1.3.2 位域

位域功能
31 - 16保留
15 - 8 RXFIFO接收FIFO大小;設(shè)置接收FIFO中的最大字?jǐn)?shù),即2^RXFIFO。
7 - 0 TXFIFO發(fā)送FIFO大小;設(shè)置發(fā)送FIFO中的最大字?jǐn)?shù),即2^TXFIFO。

46.3.1.4 控制寄存器(CR)

46.3.1.4.1 偏移

46.3.1.4.2 圖表

46.3.1.4.3 位域

位域功能
31 - 10保留
9 【RRF】復(fù)位接收FIFO
0b-無效果
1b-接收FIFO復(fù)位
8 【RTF】復(fù)位發(fā)送FIFO
0b-無效果
1b-發(fā)送FIFO復(fù)位
7 - 4保留
3【DBGEN】調(diào)試啟用
0b-在調(diào)試模式下模塊被禁用
1b-在調(diào)試模式下啟用了模塊
2【DOZEN】Doze模式啟用 啟用或禁用Doze模式
0b-在Doze模式下啟用了模塊
1b-在Doze模式下模塊被禁用
1 【RST】軟件重置 復(fù)位除控制寄存器外的所有內(nèi)部邏輯和寄存器。 保持設(shè)置直到被軟件清除。
0b-主邏輯未復(fù)位
1b-主邏輯復(fù)位
0 【MEN】模塊啟用
0b-模塊被禁用
1b-啟用模塊

46.3.1.5 狀態(tài)寄存器(SR)

46.3.1.5.1 偏移

46.3.1.5.2 圖表

46.3.1.5.3 位域

位域功能
31 - 25保留
24【MBF】模塊忙標(biāo)志 【0b-LPSPI空閑】【1b-LPSPI忙】
23 -14保留
13【DMF】數(shù)據(jù)匹配標(biāo)志 表示接收到的數(shù)據(jù)已與MATCFG配置的MATCH0和/或MATCH1字段匹配?!?b-尚未收到匹配數(shù)據(jù)】【1b-已收到匹配數(shù)據(jù)】
12【REF】接收錯(cuò)誤標(biāo)志 當(dāng)接收器FIFO溢出時(shí),該標(biāo)志將置位。 設(shè)置此標(biāo)志后,建議首先結(jié)束傳輸,清空接收FIFO,清除此標(biāo)志,然后從頭開始重新傳輸。【0b-接收FIFO沒有溢出】【1b-接收FIFO溢出】
11【TEF】發(fā)送錯(cuò)誤標(biāo)志 當(dāng)發(fā)送FIFO欠載時(shí),該標(biāo)志將置位。 設(shè)置此標(biāo)志后,建議先結(jié)束傳輸,清除此標(biāo)志,然后從頭開始重新傳輸?!?b-尚未發(fā)生發(fā)送FIFO欠載】【1b-發(fā)生發(fā)送FIFO欠載】
10【TCF】傳輸完成標(biāo)志 當(dāng)LPSPI返回空閑狀態(tài)且發(fā)送FIFO為空時(shí),此標(biāo)志將設(shè)置為主模式?!?b-所有傳輸尚未完成】【1b-所有傳輸已完成】
9【FCF】幀完成標(biāo)志 當(dāng)PCS取反時(shí),此標(biāo)志將在每次幀傳輸結(jié)束時(shí)設(shè)置?!?b-幀傳輸尚未完成】【1b-幀傳輸已完成】
8【W(wǎng)CF】字完成標(biāo)志 當(dāng)對接收到的單詞的最后一位進(jìn)行采樣時(shí),該標(biāo)志將置位?!?b-傳輸字未完成】【1b-傳輸字已完成】
7 - 2保留
1【RDF】接收數(shù)據(jù)標(biāo)志 【只要接收FIFO中的字?jǐn)?shù)大于RXWATER,就會設(shè)置接收數(shù)據(jù)標(biāo)志】【0b-接收數(shù)據(jù)未準(zhǔn)備好】【1b-接收數(shù)據(jù)準(zhǔn)備就緒
0【TDF】發(fā)送數(shù)據(jù)標(biāo)志 只要發(fā)送FIFO中的字?jǐn)?shù)等于或小于TXWATER,就會置位發(fā)送數(shù)據(jù)標(biāo)志?!?b-不要求發(fā)送數(shù)據(jù)】【1b-請求發(fā)送數(shù)據(jù)】

46.3.1.6 中斷使能寄存器(IER)

46.3.1.6.1 偏移

46.3.1.6.2 圖表

46.3.1.6.3 位域

位域功能
31 - 14保留
13【DMIE】數(shù)據(jù)匹配中斷使能 【0b-禁止中斷】【1b-允許中斷】
12【REIE】接收錯(cuò)誤中斷使能 【0b-禁止中斷】【1b-允許中斷】
11【TEIE】發(fā)送錯(cuò)誤中斷使能 【0b-禁止中斷】【1b-允許中斷】
10【TCIE】傳輸完成中斷使能 【0b-禁止中斷】【1b-允許中斷】
9【FCIE】幀完成中斷使能 【0b-禁止中斷】【1b-允許中斷】
8【W(wǎng)CIE】字完成中斷使能 【0b-禁止中斷】【1b-允許中斷】
7 - 2保留
1【RDIE】接收數(shù)據(jù)中斷使能 【0b-禁止中斷】【1b-允許中斷】
0【TDIE】發(fā)送數(shù)據(jù)中斷使能 【0b-禁止中斷】【1b-允許中斷】

46.3.1.8 配置寄存器0(CFGR0)

46.3.1.8.1 偏移

46.3.1.8.2 圖表

]

46.3.1.8.3 位域

位域功能
31 - 10保留
9【RDMO】僅接收數(shù)據(jù)匹配 啟用后,將丟棄所有未設(shè)置DMF的接收數(shù)據(jù)。 設(shè)置DMF后,將忽略RDMO配置。 當(dāng)LPSPI空閑且DMF清零時(shí),應(yīng)設(shè)置RDMO。 禁用RDMO時(shí),請先清除RDMO,再清除DMF,以確保不會丟失接收數(shù)據(jù)。【0b-接收到的數(shù)據(jù)照常存儲在接收FIFO中】【1b-除非設(shè)置了DMF,否則丟棄接收到的數(shù)據(jù)】
8【CIRFIFO】循環(huán)FIFO使能 使能后,發(fā)送FIFO讀取指針將保存到臨時(shí)寄存器。 發(fā)送FIFO將照常排空,但是一旦LPSPI空閑且發(fā)送FIFO為空,則將從臨時(shí)寄存器中恢復(fù)讀取的指針值。 這將導(dǎo)致發(fā)送FIFO的內(nèi)容反復(fù)循環(huán)循環(huán)?!?b-循環(huán)FIFO被禁用】【1b-啟用循環(huán)FIFO】
7 - 3保留
2【HRSEL】主機(jī)請求選擇 選擇主機(jī)請求輸入的源。 當(dāng)通過LPSPI_HREQ引腳啟用了主機(jī)請求功能時(shí),將禁用LPSPI_PCS [1]功能。【0b-主機(jī)請求輸入是引腳LPSPI_HREQ】【1b-主機(jī)請求輸入是輸入觸發(fā) 】
1【HRPOL】主機(jī)請求極性 配置主機(jī)請求引腳的極性?!?b-低電平有效】【1b-高電平有效 】
0【HREN】主機(jī)請求啟用 在主機(jī)模式下使能時(shí),僅當(dāng)主機(jī)請求輸入有效時(shí),LPSPI才會啟動(dòng)新的SPI總線傳輸。 LPSPI繁忙時(shí),主機(jī)請求輸入將被忽略?!?b-主機(jī)請求被禁用】【1b-啟用主機(jī)請求】

46.3.1.9配置寄存器1(CFGR1)

46.3.1.9.1 偏移

46.3.1.9.2 功能

僅當(dāng)禁用LPSPI時(shí),才應(yīng)寫入CFGR1。

46.3.1.9.3 圖表

46.3.1.9.4 位域

位域功能
31 - 28保留
27【PCSCFG】外圍芯片選擇配置 如果執(zhí)行4位傳輸,則必須設(shè)置PCSCFG?!?b-PCS [3:2]被啟用】【1b-PCS [3:2]被禁用】
26【OUTCFG】輸出配置 配置輸出數(shù)據(jù)在兩次訪問之間是否處于三態(tài)(LPSPI_PCS被否定 【0b-芯片選擇取反時(shí),輸出數(shù)據(jù)保留最后一個(gè)值】【1b-當(dāng)芯片選擇取反時(shí),輸出數(shù)據(jù)為三態(tài)】
25-24【PINCFG】引腳配置 配置在單個(gè)位傳輸期間哪些引腳用于輸入和輸出數(shù)據(jù) 【00b-SIN用于輸入數(shù)據(jù),SOUT用于輸出數(shù)據(jù)】【01b-SIN用于輸入和輸出數(shù)據(jù)】【10b-SOUT用于輸入和輸出數(shù)據(jù)】【11b-SOUT用于輸入數(shù)據(jù),SIN用于輸出數(shù)據(jù)】
23-29保留
18-16 【MATCFG】匹配配置 配置將導(dǎo)致DMF設(shè)置的條件 注意:語法:* 是布爾AND,+是布爾OR 【000b-比賽被禁用】【001b-保留】【010b-010b-如果第一個(gè)數(shù)據(jù)字等于MATCH0或MATCH1,即(第一個(gè)數(shù)據(jù)字= MATCH0 + MATCH1),則啟用匹配】【011b-011b-如果任何數(shù)據(jù)字等于MATCH0或MATCH1,即(任何數(shù)據(jù)字= MATCH0 + MATCH1),則啟用匹配】【100b-100b-如果第一個(gè)數(shù)據(jù)字等于MATCH0并且第二個(gè)數(shù)據(jù)字等于MATCH1,即[[第一個(gè)數(shù)據(jù)字= MATCH0)* (第二個(gè)數(shù)據(jù)字= MATCH1)],則啟用匹配】【101b-101b-如果任何數(shù)據(jù)字等于MATCH0并且下一個(gè)數(shù)據(jù)字等于MATCH1,即[(任何數(shù)據(jù)字= MATCH0)* (下一個(gè)數(shù)據(jù)字= MATCH1)],則啟用匹配】【110b-110b-如果(第一個(gè)數(shù)據(jù)字和MATCH1)等于(MATCH0和MATCH1),即[[第一個(gè)數(shù)據(jù)字* MATCH1)=(MATCH0 * MATCH1)],則啟用匹配】【111b-111b-如果(任何數(shù)據(jù)字和MATCH1)等于(MATCH0和MATCH1),即[[任何數(shù)據(jù)字* MATCH1)=(MATCH0 * MATCH1)],則啟用匹配】
15-12保留
11-8【PCSPOL】外圍芯片選擇極性 配置每個(gè)外圍芯片選擇引腳的極性【0000b-PCSx低電平有效】【0001b-PCSx高電平有效】
7-4保留
3【NOSTAIL】沒有失速 在主機(jī)模式下,當(dāng)發(fā)送FIFO為空或接收FIFO已滿時(shí),LPSPI將停止傳輸,以確保不會發(fā)生發(fā)送FIFO欠載或接收FIFO超載。 將該位置1將禁用此功能?!?b-當(dāng)發(fā)送FIFO為空或接收FIFO已滿時(shí),傳輸將停止】【1b-傳輸不會停止,從而允許發(fā)生發(fā)送FIFO欠載或接收FIFO超載】
2【AUTOPCS】自動(dòng)PCS LPSPI從器件通常要求PCS在幀之間取反,以便正確操作。 當(dāng)CPHA = 1時(shí),將該位置1將導(dǎo)致LPSPI在每個(gè)傳輸字的末尾生成內(nèi)部PCS信號。 當(dāng)該位置1時(shí),SCK必須在每個(gè)字之間至少保持4個(gè)LPSPI功能時(shí)鐘周期(由PRESCALE配置分頻)空閑,以確保正確操作。 在主模式下,該位被忽略?!?b-自動(dòng)PCS生成已禁用】【1b-啟用自動(dòng)PCS生成】
1【SAMPLE】采樣點(diǎn) 置位時(shí),LPSPI主器件將在延遲的LPSPI_SCK邊沿上對輸入數(shù)據(jù)進(jìn)行采樣。 這樣可以縮短采樣數(shù)據(jù)時(shí)的設(shè)置時(shí)間。 具有延遲LPSPI_SCK沿的主模式下的輸入數(shù)據(jù)建立時(shí)間等于從模式下的輸入數(shù)據(jù)建立時(shí)間。 在從機(jī)模式下,該位被忽略。【0b-在SCK邊緣采樣的輸入數(shù)據(jù)】【1b-在SCK延遲沿上采樣的輸入數(shù)據(jù)】
0【MASTER】主模式 在主模式或從模式下配置LPSPI。 該位直接控制LPSPI_SCK和LPCPI_PCS引腳的方向?!?b-從模式】【1b-主模式】

46.3.1.10數(shù)據(jù)匹配寄存器0(DMR0)

46.3.1.10.1偏移

46.3.1.10.2 圖表

46.3.1.10.3 字段

位域功能
31-0【MATCH0】匹配0值 啟用接收數(shù)據(jù)匹配后,將其與接收到的數(shù)據(jù)進(jìn)行比較。

46.3.1.12時(shí)鐘配置寄存器(CCR)

46.3.1.12.1偏移

46.3.1.12.2 功能

CCR僅在主機(jī)模式下使用,并且在啟用LPSPI時(shí)不能更改。

46.3.1.12.3 圖表

46.3.1.12.4 字段

位域功能
31-24【SCKPCS】SCK到PCS的延遲 配置主模式下從最后一個(gè)SCK邊沿到PCS取反之間的延遲。 延遲等于LPSPI功能時(shí)鐘的(SCKPCS + 1)個(gè)周期除以PRESCALE配置,最小延遲為1個(gè)周期。
23-16【PCSSCK】PCS到SCK的延遲 在主模式下配置從PCS聲明到第一個(gè)SCK沿的延遲。 延遲等于LPSPI功能時(shí)鐘的(PCSSCK + 1)個(gè)周期除以PRESCALE配置,最小延遲為1個(gè)周期。
15-8【DBT】轉(zhuǎn)移之間的延遲 在主模式下配置從PCS否定到下一個(gè)PCS聲明的延遲。 延遲等于LPSPI功能時(shí)鐘的(DBT + 2)個(gè)周期除以PRESCALE配置,最小延遲為2個(gè)周期。 請注意,一半的延遲發(fā)生在PCS聲明之前,另一半發(fā)生在PCS否定之后,完整的命令字只能在中間進(jìn)行更新。 還配置主模式下從連續(xù)字傳輸?shù)淖詈笠粋€(gè)傳輸字的SCK沿到下一個(gè)傳輸字的第一個(gè)SCK沿的延遲。 延遲等于LPSPI功能時(shí)鐘的(DBT + 1)個(gè)周期除以PRESCALE配置,最小延遲為1個(gè)周期。
7-0【SCKDIV】SCK分頻器 在主模式下配置SCK引腳的分頻比。 SCK周期等于LPSPI功能時(shí)鐘的(SCKDIV + 2)個(gè)周期除以PRESCALE配置,最小周期為2個(gè)周期。 如果周期是奇數(shù)個(gè)周期,則周期的前半部分將比后半部分長一個(gè)周期。

46.3.1.13 FIFO控制寄存器(FCR)

46.3.1.13.1 偏移

46.3.1.13.2 圖表

46.3.1.13.3 字段

位域功能
31-24保留
23-18保留
17-16【RXWATER】接收FIFO水印 只要接收FIFO中的字?jǐn)?shù)大于RXWATER,就會設(shè)置接收數(shù)據(jù)標(biāo)志。 寫入等于或大于FIFO大小的值將被截?cái)唷?/td>
15-8保留
7-2保留
1-0【TXWATER】發(fā)送FIFO水印 只要發(fā)送FIFO中的字?jǐn)?shù)等于或小于TXWATER,就會置位發(fā)送數(shù)據(jù)標(biāo)志。 寫入等于或大于FIFO大小的值將被截?cái)唷?/td>

46.3.1.14 FIFO狀態(tài)寄存器(FSR)

46.3.1.14.1偏移

46.3.1.14.2 圖

46.3.1.14.3 字段

位域功能
31-24保留
23-19保留
18-16【RXCOUNT】接收FIFO計(jì)數(shù) 返回當(dāng)前存儲在接收FIFO中的字?jǐn)?shù)。
15-8保留
7-3保留
2-0【TXCOUNT】發(fā)送FIFO計(jì)數(shù) 返回當(dāng)前存儲在發(fā)送FIFO中的字?jǐn)?shù)。

46.3.1.15發(fā)送命令寄存器(TCR)

46.3.1.15.1 偏移

46.3.1.15.2 功能

寫入發(fā)送命令寄存器或發(fā)送數(shù)據(jù)寄存器會將數(shù)據(jù)按寫入順序推入發(fā)送FIFO。 在該條目到達(dá)FIFO的頂部之后,將對命令寄存器的寫操作進(jìn)行標(biāo)記,并使命令寄存器更新。 這允許對命令字和發(fā)送數(shù)據(jù)本身的更改進(jìn)行交織。 更改命令字將導(dǎo)致使用新命令字執(zhí)行所有后續(xù)的SPI總線傳輸。

  • 在主模式下,除非設(shè)置了TXMSK,否則寫新命令字不會啟動(dòng)新傳輸。 傳輸通過發(fā)送FIFO中的發(fā)送數(shù)據(jù)或新的命令字(設(shè)置了TXMSK)啟動(dòng)。 LPSPI_PCS取反時(shí),硬件將清除TXMSK。
  • 在主模式下,如果在現(xiàn)有框架完成之前更改了命令字,則現(xiàn)有框架將終止,然后命令字將更新。 如果設(shè)置了新命令字的CONTC并將命令字寫入幀大小邊界,則可以在連續(xù)傳輸期間更改命令字。
  • 在從機(jī)模式下,僅當(dāng)LPSPI空閑且沒有SPI總線傳輸時(shí),才應(yīng)更改命令字

讀取發(fā)送命令寄存器將返回命令寄存器的當(dāng)前狀態(tài)。 從發(fā)送FIFO加載發(fā)送命令寄存器的同時(shí)讀取發(fā)送命令寄存器可能會返回錯(cuò)誤的寄存器值。 建議在發(fā)送FIFO為空時(shí)讀取發(fā)送命令寄存器,或者多次讀取寄存器并比較返回值。

46.3.1.15.3 圖

46.3.1.15.4字段

位域功能
31【CPOL】時(shí)鐘極性 該字段僅在幀之間更新。0b-SCK的無效狀態(tài)值很低。1b-SCK的無效狀態(tài)值為高。
30【CPHA】時(shí)鐘相位 該字段僅在幀之間更新。0b-在SCK的前沿捕獲數(shù)據(jù),并在其后沿進(jìn)行更改。1b-在SCK的上升沿更改數(shù)據(jù),并在隨后的沿捕獲數(shù)據(jù)。
29-17【PRESCALE預(yù)分頻值 預(yù)分頻器應(yīng)用于所有SPI總線傳輸?shù)臅r(shí)鐘配置寄存器。 該字段僅在幀之間更新。000b-除以1。001b-除以2。010b-除以4。011b-除以8。100b-除以16。101b-除以32。110b-除以64。111b-除以128。
26保留
25-24【PCS】外圍芯片選擇 配置用于傳輸?shù)耐鈬酒x擇。 該字段僅在幀之間更新。00b-使用LPSPI_PCS [0]進(jìn)行傳輸01b-使用LPSPI_PCS傳輸[1]10b-使用LPSPI_PCS [2]進(jìn)行傳輸11b-使用LPSPI_PCS傳輸[3]
23【LSBF】LSB優(yōu)先 0b-數(shù)據(jù)首先傳輸MSB。1b-數(shù)據(jù)首先傳輸LSB。
22【BYSW]字節(jié)交換 對于從FIFO讀取的每個(gè)發(fā)送數(shù)據(jù)字和存儲到FIFO的每個(gè)接收數(shù)據(jù)字,字節(jié)交換將[31:24]的內(nèi)容與[7:0]和[23:16]的內(nèi)容與[15:8]交換 與匹配寄存器比較) 【0b-禁用字節(jié)交換】 【1b-啟用字節(jié)交換】
21【CONT】連續(xù)轉(zhuǎn)移 在主模式下,連續(xù)傳輸將使PCS在幀大小的末尾保持有效,直到接收到開始新幀的命令字為止 在從模式下,當(dāng)連續(xù)傳輸使能時(shí),LPSPI將僅發(fā)送第一個(gè)FRAMESZ位,此后它將假設(shè)32位移位寄存器發(fā)送接收到的數(shù)據(jù)?!?b-禁用連續(xù)傳輸】【1b-啟用連續(xù)傳輸】
20【CONTC】連續(xù)命令 在主機(jī)模式下,該位允許在連續(xù)傳輸中更改命令字。 初始命令字必須啟用連續(xù)傳輸(CONT = 1),連續(xù)命令必須將該位置1(CONTC = 1),并且連續(xù)命令字必須加載在幀大小邊界上。 例如,如果連續(xù)傳輸?shù)膸笮?4位,則必須在64位邊界上加載連續(xù)命令字 【0b-開始新傳輸?shù)拿钭帧俊?b-繼續(xù)傳輸?shù)拿钭帧?/td>
19【RXMSK】接收數(shù)據(jù)掩碼 置位時(shí),接收數(shù)據(jù)被屏蔽(接收數(shù)據(jù)未存儲在接收FIFO中)?!?b-正常傳輸】【1b-接收數(shù)據(jù)被屏蔽】
18【TXMSK】傳輸數(shù)據(jù)掩碼 置位時(shí),發(fā)送數(shù)據(jù)被屏蔽(發(fā)送FIFO不會加載任何數(shù)據(jù),輸出引腳為三態(tài))。 在主機(jī)模式下,該位將啟動(dòng)新的傳輸,該傳輸不能被另一個(gè)命令字中止,并且在傳輸結(jié)束時(shí)該位將被硬件清除 【0b-正常傳輸】【1b-屏蔽傳輸數(shù)據(jù)】
17-16【W(wǎng)IDTH】傳輸寬度 必須為2位或4位傳輸設(shè)置RXMSK或TXMSK 【00b-一位傳輸】【01b-兩位傳輸】【10b-四位傳輸】【11b-保留】
15-12保留。 軟件應(yīng)僅向該位寫入零。
11-0幀尺寸以等于(FRAMESZ +1)的位數(shù)配置幀大小。?最小幀大小為8位。?如果幀大小大于32位,則將幀分為多個(gè)32位字; 每個(gè)字都從發(fā)送FIFO裝入并分別存儲在接收FIFO中。?如果幀的大小不能被32整除,則發(fā)送FIFO的最后一次加載和接收FIFO的存儲將包含其余位。 例如,一個(gè)72位的傳輸將包含3個(gè)字:第一個(gè)和第二個(gè)字是32位,而第三個(gè)字是8位。?最小字長為2位; 不支持33位(或類似)的幀大小。

46.3.1.16發(fā)送數(shù)據(jù)寄存器(TDR)

46.3.1.16.1偏移

46.3.1.16.2功能

寫入發(fā)送命令寄存器或發(fā)送數(shù)據(jù)寄存器會將數(shù)據(jù)按寫入順序推入發(fā)送FIFO。

46.3.1.16.3圖

46.3.1.16.4字段

位域功能
31-0【DATA】傳輸資料 發(fā)送數(shù)據(jù)的8位和16位寫入都將使寫入的數(shù)據(jù)擴(kuò)展為零,并將數(shù)據(jù)壓入發(fā)送FIFO。

46.3.1.17接收狀態(tài)寄存器(RSR)

46.3.1.17.1 偏移

46.3.1.17.2 圖

46.3.1.17.3字段

位域功能
31-2保留
1【RXEMPTY】接收FIFO空 0b-RX FIFO不為空。1b-RX FIFO為空。
0【SOF】幀開始 指示這是在LPSPI_PCS聲明之后接收到的第一個(gè)數(shù)據(jù)字。0b-LPSPI_PCS斷言后接收到后續(xù)數(shù)據(jù)字。1b-在LPSPI_PCS聲明后接收到的第一個(gè)數(shù)據(jù)字

46.3.1.18接收數(shù)據(jù)寄存器(RDR)

46.3.1.18.1偏移

46.3.1.18.2圖

46.3.1.18.3字段

位域功能
31-0【DATA】接收數(shù)據(jù)

46.4功能描述

46.4.1時(shí)鐘和復(fù)位

46.4.1.1功能時(shí)鐘

LPSPI功能時(shí)鐘與總線時(shí)鐘異步,如果在低功耗模式下保持啟用狀態(tài),則LPSPI可以在主模式和從模式下執(zhí)行SPI總線傳輸和低功耗喚醒。 LPSPI用預(yù)分頻器對功能時(shí)鐘進(jìn)行分頻,并且所產(chǎn)生的頻率必須至少比SPI外部時(shí)鐘(LPSPI_SCK)頻率快兩倍。

46.4.1.2外部時(shí)鐘

LPSPI移位寄存器由LPSPI_SCK時(shí)鐘直接提供時(shí)鐘,該時(shí)鐘在主機(jī)模式下內(nèi)部產(chǎn)生或在從機(jī)模式下外部提供

46.4.1.3總線時(shí)鐘

總線時(shí)鐘僅用于總線訪問控制和配置寄存器。 總線時(shí)鐘頻率必須足以滿足LPSPI寄存器(包括FIFO)的數(shù)據(jù)帶寬要求

46.4.1.4芯片復(fù)位

LPSPI的邏輯和寄存器在芯片復(fù)位時(shí)復(fù)位為默認(rèn)狀態(tài)。

46.4.1.5軟件重置

LPSPI在控制寄存器中實(shí)現(xiàn)軟件復(fù)位位。 CR [RST]會將所有邏輯和寄存器重置為默認(rèn)狀態(tài),CR本身除外。

46.4.1.6 FIFO復(fù)位

LPSPI實(shí)現(xiàn)了只寫控制位,該位將復(fù)位發(fā)送/命令FIFO(CR [RTF]和接收FIFO(CR [RRF]),復(fù)位后FIFO為空。

46.4.2主模式

46.4.2.1發(fā)送和命令FIFO

發(fā)送和命令FIFO是組合的FIFO,它既包含發(fā)送數(shù)據(jù)又包含命令字。 通過寫入發(fā)送命令寄存器將命令字存儲到發(fā)送/命令FIFO中。 通過寫入發(fā)送數(shù)據(jù)寄存器將發(fā)送數(shù)據(jù)字存儲到發(fā)送/命令FIFO。

當(dāng)命令字位于發(fā)送/命令FIFO的頂部時(shí),可能發(fā)生以下動(dòng)作:

  • 如果LPSPI在幀之間,則將命令字從FIFO中拉出并控制所有后續(xù)傳輸。
  • 如果LPSPI忙,并且現(xiàn)有的CONT位清零或新的CONTC值清零,則SPI幀將在現(xiàn)有字的末尾完成,而忽略FRAMESZ配置。 然后將命令字從FIFO中拉出并控制所有后續(xù)傳輸(或直到命令字的下一次更新)。
  • 如果LPSPI忙,并且現(xiàn)有的CONT位置1并且新的CONTC值被設(shè)置,則在現(xiàn)有幀的最后一個(gè)LPSPI_SCK脈沖(基于FRAMESZ配置)期間,將命令字從FIFO中拉出,并且?guī)^續(xù)使用 其余幀(或直到下一次更新命令字之前)的新命令值。 設(shè)置CONTC時(shí),僅更新命令字的低24位。

可以通過讀取發(fā)送命令寄存器來讀取現(xiàn)有命令字的當(dāng)前狀態(tài)。 寫入命令后(假設(shè)FIFO為空),至少需要三個(gè)LPSPI功能時(shí)鐘周期才能更新發(fā)送命令寄存器,并且必須使能LPSPI(設(shè)置CR [MEN])。

除非將TXMSK位置1,否則寫入發(fā)送命令寄存器不會啟動(dòng)SPI總線傳輸。 設(shè)置TXMSK時(shí),直到現(xiàn)有幀的末尾(基于FRAMESZ配置)將不加載新的命令字,并且在傳輸結(jié)束時(shí)將TXMSK位清零。

下表描述了由命令字控制的屬性

字段描述傳輸期間修改
CPOL配置LPSPI_SCK引腳的極性。 CPOL值的任何變化都會在LPSPI_SCK引腳上引起轉(zhuǎn)換。N
CPHA配置傳輸?shù)臅r(shí)鐘相位。N
PRESCALE配置用于對LPSPI功能時(shí)鐘進(jìn)行分頻的預(yù)分頻器,以生成SPI總線傳輸?shù)臅r(shí)序參數(shù)。 結(jié)合PCS更改PRESCALE,可使LPSPI以不同的頻率連接到不同的從設(shè)備。N
PCS配置哪個(gè)LPSPI_PCS聲明要進(jìn)行傳輸,LPSPI_PCS的極性是靜態(tài)的,由PCSPOL配置。 如果設(shè)置了PCSCFG,則不應(yīng)選擇PCS [3:2]。N
LSBF配置是否首先發(fā)送/接收LSB(位0)或MSB(32位字的位31)。Y
BYSW在發(fā)送和接收數(shù)據(jù)時(shí),在每個(gè)32位字上啟用字節(jié)交換。 當(dāng)與將數(shù)據(jù)組織為大Endean的設(shè)備連接時(shí)很有用。Y
CONT配置為使PCS在幀之間保持?jǐn)嘌缘倪B續(xù)傳輸(由FRAMESZ配置)。 需要新的命令字來使PCS取反。 還支持在幀大小綁定處更改命令字。Y
CONTC表示這是現(xiàn)有連續(xù)傳輸?shù)男旅钭帧?如果未在幀邊界上將其寫入發(fā)送/命令FIFO,則會忽略CONTC位。Y
RXMSK屏蔽接收數(shù)據(jù),不存儲到接收FIFO或執(zhí)行接收數(shù)據(jù)匹配。 對于半雙工傳輸或配置在接收數(shù)據(jù)匹配期間比較哪些字段很有用。Y
TXMSK屏蔽發(fā)送數(shù)據(jù),以便不從發(fā)送FIFO提取數(shù)據(jù),并且輸出數(shù)據(jù)引腳為三態(tài)(除非由OUTCFG配置)。 對于半雙工傳輸很有用。Y
WIDTH配置每個(gè)LPSPI_SCK脈沖移位的位數(shù)。?1位傳輸支持半雙工或全雙工數(shù)據(jù)格式的傳統(tǒng)SPI總線傳輸。?2位和4位傳輸對于與QuadSPI存儲設(shè)備接口非常有用,并且僅支持半雙工數(shù)據(jù)格式(還必須設(shè)置TXMSK或RXMSK中的至少一種)。Y
FRAMESZ以等于(FRAMESZ +1)的位數(shù)配置幀大小。?最小幀大小為8位。?如果幀大小大于32位,則將幀分為多個(gè)32位字; 每個(gè)字都從發(fā)送FIFO裝入并分別存儲在接收FIFO中。?如果幀的大小不能被32整除,則發(fā)送FIFO的最后一次加載和接收FIFO的存儲將包含其余位。 例如,一個(gè)72位的傳輸將包含3個(gè)字:第一個(gè)和第二個(gè)字是32位,而第三個(gè)字是8位。?最小字長為2位; 不支持33位(或類似)的幀大小。Y

當(dāng)數(shù)據(jù)被寫入發(fā)送FIFO,HREQ引腳被置為有效(或被禁止)并且使能了LPSPI時(shí),LPSPI將啟動(dòng)SPI總線傳輸。 SPI總線傳輸使用傳輸命令寄存器中配置的屬性和時(shí)鐘配置寄存器中的時(shí)序參數(shù)來執(zhí)行傳輸。 一旦達(dá)到FRAMESZ配置,或當(dāng)新的發(fā)送命令字位于發(fā)送/命令FIFO的頂部時(shí),SPI總線傳輸結(jié)束。 僅在下次LPSPI空閑時(shí)檢查HREQ輸入(完成當(dāng)前傳輸并且發(fā)送/命令寄存器為空)。

發(fā)送/命令FIFO還支持循環(huán)FIFO功能。 這使LPSPI主控器可以(周期性地)重復(fù)一段短的數(shù)據(jù)傳輸,該傳輸可以適合發(fā)送/命令FIFO,而無需其他FIFO訪問。 啟用循環(huán)FIFO后,將保存FIFO讀取指針的當(dāng)前狀態(tài),并且狀態(tài)標(biāo)志不會更新。 一旦發(fā)送/命令FIFO被認(rèn)為是空的并且LPSPI處于空閑狀態(tài),則FIFO讀取指針將與保存的版本一起恢復(fù),因此當(dāng)啟用循環(huán)FIFO模式時(shí),發(fā)送/命令FIFO的內(nèi)容不會被永久從FIFO中拉出。

46.4.2.2接收FIFO和數(shù)據(jù)匹配

接收FIFO用于在SPI總線傳輸期間存儲接收數(shù)據(jù)。 設(shè)置RXMSK時(shí),將丟棄接收數(shù)據(jù),而不是將其存儲在接收FIFO中。

接收數(shù)據(jù)在幀的末尾寫入接收FIFO。 在多字或連續(xù)傳輸期間,接收數(shù)據(jù)也會在從發(fā)送FIFO讀取新的發(fā)送數(shù)據(jù)的同時(shí)寫入接收FIFO。 如果在連續(xù)傳輸期間發(fā)送FIFO為空,則僅在寫入發(fā)送FIFO或?qū)懭朊罴拇嫫饕越Y(jié)束幀之后,才將接收數(shù)據(jù)寫入接收FIFO。

接收數(shù)據(jù)支持接收數(shù)據(jù)匹配功能,該功能可以將接收到的數(shù)據(jù)與兩個(gè)字之一或被屏蔽的數(shù)據(jù)字進(jìn)行匹配。 數(shù)據(jù)匹配功能也可以配置為僅比較自幀開始以來的第一個(gè)或兩個(gè)接收到的數(shù)據(jù)字。 由于RXMSK位已被丟棄的接收數(shù)據(jù)不能導(dǎo)致數(shù)據(jù)匹配設(shè)置,并且將延遲第一個(gè)接收到的數(shù)據(jù)字的匹配,直到接收到所有被丟棄的數(shù)據(jù)。 接收器匹配功能也可以配置為使用CFGR0 [RDMO]控制位丟棄所有接收數(shù)據(jù),直到檢測到數(shù)據(jù)匹配為止。 在數(shù)據(jù)匹配后清除CFGR0 [RDMO]控制位時(shí),在清除SR [DMF]之前清除CFGR0 [RDMO]以允許接收所有后續(xù)數(shù)據(jù)。

46.4.2.3時(shí)序參數(shù)

下表列出了用于所有SPI總線傳輸?shù)臅r(shí)序參數(shù),這些時(shí)序參數(shù)相對于LPSPI功能時(shí)鐘除以PRESCALE配置。 盡管在LPSPI繁忙時(shí)無法更改時(shí)鐘配置寄存器,但是可以在兩次傳輸之間使用命令寄存器更改PRESCALE配置,以支持與不同頻率的不同從器件的接口。

字段描述最小最大
SCKDIV將LPSPI_SCK時(shí)鐘周期配置為(SCKDIV + 2)周期。 當(dāng)配置為奇數(shù)個(gè)周期時(shí),LPSPI_SCK周期的前一半比后一半長一個(gè)周期。0(2個(gè)周期)255(257個(gè)周期)
DBT將PCS否定與下一個(gè)PCS聲明之間的最小延遲配置為(DBT + 2)個(gè)周期。 在兩次傳輸之間更新命令字時(shí),命令字更新與LPSPI_PCS引腳上的任何更改之間至少要有(DBT / 2)+1個(gè)周期。0(2個(gè)周期)255(257個(gè)周期)
DBT將幀的最后一個(gè)SCK邊緣與連續(xù)幀的第一個(gè)SCK邊緣之間的連續(xù)傳輸期間的延遲配置為(DBT + 1)周期。 當(dāng)外部從機(jī)要求在SPI總線傳輸?shù)牟煌种g存在較大延遲時(shí),這很有用。0(1個(gè)周期)255(256個(gè)周期)
PCSSCK將PCS聲明與第一個(gè)SCK邊沿之間的最小延遲配置為(PCSSCK + 1)個(gè)周期。0(1個(gè)周期)255(256個(gè)周期)
SCKPCS將最后一個(gè)SCK邊沿和PCS聲明之間的最小延遲配置為(SCKPCS + 1)個(gè)周期。0(1個(gè)周期)255(256個(gè)周期)

46.4.2.4引腳配置

可以通過PINCFG配置將LPSPI_SIN和LPSPI_SOUT引腳配置為交換方向,甚至在同一引腳上支持半雙工傳輸。

OUTCFG配置可用于確定LPSPI_PCS取反時(shí)輸出數(shù)據(jù)引腳(例如:LPSPI_SOUT)是否將處于三態(tài),或者僅保留最后一個(gè)值。 當(dāng)在單個(gè)位傳輸模式下使用相同的數(shù)據(jù)引腳或在2位和4位傳輸模式下使用任何數(shù)據(jù)引腳配置半雙工傳輸時(shí),當(dāng)LPSPI_PCS取反時(shí),必須將輸出數(shù)據(jù)引腳配置為三態(tài)。

PCSCFG配置用于禁用LPSPI_PCS [3:2]功能,并將其用于四數(shù)據(jù)傳輸。 執(zhí)行四數(shù)據(jù)傳輸時(shí)必須啟用此選項(xiàng)。

46.4.2.5時(shí)鐘環(huán)回

可以將LPSPI主設(shè)備配置為使用兩個(gè)時(shí)鐘之一來采樣輸入數(shù)據(jù)(例如LPSPI_SIN),可以直接使用LPSPI_SCK輸出時(shí)鐘,也可以使用該時(shí)鐘的延遲版本。 LPSPI_SCK的延遲版本被LPSPI_SCK引腳輸出延遲加上LPSPI_SCK引腳輸入延遲所延遲,并通過設(shè)置CFGR1 [SAMPLE]進(jìn)行配置。 啟用LPSPI_SCK的環(huán)回版本可以縮短從設(shè)備輸入數(shù)據(jù)的建立時(shí)間

請參考器件數(shù)據(jù)手冊,了解主環(huán)回模式下的特定輸入建立時(shí)間。

總結(jié)

以上是生活随笔為你收集整理的S32K-LPSPI中文手册的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。