2019年09月14日 | 公開。 |
この章では、Arduinoに74HC595を接続して出力ピンを拡張する場合に、どの様に配線すればいいかを説明します。
この節では、DIPパッケージの74HC595について、ピンの名称とピン配置を説明します。
注:DIPパッケージ以外の74HC595では、ピン数やピン配置が、このページの説明と異なる事があります。
74HC595のピン配置を図11に示します。この図のピン名称は、Texas Instruments製のSN74HC595のデータシートに従っています。
注:厳密には、図11でQA~AHと書かれているピンの名称は、SN74HC595のデータシート上ではQA~QHとなっており、同様に図11でQH'と書かれているピンの名称は、SN74HC595のデータシート上ではQH'となっています。この記事では、下付き文字を避けるために、QA~QHおよびQH'のピン名称を用います。
74HC595をはじめとする74HCシリーズの汎用ロジックICは、Texas Instrumentsが開発し、各社がセカンドソース品を販売しています。Texas Instruments製のICも、セカンドソース品のICも、機能的には同じですが、メーカーによっては、ピンにTexas Instrumentsと異なる名前を付けている場合があります。
表1に、代表的なメーカーの74HC595のピン名称を示します。(下付き文字を含むピン名称は、全て普通の文字に置き換えています)
メーカー
|
Texas Instruments
|
Nexperia
|
ON Semiconductor
|
ON Semiconductor
|
STMicroelectronics
|
東芝デバイス&ストレージ
|
Diodes Incorporated
|
---|---|---|---|---|---|---|---|
型番
|
SN74HC595、CD74HC595
|
74HC595
|
MM74HC595
|
MC74HC595A
|
M74HC595
|
TC74HC595AP、TC74HC595AF、74HC595D
|
74HC595
|
1番ピン | QB | Q1 | QB | QB | QB | QB | Q1 |
2番ピン | QC | Q2 | QC | QC | QC | QC | Q2 |
3番ピン | QD | Q3 | QD | QD | QD | QD | Q3 |
4番ピン | QE | Q4 | QE | QE | QE | QE | Q4 |
5番ピン | QF | Q5 | QF | QF | QF | QF | Q5 |
6番ピン | QG | Q6 | QG | QG | QG | QG | Q6 |
7番ピン | QH | Q7 | QH | QH | QH | QH | Q7 |
8番ピン | GND | GND | GND | GND | GND | GND | GND |
9番ピン | QH' | Q7S | Q'H | SQH | QH' | QH' | Q7S |
10番ピン | SRCLR | MR | SCLR | RESET | SCLR | SCLR | MR |
11番ピン | SRCLK | SHCP | SCK | SHIFT CLOCK | SCK | SCK | SHCP |
12番ピン | RCLK | STCP | RCK | LATCH CLOCK | RCK | RCK | STCP |
13番ピン | OE | OE | G | OUTPUT ENABLE | G | G | OE |
14番ピン | SER | DS | SER | A | SI | SI | DS |
15番ピン | QA | Q0 | QA | QA | QA | QA | Q0 |
16番ピン | VCC | VCC | VCC | VCC | VCC | VCC | VCC |
この表で太字で示したピン名称は、Texas Instruments社が使っているのとは違うピン名称です。この記事は、全てTexas Instruments社が使っているピン名称を使って書いていますので、ご注意ください。
Arduinoに1つの74HC595を接続する場合の配線図(回路図)を、図12に示します。
74HC595の各ピンには、青色でピン番号を書き込んであります。
74HC595のQH'ピン(9番ピン)の×印は、どこにも接続しない事を示しています。
この図では、Arduinoの5V端子を74HC595のVCCピンに接続していますが、これはArduino Uno等の5V系Arduinoを使う場合だけです。Arduino Due等の3.3V系Arduinoを使う場合は、Arduionoの3.3V端子を74HC595のVCC端子に接続します。
74HC595のVCC端子とGND端子の間には、電源電圧を安定させて74HC595が誤作動しない様にするためのパスコンを接続してください。この図では0.1μFのパスコンを使っていますが、おおむね0.01μF~0.1μFの範囲内ならOKです。パスコンには高周波特性の良い積層セラミックコンデンサまたはディスクセラミックコンデンサを使ってください。電解コンデンサ等の高周波特性の悪いコンデンサでは、パスコンの役割を果たせません。
74HC595のSRCLR端子は、シフトレジスタの非同期クリア用の端子です。Arduinoの出力ピンの拡張には非同期クリア機能を使わないため、SRCLR端子をVCCに接続して、同機能を無効化します。
またOE端子は、出力ピンの3ステート制御用のピンです。Arduinoの出力ピンの拡張には3ステート制御は必ずしも必要ありませんので、OE端子をGNDに接続して、同機能を無効化します。
SER、SRCLK、RCLKの各端子の制御のために、ArduinoのI/Oピンを合計3ピン使います。digitalWrite関数でデジタル出力できるI/Oピンなら何でも構いませんので、他の用途に使用していない、余ったI/Oピンを使ってください。Arduino Unoの場合、0番~13番ピン、およびA0~A5ピンのいずれでも構いません。一部のArduinoではアナログ入力専用ピンやアナログ出力専用ピンがありますので、注意が必要です。
Arduinoに複数の74HC595を接続する場合の配線図を、図13に示します。
SRCLK信号とRCLK信号に関しては、Arduinoから出た制御信号をN個の74HC595に並列に接続するのに対して、SER信号は、1番目の74HC595はArduinoから受け取り、そのほかの74HC595は1つ若い番号の74HC595のH'端子から受け取っている事に注意してください。
なぜ、この接続方法で、シフトレジスタを使ったシリアル-パラレル変換回路のビット数の拡張ができるかについては、用語集の74HC595の項目に書いてありますので、そちらをお読みください。
次のページでは、Arduinoに1つの74HC595を接続する場合の接続方法と、74HC595を制御する際のタイミングチャートについて説明します。