RS485トランシーバのDEピン操作について

他メーカのマイコンではRS485トランシーバDEピン制御用のピンがあったりします(具体的には旧AtemelのATSAMシリーズのSERCOM)。実は以前SCIを使ってRS485接続のアブソエンコーダを使った時にDEピンを操作するための時間が最後の送信データから0.5usecと短いものでした。その時は送信データをそのまま受信するように回路を構成していたのでDTCを使って受信割り込み回数が送信データ数と同じになるのでそれを使って送信データ(送信したものを受信したデータ数)をDTCでカウントして完了でGPIOレジスタをDTCで書き換えることで難を逃れることができました。ただ、これ以外に正しい対処法があるのか?というのが質問の趣旨です。

0.5usecくらいの短い時間ですと割り込みハンドラでは追い付きません。割り込みハンドラで処理できるのは一桁遅い場合かと。かといって最後の送信データのTXE状態をポールするようなCPU時間を消費する方法ではモータ制御なので向いていません。こんな方法があるよと言うのがあれば教えてください。おそらくSCIの仕様はRXに限らずRAも同じだと思いますのでRAマイコンユーザの方もぜひお知恵をお貸しください。

Parents
  • RA6T2マイコンも仕事で使うのでFSPのピン設定をしていたところDE出力ピンと言うのものがあり調べたところSCIに機能拡張したRSCIというペリフェラルが一部のRXやRAで使えるようになっているようです。このドキュメントの日付だと最近リリースのものから利用できるようになりそうですね。

    https://www.renesas.com/jp/ja/document/apn/comparison-differences-between-rsci-module-and-sci-module-rev100

    RA6T2のマニュアルにも説明がありました。ただし、RXではRSCIと呼んでいますがRAはSCI_Bと呼ぶようです。もうちょっと統一してほしい。

    RSCIやSCI_Bが出てきたことから何かしら工夫するのが必須なのかなと思いました。

  • 最近のRAでは、DE端子のネゲート時間をレジスタで設定できる様な事が書いてあります。

    (基本クロック時間掛けるレジスタ値なので、遅いビットレートの場合は0.5usには設定出来ないと思いますが。)

    SCI_Bは、モジュール初期化後の実際に送信可能になるまでの待ち時間が短い(従来のSCIはTEビットを1にしてからデータが送信開始まで1フレーム分の内部待機期間がある…H8時代からそんな感じだった様な。それに対して、SCI_Bは直ぐにデータが送出される)という記憶があります。

  • RS485についてはRSPIやSCI_Bが使えないマイコンの場合でのDEピンの操作方法のアプリケーションノートを出してくれると良いのですが。モータ制御向けでRS485通信タイプのエンコーダは結構あるし、PLCとの通信にもよく採用されるので。個人的にはBiSS-CやSSIあたりも簡単に繋げられるようにアプケーションノートを出して欲しい。

Reply
  • RS485についてはRSPIやSCI_Bが使えないマイコンの場合でのDEピンの操作方法のアプリケーションノートを出してくれると良いのですが。モータ制御向けでRS485通信タイプのエンコーダは結構あるし、PLCとの通信にもよく採用されるので。個人的にはBiSS-CやSSIあたりも簡単に繋げられるようにアプケーションノートを出して欲しい。

Children
No Data