Zephyr > microSD + FatFs > SPI > STM32L476とSTM32F769の違い > SPIの周波数 > STM32F769: 210kHz | STM32L476: 312kHz
2156 ワード
動作環境
Ubuntu 18.04 LTS
ボード: STM32L476 Nucleo_64 (以下、STM32L476)
ボード: STM32F769 Discovery Kit (以下、STM32F769)
Zephyr 2.1.0-rc1
microSDモジュール: CK-40 (サンハヤト)
ロジック確認: Analog Discovery 2 (以下、AD2)
関連
- Zephyr + STM32L476 > microSD(SPIモード接続) + FAT
- Zephyr > microSD(SPIモード接続) + FAT > STM32L476で成功、STM32F769で失敗 > ロジックのモニタ
- Zephyr > microSD (SPIモード接続) + FAT > STM32L476 > CMD0のパラメータが異なる (0x94と0x95)
- Zephyr > west build時 > STM32F769:SPI2で成功, STM32L476:SPI2で失敗 > device treeファイルの定義に違いがある
- Zephyr > microSD + FatFs > SPI > Analog Discovery 2によるSPIロジックのキャプチャ結果
状況
-
samples/subsys/fs/fat_fs
にあるサンプルを試している - A. STM32L476 + SPI1: 成功
- B. STM32L476 + SPI2: 成功
- C. STM32F769 + SPI2: 失敗
SPIのクロック周波数
STM32L476とSTM32F769のSPIロジックをキャプチャして見ているうちに、クロック周波数の違いに気づいた。
STM32L476の方が高い周波数になっている。
クロック周波数の決定
クロック周波数の定義はspi_ll_stm32.cの255行spi_stm32_configure()にて実装されている。
clockという変数とclkを比較して、config->frequency(=400kHz)に合う周波数になる。
- ボードごとのクロック周波数
- STM32L476
- 40MHz始まり
- 312kHzになる
- STM32F769
- 52MHz始まり
- 210kHzになる
- STM32L476
Analog Discovery 2でキャプチャしたロジックに整合する。
Author And Source
この問題について(Zephyr > microSD + FatFs > SPI > STM32L476とSTM32F769の違い > SPIの周波数 > STM32F769: 210kHz | STM32L476: 312kHz), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/8716849a5a5655add9a1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .