United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

色んな拡張ボードを使ってみよう! ~パート2:マイコンとの通信方式~

マイコン ⇔ 拡張ボード間の通信方式がわからず、困っていませんか?

パート1では、様々な種類の拡張ボードを見てきました。非常に面白いボードが数多く存在し、使ってみたいと思った方も多いと思いますが、そもそも『アナログ』と『デジタル』って何が違うんだろう、『I2C』とか、『UART』とか、『シリアル』とか、何が違うのかわかんない!という方、いらっしゃいませんか?ここでは、それぞれについて軽くまとめてみようと思います。


Fig.1 アナログの世界


Fig.2 デジタルの世界

一番大きな分類として、アナログ信号とデジタル信号の違いがあります。これらの違いは、信号が『連続的』か、『離散的』か、ということです。上の図に示すように値が0、1、2、3、4、5、6…といったように連続して変化していく信号がアナログ信号です。それに対して0か1のどちらかの値を持つ、離散的なものが、デジタル信号です。アナログ信号は、自然界の情報(光、音など)をセンサーで読み取る際や、モーターをはじめとしたアクチュエーターを回転させる際に使用され、デジタル信号は、ライトのオン、オフ等に使用されます。ただ、コンピューターの世界は基本的にオンとオフのみのデジタルの世界なので、アナログの信号もデジタルに変換されて扱われます。そこで、『I2C』や『SPI』、『UART』などが登場してくるんです。

 

シリアル通信って?

マイコンと拡張ボードを接続する際は、シリアル通信によって通信することが多くあります。シリアル通信は、1ビットずつ順番にデータを送信するため、数本の信号線で済みます。それに対して、パラレル通信といった方法もありますが、こちらは複数の信号線を用いて、一本につき1ビットを同時に送信する方式です。

UART


Fig.3 Universal Asynchronous Receiver/Transmitter(UART)

基本的に、送信(TX)、受信(RX)用の2本の信号線で構成されます。他のシリアル通信方式では、クロック信号と呼ばれる、タイミングを同期するための信号を併せて使うことで、送信側と受信側の同期をとっていますが、UARTにはこれがありません。UARTでは、信号の最初と最後に目印となる信号を付けることで、同期をとっています。

I2C


Fig.4 Inter-Integrated Circuit(I2C)

双方向の信号線(SDA)と、クロック信号線(SCL)の2本で構成されます。I2CやSPIでは、マイコンやコンピューターなどの、通信を制御する側を『マスタ』、拡張ボードなどのデバイス側を『スレーブ』と呼び、スレーブにはそれぞれ特有のアドレスが割り振られています。このアドレスをもとに、マスタと通信するスレーブを判断できるため、1つのマスタに対して、複数のスレーブが接続可能になるんです。ただ、拡張ボードによってはアドレスが被ってしまい、同時にI2Cを使用できない場合があるので、注意が必要です。

SPI


Fig.5 Serial Peripheral Interface(SPI)

マスタからデータを送信するための信号線(MISO)、受信するための信号線(MOSI)、クロック信号線(SCLK)、通信するスレーブを決めるための信号線(SS)で構成されます。I2Cと異なり、信号線が通信方向によって分かれているため、伝送速度が速いといった利点があります。しかし、スレーブが増えるほどSSも多くなるため、場所の制約等がある場合は、信号線の本数的にSPIの方が使いにくいかもしれませんね。

 

マイコンと拡張ボードを接続するための通信方式について、簡単に見てきました。ここまでが理解できていれば、様々な種類の拡張ボードとマイコンボードを組み合わせることが可能です。ぜひ、多くの独創的な拡張ボードに触れてみて、ものづくりのを楽しんでください!!

とある大学の、修士2年生です!普段は大学で、航空宇宙工学/機械工学を勉強しています。 授業以外の場所では、学生だけで衛星をつくったり、ハッカソンに参加したりと様々な機会でものづくりにふれています~ ものづくりはとても楽しい