3.1.4.2. サンプルプログラム(シリアル出力)

マイコン入門spacer ad
トップページに戻る(マイコン徹底入門:STM32で始めるARM/Cortex-M3組み込み開発)
「マイコン徹底入門」とは? |  「マイコン徹底入門」を読む |  ダウンロード |  掲示板 |  筆者の自己紹介


Previous: 3.1.4.1. RDCM-802

Up: 3.1.4. 方位センサ

Next: 3.1.4.3. サンプルプログラム(マトリックスLEDへの表示)


マイコン徹底入門:周辺回路編:STM32のペリフェラルを活用: 3. タイマ: 3.1. 入力スキャニング処理: 3.1.4. 方位センサ:

3.1.4.2. サンプルプログラム(シリアル出力)

サンプルプログラム

tim4_scan_rdcm802

8?57 回路図

 RDCM-802の検出結果をシリアル経由で出力するサンプルプログラムです。回路図は 8?57です。

 RDCM-802は出力の電圧が5Vです。そのためSTM32に接続する場合には5V耐圧のピンを使用しないといけないので注意してください。出力が3ビット分ありますのでパラレル入力を使用して一気に読み取った方が効率的なのですが、本書のピン配置では対応できないマイコンボードがあるため1ビットずつ読み取っています。

コラム8?10 5Vや高電圧から3.3Vへの変換

 RDCM-802のように出力電圧が5VICやモジュールをSTM32に接続する場合には、5V耐圧の入力ポートを利用する必要があります。ただピンの割当の関係でどうしても5V耐圧ではないピンに5Vを入力したい場合(STM32-H103のパラレル用ピンに5V出力のICを接続したい場合等)には、5Vのロジックを3.3Vに変換する必要があります。

 手軽な方法としては抵抗で分圧するという手段があります。2.2kΩ3.3kΩで分圧すれば、5V3V程度になりますから、入力電圧の範囲内に収まります。ただこの方法だと、出力のインピーダンスが大きくなり、出力が遅延してしまう可能性があります。

 もう一つの方法としては、入力の耐圧範囲が大きいバッファIC3.3Vで使用するという手段があります。「74VHC」「74LCX」「74LVX」「74LV」「74LVC」といった品番のICは入力の耐圧範囲が電源電圧の範囲とほぼ同等です。電源電圧を3.3Vで動作させたときに5Vを入力すると、出力からは3.3Vが出力されます。ICを破壊したり誤動作したりすることはありません。単純に変換したいのであれば74VHC24474LCX245(写真 8?22)あたりが適当でしょう。ただこれらのICは表面実装用のパッケージのものばかりですので、ブレッドボードで使用する際には、変換基板を介するなどの工夫が必要になります。

写真 8?22 74LCX245

***P3041038***

 また5Vより大きな電圧から3.3Vに変換するためには、「40xx」といった品番のロジックICを使用してもよいでしょう。動作電源電圧範囲が3?16Vと広いのですが、入力する電圧は、電源電圧の範囲に依存しません。そのため3.3vで動作させているときでも、5Vはもちろん、7.2V14.4Vといった高電圧の入力をすることができます。出力される電圧は電源電圧相当ですので、3.3Vで動作させているなら、出力も3.3Vレベルです。

コラム8?11双方向レベル変換

 RDCM-802のようなセンサーは、センサーから情報が出力されるだけですから、単純に5V耐性のあるICを通すなり、抵抗分圧をするなりで、電圧レベルを変換できます。

 一方、先述のキャラクタ液晶のように、マイコンからも、液晶からもデータを出力するケースではこうはいきません。こういったケースは双方向レベル変換のためのICを使用するとよいでしょう。たとえば74LVC4245( 8?58)は、DIRピンへの入力によって、ポートAに入力された5Vの信号を、ポートBから3.3Vレベルで出力したり、ポートBに入力された3.3Vの信号を、ポートAから5Vで出力したりできます。ただし電源を内蔵していないので5V3.3V両方の電源を供給しないといけません。74LVX3245も同様の働きをします。

8?58 74LVC4245のピン配列

***再トレース 74LVC4245データシート(東芝)より***


Previous: 3.1.4.1. RDCM-802

Up: 3.1.4. 方位センサ

Next: 3.1.4.3. サンプルプログラム(マトリックスLEDへの表示)


このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。
_Toc266801166