RS422/RS485 Shield¶
RS422/RS485 Shield는 OpenMV Cam에 산업용 버스에 적합한 장거리 차동 시리얼 링크를 제공하며, 광범위한 입력 전원, 서지 보호, ADC/디지털 I/O를 갖추고 있습니다.
전체 데이터시트, 사진, 주문 정보는 RS422/RS485 Shield 제품 페이지 를 참고하세요.
주요 특징¶
온보드 종단을 갖춘 10 Mb/s RS-422 또는 RS-485
6-36 V 입력, 역전압 내성
±36 V 과전압 보호를 갖춘 0-5 V ADC 입력
카메라 동기화 트리거용 0-5 V 디지털 I/O, 단락 보호
핀아웃¶
핀 참조¶
핀 |
기능 |
|---|---|
P4 |
RS-422 / RS-485 TX → 차동 라인 출력 구동 |
P5 |
RS-422 / RS-485 RX ← 차동 라인 입력 수신 |
P6 |
레벨 시프트된 AIN 읽기(P6에서 0–3.3 V) |
P10 |
SYN — 터미널 블록의 오픈 드레인 디지털 I/O |
PWR 입력 |
터미널 블록의 6–36 V 광범위 입력(역전압 내성) |
AIN 입력 |
터미널 블록의 아날로그 입력 |
VIN 출력 |
온보드 레귤레이터에서 최대 600 mA로 5.4 V 공급 |
3.3V 레일 |
쉴드의 온보드 전자 회로에 전원 공급 |
GND 레일 |
공통 접지 |
참고
AIN은 ±36 V까지 과전압 보호되며 기본적으로 0–5 V 전압 입력으로 동작하여 P6에서 0–3.3 V로 축소됩니다. 쉴드 앞면의 4–20 mA 모드 션트를 브리지하면 AIN을 4–20 mA 전류 루프 입력으로 전환할 수 있습니다.
참고
SYN은 오픈 드레인 디지털 라인으로, 카메라 쪽에서는 3.3 V로, SYN 터미널 쪽에서는 5 V로 풀업됩니다. 기본적으로 입력이며, 쉴드가 SYN의 0–5 V를 P10의 0–3.3 V로 레벨 시프트합니다. 온보드 솔더 점퍼를 변경하면 P10을 출력으로 전환하여 P10의 0–3.3 V를 SYN의 0–5 V로 레벨 시프트합니다.
참고
P4, P5, P6, P10 각각은 기본적으로 솔더 점퍼를 통해 카메라에 연결되어 있으므로, 관련 없는 용도로 회수하려는 핀의 점퍼를 열면 됩니다. P6의 점퍼는 쉴드 뒷면에 있고 P4, P5, P10은 앞면에 있습니다.
참고
온보드 종단 저항은 기본적으로 연결되어 있으므로, 해당하는 뒷면 솔더 점퍼를 열면 분리할 수 있습니다. 두 개는 RS-422 A/B 쌍을 담당하고 두 개는 RS-422 Y/Z 쌍(RS-485 A/B 종단도 겸함)을 담당하며, 총 네 개의 점퍼가 있습니다.
RS-422 및 RS-485 소개
두 규격 모두 장거리 및 노이즈 내성 링크를 위해 시리얼 데이터를 트위스티드 페어 위에서 평형(차동) 신호로 전송합니다:
RS-422 는 4선식 전이중 방식입니다. 드라이버가 Y/Z 라고 표시된 전용 TX 쌍으로 전송하고, 상대 노드가 A/B 라고 표시된 별도의 RX 쌍으로 응답합니다. 쌍당 송신기 1개와 최대 10개의 수신기가 가능합니다.
RS-485 는 일반적으로 2선식 반이중 방식입니다. 송신과 수신이 단일 쌍을 공유하는데, RS-485 용어로는 A/B 라고 부르지만 이 쉴드에서는 물리적으로 동일한 Y/Z 라인입니다. 최대 32개의 노드가 버스를 공유할 수 있으며 그중 어느 노드든 버스를 구동할 수 있습니다.
쉴드가 두 규격을 모두 지원하는 방식
쉴드에는 각각 두 규격 중 하나를 처리할 수 있는 두 개의 THVD1426 트랜시버가 탑재되어 있습니다:
첫 번째 트랜시버 는 Y/Z 쌍(RS-485 A/B 쌍도 겸함)을 구동합니다. 드라이버가 연결된 유일한 트랜시버이므로, 모드와 관계없이 카메라에서 나가는 모든 트래픽은 이 쌍으로 출력됩니다.
두 번째 트랜시버 는 A/B 쌍을 구동합니다. 그 드라이버는 비활성화되어 있어 이 트랜시버는 수신 전용이며 4선식 RS-422 모드에서만 의미가 있습니다.
두 트랜시버의 수신기는 항상 활성화되어 있으며, 그 RX 출력은 카메라로 돌아가는 단일 수신 라인에서 AND 연산됩니다:
2선식 RS-485 모드 에서는 첫 번째 트랜시버만 활성화됩니다. 버스를 Y/Z에 배선하면 A/B 쪽은 유휴 상태가 되고 AND 게이트는 첫 번째 트랜시버의 RX를 그대로 통과시킵니다.
4선식 RS-422 모드 에서는 상대 노드가 A/B 쌍으로 카메라에 전송하고(두 번째 트랜시버가 수신) 카메라는 Y/Z로 전송합니다(첫 번째 트랜시버 자체의 수신기가 송신 데이터를 다시 에코함). AND 게이트가 이를 결합하여, 로우 펄스(시작 비트, 데이터)가 나타나는 쌍이 카메라에 도달합니다.
터미널 블록 레이블은 이 이중 매핑을 반영합니다:
RS-422(4선식) — TX는 Y/Z로 출력, RX는 A/B로 입력.
RS-485(2선식) — TX/RX가 Y/Z 쌍(RS-485 명명법으로는 A/B)을 공유합니다. 쉴드의 A/B 터미널은 연결하지 않은 채로 두세요.
사용법¶
참고
아래의 UART(3) 주변장치 번호는 STM32 매핑을 따릅니다. 다른 프로세서에서는 이 핀에 배선된 버스가 다를 수 있으므로 보드의 참조 문서를 확인하세요.
P4(TX) / P5(RX)에서 차동 시리얼 상대 노드와 통신합니다:
from machine import UART
uart = UART(3, baudrate=115200)
uart.write("hello\n")
print(uart.read())
레벨 시프트된 P6 핀을 통해 AIN 터미널 블록 입력을 읽습니다:
from machine import ADC
import time
ain = ADC("P6")
while True:
v = ain.read_u16() * 3.3 / 65535
print("AIN:", v * (5.0 / 3.3), "V")
time.sleep_ms(100)
SYN 라인의 하강 에지에 반응합니다 — 예를 들어, SYN을 로우로 끌어내리는 다른 장치와 카메라를 동기화하는 경우입니다:
from machine import Pin
def on_sync(pin):
print("SYN falling edge")
syn = Pin("P10", Pin.IN)
syn.irq(on_sync, Pin.IRQ_FALLING)