Những vấn đề có thể xảy ra khi xâu chuỗi 40 thanh ghi thay đổi?


16

Tôi đang lên kế hoạch kết nối các thanh ghi thay đổi 40 x 74HC595 . Toàn bộ chuỗi 74HC595s sẽ được điều khiển bởi một vi điều khiển 5 V, mà sẽ tạo ra SDI, CLOCKLATCHtín hiệu.

Mỗi thanh ghi thay đổi và vi điều khiển sẽ có PCB riêng, như được minh họa trong sơ đồ bên dưới:

biểu đồ

Do các ràng buộc cơ học, khoảng cách giữa mỗi thanh ghi thay đổi sẽ vào khoảng 30 cm (12 in), do đó tín hiệu điều khiển sẽ truyền dọc theo một khoảng cách của aprox. 12 m (40 ft). Bên cạnh đó, toàn bộ hệ thống sẽ được gắn trong môi trường rất ồn (gần đèn huỳnh quang, dây điện, v.v.)

Mối quan tâm của tôi là các tín hiệu điều khiển sẽ rất nhiễu và các thanh ghi thay đổi có thể xuất ra những thứ sai. Tôi đã suy nghĩ về:

  • Sử dụng IC đệm trên mỗi bảng, để đệm các tín hiệu điều khiển. Bạn muốn giới thiệu cái nào?
  • Sử dụng cáp được che chắn giữa các bảng cho tín hiệu
  • Giảm CLOCKtần số càng nhiều càng tốt. Tôi chỉ cần cập nhật nội dung của người đăng ký một vài lần một ngày.

Là những giải pháp trên là một điều tốt để làm? Tôi có thể làm gì khác để giảm nhiễu (tiềm năng) trong dây tín hiệu ở mức tối thiểu?


3
Điều này có vẻ như là một ứng cử viên tuyệt vời cho một CPLD thay cho 40 thanh ghi ca.
Joel B

2
@JoelB Nghe có vẻ phù hợp với CPLD, nhưng điều đó có nghĩa là có tín hiệu 320 (= 40 * 8) đi từ bảng chính (CPLD) đến mọi nơi. Nó sẽ rất khó cài đặt, trong trường hợp của tôi, trong môi trường đó; và nó sẽ rất khó để duy trì. Ngoài ra, các tín hiệu, mặc dù ngắn hơn, chúng vẫn sẽ bị nhiễu.
m.Alin

1
@Joel - Digikey chỉ liệt kê một vài CPLD với 320 I / O, và tất cả chúng đều là các BGA. Chúng cũng đắt hơn 40 '595 và như m.Alin nói rằng bạn không có lợi thế của các tín hiệu phân tán. Từ quan điểm logic, đây là một công việc hoàn hảo cho một CPLD, từ thực tế ít hơn như vậy.
stevenvh

2
@ m.Alin - Bạn hoàn toàn đúng. Tôi chỉ đọc 40 thanh ghi ca và gõ CPLD. Sau khi đọc kỹ câu hỏi, bạn đang làm nó có ý nghĩa như thế nào.
Joel B

Câu trả lời:


14

Sử dụng bộ đệm kích hoạt Schmitt ở đầu vào của mỗi bảng. Ví dụ, chúng sẽ dọn sạch các tín hiệu để bất kỳ nhiễu nào sẽ không tạo ra xung giả trên đồng hồ. Các 74LVC3G17 là một triple không đảo ngược đệm.

Ngoài ra, chuyển các tín hiệu đệm vào bảng tiếp theo. Nếu không, tất cả các đầu vào sẽ song song và bạn có thể vượt quá quạt ra của vi điều khiển lái xe (tôi đặc biệt nghĩ đến tổng tải điện dung). Chuỗi tín hiệu đồng hồ và chốt đồng hồ sẽ tạo ra độ trễ gợn trong toàn chuỗi, nhưng dữ liệu cũng sẽ làm như vậy và dù sao bạn cũng có kế hoạch đi với tốc độ thấp.


1
@ m.Alin - Vâng, một giai đoạn đẩy kéo sẽ ổn. Nhưng tôi thực sự muốn giới thiệu bộ đệm, không chỉ cho khả năng của ổ đĩa, mà đặc biệt là độ trễ của bộ kích hoạt Schmitt , sẽ tránh các xung đồng hồ sai gây ra bởi nhiễu xung quanh ngưỡng.
stevenvh

2
@Saad - Ý bạn là bộ đệm truyền tín hiệu đến cáp? Điều tốt là sau đó nó sẽ cung cấp một trở kháng thấp làm giảm tiếng ồn. Nhưng nếu có sẽ được tiếng ồn ở phía bên nhận bạn không thể làm bất cứ điều gì về nó ở phía bên gửi. Vì vậy, đó là máy thu cần có khả năng chống ồn tốt, mà bộ kích hoạt Schmitt cung cấp.
stevenvh

1
@Saad - Có, nhưng trong trường hợp này có vẻ quá mức: dây chỉ dài 30 cm và bạn đã có bộ lặp / bộ đệm trên mỗi bảng rồi.
stevenvh

1
@stevenvh Vâng, tôi đã nói chung. Bài viết của bạn có rất nhiều thông tin và tôi hầu như luôn học được điều gì đó mới! Trong trường hợp này, tôi có bộ đệm trên bảng điều khiển kết nối với cáp kết nối với 'bảng con gái'. Tôi không mong đợi nhiều tiếng ồn, vì vậy tôi có thể ở lại với sự sắp xếp của tôi. Tôi chỉ có bộ đệm ở đó để nguồn của tôi không kết thúc việc điều khiển 8 thiết bị (với điện dung đầu vào 8pF + điện dung theo dõi và cáp).
Saad

1
@Saad - Cảm ơn những bông hoa! :-) Để mắt đến điện dung của cáp, đặc biệt nếu nó dài hơn một mét hoặc quá lâu. Quy tắc ngón tay cái: 100 pF / m, nhiều hơn nhiều so với điện dung đầu vào.
stevenvh

9

Vấn đề có thể xảy ra là một số đồng hồ SR trước đồng hồ SR tiếp theo, do đó SR tiếp theo sẽ đồng hồ sai dữ liệu. Một giải pháp (tiêu chuẩn?) Cho việc này là nối dây đồng hồ bắt đầu từ SR cuối cùng.

Tôi sẽ xem xét thêm một bộ đệm (schmit-trigger?) Ở mỗi bảng cho cả 3 đường tín hiệu.

(chỉnh sửa) Giảm tần số đồng hồ sẽ không giúp ích (trừ khi quá cao để bắt đầu). Các vấn đề bạn có thể xảy ra ở các cạnh đồng hồ, dù sao bạn cũng sẽ gặp phải, bất kể bạn chọn tần số đồng hồ thấp đến mức nào.


8

Vấn đề lớn nhất khi các thanh ghi dịch chuyển chuỗi là đảm bảo rằng mối quan hệ thời gian giữa đồng hồ được sử dụng bởi mỗi bảng sử dụng để nhận dữ liệu và thay đổi dữ liệu từ bảng trước đó là có thể dự đoán được. Thực tế là đầu ra của 74HC595 thay đổi trên cùng một cạnh với đồng hồ là một chút khó chịu về vấn đề đó. Tôi sẽ đề nghị rằng tín hiệu đồng hồ nên được đệm khi nó đi qua mỗi bảng và tín hiệu dữ liệu phát ra từ 74HC595 của một bảng nên được đặt qua một bộ đệm sẽ trì hoãn nó lâu hơn một chút so với bộ đệm đồng hồ.

Ngoài ra, bạn có thể sử dụng một thanh ghi thay đổi như 74HC4094 có sự thay đổi đầu ra dữ liệu của nó trên cạnh đồng hồ rơi hoặc bạn có thể thêm một cú lật giữa đầu ra của 74HC595 cuối cùng trên bảng và bảng tiếp theo, và lật nó chốt đầu ra của nó trên cạnh rơi của đồng hồ điều khiển 74HC595 (có lẽ chuyển đồng hồ qua hai bộ biến tần để đệm nó và đưa tín hiệu đồng hồ đảo ngược đến flip flop).

Nếu số lượng đầu ra 74HC595 bạn sẽ sử dụng ít hơn một (hoặc nhiều hơn) số lượng được cung cấp bởi chip của bạn (ví dụ: trên một bảng có hai 74HC595, bạn thực sự chỉ cần 15 đầu ra), bạn có thể cung cấp 74HC595 cuối cùng trên một bảng với một đồng hồ được đảo ngược so với các đồng hồ khác, nhưng điều đó sẽ khiến bạn phải sử dụng một đầu ra 74HC595 cho mỗi lần tín hiệu đi qua giữa đồng hồ không đảo ngược 74HC595 và đồng hồ ngược 74HC595.

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.