Re: 請問PIC18F27Q43的SPI Client Mode RX的速度限制與設定
|
||||
---|---|---|---|---|
版主
|
PIC18F27Q43 的 SPI 在 Client Mode (Slave) 時,Data Sheet Page 913 有說明是: 在接收模式下是 20MHz, 在 Full-Duplex Mode下是 10MHz。
檢查一下 SPI 的工作模式是否與 SPI Master 同一個 Mode。SPI 依上下緣依上下緣的不同設定有四種工作模式: Mode00, Mode01 ~ Mode11。 請用示波器檢查一下 SOI & SCK 的波形在高速時是否還是正確的,也檢查一下 Master 的 CS 訊號是否正常。 SPI 的 CLK 是 Master 送的,檢查看看 Master 所送出的頻率是否正常。
發表於: 2021/3/26 13:38
|
|||
|
Re: 請問PIC18F27Q43的SPI Client Mode RX的速度限制與設定
|
||||
---|---|---|---|---|
新會員
|
感謝您的回覆!!
SPI 的工作模式Master 和Slave皆設定為Mode3 SCK Idle high CKE Idle to active SDI is sampled in the middle of data output time Master 送出的訊號如附圖(左上) Slave設定為
SPI1CON1 = 0x34;
Master 的 CS 訊號如附圖(左下) Master 的 CLK如附圖(左上) 皆正確 -- 以下為5MHz和7.5MHz的對照 邏輯分析儀偵測的點為PIC SPI輸入端 對照PIC除錯模式中的暫存器 5MHz時 邏輯分析儀偵測到傳送為3000Byte 5MHz的資料 而PIC接收到3000Byte的正確資料 如附圖(右上) 7.5MHz時 邏輯分析儀偵測到傳送為3000Byte 5MHz的資料 而PIC接收到2793Byte的有遺漏資料 如附圖(右下)
發表於: 2021/3/26 17:25
|
|||
|
Re: 請問PIC18F27Q43的SPI Client Mode RX的速度限制與設定
|
||||
---|---|---|---|---|
版主
|
請問雙方的傳輸線有多遠?
Sck 波形有失真,可以在 Slave 端加個 4.7k okm 的提升電阻降低 RC 時間常數後再試一下。
發表於: 2021/3/28 10:26
|
|||
|
Re: 請問PIC18F27Q43的SPI Client Mode RX的速度限制與設定
|
||||
---|---|---|---|---|
新會員
|
感謝您的回覆!!
- spi在同一塊板子上傳輸 clk的提升電阻原先就有加上了 - 目前看起來是指令花費比較多時間的原因 將中斷裡的接收更改成
if(PIE3bits.SPI1RXIE == 1 && PIR3bits.SPI1RXIF == 1)
7.5 MHz已可接收完整資料 目前速度已勘用 接下來預計這部分改以組合語言寫 另外也會再確認一次clk波型失真的原因 希望速度可以再往上提升 感謝您的回覆!!
發表於: 2021/3/30 10:31
|
|||
|
Re: 請問PIC18F27Q43的SPI Client Mode RX的速度限制與設定
|
||||
---|---|---|---|---|
版主
|
SPI 速度提高時使用中斷接收會受到限制,一般會建議改用 SPI to DMA 的接收方式。
底下是使用 DMA 的方式,可以參考看看。 https://ww1.microchip.com/downloads/en ... it-PIC-MCUs-90003192A.pdf
Example 5-1. ASSIGNING DMA1 HIGHEST PRIORITY USING THE SYSTEM
發表於: 2021/3/31 9:51
|
|||
|