私は SPI が初めてです。Linux カーネルは、SPI バスとデバイスを宣言し、標準の Linux ドライバー モデルに従ってそれらを管理するための API を提供します。
struct spi_master の説明は、https ://www.kernel.org/doc/htmldocs/device-drivers/API-struct-spi-master.html にあります。
上記のリンクの説明には、「チップが選択されていない限り、これらの共有信号は無視されるため、各デバイスは異なるクロックレートを使用するように構成されている可能性があります」と書かれています。この文をコンテストに入れるために、「デバイス」とは SPI スレーブ デバイスを意味し、「これらの共有信号」とは MOSI、MISO、および SCK 信号を意味すると言わざるを得ません。
実際、構造体 spi_device ( https://www.kernel.org/doc/htmldocs/device-drivers/API-struct-spi-device.html ) には、構造体 spi_master には存在しない max_speed_hz という名前の属性があります。 . したがって、上記のステートメントの最初の部分で理解できます。「各デバイスは、異なるクロック レートを使用するように構成されている可能性があります」。
しかし、第二部はどういう意味ですか?「チップが選択されていない限り、これらの共有信号は無視されるため」とは、異なるレートでスレーブを有効/無効にすることで、異なるクロックレートを使用できるが、一度に1つしか使用できないことを意味しますか?
ご協力ありがとうございました!よろしく、
-- マッテオ