Armadilloフォーラム

armadillo-420 SPIについて

miya_okazumi

2023年5月17日 12時03分

お世話になります。

SPIについてご教示頂けないでしょうか。

armadillo-420
Linux 3.14.36-at13

SPI通信の機能を、マスター・スレーブの関係ではなく、
MOSIをデータ信号、SSをHi/Lo信号として利用する事を考えています。

データ信号の送信のみで受信は無く、
SS0とSS1を同時にHiにしてMOSIから送信する という使い方です。

この様な事は可能でしょうか?
可能で有れば、どの様にすれば良いでしょうか?

下記の様に接続予定です。
Armadillo  → SN74LV244APWR
CON9_2:MOSI → PinNo.13
CON9_15:SS2 → PinNo.2
CON9_16:SS0 → PinNo.4
CON9_17:SS3 → PinNo.6
CON9_18:SS1 → PinNo.8

よろしくお願い致します。

ファイル ファイルの説明
sn74lv244a.pdf SN74LV244A のデータシート
コメント

at_mizo

2023年5月17日 12時58分

溝渕です。

すみませんが、やりたい事がイメージできないので質問させてください。

> Armadillo  → SN74LV244APWR
> CON9_2:MOSI → PinNo.13
> CON9_15:SS2 → PinNo.2
> CON9_16:SS0 → PinNo.4
> CON9_17:SS3 → PinNo.6
> CON9_18:SS1 → PinNo.8

SN74LV244APWRの先にArmadilloからの入力のみを受け付けるSPI deviceがあるイメージでしょうか? ある場合、SCLK (Serial CLocK)は不要ですか?

また、SN74LV244APWRのOE(Output enable)信号はハードウェア的に制御されていますか?

解答になっておらずすみません。

miya_okazumi

2023年5月17日 13時23分

溝渕様

説明が中途半端で申し訳ありません。
下記4ピンは以下の様に接続する予定です。

Armadillo → SN74LV244APWR → TC62D748CFG

MOSI → PinNo.13 → PinNo.2(SIN)
SCLK → PinNo.11 → PinNo.3(SCK)
SLAT → PinNo.15 → PinNo.4(SLAT)
OE  → PinNo.17 → PinNo.21(OE)

> 溝渕です。
>
> すみませんが、やりたい事がイメージできないので質問させてください。
>
> > Armadillo  → SN74LV244APWR
> > CON9_2:MOSI → PinNo.13
> > CON9_15:SS2 → PinNo.2
> > CON9_16:SS0 → PinNo.4
> > CON9_17:SS3 → PinNo.6
> > CON9_18:SS1 → PinNo.8
>
> SN74LV244APWRの先にArmadilloからの入力のみを受け付けるSPI deviceがあるイメージでしょうか? ある場合、SCLK (Serial CLocK)は不要ですか?
>
> また、SN74LV244APWRのOE(Output enable)信号はハードウェア的に制御されていますか?
>
> 解答になっておらずすみません。
>

ファイル ファイルの説明
TC62D748CFG.pdf TC62D748CFGのデータシート

miya_okazumi

2023年5月17日 13時33分

追加です。

下記4ピンは以下の様に接続する予定です。
Armadillo → SN74LV244APWR → SN74LV138APWR

CON9_15:SS2 → PinNo.2 → PinNo.3(A2)
CON9_16:SS0 → PinNo.4 → PinNo.1(A0)
CON9_17:SS3 → PinNo.6 → PinNo.4(G0)
CON9_18:SS1 → PinNo.8 → PinNo.2(A1)

ファイル ファイルの説明
sn74lv138a.pdf SN74LV138APWRのデータシート

at_mizo

2023年5月17日 13時57分

溝渕です。

ご解答ありがとうございます。

> Armadillo → SN74LV244APWR → TC62D748CFG
> MOSI → PinNo.13 → PinNo.2(SIN)
> SCLK → PinNo.11 → PinNo.3(SCK)、
> SLAT → PinNo.15 → PinNo.4(SLAT)
> OE  → PinNo.17 → PinNo.21(OE)

> Armadillo → SN74LV244APWR → SN74LV138APWR
> CON9_15:SS2 → PinNo.2 → PinNo.3(A2)
> CON9_16:SS0 → PinNo.4 → PinNo.1(A0)
> CON9_17:SS3 → PinNo.6 → PinNo.4(G0)
> CON9_18:SS1 → PinNo.8 → PinNo.2(A1)

TC62D748CFG と SN74LV138APWR は分けて考える事ができますか? 質問の意図は、TC62D748CFG と SN74LV138APWRを協調動作させる場合は、単一ドライバでなければ制御が困難である為です。 もし協調動作が必要であれば、ドライバを作成する必要があるかと思います。

TC62D748CFG のSLATおよびOEの制御は、SPIのシーケンスと異なるものなので、SPIドライバには手を加える必要があるかと思います。

SN74LV138APWRを、SPIのSSとして制御する必要はありますか? TC62D748CFGとの協調動作が不要であれば、GPIO等を利用した方がシンプルな設計かと思いました。

miya_okazumi

2023年5月17日 14時12分

溝渕様

TC62D748CFGとSN74LV138APWRは分けて問題有りません。
また、SN74LV138APWRをSPIのSSとして制御する必要もありません。

実現可能でしょうか?

よろしくお願い致します。

> TC62D748CFG と SN74LV138APWR は分けて考える事ができますか? 質問の意図は、TC62D748CFG と SN74LV138APWRを協調動作させる場合は、単一ドライバでなければ制御が困難である為です。 もし協調動作が必要であれば、ドライバを作成する必要があるかと思います。
>
> TC62D748CFG のSLATおよびOEの制御は、SPIのシーケンスと異なるものなので、SPIドライバには手を加える必要があるかと思います。
>
> SN74LV138APWRを、SPIのSSとして制御する必要はありますか? TC62D748CFGとの協調動作が不要であれば、GPIO等を利用した方がシンプルな設計かと思いました。
>

at_mizo

2023年5月17日 14時43分

溝渕です。

ご解答ありがとうございます。

> TC62D748CFGとSN74LV138APWRは分けて問題有りません。

TC62D748CFGのSCK,SINの制御自体はSPI通信と類似しており、i.MXはbpw(bits per word)も16bitに対応しているようですので、可能かと思います。

ユーザーランドアプリケーションについては、spidev経由でTC62D748CFGを制御する場合は、SLAT/OEについてはGPIOで制御すると実装が簡単かなと思います。もちろんTC62D748CFGを制御するドライバを追加しても問題無いです。

> また、SN74LV138APWRをSPIのSSとして制御する必要もありません。

こちらも、GPIOで制御するのがシンプルかと思います。

miya_okazumi

2023年5月17日 14時52分

溝渕様

ご教示頂き、有難う御座います。

頂いた情報を基に、開発を進めていきます。

> 溝渕です。
>
> ご解答ありがとうございます。
>
> > TC62D748CFGとSN74LV138APWRは分けて問題有りません。
>
> TC62D748CFGのSCK,SINの制御自体はSPI通信と類似しており、i.MXはbpw(bits per word)も16bitに対応しているようですので、可能かと思います。
>
> ユーザーランドアプリケーションについては、spidev経由でTC62D748CFGを制御する場合は、SLAT/OEについてはGPIOで制御すると実装が簡単かなと思います。もちろんTC62D748CFGを制御するドライバを追加しても問題無いです。
>
>
> > また、SN74LV138APWRをSPIのSSとして制御する必要もありません。
>
> こちらも、GPIOで制御するのがシンプルかと思います。
>