LoginSignup
1
0

More than 3 years have passed since last update.

Sony Spresense用 RS-422/485ボード

Last updated at Posted at 2021-01-14

RS-422/485通信はその長距離通信が可能な故に今でも工場とかでは幅広く使われています。
RS-422、RS-485 共に差動信号による伝送で10Mbpsのスピードで、最大1.2kmまでデータの伝送が可能です。
RS-422とRS-485の違いは1ライン当たりのドライバ、レシーバーの数と全2重、Point to Pointと半2重、マルチドロップの違いです。

RS-422/485に関する詳しい説明は省かせていただきますので以下のサイトを参考にして下さい。
アイ・ビー・エス・ジャパン株式会社のページ
FiberOpticNetworking’s blog RS-232、RS-422、RS-485の違いは何ですか?

このボードに使用しているRS-422/485のチップはAnalog Devices社のADM2582EBRWZです。
このチップはロジック部分と通信部分がアイソレーションされていて、
最高通信レート: 16 Mbps、1ラインに256ノードの接続可能となっています。

詳しくは以下のデータシートをご覧下さい。
ADM2582EBRWZ データシート

回路図とEagle用のデータはGithubにて公開しています。
kaz19610303/SPRESENSE_RS422_485

ジャンパー設定
SJ1 受信イネーブル制御ピン選択 1: EMMC_DATA3 3:I2S_DIN
SJ2 送信イネーブル制御ピン選択 1: EMMC_DATA2 3:I2S_DOUT
SJ3 ショートでRXラインの終端抵抗有効
SJ4 ショート:RS-485 オープン:RS-422
SJ5 ショート:RS-485 オープン:RS-422
(SJ4とSJ5は両方オープンまたは両方ショートに設定してください)

CN3はアイソレーション電源出力です。
1、2ピン 3.3v
3、4ピン GND

2-5.jpg

2-4.jpg

回路図

SPRESENSE_RS422_485.png

テストプログラム
RS-485で送信下データを自身で受信して、受信したデータをモニターに出力するだけのプログラムです。

ジャンパーの設定
SJ1 1-2ショート
SJ2 1-2ショート 
SJ3 ショート
SJ4 ショート
SJ5 ショート

Spresense_rs485_test.ino
/*
  Spresense RS-422/485 ボード(NS-SPR-0301) テストプログラム
  rS-422/485 test
  Set Jummper
  SJ1 1-2ショート  
  SJ2 1-2ショート  
  SJ3 ショート
  SJ4 ショート
  SJ5 ショート

  Next Step LLC
  https://next-step.asia/
  https://github.com/kaz19610303/SPRESENSE_RS422_485
*/

#define Receive_Enable 21                     // 受信許可ピン Active LOW
#define Transmit_Enable 20                    // 送信許可ピン Active High


void setup() {
  // initialize both serial ports:
  Serial.begin(9600);                         // Monitor terminal
  Serial2.begin(9600);                        // RS-422/485 terminal
  pinMode(21,OUTPUT);
  pinMode(20,OUTPUT);
  digitalWrite(Receive_Enable, LOW);          // Receive Enable
  digitalWrite(Transmit_Enable, HIGH);        // Transmit Enable
}

void loop() {
  Serial2.println("1234567890");              // Send RS-422/485
  while (Serial2.available()) {               // Recive RS-422/485
    Serial.write(Serial2.read());             // Send Monitor terminal 
  }
  delay(1000);
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0