割り込みなどの外部イベントが発生したことをマイコンに知らせるには、信号に何らかの変化を起こす必要があります。マイコン側は、その変化を検出して割り込みなどのイベントが発生したことを認識します。
デジタル回路では多くの場合、信号の電圧レベルをチェックする方法か、立ち下がり/立ち上がりのような信号の変化点(エッジ)をチェックする方法のどちらかを用います。前者をレベルセンス(レベル検出)と呼び、後者をエッジセンス(エッジ検出)と呼びます。
どちらの方法を採用しているかは、マイコンごとに異なるため、マニュアルを読んで確認する必要があります。
また、電圧レベルや信号の変化点の電気的特性は、データシートなどに記載されているため、そちらも確認する必要があります。
例えば、STマイクロエレクトロニクスの汎用32ビットマイコン「STM32F4シリーズ*1)」のSTM32F405*2では、リファレンスマニュアルに「エッジセンス」を採用していることが明記されています(図2)
*1)https://www.stmcu.jp/stm32/stm32f4/
*2)https://www.stmcu.jp/stm32/stm32f405415/
マイコンの入力信号の電圧レベルには、論理しきい値と呼ばれる論理値の境目の電圧(論理しきい値電圧)があります。マイコンは、この境目の電圧よりも高い電圧をハイレベル、低い電圧をローレベルと判断します。
割り込みイベントが発生した際に、割り込み信号をハイレベルの論理しきい値よりも高くする場合を、ハイアクティブ信号、またはアクティブハイと呼びます。また、割り込み信号をローレベルの論理しきい値よりも低くする場合を、ローアクティブ信号またはアクティブローと呼びます。
論理しきい値は、単に「しきい値」と省略されることが多いです。ただ、「しきい値」にはMOS(MOSFET:金属酸化膜半導体電界効果トランジスタ、 Metal-Oxide-Semiconductor field-effect transistor)単体の特性の意味も含まれるため、本記事では誤解を生じないように、論理的なハイレベルとローレベルの境目の電圧を「論理しきい値」と表します。
論理しきい値電圧の規定は、各マイコンのデータシートなど、電気的特性を規定しているドキュメントに記載されています。割り込み信号の入力バッファーは、ヒステリシス特性を持つシュミットトリガバッファーの場合が多いので、ロー側/ハイ側の論理しきい値電圧は異なります。
STM32F405マイコンは、レベルセンスを採用していませんが、論理しきい値電圧の規定がデータシートに記載されています(図3)
ロー側の論理しきい値電圧は0.3VDDです。VDDは電源電圧なので、例えばVDD = 3.0Vの場合、0.3×3.0V = 0.9Vとなります。従ってマイコンは、0.9V以下の割り込み信号をローレベルの信号と判断します。
一方、ハイ側の論理しきい値電圧は0.7VDDなので、0.7×3.0V = 2.1Vとなります。従ってマイコンは、2.1V以上の割り込み信号をハイレベルの信号と判断します。
Copyright © ITmedia, Inc. All Rights Reserved.