Bộ ghép kênh lớn / Bộ chọn dữ liệu


10

Tôi đang tìm kiếm một IC ghép kênh có đầu vào 128: 1 trở lên (256 sẽ khá đẹp). Tôi đã nghĩ rằng một thiết bị như vậy sẽ khá phổ biến nhưng tôi đang gặp khó khăn trong việc định vị nó. Có thể là tôi đang nhìn nhầm chỗ nhưng không hiểu sao tôi nghĩ mình đang thiếu thứ gì đó - có lẽ bộ ghép kênh đầu vào lớn không được sử dụng thường xuyên? Nếu vậy, sự thay thế là gì?

Tối đa. Tôi đã có thể tìm thấy là 74150 đáng tin cậy với 16 đầu vào.

Tôi hiểu rằng tôi có thể xây dựng một bộ ghép kênh lớn bằng cách kết hợp nhiều mux 16 đầu vào - nhưng tôi hy vọng có một giải pháp tích hợp hơn.


Tôi đang thiết kế một mạch có thể kiểm tra các mạch hở và ngắn trong một dây nối ô tô. Một dây nịt thông thường có thể chứa 200 dây hoặc hơn. Hiện tại, mạch sử dụng 16 bộ ghép kênh để xử lý 128 dây.

Bộ ghép kênh được kết nối với bộ ghép kênh 16 đầu vào và lần lượt được kết nối với uC. Tương tự, ở đầu bên kia, có 16 demultiplexers. Các demultiplexers chuyển đổi dây điện áp. Đồng thời, dây này được chuyển sang một trong những đầu vào uC thông qua mux.

Nếu dây ổn, uC sẽ thấy mức cao ở đầu vào của nó. Các uC sau đó kiểm tra tất cả các dây khác. Nếu bất kỳ trong số chúng cao, có nghĩa là có một khoảng ngắn giữa hai dây.

Lưu ý: mạch này không phải do tôi thiết kế. Điều này đã được thực hiện vào năm 2003. Tôi chỉ đang tìm cách cải thiện mạch này. Cũng lưu ý rằng không có bất kỳ dây nối nào có chứa bus dữ liệu CAN hoặc bất kỳ loại bus nào khác. Nó chỉ là dây đơn giản cho năng lượng và tín hiệu.

Đây là một sơ đồ khối rất thô mà tôi đã nhanh chóng thực hiện chỉ cho bài viết này. Tôi hy vọng điều này làm cho vấn đề rõ ràng hơn vì tiếng Anh không phải là ngôn ngữ đầu tiên của tôi và tôi gặp khó khăn khi giải thích mọi thứ qua văn bản. Mặc dù sơ đồ không tốt lắm, tôi hy vọng nó làm cho mọi thứ tốt hơn. Các dòng đi ngược chiều vào demux và mux từ MCU là các dòng địa chỉ.

Lưu ý rằng một trong các dây được chia thành 3. Tôi thực hiện điều này một cách có chủ ý để chỉ ra rằng một số kết nối là một-nhiều và không chỉ một-một. Cái phức tạp nhất tôi từng thấy là một sợi dây được chia thành 60 nút giao. Đây là lý do tại sao demux và mux có các dòng địa chỉ riêng biệt. Các demux có thể ở đầu vào số. 20 trong khi mux có thể chuyển đổi giữa 20,21,22, v.v. Kiểm tra tất cả các dòng được nối từ dòng 20.

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

Nếu bạn cảm thấy có một cách tốt hơn để thiết kế này, xin vui lòng cho tôi biết.


Bạn đang tìm kiếm 128: 1 hay 128 lần 2: 1?
Majenko

128: 1. Xin lỗi tôi quên đề cập. Tôi xin lỗi.
Saad

@saad Kinh nghiệm của tôi đã chỉ ra rằng hầu như mỗi khi ai đó yêu cầu điều đó, đó là vì họ đang làm sai điều gì đó về cơ bản. Tôi đề nghị nêu rõ những gì bạn đang cố gắng thực hiện, hơn là những gì bạn nghĩ giải pháp là. Bằng cách đó, chúng tôi có thể cung cấp cho bạn một giải pháp tốt hơn so với xếp tầng của các mux 16: 1.

@David Kessner, vui lòng xem chỉnh sửa. Tôi thực sự đã hỏi về thiết kế trên trang web này một vài tuần trước nhưng rất ít phản hồi. Sẽ đánh giá cao bất kỳ hình thức trên đầu vào.
Saad

1
Tùy thuộc vào mức độ nhanh chóng, tần suất và mức độ chú ý của một người sẽ chuyển đổi đầu vào, sử dụng bộ ghép kênh xếp tầng có thể dễ dàng định tuyến. Thay vì phải định tuyến 256 tín hiệu đến một điểm trên bảng, người ta có thể định tuyến 16 tín hiệu đến mỗi 16 điểm, định tuyến một tín hiệu từ mỗi điểm đó đến chip 16 đầu vào và định tuyến bốn tín hiệu được chia sẻ đến tất cả bộ ghép kênh. Về lý thuyết, sử dụng một chip sẽ cho phép một tín hiệu nhận được bất kỳ tín hiệu nào trong số 256 tín hiệu từ đầu vào đến đầu ra với một "độ trễ cổng" tương ứng với hai bóng bán dẫn nối tiếp (loại N cho cạnh rơi; P để tăng), nhưng ...
siêu xe

Câu trả lời:


12

Mặc dù một mux / demux khổng lồ chắc chắn sẽ hoạt động, việc kết nối một loạt các mux 16: 1 là rất nhiều công việc, và có một số hạn chế có thể hoặc không phải là một vấn đề. Cách tiếp cận thông thường hơn sẽ là sử dụng các thanh ghi thay đổi. Sử dụng một thanh ghi nối tiếp / song song cho đầu "lái xe" và đầu ra song song / nối tiếp cho đầu cuối nhận. Điều thú vị về các thanh ghi thay đổi là chúng có thể dễ dàng được xâu chuỗi để tạo ra một thanh ghi ca dài hơn. Thanh ghi dịch chuyển 256 bit hoặc thậm chí 1024 bit hoàn toàn không phải là vấn đề. Với một số bộ đệm, luồng nối tiếp thậm chí có thể được truyền qua cáp sang PCB khác (nếu điều đó làm cho việc của bạn dễ thực hiện hơn).

Có rất nhiều 8-bit chip đăng ký thay đổi như 74xx597, nhưng một CPLD là NHIÊU tốt hơn cho việc này. Nhưng bạn không cần một CPLD pin 256+ khổng lồ. Thay vào đó, bạn có thể sử dụng một số CPLD nhỏ hơn và xâu chuỗi chúng lại với nhau. Mặc dù tôi chưa thực hiện được phép toán, nhưng tôi khá chắc chắn rằng việc sử dụng các CPLD cỡ nhỏ đến trung bình sẽ rẻ hơn một CPLD lớn-- và bạn không phải lo lắng về việc của BGA.

CPLD này sẽ khá chuyên sâu Flip-Flop. Điều này có nghĩa là một kiến ​​trúc CPLD bình thường (giống như những gì Xilinx sử dụng) không tốt bằng một thứ gì đó mang tính chất đồ họa cao hơn. Cả Altera và Lattice đều có CPLD với số lượng Flip-Flops trên mỗi đô la nhiều hơn so với những gì Xilinx có.

Mặc dù bạn có thể không có nhiều kinh nghiệm với CPLD, nhưng thiết kế này rất đơn giản và lợi ích của việc sử dụng CPLD là rất lớn. Sẽ rất đáng để bạn dành thời gian tìm hiểu cách lập trình CPLD cho việc này.

Ngoài ra, những lợi thế của việc sử dụng thanh ghi thay đổi thay vì mux không dễ thấy ban đầu. Chủ yếu là bạn có được rất nhiều sự linh hoạt trong cách bạn lái xe và cảm nhận dây. Bạn thậm chí có thể thử nghiệm nhiều khai thác cùng một lúc (nếu bạn có đủ thanh ghi thay đổi). Tất cả mọi thứ bạn có thể kiểm tra với muxes có thể được thực hiện với các thanh ghi thay đổi, nhưng các thanh ghi thay đổi có thể làm nhiều hơn nữa. Mặt trái của các thanh ghi thay đổi là nó chậm hơn, mặc dù nó vẫn sẽ nhanh hơn những gì bạn cần (IE, anh chàng kết nối và ngắt kết nối khai thác sẽ chậm hơn nhiều so với thời gian để kiểm tra các thanh ghi thay đổi).

Tôi cũng nên nói rằng ngay cả khi bạn đang sử dụng CPLD, các thanh ghi thay đổi vẫn dễ dàng hơn so với mux. Điều chính là chúng nhỏ hơn - mặc dù để thấy được lợi thế / bất lợi thực tế, bạn sẽ phải thực sự thiết kế trong cả hai và xem kích thước CPLD bạn cần. Điều này sẽ phụ thuộc khá nhiều vào loại kiến ​​trúc CPLD được sử dụng, do đó, mọi khái quát được thực hiện với Xilinx sẽ không áp dụng cho Altera.

Chỉnh sửa: Dưới đây là chi tiết hơn một chút về cách thực hiện kiểm tra bằng cách sử dụng các thanh ghi thay đổi ...

Để thực hiện kiểm tra, bạn có thể bỏ qua thực tế rằng bạn đang sử dụng các thanh ghi thay đổi và chỉ xem xét rằng dữ liệu được điều khiển trên "kết thúc lái xe" và hy vọng đọc được "kết thúc nhận". Làm thế nào bạn có được dữ liệu ở đó và trở lại (thông qua nối tiếp) phần lớn không liên quan. Điều quan trọng là bạn có thể dữ liệu mà bạn có thể lái xe là hoàn toàn tùy ý.

Dữ liệu mà bạn lái xe được gọi là "vectơ kiểm tra". Dữ liệu mà bạn MỞ RỘNG ĐỌC cũng là một phần của vectơ kiểm tra. Nếu cáp được nối với mối quan hệ 1: 1 thì bạn sẽ mong đợi dữ liệu lái xe và dữ liệu nhận giống như những gì bạn lái. Nếu cáp không phải là 1: 1, thì rõ ràng nó sẽ khác.

Nếu bạn đã sử dụng phương pháp dựa trên MUX, bạn vẫn đang sử dụng các vectơ kiểm tra, nhưng bạn không có quyền kiểm soát đối với loại vectơ kiểm tra. Với Muxes, mẫu được gọi là "Walking Ones" hay "Walking Zeros". Giả sử bạn có cáp 4 chân. Với những người đi bộ, bạn sẽ lái mô hình sau: 0001, 0010, 0100, 1000. Số không đi bộ là như nhau, nhưng ngược lại.

Đối với một bài kiểm tra tính liên tục đơn giản, những người đi bộ / số không hoạt động khá tốt. Tùy thuộc vào cách cáp của bạn được kết nối, có những mẫu khác có thể được thực hiện để tăng tốc độ kiểm tra hoặc để kiểm tra những thứ cụ thể. Ví dụ, nếu một số chân không bao giờ có thể được rút ngắn so với các chân khác thì bạn có thể tối ưu hóa mẫu thử để không nhìn vào các trường hợp đó và do đó chạy nhanh hơn. Đối phó với một cái gì đó không phải là người đi bộ / số không có thể trở nên phức tạp về mặt phần mềm để xử lý.

Phương pháp cuối cùng để tạo các vectơ kiểm tra được thực hiện để kiểm tra JTAG. JTAG, còn được gọi là quét ranh giới, là một sơ đồ tương tự để kiểm tra các kết nối giữa các chip trên PCB (và giữa PCB). Hầu hết các chip BGA sử dụng JTAG. JTAG có các thanh ghi thay đổi trong mỗi chip có thể được sử dụng để lái / đọc từng pin. Một phần mềm phức tạp và đắt tiền nhìn vào danh sách mạng cho PCB và sẽ tạo ra các vectơ thử nghiệm. Một người kiểm tra cáp tinh vi có thể làm điều tương tự-- nhưng đó sẽ là rất nhiều công việc.

May mắn thay, đối với bạn, có một cách RẤT NHIỀU để tạo ra các vectơ thử nghiệm. Đây là những gì bạn làm ... Kết nối một cáp tốt được biết đến với các thanh ghi thay đổi. Chạy mô hình đi bộ / số không qua đầu lái xe. Khi bạn làm điều này, ghi lại những gì nhìn thấy ở đầu nhận. Ở cấp độ đơn giản, bạn chỉ có thể sử dụng nó như các vectơ thử nghiệm của mình. Khi bạn kết nối một cáp xấu và thực hiện cùng một số đi bộ / số không, dữ liệu bạn nhận được sẽ không khớp với dữ liệu bạn đã ghi trước đó - và do đó bạn biết rằng cáp rất tệ. Điều này có một số tên, nhưng tất cả các tên là một số biến thể của thuật ngữ "học", như tự học hoặc tự động học.

Cho đến nay, điều này dễ dàng xử lý trường hợp một chân ở đầu lái xe đi đến nhiều hơn một chân ở đầu nhận, nhưng không xử lý trường hợp khác khi nhiều chân ở đầu lái được kết nối với nhau. Cho rằng bạn cần một số công cụ đặc biệt để ngăn chặn thiệt hại do tranh chấp xe buýt và tất cả các chân đăng ký thay đổi của bạn phải là hai chiều (IE, có chức năng như cả trình điều khiển và bộ thu). Đây là những gì bạn làm:

  1. Đặt một điện trở kéo xuống trên mỗi pin. Một cái gì đó khoảng 20K đến 50k ohms sẽ ổn.

  2. Đặt một điện trở nối tiếp giữa CPLD và cáp. Một cái gì đó khoảng 100 ohms. Điều này là để giúp ngăn chặn thiệt hại từ ESD và các công cụ. Một nắp 2700 pF xuống đất (ở phía chân CPLD của điện trở 100 ohm) cũng sẽ giúp với ESD.

  3. Lập trình CPLD sao cho nó sẽ chỉ truyền tín hiệu cao, không bao giờ lái thấp. Nếu dữ liệu đầu ra của bạn là '0' thì CPLD sẽ ba trạng thái đó và cho phép điện trở kéo xuống để hạ thấp dòng. Theo cách này, nếu một số chân CPLD đang lái cùng một dây trên cáp cao thì sẽ không có thiệt hại nào xảy ra (vì CPLD cũng sẽ không lái cùng một dây thấp).

  4. Mỗi pin là cả một trình điều khiển và người nhận. Vì vậy, nếu bạn có cáp 256 pin thì các thanh ghi thay đổi của bạn sẽ là 512 bit cho trình điều khiển và 512 bit cho bộ thu. Lái xe và nhận có thể được thực hiện trong cùng một CPLD, vì vậy độ phức tạp PCB không thực sự thay đổi vì điều này. Bạn sẽ có 3 hoặc 4 flip-flop cho mỗi chân cáp trong CPLD này, vì vậy hãy lên kế hoạch cho phù hợp.

Sau đó, bạn thực hiện mô hình đi bộ / số không tương tự trong khi so sánh dữ liệu nhận được với dữ liệu đã được ghi lại trước đó. Nhưng bây giờ nó sẽ xử lý tất cả các loại kết nối tùy ý trong dây nịt.


Cảm ơn rât nhiều. Tôi sẽ bắt đầu đọc nhiều hơn về điều này ngay lập tức.
Saad

Tôi đã suy nghĩ về điều này. Bạn đã nói sử dụng SIPO cho đầu lái xe và PISO cho rx. Bây giờ, nếu tôi hiểu chính xác, tôi nên SIPO đến chân đầu ra trên MCU và PISO trên chân đầu vào. Giả sử các dây là tất cả từ một đến một, sau đó tôi nên gửi một số dữ liệu thông qua khai thác và nếu tôi nhận được dữ liệu đó trở lại, thì các dây sẽ vượt qua bài kiểm tra. Đây có phải là một phương pháp hợp lệ? Hơn nữa, tôi nên sửa đổi điều này như thế nào để xử lý các dòng chia thành nhiều hơn 1 ở đầu nhận? Đây có phải là những gì bạn đang đề xuất hoặc tôi hoàn toàn không theo dõi?
Saad

Suy nghĩ nhiều hơn về các dòng này - giả sử chúng ta có 4 dây đầu vào và một trong số đó (thứ 4) chia thành 2 dây. Vì vậy, chúng tôi có 5 dây ở cuối rx. Giả sử chúng ta dịch chuyển các bit 0101, nếu chúng ta nhận lại 01011 thì tất cả các dây đều ổn. Nhưng giả sử bit thứ 3 cao (01111), thì chúng ta biết rằng dây thứ 3 bị ngắn mạch. Nhưng điều này sẽ không cho chúng ta biết dây nào ngắn mạch với nó. Có lẽ cách tốt hơn là chỉ để "1" gợn qua các thanh ghi. Vì vậy, khi bắt đầu chúng tôi có 1000 và chúng tôi rec. 10000. Sau đó, 1 gợn qua, và chúng tôi nhận được 0100 và 01000. Cho đến khi chúng tôi đạt được bit cuối cùng, 0001.
Saad

Trong trường hợp này, chúng tôi biết rằng chúng tôi sẽ nhận được 00011, vì cái cuối cùng được chia thành hai. Nếu có một đoạn ngắn trên dây thứ 4 và chúng tôi đang gửi 0010 thì chúng tôi sẽ rx 00111 - mà chúng tôi biết là không chính xác và chúng tôi có thể hiển thị một lỗi xác định vị trí ngắn mạch. Phương pháp này có tốt cho bạn không?
Saad

@saad Tôi đã cập nhật câu trả lời của tôi với nhiều chi tiết hơn để bao gồm nhận xét của bạn.

7

Tôi không nghĩ rằng có tồn tại các giải pháp chip đơn. Chúng sẽ đắt vì số lượng I / O lớn và có lẽ vì nhu cầu thấp. Hầu hết các thiết kế sẽ xếp tầng 8 hoặc 16 bộ ghép kênh đầu vào.

Nếu bạn thực sự muốn một giải pháp tích hợp hơn, bạn sẽ phải tìm kiếm một CPLD . Có các CPLD với hơn 256 I / O, như Xilinx CoolRunner XC2C512 , có sẵn trong phiên bản BGA với 270 I / O người dùng. Hãy nhớ rằng đối với bộ ghép kênh đầu vào 256, bạn cần thêm 8 đầu vào cho các tín hiệu được chọn, tất nhiên là đầu ra và cũng có thể là bật, vì vậy 270 I / O sẽ không quá nhiều.

Bạn cũng sẽ phải nhớ rằng bao bì của bạn rất có thể sẽ là BGA ; không chắc chắn nếu bạn muốn như vậy. Dù sao tôi cũng chưa thấy QFP với khoảng 300 chân ...


2
Cảm ơn. Tôi có cảm giác đây là trường hợp. Tôi nghĩ rằng tôi sẽ chỉ cần tạo ra một mux lớn hơn trong số 16 đầu vào.
Saad

@saad - có vẻ như là đặt cược tốt nhất của bạn, trừ khi bạn lấy một số lượng lớn (số pin, không phải cổng / khối logic) như đề xuất (lợi thế là hiệu quả / kích thước hơn, thực sự rất ít kinh nghiệm với chúng hoặc HDL sẽ cần, nhưng gói thực sự sẽ là một bảng đau? dev
Oli Glaser

Tôi thực sự có MỘT SỐ kinh nghiệm với HDL và FPGA (Handel-C - không dễ chịu khi làm việc) thông qua trường học. Tôi chưa bao giờ làm việc trên CPLD. Nhưng tôi chưa bao giờ thực sự nhầm lẫn với một gói BGA và nó thực sự có vẻ như là một nỗi đau. EDIT: XC2C512 cũng có sẵn trong PQFP - mặc dù bây giờ tôi tự hỏi liệu ai đó có ít kinh nghiệm như tôi trong HDL và FPGA có thể làm việc với các thiết bị như vậy không. Nó cũng khá cay - trị giá £ 60 tại Farnell UK.
Saad

@saad - PQFP chỉ có 173 người dùng I / O. đồng nghiệp của tôi đã lập trình CPLD của mình (ứng dụng đơn giản: bộ giải mã địa chỉ) trong Abel , từ cái nhìn của nó có vẻ đơn giản hơn nhiều so với VHDL hoặc Verilog. Có thể không mạnh như VHDL / Verilog, nhưng đó không phải là vấn đề đối với ứng dụng của bạn
stevenvh

@stevenvh: Abel hơi xấu xí trong một số cách, nhưng việc chỉ định hành vi pin theo đồng hồ và phương trình đôi khi có thể tự nhiên hơn nhiều so với việc viết ra những điều rõ ràng hơn trong VHDL hoặc Verilog. Tôi tự hỏi tại sao các công cụ không hỗ trợ một ngôn ngữ dựa trên phương trình đẹp hơn?
supercat

3

Mặc dù CPLD / FPGA có vẻ là ý tưởng phù hợp cho số lượng pin cao, nhưng dây nịt ô tô thường sẽ khá rộng về mặt vật lý và các đầu nối có kích thước vừa phải, do đó, thay vì quạt từ một thiết bị đếm pin cao sang đầu nối số lượng lớn, một hệ thống mô-đun với 16 IO trên các thanh ghi thay đổi, được kết nối với nhau bởi số lượng dòng đồng hồ / ca thấp có thể phù hợp hơn và cũng rất dễ mở rộng.
Một cái gì đó khác để xem xét là để kiểm tra cáp, bạn có thể sử dụng một chuỗi điện trở để áp dụng, giả sử, 16 điện áp đến 16 dòng và một mux tương tự để kiểm tra điện áp ở mỗi đầu kia. Điều này sẽ phát hiện mở và quần short, và được giá rẻ.


Bạn có nghĩa là tôi nên thực hiện các thanh ghi thay đổi trong các khối 16 bit trên CLPD không? Tôi rất có thể sẽ không sử dụng một CPLD lớn duy nhất để thực hiện tất cả công việc. Tôi muốn tránh các gói BGA và vì vậy có khả năng sẽ gắn bó với CLPD nhỏ hơn. Hiện tại, đối với mỗi dây nối mới cần có "bảng kết nối" mới được phát triển và điều này có tất cả các kết nối được gắn vào. Các bộ kết nối này sau đó lần lượt được kết nối với mạch tôi đã mô tả trong câu hỏi trên. Trong hệ thống mới, chúng tôi sẽ giữ cơ chế này - tôi sẽ gặp phải vấn đề gì nếu kết nối một số lượng lớn IO trên một chip?
Saad

1

Sử dụng một thanh ghi thay đổi để đọc nhiều đầu vào là một mô hình đẹp. Vì David Kessner đã đề xuất sử dụng CPLD, tuy nhiên, tôi sẽ đề xuất một mô hình khác. Giả sử bạn muốn mỗi CPLD xử lý 32 đầu vào. Cung cấp cho mỗi CPLD một đầu vào đồng hồ được chia sẻ, đầu vào kích hoạt riêng lẻ, đầu ra kích hoạt (liên kết với đầu vào kích hoạt của chip tiếp theo) và đầu ra dữ liệu được chia sẻ. Mỗi chip có bộ đếm năm bit và chỉ báo tràn. Khi đầu vào kích hoạt được xác nhận lại, hãy xóa bộ đếm và chỉ báo tràn. Khi đầu vào cho phép được xác nhận nhưng chỉ báo tràn không được đặt, hãy xuất trạng thái của bit đầu vào được chỉ định bởi bộ đếm. Khi nhận được xung đồng hồ và chip được kích hoạt và bộ đếm không bị tràn, hãy đập bộ đếm. Các bit tràn sẽ cung cấp đầu ra "cho phép". Hiệu ứng ròng của tất cả logic này là người ta có thể nhận được bằng cách chỉ cần khoảng 8 macrocell để xử lý 32 đầu vào. Do đó, người ta có thể phù hợp với các chức năng khác của CPLD, những máy tính chuyên sâu hơn hoặc chuyên sâu hơn về đăng ký nhưng không cần nhiều I / O.

Nếu một người có CPLD với các mạch giữ pin, người ta có thể sử dụng một cách tiếp cận tương tự cho đầu ra, đặc biệt là nếu có cách để xuất đầu ra từ một macrocell sang nhiều chân (mà không phải tốn macrocell cho mỗi pin). Con chip sẽ có chung đầu vào đồng hồ và dữ liệu, đầu vào kích hoạt và đầu ra kích hoạt. Trong nội bộ, nó sẽ cần một bộ đếm năm bit, một bản sao bổ sung của bit bộ đếm phía dưới được chốt ở cạnh đồng hồ đối diện từ năm đầu tiên, một bit tràn và tín hiệu dữ liệu được chia sẻ sẽ cung cấp cho tất cả các chân. Bảy macrocell, cộng với nhiều nhu cầu cần thiết để sao chép tín hiệu dữ liệu đầu vào vào tất cả các chân (các điều khiển kích hoạt đầu ra cho các chân sẽ đóng vai trò là chốt kích hoạt).

Một tính năng hay của phương pháp này (btw, thường được sử dụng trong trình điều khiển LCD) là người ta có thể có nhiều dòng dữ liệu di chuyển song song dữ liệu và vẫn chỉ cần một dây xích duy nhất giữa các chip. Nó cũng cho phép một người loại bỏ một mạch chốt từ mỗi đầu vào hoặc đầu ra.


1

Làm thế nào âm thanh này cho một ý tưởng, giả sử rằng nhóm chân lớn nhất được cho là được kết nối là ví dụ 20 chân: sử dụng một loạt các chip điều khiển LED đăng ký thay đổi bộ thu mở (mỗi đầu ra cho mỗi pin) có thể chìm ít nhất 2mA; kết nối điện trở 1K từ mỗi chân với một điểm chung và sử dụng mạch có nguồn một volt ở 20.1mA (sẽ tốt hơn nếu điện áp cao hơn khi dòng điện thấp hơn, với điều kiện là một volt ở 20.1mA) và cho biết liệu có cố gắng không đang được thực hiện để vẽ nhiều hơn số tiền đó. Đối với một số cấu hình cáp, có thể cần phải có một số lượng nhỏ chân "dự phòng" có điện trở 1K, nhưng không được kết nối với cáp. Có thể mong muốn có một pin dự phòng có điện trở 1K, một pin có điện trở 500 ohm (hoặc song song hai 2K), một pin có điện trở 250 ohm (bốn 1K '

Để kiểm tra cáp, xây dựng các kịch bản dẫn đến chính xác hai mươi chân bị kéo xuống thấp và các kịch bản dẫn đến chính xác hai mươi chân bị kéo xuống thấp (các chân dự phòng có thể hữu ích cho việc này) và xác nhận rằng các kịch bản hai mươi pin là không được báo cáo là sử dụng nhiều hơn 20,5mA, nhưng các kịch bản 21 chân là.

Giả sử, ví dụ, người ta có một dây cáp được cho là kết nối 1-2, 3-4, 5-6, v.v. lên đến 39-40. Kiểm tra quần short bằng cách chọn các kết hợp khác nhau của mười cặp ghim và lái cả hai cặp của mỗi pin thấp. Bạn sẽ lái xe thấp 20 chân và không có chân nào xuống thấp ngoại trừ những chân bạn đang lái xe, vì vậy dòng điện phải luôn ở mức dưới 20mA. Nếu nó đi qua, một cái gì đó ngắn. Nếu người ta có thể tìm thấy bất kỳ sự kết hợp nào của mười cặp không đọc quá dòng, thì mỗi lần một cặp sẽ tắt một cặp hoạt động và bật một cặp khác, cho đến khi có thứ gì đó quá dòng; cặp cuối cùng được bật được rút ngắn thành một cái gì đó không nên.

Kiểm tra mở bằng cách lái một pin dự phòng ở mức thấp, sau đó chọn các kết hợp khác nhau của mười cặp, lái một pin từ mỗi cặp (đôi khi là số lẻ và đôi khi là số chẵn). Nếu có bất kỳ mở nào, hành động như vậy sẽ dẫn đến ít hơn 21 chân được điều khiển ở mức thấp, và do đó đọc dưới dòng. Nếu điều đó xảy ra, sau đó một lần, hãy lấy từng cặp trong đó một dây được điều khiển và thay vào đó lái cả hai. Nếu điều đó đẩy số đọc hiện tại lên hơn 20.1mA, cặp đó sẽ mở.

Người ta có thể sử dụng CPLD cho ứng dụng này, nhưng một hệ thống như tôi mô tả có thể tốt hơn. Nó có thể được tăng cường hơn nữa bằng cách thêm mạch để thực sự đo dòng điện (thay vì chỉ đơn giản là tạo ra một chỉ báo trên / dưới). Phép đo như vậy sẽ cho phép người ta thiết lập các giá trị dung sai cho điện trở.


1

Đây có phải là những gì bạn đang tìm kiếm?

Maxwell 81840 - Bộ ghép kênh 128 kênh


Chắc là không. Đây là một bộ ghép kênh tương tự, mặc dù bạn có thể cũng có thể ghép tín hiệu kỹ thuật số với nó, nếu bạn để mắt đến tốc độ của thiết bị. Ngoài ra đây là một thiết bị rad-hard, sẽ đắt tiền.
stevenvh

Chào mừng bạn Steven nói đúng, nó có thể không phải là giải pháp thích hợp, nhưng bắt tốt! Có thể thêm một số mô tả về thành phần bên dưới liên kết
clabacchio

Cảm ơn clabacchio. Tôi không chắc làm thế nào chi tiết hơn tôi có thể mô tả các thành phần. Tôi chưa bao giờ sử dụng nó trước đây và tôi chưa có đủ kinh nghiệm.
Daniel

chip sweeeeet :) Tôi muốn sử dụng một trong một dự án piano kỹ thuật số, nhưng nếu bạn không thể tìm thấy giá chỉ bằng cách googling, bạn không thể mua được!
Andrew Wagner
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.