Previous: 3.1.4.1. RDCM-802 |
Up: 3.1.4. 方位センサ |
Next: 3.1.4.3. サンプルプログラム(マトリックスLEDへの表示) |
サンプルプログラム |
tim4_scan_rdcm802 |
図 8?57 回路図
RDCM-802の検出結果をシリアル経由で出力するサンプルプログラムです。回路図は図 8?57です。
RDCM-802は出力の電圧が5Vです。そのためSTM32に接続する場合には5V耐圧のピンを使用しないといけないので注意してください。出力が3ビット分ありますのでパラレル入力を使用して一気に読み取った方が効率的なのですが、本書のピン配置では対応できないマイコンボードがあるため1ビットずつ読み取っています。
コラム8?10 5Vや高電圧から3.3Vへの変換
RDCM-802のように出力電圧が5VのICやモジュールをSTM32に接続する場合には、5V耐圧の入力ポートを利用する必要があります。ただピンの割当の関係でどうしても5V耐圧ではないピンに5Vを入力したい場合(STM32-H103のパラレル用ピンに5V出力のICを接続したい場合等)には、5Vのロジックを3.3Vに変換する必要があります。 手軽な方法としては抵抗で分圧するという手段があります。2.2kΩと3.3kΩで分圧すれば、5Vは3V程度になりますから、入力電圧の範囲内に収まります。ただこの方法だと、出力のインピーダンスが大きくなり、出力が遅延してしまう可能性があります。 もう一つの方法としては、入力の耐圧範囲が大きいバッファICを3.3Vで使用するという手段があります。「74VHC」「74LCX」「74LVX」「74LV」「74LVC」といった品番のICは入力の耐圧範囲が電源電圧の範囲とほぼ同等です。電源電圧を3.3Vで動作させたときに5Vを入力すると、出力からは3.3Vが出力されます。ICを破壊したり誤動作したりすることはありません。単純に変換したいのであれば74VHC244や74LCX245(写真 8?22)あたりが適当でしょう。ただこれらのICは表面実装用のパッケージのものばかりですので、ブレッドボードで使用する際には、変換基板を介するなどの工夫が必要になります。 写真 8?22 74LCX245 ***P3041038***
また5Vより大きな電圧から3.3Vに変換するためには、「40xx」といった品番のロジックICを使用してもよいでしょう。動作電源電圧範囲が3?16Vと広いのですが、入力する電圧は、電源電圧の範囲に依存しません。そのため3.3vで動作させているときでも、5Vはもちろん、7.2Vや14.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で出力したりできます。ただし電源を内蔵していないので5Vと3.3V両方の電源を供給しないといけません。74LVX3245も同様の働きをします。 図 8?58 74LVC4245のピン配列 ***再トレース 74LVC4245データシート(東芝)より***
|
Previous: 3.1.4.1. RDCM-802 |
Up: 3.1.4. 方位センサ |
Next: 3.1.4.3. サンプルプログラム(マトリックスLEDへの表示) |