Khoảng cách tối đa SPI


8

Tôi có một Trình điều khiển PIC16F877, được kết nối qua SPI với MCP23S17 và lần cuối cùng nó được kết nối với bàn phím và màn hình LCD, khoảng cách giữa Mạch tích hợp và mạch tích hợp MCP là 5m. Câu hỏi của tôi là nó sẽ làm việc hay không? Và nếu nó không hoạt động, làm thế nào tôi có thể giải quyết vấn đề này. Có một giải pháp (như Mạch tích hợp hoặc một mẹo)?

bức tranh 1


1
SPI được thiết kế để liên lạc trên PCB .. đây là một ý tưởng tồi tệ, có lẽ bạn có thể tìm thấy một phương thức liên lạc phù hợp và phù hợp hơn được thiết kế để liên lạc
ngoài luồng

5
@KyranF I2C là mạch tích hợp liên , nó không được thiết kế để tắt bo mạch hoặc đường dài. Xe buýt SPI chưa được đăng ký sẽ phù hợp hơn cho giao tiếp ngoài tàu so với xe buýt I2C chưa được đăng ký.
Samuel

1
@KyranF Tôi sẽ thứ hai những gì Samuel nói. Vì I2C là một bus thu thập mở, I2C đơn giản có nhiều vấn đề về đường dài hơn SPI đơn giản.
Nick Alexeev

I2C có nhiều bổ sung tuyệt vời cho phép nó đi một cách khá công bằng. Nó cũng bất biến điện áp, khiến bạn có thể chọn các mức điện áp cao hơn và chống nhiễu hơn.
KyranF

Nếu OP có tùy chọn, việc tìm kiếm thứ gì đó như RS232 hoặc 485 (tốt hơn) sẽ đánh bại việc cố gắng thực hiện các giao thức kiểu PCB như SPI và I2C làm điều gì đó mà họ không có ý định ..
KyranF

Câu trả lời:


10

Trong câu trả lời trên diễn đàn Microchip , Jan Axelson, tác giả của 'Hoàn thành cổng nối tiếp', tuyên bố chiều dài cáp tối đa là 10 'cho xe buýt SPI. Các bài viết khác đã đề cập đến con số tương tự. Vì vậy, khoảng cách 5m của bạn có thể hoặc không thể làm việc vì nó chỉ dài hơn một chút.

Một câu trả lời khác trên cùng một diễn đàn khuyên bạn nên sử dụng điện trở kết thúc 120 ohm trên đường dây.

Có một số khuyến nghị trong cuộc thảo luận về chủ đề này nói rằng một yếu tố lớn là giảm tốc độ xung nhịp, xuống mức tối thiểu 100 kHz. Sau đó nhìn vào tín hiệu của bạn bằng một máy hiện sóng.

Một cách để tăng khoảng cách vượt quá yêu cầu của bạn là sử dụng bộ cách ly kỹ thuật số và trình điều khiển cặp xoắn như đã thảo luận trong bài viết này: "Mở rộng xe buýt SPI để liên lạc đường dài" Nó yêu cầu khoảng cách 100m (không phải lỗi chính tả).


3

Bạn có thể sử dụng trình điều khiển và bộ thu LVDS để chuyển đổi tín hiệu logic một đầu thành tín hiệu vi sai. Đáng tin cậy nhất cho một thiết lập thả đơn (chỉ từ bảng này sang bảng bên ngoài) và nó đòi hỏi các căn cứ phải gần nhau trong tiềm năng.

Sử dụng các cặp xoắn (ví dụ: cáp Cat5) và đảm bảo bạn sử dụng các đầu cuối thích hợp hoặc nó sẽ không hoạt động đáng tin cậy, nếu có.

https://www.fairchildsemi.com/application-notes/AN/AN-5017.pdf


2

Có thể dịch dữ liệu giữa các mô-đun bằng cách sử dụng trình điều khiển máy thu trans. RS485 giống như thế này

nhập mô tả hình ảnh ở đây

MAX3490

Bạn cần sử dụng vài bộ thu trans này, ý tưởng là để minh họa, bạn chỉ có thể sử dụng bất kỳ trình điều khiển trans nào đóng gói trình điều khiển kép và phù hợp nhất với nhu cầu của bạn

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.