UARTのCTS・RTSについて

RX231を使用しています。

UARTを使うにあたり、CTS/RTS機能を使いたく調べたところ、どちらか一方しか選択できないとわかりました。

単純な疑問なのですが、どうして一方しか使えないような仕様になっているのか、理由が知りたいのです。

ハードフロー制御をあまり使ったことがないのですが、どちらか一方で足りるものなのでしょうか。

どうして。。。

Parents
  • almondさん、こんにちは。NoMaYです。

    調べてみました。CTS・RTS機能は、RX62N,621のSCIaには無く、RX63N,631のSCIc,SCIdには有りました。そして、クロック同期式シリアルの説明箇所に以下の説明がありました。

    ・ CTS機能は、内部クロック時にCTSn#端子入力を使用して送受信開始制御を行う機能
    ・ RTS機能は、外部同期クロック時にRTSn#端子出力を使用して送受信開始要求を行う機能

    クロック同期式シリアルの場合、片方しか使えないのは自然なことのように思えます。そして、これを調歩同期式シリアルで使える様にアレンジしただけ、という可能性もありそうな気がして来ました、、、

    RX63N,631のハードウェアマニュアルの画面コピー


    [追記] 03/28 07:09

    私の前の投稿に追記しました。

  • チョコです。
    >そして、これを調歩同期式シリアルで使える様にアレンジしただけ、という可能性もありそうな気がして来ました
    そもそも,RTSやCTSはMODEMの信号として使われていました。それをマイコンの初期に調歩同期通信で,今のような使い方にしたのが,現在まで続いています。
    40年ほど前に,伝送関係の人と話をしたときに,マイコン関係での使い方(キャラクタ単位程度で制御)はおかしいといわれた記憶があります。
    その後も,(伝送関係者いわく)本来の使い方と異なる使い方が定着してしまっています。

    3線式クロック同期通信では,RL78/G10の「RL78/G10 シリアル・アレイ・ユニット(CSI スレーブ通信) 」のサンプルコードでSPIのSSとBUSY信号を使ったハンドシェイクをおこなっています。この考え方の方がSPIには合っているいるように思われます。
Reply
  • チョコです。
    >そして、これを調歩同期式シリアルで使える様にアレンジしただけ、という可能性もありそうな気がして来ました
    そもそも,RTSやCTSはMODEMの信号として使われていました。それをマイコンの初期に調歩同期通信で,今のような使い方にしたのが,現在まで続いています。
    40年ほど前に,伝送関係の人と話をしたときに,マイコン関係での使い方(キャラクタ単位程度で制御)はおかしいといわれた記憶があります。
    その後も,(伝送関係者いわく)本来の使い方と異なる使い方が定着してしまっています。

    3線式クロック同期通信では,RL78/G10の「RL78/G10 シリアル・アレイ・ユニット(CSI スレーブ通信) 」のサンプルコードでSPIのSSとBUSY信号を使ったハンドシェイクをおこなっています。この考え方の方がSPIには合っているいるように思われます。
Children
No Data