• 締切済み

SH7144マイコン→10BitDACへの転送

趣味の電子工作で、行き詰まってしまいました。 SH7144マイコンを使用しており、そこから外部D/Aコンバータにデジタル信号を送り アナログ電圧の任意波形を生成することを考えています。 D/Aコンバータの扱えるデータ長は10Bit、一度に読み込むデータ長は16Bitです。 入力ピンはシリアル通信用の1ピンです。 ここで、SH7144から16Bitデータをシリアルで送りたいのですが、内臓のSCIでは8Bit長のデータしか扱えないようです。 外部デバイスを使用して8bit+8bit→16bitにして送信する必要があるのか、 マイコン内の機能で実行可能なのか、見当がつかなくなりました。 マイコンに詳しい方、お助けいただけると大変ありがたいです。 パーツは、 DAコンバータ:http://akizukidenshi.com/catalog/g/gI-02794/ マイコン:http://akizukidenshi.com/catalog/g/gK-02507/ です。

みんなの回答

  • tadys
  • ベストアンサー率40% (856/2135)
回答No.2

SH7144は使用した事が無いので、間違っている可能性が有りますが。 SCIをクロック同期式モードで8ビットを2回送れば大丈夫でしょう。 コンバータとマイコンの接続は3本の線が必要です。 コンバータとマイコンのSCKを接続する。 コンバータのDinとマイコンのTxdを接続する。 コンバータのxCS/LDとマイコンのI/Oポートを接続、I/Oポートを出力にする。 (コンバータのDoutは使用しない) xCSをH→Lにしてから8ビットを2回送信しxCSをL→Hにします。 16ビットデータ中最初の4ビットは出力チャンネルの指定、続く10ビットはデータの指定、最後の2ビットはダミーなので0でよい。 SCIの設定方法は下記マニュアルの13.6章を読んでください。 http://documentation.renesas.com/doc/products/mpumcu/rjj09b0026_sh7144.pdf

すると、全ての回答が全文表示されます。
回答No.1

この種のA/DとのインターフェースにSCIは通常使用しません。 A/DのSCK,Din,Dout,CSをマイコンのI/Oポートに繋いで自分で制御します。 SCIを使用するとストップビットが付加されるので一般には任意のデータを送れなくなります。

elekappa
質問者

お礼

ありがとうございます。やはりSCIでなく汎用I/Oですか… ソフトの方で上手く工夫してみます。

すると、全ての回答が全文表示されます。

関連するQ&A