TI中文支持网
TI专业的中文技术问题搜集分享网站

SPI頻率

//SpiaRegs.SPICCR.all =0x0000; // Reset on, rising edge, 16-bit char bits

SpiaRegs.SPICTL.all =0x0006; // Enable master mode, normal phase,
// enable talk, and SPI int disabled.
SpiaRegs.SPIBRR =0x007f;
SpiaRegs.SPICCR.all =0x009F; // Relinquish SPI from Reset
SpiaRegs.SPIPRI.bit.FREE = 1;

我假設包特率為9600,SPIBBR為127那麼應該是9600*128=1228800=LSCLK(書本公式)

可是出來示波器頻率為18.31k

再者我並沒有去調整LSCLK照理來說應該是要150M

還有我想看SPICLK我測量GPIO56出來會是雜訊,這又是為什麼?

請各位高手幫忙,謝謝。

Chien Chien Chou:

 卡

//SpiaRegs.SPICCR.all =0x0000; // Reset on, rising edge, 16-bit char bits

SpiaRegs.SPICTL.all =0x0006; // Enable master mode, normal phase,
// enable talk, and SPI int disabled.
SpiaRegs.SPIBRR =0x007f;
SpiaRegs.SPICCR.all =0x009F; // Relinquish SPI from Reset
SpiaRegs.SPIPRI.bit.FREE = 1;

我假設包特率為9600,SPIBBR為127那麼應該是9600*128=1228800=LSCLK(書本公式)

可是出來示波器頻率為18.31k

再者我並沒有去調整LSCLK照理來說應該是要150M

還有我想看SPICLK我測量GPIO56出來會是雜訊,這又是為什麼?

請各位高手幫忙,謝謝。

Eric Ma:

没看明白。

什么芯片,默认LSPCLK = SYSCLKOUT/4, 见芯片用户指南文档。

还有建议你参考例程:

C:\ti\controlSUITE\device_support\f2833x\v141\DSP2833x_examples_ccsv5\spi_loopback

ERIC

//SpiaRegs.SPICCR.all =0x0000; // Reset on, rising edge, 16-bit char bits

SpiaRegs.SPICTL.all =0x0006; // Enable master mode, normal phase,
// enable talk, and SPI int disabled.
SpiaRegs.SPIBRR =0x007f;
SpiaRegs.SPICCR.all =0x009F; // Relinquish SPI from Reset
SpiaRegs.SPIPRI.bit.FREE = 1;

我假設包特率為9600,SPIBBR為127那麼應該是9600*128=1228800=LSCLK(書本公式)

可是出來示波器頻率為18.31k

再者我並沒有去調整LSCLK照理來說應該是要150M

還有我想看SPICLK我測量GPIO56出來會是雜訊,這又是為什麼?

請各位高手幫忙,謝謝。

Chien Chien Chou:

28335

如果150M/4=37.5M=LSPCLK

那麼37.5M/(127+1)=292.968k

也不符合我要的包特率9600

還有就是GPIO56出來怎麼會是雜訊應該是要CLOCK

//SpiaRegs.SPICCR.all =0x0000; // Reset on, rising edge, 16-bit char bits

SpiaRegs.SPICTL.all =0x0006; // Enable master mode, normal phase,
// enable talk, and SPI int disabled.
SpiaRegs.SPIBRR =0x007f;
SpiaRegs.SPICCR.all =0x009F; // Relinquish SPI from Reset
SpiaRegs.SPIPRI.bit.FREE = 1;

我假設包特率為9600,SPIBBR為127那麼應該是9600*128=1228800=LSCLK(書本公式)

可是出來示波器頻率為18.31k

再者我並沒有去調整LSCLK照理來說應該是要150M

還有我想看SPICLK我測量GPIO56出來會是雜訊,這又是為什麼?

請各位高手幫忙,謝謝。

mangui zhang:

那么高的频率根本出不来

18.31k应该是波特率的2倍关系

//SpiaRegs.SPICCR.all =0x0000; // Reset on, rising edge, 16-bit char bits

SpiaRegs.SPICTL.all =0x0006; // Enable master mode, normal phase,
// enable talk, and SPI int disabled.
SpiaRegs.SPIBRR =0x007f;
SpiaRegs.SPICCR.all =0x009F; // Relinquish SPI from Reset
SpiaRegs.SPIPRI.bit.FREE = 1;

我假設包特率為9600,SPIBBR為127那麼應該是9600*128=1228800=LSCLK(書本公式)

可是出來示波器頻率為18.31k

再者我並沒有去調整LSCLK照理來說應該是要150M

還有我想看SPICLK我測量GPIO56出來會是雜訊,這又是為什麼?

請各位高手幫忙,謝謝。

Chien Chien Chou:

回复 mangui zhang:

所以一般而言LSPCLK不會用150MHz

都會調過再除以SPIBBR?

赞(0)
未经允许不得转载:TI中文支持网 » SPI頻率
分享到: 更多 (0)