k.sato
2021年4月9日 12時01分
お世話になります。
佐藤と申します。
Linuxカーネル: linux-2.6.26-at30
https://manual.atmark-techno.com/armadillo-guide/armadillo-guide-3_ja-2…
2.3. SPI接続A/Dコンバーターを参考にspidev3.0からデータを取得することは出来ました。
そこでCON9_14のRDYにADCのIRQを接続しH->Lをトリガに
データ取得をすることは可能でしょうか?
以上、よろしくお願い致します。
コメント
k.sato
佐藤です。
返信ありがとうございます。
> https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…
上記はGPIOの割り込みを使用してということでしょうか?
9.15. SPIのCON9のSPI3を有効にし
CON9_14をCSPI3_RDYが割り当てられていても使用できるのでしょうか?
ls /sys/class/gpio/
で確認してみたのですがCON9_14は存在しません。
何か間違っているのでしょうか?
at_akihito.irie
入江です。
CSPI3を有効にした段階でCON9_14はドライバに渡ってしまうためsysfsにGPIO
ノードが出ないことを失念してしまい、説明不足でした。
簡単な対応方法としましては2通りあります。
ひとつは、可能であればRDYをCON9のGPIOになれる別なピンに配線してしまう
ことです。
これによって、先に紹介した情報を参考にすることでGPIO割り込みが入ると
SPIでデータを読み出す処理を実行するようにできます。
もうひとつは、配線を変更できない(したくない)場合に、RDYピンがドライバ
に渡らないようソースコードを修正する方法です。
ドライバに渡らないようにすることで、前述のGPIO割り込みが設定可能になり
ます。
1つ目の方法が取れるならばそちらの方が簡単ですが、いかがでしょうか。
k.sato
at_akihito.irie
入江です。
linux-2.6.26-at30に添付のspi3_rdy_gpio.patchを適用してください。
[ATDE ~/linux-2.6.26-at30]$ patch -p1 < spi3_rdy_gpio.patch
その後、(既にされているとは思いますが)カーネルコンフィギュレーションで
SPI3を有効にしてビルドし、Armadilloに書き込んでください。
/sys/class/gpio/CON9_14があるはずです。
[armadillo]# ls /sys/class/gpio/CON9_14/ direction edge power/ subsystem@ uevent value
あとは前述のGPIO割り込みで立ち下がりで割り込みが入るように設定し、割り
込みが入ったらSPIでデータを取得する処理を実行するようにすると良いと思
います。
ファイル | ファイルの説明 |
---|---|
spi3_rdy_gpio.patch |
k.sato
at_akihito.irie
2021年4月12日 9時24分
入江です。
> そこでCON9_14のRDYにADCのIRQを接続しH->Lをトリガに
> データ取得をすることは可能でしょうか?
可能です。
以下のマニュアルが参考になると思います。
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…