Cổng nối tiếp RaspberryPi


7

Tôi có một màn hình mà tôi muốn viết cho. Điều này có thể qua cổng nối tiếp. Khi tôi sử dụng Bộ chuyển đổi USB sang RS-232, thứ đó hoạt động như một bùa mê. Tôi thậm chí đã thử chỉ sử dụng các dây RX, TX và GND của bộ chuyển đổi nối tiếp và nó vẫn hoạt động. Bây giờ tôi muốn sử dụng Màn hình này trong một trường hợp nhỏ được ghép nối với Raspberry Pi, vì vậy tôi không còn chỗ trống nào cho bộ chuyển đổi USB-RS-232 lớn. Tôi đã thử sử dụng cổng nối tiếp nội bộ của Raspberry. Nó được đặt thành 9600 baud bằng cách sử dụng $ sudo stty -F /dev/ttyAMA0 9600. Nhưng khi tôi kết nối nó với màn hình, nó chỉ hiển thị rác và các lệnh điều khiển thông thường (đang hoạt động bằng bộ chuyển đổi RS-232) cũng không hoạt động. Sử dụng $ sudo minicom -b 9600 -o -D /dev/ttyAMA0và lặp GPIO TX sang RX, nó hiển thị đúng các ký tự trongminicombàn điều khiển. Bây giờ lặp GPIO-serial-Port sang các chân RX và TX của Bộ chuyển đổi USB-RS-232 và nối đất và mở cả hai cổng minicomvới baud được đặt thành 9600, đôi khi chỉ hiển thị một số đầu ra trên thiết bị đầu cuối khác, nhưng khi nó hiển thị bất kỳ đầu ra nào , nó cũng chỉ là rác rưởi.

Câu trả lời:


10

Tôi khá tự tin rằng vấn đề là Pi không có giao diện RS232, trong khi màn hình hiển thị.

Pi có giao diện UART (LV-), chân TX của nó xuất ra 0V cho logic 0và 3,3V cho logic 1. Điều này khá dễ thực hiện, vì 3.3V đã có sẵn trên Pi. Nhưng điều này chỉ hoạt động để liên lạc trên một PCB hoặc trong một thiết bị duy nhất.

Để liên lạc giữa các thiết bị trong khoảng cách xa hơn, một hệ thống ít bị nhiễu tín hiệu như RS232 được sử dụng. Trong khi cấu trúc logic của dạng sóng (bitrate, thời gian, start-, stop-, parity- và data-bit) giống như đối với UART, các mức điện áp là -15V ...- 3V cho mức logic 1và + 15V. .. + 3V cho logic 0. Điều này có nghĩa, không chỉ có điện áp cao hơn (và âm), ý nghĩa của chúng cũng bị đảo ngược.

Vì vậy, nếu màn hình hiển thị mức độ RS232 và nhận được mức 3,3V từ Pi, thì nó hầu như không nhận ra dữ liệu và nếu có, nó thường chỉ là rác.

Và tất nhiên, nếu bạn kết nối RX và TX của cùng một giao diện, bạn sẽ nhận được những gì bạn mong đợi.

Nhưng: Nếu đầu ra RS232 TX không bị giới hạn hiện tại, nó thậm chí có thể làm hỏng Pi của bạn!

Có các bảng chuyển đổi UART sang RS232 ngoài kia, nhưng nếu bạn muốn hàn, các bảng chỉ chứa MAX3232 (cộng với bốn tụ điện). IC này cũng tạo ra các mức điện áp cao hơn (và âm) từ điện áp cung cấp 3,3V từ Pi.

Phổ biến hơn là MAX 232 (đoán tại sao nó được gọi như vậy), nhưng nó là cho hoạt động 5V, không phải hoạt động 3.3V.


Cuối cùng, do UART và RS232 sử dụng cùng một cấu trúc logic, nên nó thường không được phân biệt giữa cả hai, đặc biệt là bởi phần mềm (lập trình viên). Chúng thường chỉ được gọi là "giao diện nối tiếp", mặc dù có các giao diện khác như I²C và SPI, là một loại giao diện nối tiếp, nhưng không bao giờ được coi là "giao diện nối tiếp".


5

Cổng nối tiếp Raspberry Pi tích hợp sử dụng các mức điện áp từ 0 đến 3,3 Volt, như được mô tả ở đây . Bộ chuyển đổi USB sang nối tiếp và màn hình của bạn sẽ sử dụng các mức điện áp RS232 từ -15V đến + 15V, với mức tối thiểu là -3V / + 3V. Bạn cần chuyển đổi giữa hai cấp độ này.

Cổng sẽ hoạt động khi được lặp lại khi điện áp đầu ra và đầu vào tương thích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.