Cân nhắc chấm dứt xe buýt SPI


22

Vì vậy, trong câu hỏi trước đây của tôi, tôi đã hỏi về việc sử dụng xe buýt SPI trên quãng đường ngắn để lên tàu để liên lạc. Tôi đã được đề nghị để thử điện trở chấm dứt. Tôi đặt một điện trở gần điểm đến (nhưng không chính xác ở đó, có khoảng cách 1 cm) và nối đất [vì đây là một bảng không có dấu chân điện trở kết thúc, tôi phải ứng biến. Tôi không thể hàn điện trở vào thiết bị vì nó là TQFP và có các chân tinh tế.]

Từ một số thử nghiệm cơ bản, tôi thấy rằng điện trở 1K hầu như không làm giảm quá mức. 470 Ohms và 180 Ohms hoạt động tốt hơn. Tôi càng đi thấp, nó càng hoạt động tốt. Với 180 Ohms, phần vượt quá khoảng một volt hoặc thấp hơn một chút. Bây giờ, thật không may, tôi không thể đi xuống nhiều hơn thế bởi vì hiện tại nhiều hơn MCU của tôi có thể xử lý. Tôi đã khắc phục vấn đề, trên bản sửa đổi hiện tại của hội đồng quản trị, bằng cách sử dụng điện trở 330 Ohm trong loạt. Điều này mang lại sự vượt mức lên 3,7 V và thời gian tăng là 10 hoặc 11 ns. Nhưng tôi thực sự muốn một giải pháp 'phù hợp' trong lần sửa đổi tiếp theo. Yêu cầu tần số của tôi giữ nguyên: 2 MHz nhưng thích 4 MHz.

Vì vậy, tôi cảm thấy tôi nên hỏi ở đây: trong lần sửa đổi tiếp theo của hội đồng quản trị, tôi có nên đặt bộ đệm mạnh mẽ trên các dòng không? Tìm bộ đệm không thực sự là một vấn đề nhưng khả năng rút thăm hiện tại sẽ tăng đáng kể - Tôi có 8 thiết bị trên SPI cần kết thúc và 3 dòng luôn hoạt động. Một ví dụ, SCK đi đến tất cả 8 thiết bị. Mỗi thiết bị sẽ có điện trở kết thúc 100 Ohm. Vì vậy, đó là một trận hòa hiện tại là 12 * 3,3 / 100 = 390 mA!

Vì vậy, cách tốt nhất ở đây là gì? Tôi có nên sử dụng 'chấm dứt hoạt động' bằng cách sử dụng điốt Schottky làm kẹp không?

EDIT: Về trở kháng đường truyền: Như tôi đã đề cập trước đây, ý định là kết nối 4 bảng ngoài. Khoảng cách từ pad đến pad là giống nhau cho tất cả (12 inch). Tuy nhiên, cũng có những thiết bị trên cùng một bảng với MCU - nhưng những thiết bị này không cần kết thúc - độ dài khoảng một inch (hoặc ít hơn) và có rất ít độ vọt lố (300 hoặc mV). Các dấu vết đi đến bảng bên ngoài là thô cùng chiều dài và chiều rộng. Lớp thứ 2 trên bảng của tôi là một mặt phẳng không bị vỡ.


Một phương pháp phổ biến là đặt một điện trở nối tiếp phù hợp với trở kháng đường truyền. Hãy thử một cái gì đó như chấm dứt nối tiếp 50ohm. Nó sẽ giúp ích nếu bạn thiết kế các dấu vết và kết nối của mình thành một trở kháng cố định. Hãy thử chấm dứt nối tiếp thấp hơn và xem những gì bạn tìm thấy. Ông đề nghị chấm dứt mặt đất 32 ohms, bạn thực sự có thể làm điều này với công suất thấp hơn nhiều, công suất thấp hơn 3dB, bằng cách đặt 64 ohm cho đường ray điện và 64ohm cho đường ray mặt đất.
Kortuk

@Kortuk Một điện trở 32 Ohm, thật không may, đã không làm giảm quá mức đáng kể. Tuy nhiên, dấu chân cũng ở sai vị trí (nó không bao giờ có ý định là kẻ hủy diệt) và không phải ở nguồn, vì vậy có thể tôi không chắc chắn. Về trở kháng dòng, tất cả các dòng có, đại khái, cùng chiều dài và chiều rộng. Tất cả đều chạy trên mặt đất hoàn chỉnh một mặt phẳng, nằm trên lớp thứ hai.
Saad

1
Chấm dứt hàng loạt là tại nguồn, nếu bạn đặt nó ở tải thì nó không làm gì cả. Hãy thử đặt 50ohm ngay tại nguồn của bạn theo chuỗi để xem ảnh hưởng.
Kortuk

Bạn có thể nghĩ về nó như stevenvh mô tả, có toàn bộ đường dây hoạt động như một tụ điện và điện trở đó hoạt động như R với nó cho một đường chuyền thấp, nếu bạn nghĩ về nó như một mô hình gộp. Một điện trở phù hợp ở đó nếu bạn nhìn vào mô hình đường truyền có nghĩa là bạn có một nửa truyền sóng biên độ và sau đó khi nó chạm vào đầu kia và phản xạ nó va chạm với giá trị đầy đủ.
Kortuk

Câu trả lời:


32

Nói về việc chấm dứt tín hiệu giống như mở một lon giun. Đây là một chủ đề HẤP DẪN rất khó để tóm tắt chỉ trong vài trăm từ. Vì vậy, tôi sẽ không. Tôi sẽ để lại một số lượng lớn các công cụ ra khỏi câu trả lời này. Nhưng tôi cũng sẽ đưa ra một cảnh báo lớn: có nhiều thông tin sai lệch về việc chấm dứt điện trở trên mạng. Trên thực tế, tôi sẽ nói rằng hầu hết những gì tìm thấy trên mạng là sai hoặc gây hiểu nhầm. Một ngày nào đó tôi sẽ viết một cái gì đó lớn và đăng nó lên blog của tôi, nhưng không phải hôm nay.

Điều đầu tiên cần lưu ý là giá trị điện trở được sử dụng để chấm dứt của bạn phải liên quan đến trở kháng theo dõi của bạn. Hầu hết thời gian giá trị điện trở giống như trở kháng theo dõi của bạn. Nếu bạn không biết trở kháng dấu vết là gì thì bạn nên tìm ra nó. Có rất nhiều máy tính trở kháng trực tuyến có sẵn. Một tìm kiếm Google sẽ đưa ra hàng tá hơn.

Hầu hết các dấu vết PCB có trở kháng từ 40 đến 120 ohms, đó là lý do tại sao bạn thấy rằng điện trở kết thúc 1k hầu như không làm gì và điện trở 100 ish ohm tốt hơn nhiều.

Có nhiều loại chấm dứt, nhưng chúng ta gần như có thể đặt chúng thành hai loại: chấm dứt nguồn và kết thúc. Chấm dứt nguồn là ở trình điều khiển, chấm dứt là ở cuối xa. Trong mỗi loại, có nhiều loại chấm dứt. Mỗi loại là tốt nhất cho các mục đích sử dụng khác nhau, không có loại nào tốt cho mọi thứ.

Sự chấm dứt của bạn, một điện trở duy nhất tiếp đất ở phía xa, thực sự không phải là rất tốt. Trên thực tế, đó là sai. Mọi người làm điều đó, nhưng nó không lý tưởng. Lý tưởng nhất là điện trở sẽ đi đến một đường ray điện khác ở một nửa đường ray điện của bạn. Vì vậy, nếu điện áp I / O là 3,3v thì điện trở đó sẽ không đi đến GND, mà là một đường ray công suất khác ở một nửa của 3,3v (còn gọi là 1,65v). Bộ điều chỉnh điện áp cho đường ray này phải đặc biệt bởi vì nó cần nguồn dòng điện chìm, trong đó hầu hết các bộ điều chỉnh chỉ có dòng điện. Các bộ điều chỉnh hoạt động cho việc sử dụng này sẽ đề cập đến một cái gì đó về việc chấm dứt trong trang đầu tiên của biểu dữ liệu.

Vấn đề lớn với hầu hết sự chấm dứt là chúng tiêu thụ rất nhiều dòng điện. Có một lý do cho việc này, nhưng tôi sẽ không đi sâu vào nó. Để sử dụng dòng điện thấp, chúng ta phải xem xét chấm dứt nguồn. Hình thức chấm dứt nguồn dễ dàng và phổ biến nhất là điện trở nối tiếp đơn giản ở đầu ra của trình điều khiển. Giá trị của điện trở này giống như trở kháng theo dõi.

Chấm dứt nguồn hoạt động khác với chấm dứt kết thúc, nhưng hiệu ứng ròng là như nhau. Nó hoạt động bằng cách kiểm soát phản xạ tín hiệu, không ngăn chặn phản xạ ở nơi đầu tiên. Bởi vì điều này, nó chỉ hoạt động nếu đầu ra trình điều khiển đang cho một tải. Nếu có nhiều tải thì nên thực hiện một số thứ khác (như sử dụng điện trở kết thúc hoặc nhiều điện trở kết thúc nguồn). Lợi ích to lớn của việc chấm dứt nguồn là nó không tải xuống trình điều khiển của bạn giống như chấm dứt cuối cùng.

Tôi đã nói trước rằng điện trở nối tiếp của bạn để kết thúc nguồn phải được đặt tại trình điều khiển và nó phải có cùng giá trị với trở kháng theo dõi của bạn. Đó là một sự đơn giản hóa. Có một chi tiết quan trọng để biết về điều này. Hầu hết các trình điều khiển có một số kháng trên đầu ra của nó. Mức kháng cự đó thường nằm trong phạm vi 10-30 ohm. Tổng điện trở đầu ra và điện trở của bạn phải bằng trở kháng theo dõi của bạn. Giả sử rằng dấu vết của bạn là 50 ohms và trình điều khiển của bạn có 20 ohms. Trong trường hợp này, điện trở của bạn sẽ là 30 ohms kể từ 30 + 20 = 50. Nếu datasheets không cho biết trở kháng / trở kháng đầu ra của trình điều khiển là gì thì bạn có thể giả sử nó là 20 ohms-- sau đó nhìn vào các tín hiệu trên PCB và xem có cần điều chỉnh không.

Một điều quan trọng khác: khi bạn nhìn vào các tín hiệu này trên phạm vi o bạn phải thăm dò máy thu. Thăm dò bất cứ nơi nào khác có thể sẽ cung cấp cho bạn một dạng sóng bị bóp méo và lừa bạn nghĩ rằng mọi thứ tồi tệ hơn thực tế. Ngoài ra, hãy chắc chắn rằng clip mặt đất của bạn càng ngắn càng tốt.

Kết luận: Chuyển sang chấm dứt nguồn với điện trở 33 đến 50 ohm và bạn sẽ ổn. Hãy cẩn thận thông thường áp dụng.


David, cảm ơn bạn rất nhiều cho một câu trả lời đầy đủ. Tất cả đều có ý nghĩa hoàn hảo nhưng tôi nghĩ có thêm một sự phức tạp trong hệ thống của tôi - các dòng SPI đi từ bảng này sang bảng khác. Vì vậy, việc ước tính trở kháng đường truyền có thể khó khăn - các dải tín hiệu trong khoảng 3 "trên bo mạch chính, đi qua cáp ruy băng 6" và sau đó di chuyển dọc theo dấu vết 3 "cho đến khi đến đích. mặt đất (như SCK, GND, MOSI, GND, v.v.). Đề xuất 30-20 Ohm của bạn có còn tồn tại không?
Saad

@Saad Điều tôi đã làm trong những trường hợp như thế (và tôi đã làm điều này rất nhiều) là sử dụng một điện trở duy nhất ở trình điều khiển và điều chỉnh giá trị của nó sau khi nguyên mẫu được chế tạo. Đó là một sự thỏa hiệp, nhưng nó hoạt động. Tôi thực sự có một số hệ thống hiện đang chạy SPI trên 1 feet cáp với 3-6 inch dấu vết trên mỗi PCB. Một số trong số đó đang chạy ở 30 MHz! Có, bắt đầu với 33 hoặc 47 ohms và điều chỉnh từ đó.

3
Đã có +1, nhưng một sơ đồ chỉ ra cách kết nối chấm dứt nguồn (nghĩa là trong chuỗi, không phải từ đường thẳng đến mặt đất) sẽ rất hữu ích.
Photon

16

Vì bạn đang đi một quãng ngắn, tôi không nghĩ điện trở kết thúc là một ý tưởng hay. Như bạn đã tìm thấy, chúng phải khá thấp để thực hiện công việc, và sau đó đường dây rút ra rất nhiều dòng điện và điện áp bị suy giảm bởi 2 nếu bạn cũng lái dòng có cùng trở kháng.

Tốc độ xung nhịp của bạn không cao lắm, vì vậy tần số bạn cần để hỗ trợ tốc độ bit 4 MHz thậm chí không phải là tần số gây ra sự cố. Vấn đề là bạn có các cạnh nhanh khi điều khiển các đường dây, có sóng hài trong 100 MHz, gây ra sự cố. Ở tần số mong muốn của bạn, bạn có một hệ thống gộp, không phải là đường truyền. Điều này làm cho mọi thứ dễ dàng hơn đáng kể.

Do đó, giải pháp là giảm tần số cao mà bạn không thực sự cần nhưng gây ra sự cố. Điều này có thể được thực hiện với bộ lọc thông thấp RC đơn giản ngay lập tức sau bất cứ thứ gì điều khiển một dòng. Đây là một phần những gì các điện trở 330 are đang làm. Chúng tạo thành một bộ lọc thông thấp với điện dung ký sinh của dòng. Rõ ràng điều đó là không đủ và / hoặc không đủ dự đoán. Điều này có thể được cố định với một số điện dung có chủ ý trên mỗi dòng.

Bạn muốn chạy bus ở 4 MHz, có nghĩa là tín hiệu nhanh nhất cần hỗ trợ là sóng vuông 4 MHz. Điều đó có nghĩa là độ dài của mỗi cấp là 125 ns. Giả sử chúng ta muốn có ít nhất 4 hằng số thời gian, hàm ý thời gian giải quyết 98%. Điều đó có nghĩa là hằng số thời gian tối đa chúng tôi muốn cho phép là 31 ns. 31ns / 330Ω = 94 pF. Đó là tổng tải trên các điện trở sê-ri 330 mà bạn cần để có được hằng số thời gian 31 ns. Sẽ luôn có một số điện dung ký sinh mà bạn không thể dự đoán, vì vậy tôi sẽ thấy mọi thứ trông như thế nào với 47 pF. Điều đó khiến không gian cho 10-20 pF điện dung ẩn trong khi không vượt quá hằng số thời gian tối đa cho phép của chúng tôi.

Các điện trở nối tiếp phải càng gần càng tốt với tất cả các chân điều khiển xe buýt. Điều này giả định rằng tất cả các chân khác trên xe buýt sẽ là đầu vào CMOS khi một người đang lái xe. Đối với các dòng chỉ được điều khiển bởi một pin duy nhất (như dòng đồng hồ, chỉ được điều khiển bởi chủ), hãy đặt 47 pF càng gần càng tốt sau khi điện trở. Đối với các dòng có thể được điều khiển bởi các chân khác nhau tại các thời điểm khác nhau (như MISO), hãy đặt 47 pF ở đâu đó gần giữa tất cả các trình điều khiển. Mỗi dòng chỉ nhận được một tụ 47 pF duy nhất cho dù có bao nhiêu trình điều khiển, nhưng có một điện trở cho mỗi trình điều khiển.

Các tính toán ở trên có nghĩa là một hướng dẫn tốt để bắt đầu. Một số thông số không thể được biết và do đó chiếm trước. Bắt đầu với 330 trong loạt và 47 pF xuống đất, nhưng đừng ngại thay đổi mọi thứ dựa trên kết quả quan sát thực tế.


2

Trong trường hợp không có bất kỳ sự chấm dứt nào, khi tín hiệu được gửi từ nguồn trở kháng rất thấp đến máy thu có trở kháng rất cao, tín hiệu sẽ bị dội lại liên tục; pha của tín hiệu sẽ được lật 180 độ trên mỗi chuyến đi khứ hồi.

Nếu một người không muốn có tín hiệu phản xạ khi họ đến đích, người ta có thể sử dụng kết thúc. Điều này sẽ khiến tín hiệu được hấp thụ sạch tại điểm đến mà không bị phản xạ, nhưng nhiều triển khai phổ biến sẽ khiến nguồn nhìn thấy tải DC đáng kể.

Trong nhiều trường hợp, người ta có thể đạt được kết quả thực sự hữu ích nếu thay vào đó người ta đặt một điện trở nối tiếp vào nguồn tín hiệu. Nếu không có máy thu ở cuối dòng, tín hiệu sẽ được phản xạ khi đến đó, nhưng bất kỳ phản xạ nào như vậy sẽ được nguồn hấp thụ thay vì phản xạ lại. Cũng lưu ý rằng việc chấm dứt nguồn không áp đặt tải DC lên thiết bị điều khiển đường truyền.

Trong trường hợp không kết thúc, nếu một dòng được điều khiển bởi trở kháng thấp và nhận được với trở kháng cao, thiết bị nhận có thể thấy điện áp cao hơn điện áp lái xe (về lý thuyết, lên đến hai lần điện áp, nếu trở kháng lái xe nguồn không và trở kháng nhận là vô hạn). Nếu nguồn hoặc bộ thu được kết thúc đúng cách, điện áp nhận sẽ gần bằng với điện áp ổ đĩa (nếu nguồn có trở kháng bằng 0 đang điều khiển máy thu có trở kháng đúng hoặc nguồn có trở kháng thích hợp đang điều khiển máy thu có trở kháng vô hạn, điện áp nhận được sẽ bằng điện áp ổ đĩa). Nếu cả hai được kết thúc đúng, điện áp nhận sẽ bằng một nửa điện áp ổ đĩa.

Các mô phỏng ở đây chứng minh điều này. Nó bao gồm một bộ tạo xung tạo ra chuỗi xung khoảng 49 lần mỗi giây, hai dòng trễ 5ms nối tiếp (thời gian khứ hồi 1/50 giây) và điện trở kết thúc có thể chuyển đổi ở cả hai đầu.

Mạch bao gồm ba công tắc SPDT; bấm vào một để thay đổi trạng thái của nó. Hai công tắc dưới kiểm soát nguồn và chấm dứt đích. Đối với những người, "lên" đại diện cho chấm dứt tốt và "xuống" đại diện cho xấu. Công tắc trên kiểm soát xem dòng nên được điều khiển bởi một bộ tạo xung tự động hay bởi một đầu vào logic thủ công. Để gửi xung xuống theo cách thủ công, hãy chuyển công tắc phía trên "xuống", rồi bấm "L" bên cạnh nó.

Các tín hiệu đạt đến đích sẽ sạch nếu một trong hai nguồn hoặc đích chấm dứt đúng cách. Nếu cả hai được kết thúc đúng, điện áp tín hiệu nhận được sẽ bằng một nửa điện áp ổ đĩa. Nếu một cái được kết thúc đúng nhưng cái kia thì không, điện áp nhận được sẽ bằng khoảng 91% điện áp ổ đĩa (điện trở "xấu" bị "sai" bởi hệ số mười, và do đó không thể hấp thụ khoảng (10/11) của năng lượng). Nếu không kết thúc, điện áp nhận được ban đầu sẽ bằng khoảng 1,656 lần điện áp ổ đĩa, nhưng phản xạ kỳ lạ sẽ xuất hiện cứ sau 20ms.


1

Hãy thử kết thúc AC (ví dụ: tụ điện 470 pF nối tiếp với điện trở 110 Ohm) và kết nối chuỗi kết hợp này từ đầu ra của đích Đồng hồ SPI xuống đất. Việc chấm dứt sẽ rút ra khoảng 30 mA cho độ dài của thời gian cạnh một cái gì đó nó có thể dễ dàng thực hiện, nhưng không có dòng điện nào khác. Đối với dòng dữ liệu hai chiều, nó trở nên khó khăn hơn một chút. Tôi đặt một kết thúc AC 470 pF, 220 Ohm trên cả đầu cuối chính và phụ của dòng dữ liệu SPI và nó hoạt động, nghĩa là vượt quá mức chấp nhận được và dưới mức.

Tôi hoan nghênh ý kiến ​​về điều này.


0

Không đi quá sâu vào chi tiết như các bài viết trước nhấn đinh trên đầu. Nó đi xuống SPI là dòng không cân bằng. Ngay cả khi bạn có tần số xung nhịp thấp, các cạnh đồng hồ ns nhanh vẫn cần được tôn trọng. Trong trường hợp của tôi đã tìm thấy một điện trở 470 ohm nối tiếp với dòng SPI CLK ở phía Master. Loại bỏ điện trở đó và triển khai giải pháp được đề xuất cho các đường không cân bằng từ Lattice và các đề xuất được đăng ở trên (tôi chỉ có thể thực hiện một nửa giải pháp từ phía Slave, điều chỉnh các nắp bộ lọc phù hợp) Tôi có thể kéo dài độ dài của cáp băng SPI 10cm đến 160cm không có lỗi comms:

Cải thiện khả năng chống ồn cho giao diện nối tiếp : Sách trắng bán dẫn mạng (tháng 7 năm 2014)

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.