Các lựa chọn thay thế cho SPI vì EMI


24

Tôi hiện đang tạo ra một hệ thống bao gồm một vỏ nhựa chứa MCU nói chuyện với 7 ADC sử dụng SPI 2 MHz qua các dây dài khoảng 5cm.

MCU và ADC được kết nối bởi SPI

Vấn đề là tôi quan tâm đến EMI. Tất cả mọi thứ tôi đã đọc cho thấy rằng bất kỳ loại tín hiệu kỹ thuật số nào không an toàn trên PCB trong khung kim loại được nối đất sẽ phát ra quá nhiều để vượt qua thử nghiệm EMI. Tôi đoán điều này sẽ bao gồm I2C là tốt.

Điều này có khả năng thất bại trong thử nghiệm EMI? Những gì tôi có thể làm gì về điều này?

Tôi đang tìm kiếm bất kỳ loại câu trả lời nào, bao gồm "Sử dụng một bus / ADC khác nhau", nhưng không bao gồm các câu trả lời liên quan đến những thay đổi cơ học như: "Đặt tất cả các ADC trên cùng một PCB" hoặc "Đặt toàn bộ vào một hộp kim loại" . Tôi đặc biệt quan tâm đến các lựa chọn thay thế EMI thấp cho SPI bao gồm cả xe buýt vi sai.

Dưới đây là một số thông tin liên quan về ứng dụng. Xin vui lòng cho tôi biết nếu bạn cần biết thêm nhiều thứ:

  • 6 dây đi đến mỗi bảng ADC (Power, GND, CS, CLK, MOSI, MISO).
  • ADC hiện đang là MCP3208 (Microchip 8 kênh, 12 bit)
  • Tôi đang làm việc trong một ứng dụng bị giới hạn không gian một cách tuyệt vọng , vì vậy việc thêm che chắn cho các dây không thực sự là một lựa chọn.
  • Sẽ rất tuyệt nếu sử dụng một số loại bus vi sai (chỉ một hoặc hai cặp), nhưng các ADC duy nhất có giao tiếp vi sai dường như là các loại LVDS đa MSPS.
  • CAN có lẽ là quá chậm, và cũng là loại cồng kềnh cho một ứng dụng bị hạn chế không gian như vậy.
  • Tốc độ mẫu: Tôi cần lấy mẫu mỗi kênh ở tần số 1kHz.

Thêm:

Chỉ để đưa ra một ý tưởng về các hạn chế không gian:

PCB nhỏ với MCP3202

Ở đây bạn có thể thấy một trong các PCB ADC. Cái này thực sự có MCP3202 thay vì MCP3208, nhưng nó tương thích (ish). Đó là trong gói TSSOP 8. PCB là 11mm x 13mm. Cáp màu đen có đường kính 2 mm. Như bạn có thể thấy, thậm chí không có không gian cho một đầu nối và dây được hàn trực tiếp vào PCB, sau đó được đặt trong chậu. Việc thiếu đầu nối là do các hạn chế về không gian xung quanh hơn là các hạn chế về không gian PCB.


4
Làm thế nào có thể che chắn các dây cáp được coi là không thực tế nhưng tăng gấp đôi số lượng dây (tín hiệu khác biệt) được coi là thực tế?
timrorr

Xin lỗi, tôi nên đã rõ ràng hơn. Tôi có nghĩa là một cái gì đó như CAN, đó là 2 dây vi sai. Rõ ràng việc nhân đôi số lượng dây là không thể. Tôi đã chỉnh sửa câu hỏi.
Rocketmagnet

1
Cụ thể, loại thử nghiệm / chứng nhận mà bạn đang cố gắng vượt qua?
Joel B

1
@JoelB - Xin lỗi, tôi là người mới đối với EMI, vì vậy tôi không thực sự chắc chắn. Nhưng đến một lúc nào đó chúng ta sẽ phải thực hiện một số loại thử nghiệm EMI. Có lẽ một số loại kiểm tra EMI bình thường / tiêu dùng, nếu có một điều như vậy.
Rocketmagnet

1
@Rocketmagnet, Ohh, đừng hiểu lầm tôi rằng bạn đang tạo ra một ăng-ten rất dễ dàng. Có nhiều phương pháp thiết kế cho vấn đề này, anh ấy sẽ nghiên cứu thêm, nhưng nếu cáp của bạn không mang bất kỳ tần số nào mà kiểm tra EMI sẽ kiểm tra bạn, bạn phải đảm bảo rằng bạn không ghép các nhiễu tần số cao hơn từ các nơi khác ra (dễ như thiết kế kỹ thuật số tốc độ cao đã nói). Tôi chỉ muốn một ý tưởng tốt hơn về vấn đề của bạn. Tôi thích câu hỏi rất nhiều và nó đã có +1 của tôi
Kortuk

Câu trả lời:


13

Cáp SPI 2 MHz trên 5 cm không phải là lớn. Tôi làm cáp SPI 30 MHz trên 10 cm rất nhiều, vượt qua B Class của FCC và tương đương CE. Điều quan trọng là đảm bảo rằng bạn có một dây cáp tốt (kiểm soát tốt nhất có thể cho khu vực vòng lặp) và chấm dứt đúng tín hiệu của bạn.

Bạn điều khiển khu vực vòng lặp bằng cách đặt tín hiệu nguồn / GND ở đâu đó ở giữa cáp: Cả giữa đầu nối, nhưng ở giữa bó dây cũng vậy. Thông thường bạn sẽ có công suất hoặc GND cho mỗi tín hiệu, nhưng vì đó hiếm khi là một giải pháp thiết thực, bạn phải làm tốt nhất với những gì bạn có. Ngoài ra, đảm bảo đặt một hoặc hai nắp tách rời trên PCB ở cả hai đầu cáp.

Việc chấm dứt đúng các tín hiệu sẽ trở nên khó khăn một chút vì bạn không có trở kháng được kiểm soát trên cáp. Những gì tôi sẽ làm là đặt một bộ lọc RC trên PCB ở cả hai đầu của cáp. Bộ lọc RC sẽ có C ở phía cáp và R ở phía chip. Ở trình điều khiển tín hiệu, tôi sẽ bắt đầu với R khoảng 75 ohms và C khoảng 1 nF. Tại máy thu, R sẽ là khoảng 10 ohms và C vẫn là 1 nF. Khi bạn đã tạo các nguyên mẫu, bạn nên thử các giá trị khác nhau. Về cơ bản, bạn muốn các giá trị cao hơn cho R và C, nhưng không quá cao đến mức mọi thứ ngừng hoạt động hoặc mức tín hiệu quá suy giảm. Các cạnh của tín hiệu của bạn sẽ trông rất tròn, nhưng không nên đổ chuông và đồng hồ phải đẹp khi ở trong dải chuyển đổi tín hiệu (thường là 0,8 đến 2,0 volt).

Giá trị giới hạn tối thiểu 3 nF là lý tưởng để bảo vệ ESD, nhưng đó có thể không phải là vấn đề trong ứng dụng của bạn.


Cảm ơn câu trả lời của bạn. Có, tôi khá chắc chắn rằng trở kháng thay đổi tại một số điểm khi nó chuyển từ pcb sang đầu nối sang cáp, v.v. Ngoài ra, các đường CS, CLK và MOSI được chia sẻ trên tất cả các ADC. Điều đó làm cho một sự khác biệt ?
Rocketmagnet

@Rocketmagnet Các bộ lọc RC về cơ bản sẽ chấm dứt quá mức. Đó là lý do tại sao các tín hiệu sẽ trông rất tròn. Điều này sẽ làm một số điều cho bạn, điều quan trọng nhất là làm cho trở kháng không quá quan trọng. Bạn nên từ chối tín hiệu CS, CLK và MOSI để chúng không bị chia sẻ trên các dây cáp. Đôi khi điều đó là không thể, vì vậy, thứ hai (xa) tốt nhất là sử dụng kết thúc riêng cho từng cáp và không chia sẻ kết thúc.

2

CAN gần như chắc chắn đặt cược tốt nhất của bạn trong loại ứng dụng này. Đó là sự khác biệt và thực sự sẽ làm giảm số lượng dây đi đến mỗi bảng. Nếu bạn đang lấy mẫu bảy chip, tám kênh trên mỗi chip, mười hai bit trên mỗi kênh, đó là 672 bit dữ liệu trên mỗi thời gian mẫu. Ở các mẫu 1 kHz, tốc độ truyền 1 Mbit, đó là 1000 bit cho mỗi lần lấy mẫu. Điều đó không khiến bạn có nhiều chỗ để làm việc, vì vậy bạn có thể cân nhắc sử dụng một bộ vi điều khiển có hai bộ điều khiển CANbus riêng biệt được tích hợp. (Microchip tạo ra một số, tôi sử dụng DSPIC 30F6012a.) Chia A / D của bạn thành hai bus, với vi điều khiển trung tâm trên cả hai, và bạn nên có nhiều băng thông.

Mặt khác, bạn có thể xem xét thay thế bộ chuyển đổi A / D bằng bộ vi điều khiển. DSPIC 30F4013 có thể là một lựa chọn tốt ở đó. 13 kênh A / D 12 bit, cộng với CANbus.

Thay phiên, tôi nghĩ rằng bạn có thể chuyển đổi SPI sang / từ các giao thức điện áp khác biệt như RS-485. Nhưng tôi sẽ không biết đủ về điều đó để bình luận một cách thông minh.


Cảm ơn câu trả lời của bạn. Tôi đã xem xét CAN, nhưng cuối cùng, tôi không chắc có đủ không gian cho các thành phần. Nếu có bất kỳ bộ thu phát CAN nhỏ nào có sẵn, thì có thể là có thể. Những cái nhỏ nhất tôi có thể tìm thấy dường như là SOIC 8.
Rocketmagnet

2
!! Khi bạn nói không gian hạn chế, bạn có nghĩa là nó! Bạn có thể kiểm tra câu trả lời này: Electronics.stackexchange.com/a/30596/7523 Rõ ràng, bạn MIGHT có thể thoát khỏi việc không sử dụng bộ thu phát trong trường hợp này. Tôi chắc chắn sẽ quan tâm để biết nếu bạn có thể!
Stephen Collings

3
Heh. Kiểm tra tên trên câu trả lời mà bạn liên kết đến.
Rocketmagnet

1
Vì vậy, điều tôi nói về tôi không biết đủ để bình luận một cách thông minh? Vâng.
Stephen Collings
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.