GNU/Linux >> Belajar Linux >  >> Linux

Linux – Port Serial Raspberrypi?

Saya memiliki Tampilan yang ingin saya tulis. Ini dimungkinkan melalui port serial. Ketika saya menggunakan Konverter USB ke RS-232, hal itu bekerja dengan sangat baik. Saya bahkan mencoba hanya menggunakan kabel RX, TX dan GND dari konverter serial, dan masih berfungsi. Sekarang saya ingin menggunakan Tampilan ini dalam wadah kecil yang dipasangkan dengan Raspberry Pi, jadi saya tidak memiliki ruang tersisa untuk konverter USB-RS-232 besar.
Saya telah mencoba menggunakan port serial internal dari Frambos. Ini disetel ke 9600 baud menggunakan $ sudo stty -F /dev/ttyAMA0 9600 . Tetapi ketika saya menghubungkannya ke layar, itu hanya muncul sampah dan perintah kontrol normal (yang bekerja menggunakan konverter RS-232) juga tidak berfungsi.
Menggunakan $ sudo minicom -b 9600 -o -D /dev/ttyAMA0 dan perulangan GPIOs TX ke RX, itu menunjukkan karakter yang tepat di minicom konsol.
Sekarang perulangan GPIO-Serial-Port ke pin RX dan TX Konverter USB-RS-232 dan hubungkan ground dan buka kedua port di minicom dengan baud yang disetel ke 9600, terkadang hanya menampilkan beberapa keluaran di terminal lain, tetapi ketika menampilkan keluaran apa pun, itu juga hanya sampah.

Jawaban yang Diterima:

Saya cukup yakin masalahnya adalah Pi tidak memiliki antarmuka RS232, sedangkan layar memilikinya.

Pi memiliki antarmuka (LV-)UART, pin TX-nya mengeluarkan 0V untuk logis dan 3.3V untuk logika 1 . Ini cukup mudah diterapkan, karena 3.3V sudah tersedia di Pi. Namun ini hanya berfungsi untuk komunikasi pada satu PCB atau dalam satu perangkat.

Untuk komunikasi antar perangkat dalam jarak yang lebih jauh, sistem yang tidak terlalu rentan terhadap sinyal interferensi seperti RS232 digunakan. Walaupun struktur logis dari bentuk gelombang (bitrate, timing, start-, stop-, parity- dan data-bits) sama dengan UART, level tegangannya adalah -15V…-3V untuk 1 dan +15V…+3V untuk logical logis . Artinya, tidak hanya tegangan yang lebih tinggi (dan negatif), artinya juga terbalik.

Jadi, jika tampilan mengharapkan level RS232 dan mendapatkan level 3,3V dari Pi, sebagian besar tidak mengenali data, dan jika ya, seringkali hanya sampah.

Dan tentu saja, jika Anda menghubungkan RX dan TX dari antarmuka yang sama, Anda mendapatkan apa yang Anda harapkan.

Tetapi:Jika keluaran TX RS232 tidak dibatasi arus, itu bahkan dapat merusak Pi Anda!

Ada papan konverter UART ke RS232 di luar sana, tetapi jika Anda ingin menyolder, papan hanya berisi MAX3232 (ditambah empat kapasitor). IC ini juga menghasilkan level tegangan yang lebih tinggi (dan negatif) dari tegangan suplai 3.3V dari Pi.

Terkait:Linux – Mengapa mengalihkan output ke 2>&1 dan 1>&2?

Yang lebih umum adalah MAX232 (coba tebak mengapa disebut demikian), tetapi untuk operasi 5V, bukan 3.3V.

Terakhir, karena UART dan RS232 menggunakan struktur logika yang sama, seringkali keduanya tidak dibedakan, terutama oleh perangkat lunak (programmer). Mereka sering juga hanya disebut "antarmuka serial", meskipun ada antarmuka lain seperti I²C dan SPI, yang merupakan jenis antarmuka serial, tetapi tidak pernah dianggap sebagai "antarmuka serial".


Linux
  1. Cara Mengubah Port SSH Di Linux

  2. Bagaimana Menghubungkan Dan Mengirim Data Ke Port Serial Bluetooth Di Linux?

  3. Gerbang Serial Port Netbsd?

  1. Periksa penggunaan port di Linux

  2. Menguji secara efisien apakah port terbuka di Linux?

  3. Membaca dan menulis ke port serial di C di Linux

  1. Linux – Bagaimana Menemukan Proses Menggunakan Port Serial?

  2. Port serial RaspberryPi

  3. Kehabisan port jaringan Linux