Tôi đang sử dụng bộ điều khiển vi mô MSP430FR2633 và ADS122C04IPWR trên I2C với tốc độ 100kHz.
Tôi có thể định tuyến các đường I2C qua vias trong PCB 2 lớp không?
Tôi đang sử dụng bộ điều khiển vi mô MSP430FR2633 và ADS122C04IPWR trên I2C với tốc độ 100kHz.
Tôi có thể định tuyến các đường I2C qua vias trong PCB 2 lớp không?
Câu trả lời:
Ở tốc độ I2C, vias sẽ khiến bạn hoàn toàn không gặp vấn đề gì.
Ít nhất, không có vấn đề về điện trở theo dõi, điện dung hoặc điện cảm. Tuy nhiên, nếu bạn có một bảng 2 lớp, thì việc sử dụng cả hai lớp được thực hiện tốt nhất một cách có hệ thống, nếu không bạn có thể dẫn mình vào các vấn đề.
Những gì nhiều người làm là để dành một lớp của một bảng để mặt đất. Điều này thường hoạt động tốt, UNTIL họ bắt đầu cắt xén với 'chỉ một bản nhạc' chạy trên lớp khác. Khi bản nhạc này được nối bởi 'chỉ một cái khác' và một bản nhạc khác, mặt đất cuối cùng trông giống như một bức màn ren. Nó không thực hiện công việc của mình và rất khó để xác định vị trí và cách gắn kết lại với nhau, đặc biệt nếu bạn không có kinh nghiệm. Thậm chí tệ hơn, một số người sẽ định tuyến tất cả các tuyến đường, sau đó thực hiện 'đổ đồng', với hy vọng điều này tạo ra một mặt phẳng tốt.
Nếu bạn đang sử dụng 2 lớp cho tín hiệu, thì tốt hơn hết là bắt đầu với một kế hoạch. Sử dụng sắp xếp theo dõi 'Manhattan', phía đông-tây trên một lớp, phía bắc-nam trên một lớp. Bắt đầu với một 'mặt đất có lưới', đặt các rãnh song song cứ sau 10 mm hoặc hơn và qua chúng ở mọi ngã tư. Điều này hoạt động gần như một mặt phẳng mặt đất, và ở tốc độ I2C là hoàn toàn tốt. Bây giờ bạn có một cách có hệ thống để chạy một đường đua từ bất cứ đâu, đến bất cứ đâu và có thể nhảy sang phía bên kia của bảng chính xác nơi bạn cần, mà không làm ảnh hưởng đến tính liên tục mặt đất hiện có.
Một cách khác là sử dụng mặt phẳng mặt đất, nhưng để tránh cắt nó lên bằng cách ở trên lớp tín hiệu của bạn cho tất cả các tín hiệu. Băng qua đường bằng cách vượt qua theo dõi dưới các thành phần. Bạn có thể mua điện trở 'zero ohm' cho mục đích này, mặc dù điện trở 1 hoặc thậm chí 10 ohm sẽ tốt như dây ở mức kháng I2C.
Không nên là một vấn đề. Chúng tôi đang sử dụng vias trên I²C đang chạy tới 800 kHz mà không gặp vấn đề gì.
Điều tồi tệ nhất tôi đã thấy là một điều tồi tệ thông qua, điều này đã tạo ra một loạt kháng cự trong dòng I²C. Điều đó ảnh hưởng đến tốc độ quay của bảng rất tệ đến mức giao tiếp I²C không thành công. Nhưng đó là trên một bảng nguyên mẫu và cho đến nay chưa bao giờ xảy ra trên một bảng sản xuất.
100kHz là khá dễ dàng để di chuyển xung quanh. Thiết bị của chúng tôi có các EEPROM được gắn trong một phần có thể thay thế của khách hàng trong hệ thống, do đó những thay đổi về hiệu chuẩn khi phần đó được thay thế sẽ được bộ điều khiển tự động đọc. Các dây cáp cho việc này có thể dài hàng mét, và cho đến nay nó vẫn hoạt động tốt. Phải thừa nhận rằng chúng ta có cáp điện dung thấp, tuy nhiên, PCB thông qua không phải là vấn đề lớn.
Lưu ý rằng mặc dù 100kHz là tần số chuẩn I2C ban đầu, nó không phải là kết thúc của câu chuyện. I2C "Chế độ nhanh" cho phép lên tới 400kHz, "Chế độ nhanh Plus" cho phép lên tới 1 MHz và "Chế độ tốc độ cao" cho phép lên tới 3,4 MHz. Nhìn vào biểu dữ liệu, bộ DAC của bạn hỗ trợ "Fast Mode Plus" lên đến 1 MHz. Chừng nào bạn còn ở mức 100kHz thì về cơ bản bạn có thể làm bất cứ điều gì bạn muốn vì nó không đủ nhanh để quan trọng, nhưng nếu bạn có thể muốn đi nhanh hơn trong tương lai thì bạn nên điều tra các quy tắc thiết kế để có tín hiệu số nhanh hơn.
Điều đó nói rằng, bản thân DAC chỉ có thể quản lý 2K mẫu mỗi giây. Đối với một bộ xử lý 24 bit cộng với chi phí I2C liên quan, việc truyền dữ liệu sẽ chỉ chiếm khoảng 70-80% băng thông trên một liên kết 100kHz. Nếu bạn có nhiều DAC trên cùng một liên kết I2C thì bạn có thể muốn sử dụng một liên kết nhanh hơn để phục vụ tất cả chúng, nhưng nếu bạn chỉ có một DAC duy nhất thì bạn không có lý do gì để đi nhanh hơn 100kHz.