ブレッドボード配線図
プログラムはNucleoF446REの場合と同じです。
SPIクロックに16MHzを指定した場合
ch1:D2 ch2:SPI_SCK
MCP4922に出力完了するまで、21.04usかかっている。
ch1:SPI_MOSI ch2:SPI_SCK
SPIクロックに16MHz指定した場合、SCKの周波数は表示では15.98MHzとなっているが測定誤差で16MHzだと思う。
SPIクロックの指定を変えて測定
SPIクロック設定値 | SPIクロック実測値 | D2(MCP4922の処理時間) | D3(内蔵DACの処理時間) |
---|---|---|---|
1MHz | 1.0MHz | 34.8us | 2.8us |
2MHz | 2.0MHz | 27.3us | 2.8us |
4MHz | 4.0MHz | 23.5us | 2.8us |
8MHz | 8.0MHz | 21.04us | 2.8us |
16MHz | 16.0MHz | 21.04us | 2.8us |
32MHz | 32.0MHz | 19.8us | 2.8us |
64MHz | 32.0MHz | 19.8us | 2.8us |
32MHzまでは設定値通りのSPIクロックが出力される。やはりNucleo F303は64MHz駆動で、SPIクロックはマスタークロックの1/2まで設定できるんだと思う。
MCP4922の仕様ではSPIクロックは20MHzまでだが、32MHzでも動作した。
NucleoF446REと比べると、SPIクロックを上げてもSPI通信の処理時間はあまり短縮されない。
0 件のコメント:
コメントを投稿