RS422/RS485 Shield¶
RS422/RS485 Shield, OpenMV Cam’e endüstriyel veri yollarına uygun, uzun mesafeli diferansiyel bir seri bağlantı sağlar; geniş giriş gücü, dalgalanma koruması ve ADC/dijital I/O içerir.
Tam veri sayfası, fotoğraflar ve sipariş bilgileri için RS422/RS485 Shield ürün sayfasına bakın.
Öne çıkanlar¶
Kart üzerinde sonlandırmalı 10 Mb/s RS-422 veya RS-485
Ters voltaj toleranslı 6-36 V giriş
±36 V aşırı voltaj korumalı 0-5 V ADC girişi
Kamera senkronizasyon tetikleyicileri için kısa devre korumalı 0-5 V dijital I/O
Pin Çıkışı¶
Pin referansı¶
Pin |
İşlev |
|---|---|
P4 |
RS-422 / RS-485 TX → diferansiyel hattı dışarı sürer |
P5 |
RS-422 / RS-485 RX ← diferansiyel hattı içeri alır |
P6 |
Seviye dönüştürülmüş AIN geri okuması (P6’da 0–3.3 V) |
P10 |
SYN — terminal bloğundaki açık drenajlı dijital I/O |
PWR girişi |
Terminal bloğunda 6–36 V geniş giriş (ters voltaj toleranslı) |
AIN girişi |
Terminal bloğundaki analog giriş |
VIN çıkışı |
Dahili regülatörden 600 mA’ya kadar 5.4 V |
3.3V hattı |
Shield’in dahili elektroniğine güç verir |
GND hattı |
Ortak toprak |
Not
AIN, ±36 V’a kadar aşırı voltaj korumalıdır ve varsayılan olarak 0–5 V voltaj girişidir; P6’da 0–3.3 V’a ölçeklenir. AIN’i 4–20 mA akım döngüsü girişine çevirmek için shield’in ön yüzündeki 4–20 mA mod şöntünü köprüleyin.
Not
SYN, kamera tarafında 3.3 V’a ve SYN terminal tarafında 5 V’a yükseltilmiş açık drenajlı bir dijital hattır. Varsayılan olarak bir giriştir — shield, SYN’deki 0–5 V’u P10’da 0–3.3 V’a düşürerek seviye dönüştürür. P10’u çıkışa çevirmek için kart üzerindeki lehim atlama telini değiştirin; bu, P10’daki 0–3.3 V’u SYN’de 0–5 V’a yükseltir.
Not
P4, P5, P6 ve P10’un her biri varsayılan olarak bir lehim atlama teliyle kameraya bağlıdır — ilgisiz kullanımlar için geri almak istediğiniz herhangi bir pindeki atlama telini açın. P6’nın atlama teli shield’in arkasındadır; P4, P5 ve P10 ön yüzdedir.
Not
Kart üzerindeki sonlandırma dirençleri varsayılan olarak bağlıdır — bunları ayırmak için ilgili arka yüz lehim atlama tellerini açın. İkisi RS-422 A/B çiftini, ikisi de RS-422 Y/Z çiftini (aynı zamanda RS-485 A/B sonlandırması işlevi görür) kapsar; toplamda dört atlama teli.
RS-422 ve RS-485 hakkında
Her iki standart da uzun mesafeli, gürültüye dayanıklı bağlantılar için seri verileri bükümlü çiftler üzerinden dengeli (diferansiyel) bir sinyal olarak gönderir:
RS-422, dört tel üzerinden tam çift yönlüdür. Bir sürücü, Y/Z olarak etiketlenmiş özel bir TX çiftinde gönderir ve eş, A/B olarak etiketlenmiş ayrı bir RX çiftinden geri gönderir. Çift başına bir verici ve en fazla on alıcı.
RS-485, tipik olarak iki tel üzerinden yarı çift yönlüdür. Gönderme ve alma tek bir çifti paylaşır; RS-485 terminolojisinde A/B olarak adlandırılır ancak bu shield’de fiziksel olarak aynı Y/Z hatlarıdır. En fazla otuz iki düğüm veri yolunu paylaşabilir ve herhangi biri onu sürebilir.
Shield her ikisini nasıl destekler
Shield, her biri her iki standardı da işleyebilen iki THVD1426 alıcı-verici taşır:
İlk alıcı-verici, Y/Z çiftini (aynı zamanda RS-485 A/B çifti işlevi görür) sürer. Sürücüsü bağlı olan tek alıcı-verici budur; bu nedenle kameradan giden tüm trafik, moddan bağımsız olarak bu çiftten çıkar.
İkinci alıcı-verici, A/B çiftini sürer. Sürücüsü bağlanmamıştır — bu alıcı-verici yalnızca alıcıdır ve yalnızca 4 telli RS-422 modunda önemlidir.
Her iki alıcı-vericinin alıcıları daima etkindir ve RX çıkışları, kameraya geri giden tek bir alma hattı üzerinde AND’lenir:
2 telli RS-485 modunda yalnızca ilk alıcı-verici etkindir. Veri yolunu Y/Z’ye bağlayın; A/B tarafı boşta kalır ve AND kapısı yalnızca ilk alıcı-vericinin RX’ini geçirir.
4 telli RS-422 modunda, eş kameraya A/B çifti üzerinden gönderir (ikinci alıcı-verici tarafından alınır), kamera ise Y/Z üzerinden gönderir (ilk alıcı-vericinin kendi alıcısı giden verisini geri yansıtır). AND kapısı bunları birleştirir — hangi çift düşük bir darbe (başlangıç biti, veri) görürse o kameraya ulaşır.
Terminal bloğu etiketleri ikili eşlemeyi yansıtır:
RS-422 (4 telli) — Y/Z üzerinde TX çıkışı, A/B üzerinde RX girişi.
RS-485 (2 telli) — TX/RX, Y/Z çiftini paylaşır (RS-485 terminolojisinde = A/B). Shield üzerindeki A/B terminallerini bağlamadan bırakın.
Kullanım¶
Not
Aşağıdaki UART(3) çevre birimi numarası STM32 eşlemesini izler. Başka bir işlemcide bu pinlere bağlı veri yolu farklı olabilir — kartınızın referansını kontrol edin.
P4 (TX) / P5 (RX) üzerindeki bir diferansiyel seri eşle iletişim kurun:
from machine import UART
uart = UART(3, baudrate=115200)
uart.write("hello\n")
print(uart.read())
AIN terminal bloğu girişini seviye dönüştürülmüş P6 pini üzerinden okuyun:
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 hattındaki düşen kenara tepki verin — örneğin SYN’yi alçağa çeken başka bir cihazla kamerayı senkronize etmek için:
from machine import Pin
def on_sync(pin):
print("SYN falling edge")
syn = Pin("P10", Pin.IN)
syn.irq(on_sync, Pin.IRQ_FALLING)