SPIのスマートコンフィグの設定

RX71M(144pin)でSPI通信を行いたいと考えています。

スマートコンフィグも初めての使用になります。

95ピンのSSLA3はマイコンの機能名称がSSLA3-Aで、

70ピンの場合はSSLA3-Bになります。

今回角度センサとのSPI通信で使用する他のピンの機能名称が○○-Aのものなので、

実際に使うとなった時に一つだけ○○-Bでも使用できるのか?

データシートのSPI通信の箇所とMPC(ピン機能設定)を確認したところ

ここのABを揃える必要があるといった記載は見つからなかったので動作上問題なさそうと判断しています。

ただしスマートコンフィグレータで警告が出ます。


  • ka.makiharaさん

    こんにちは、シェルティです。ルネサスの中の人です。

    スマートコンフィグレータで生成できるRSPIのソフトの開発者に聞いてきました。

    少し見つけ辛いのですが端子機能のところに-Aと-Bは揃えて使うことを推奨している記述がありますので揃えてください、とのことでした。推奨なのでスマートコンフィグレータ上はワーニング扱いです。設定はできますが推奨できません。

    https://www.renesas.com/jp/ja/document/mah/rx71m-group-users-manual-hardware-rev110?language=ja&r=1054476

    ⇒page96 表1.4 端子機能一覧 (8 / 8)

    以上です

  • ありがとうございます。

    推奨できない理由としては、マニュアルにある電気的特性によるものでしょうか?

    設定して使用すると送受信時にエラーとなる可能性が高い、ということになりますか?

  • RX71M には RSPI は2チャンネルあり、RSPI-Aはチャネル0で、RSPI-Bはチャネル1と思います。

    なので、通信は、チャネル0で行い、SSLA制御はチャネル1で行う動作は、推奨と言うより、出来ないと思います。

    ---

    他の方法として、3線式で通信を行い、選択信号(SSLA)はソフトで行えば良いのでは?

  • ありがとうございます。

    ピン設定というものに慣れていなくて、推奨していない、というくらいなら繋げてみようか?と思った程度です。

    通信できない、という不具合調査に時間を取られなくて済みました。

    ありがとうございます。

    スマートコンフィグレーターでコンポーネントを追加する場合に、SPIにしても、

    RPI Driver, SPIクロックモード(3線式),4線式とあり、どれ使う?

    というようなレベルですので・・・追加して繋げて、だめなら別のというような感じで

    テストに明け暮れています。

  • ka.makiharaさん、hirakuni45さん

    こんにちは、モッチーです。

    RX71Mのユーザーズマニュアルを見るとRSPIのスレーブセレクト端子は以下のような記載ですね。

    SSLA1-A/SSLA1-B/
    SSLB1-A/SSLB1-B~
    SSLA3-A/SSLA3-B/
    SSLB3-A/SSLB3-B

    この内、SSLA1-A/SSLA1-B~SSLA3-A/SSLA3-BがRSPIチャネル0、SSLB1-A/SSLB1-B~SSLB3-A/SSLB3-BがRSPIチャネル1の端子だと思います

    また1.4 端子機能の表の下に「端子名に-A、-Bなどのグループ名を表す記号が付加されている場合、各グループで使用することを推奨します。RSPI、QSPI、SDHI、MMCについては、電気的特性のACタイミングを各グループで測定しています。」と記載されています、つまり

    SSLA1-A~SSLA3-AがRSPIチャネル0のグループA

    SSLA1-B~SSLA3-BがRSPIチャネル0のグループB

    SSLB1-A~SSLB3-AがRSPIチャネル1のグループA

    SSLB1-B~SSLB3-BがRSPIチャネル1のグループB

    なのかなと理解しました。

    異なるグループで使えるかもしれないけど、電気的特性のACタイミングは同じグループでしか計測していないよということでしょうか。

    以上よろしくお願いいたします。

  • おはようございます。

    文面を良く読んでいなかったので、自分は多少勘違いしていたようです。

    SSLAx がチャネル0用で、SSLBx がチャネル1用ですね、それはそうだと思います、自分は、それと「xxx-A」のグループ別けをごっちゃにしていたようです。

    「ピン配置図の機能別端子一覧」には確かに「xxx-A」、「xxx-B」のように書かれていますが、

    MPC の説明には、グループの区分けによる説明は無いようですし、端子の設定は可能なので、グループに関係なく設定して利用は出来ると思います。

    ※スマートコンフィグレーターがそのように自由に設定が可能かは別問題だと思います。

    自分は、MPCの説明「表23.1 マルチプル端子の割り当て端子一覧 (14 / 18)、マルチプル端子の割り当て端子一覧 (15 / 18)」を観ています。

    ---

    > 電気的特性のACタイミングは同じグループでしか計測していない

    これはルネサスさんに聞いてみないと判らないと思いますが、RSPIの信号は、それなりに高い周波数の信号を扱うので、ひとまとめにした方が良さそうなのは理解出来ます。

    ---

    最近の新しいデバイスRX72N、RX72Tなどでは、より柔軟な端子設定が可能なように、なっているようなのですが、RSPIの端子は、選択枠が少なく、アサインするのが難しいですね・・

    SCIをSPIとしても利用できるのですが、速度が出ないので、RSPIが使えるのなら、それを使いたいところです。

  • ありがとうございます。

    結局今はQSPIを使用してのテストを行っているところです。

    でも、新たに問題がありまして、QSPIをFITで使用しているのですが、

    マニュアルには

    「QSPI FIT モジュールでのビットレート分周設定ビット(SPCMD0.BRDV[1:0])の設定値は“0”です」

    とあり、Control を使用しても設定できる範囲が遅い方に設定できない。

    分周設定ビットを1,2,3で使用したいのです。

    とりあえず、QSPI_SPCMD_INIT(r_qspi_smstr_target.h)を修正してBRDV値を2に設定していますが、コード自動生成の時に修正されてしまいそうです。
    設定変更無しで、生成した場合は更新されませんでしたが(ファイル更新の条件がよくわからない)。

    BRDVの設定値をFITで修正する方法は無いのでしょうか?

  • ka.makiharaさん、こんにちは。NoMaYです。

    > 設定変更無しで、生成した場合は更新されませんでしたが(ファイル更新の条件がよくわからない)。
    > BRDVの設定値をFITで修正する方法は無いのでしょうか?

    後半のBRDVの設定値をFIT(のAPI)で修正する方法に関しては私では分かりませんけど、前半の、FITでの、ファイル更新の条件に関しては、以下のようになっていますね。

    ● RXスマートコンフィグレータのGUIから以下を切り替えられるようになっています

    (1) 使おうとしているFITモジュールが既に生成済みなら、もうそれ以上はコード生成時に再生成しない(デフォルトの設定)
    (2) 使おうとしているFITモジュールが既に生成済みでも、コード生成時には毎回再生成する

    注: モジュール単位というよりモジュール内の各ファイル単位で、そのように扱いが切り替わるようです
    注: ただし、上記は各モジュールのことであり、各モジュールの○○○_config.hはコード生成時に毎回再生成する
    注: あと、生成済みのFITモジュールをバージョンアップする時も同じルールが適用されているッポイので注意する必要あり