대형 멀티플렉서 / 데이터 선택기


10

128 : 1 이상의 입력을 가진 멀티플렉서 IC를 찾고 있습니다 (256은 꽤 좋을 것입니다). 나는 그러한 장치가 꽤 일반적이라고 생각했지만 그것을 찾는 데 어려움을 겪고 있습니다. 잘못된 위치를보고있을 수도 있지만 어떻게 든 뭔가를 놓치고 있다고 생각할 수 있습니다. 아마 큰 입력 멀티플렉서가 자주 사용되지 않습니까? 그렇다면 대안은 무엇입니까?

최대 나는 16 개의 입력을 가진 신뢰할 수있는 ol '74150을 찾을 수있었습니다.

다중 16 입력 멀티플렉서를 결합하여 대규모 멀티플렉서를 구축 할 수 있다는 것을 이해하지만보다 통합 된 솔루션을 원합니다.


자동차 배선 하니스에서 개방 및 단락 회로를 테스트 할 수있는 회로를 설계하고 있습니다. 일반적인 하네스에는 200여 개의 와이어가 포함될 수 있습니다. 현재이 회로는 16 개의 멀티플렉서를 사용하여 128 개의 와이어를 처리합니다.

멀티플렉서는 단일 16- 입력 멀티플렉서에 연결되고 uC에 연결됩니다. 마찬가지로, 16 개의 디멀티플렉서가 있습니다. 디멀티플렉서는 전선을 전압으로 전환합니다. 동시에이 와이어는 mux를 통해 uC 입력 중 하나로 전환됩니다.

와이어가 정상이면 uC가 입력에서 높을 것입니다. 그런 다음 uC는 다른 모든 와이어를 확인합니다. 그들 중 하나가 높으면 두 와이어 사이에 단락이 있음을 의미합니다.

참고 :이 회로는 나에 의해 설계되지 않았습니다. 이것은 2003 년에 행해졌습니다. 저는이 회로를 개선하려고합니다. 또한 배선 하네스에는 CAN 데이터 버스 나 다른 종류의 버스가 포함되어 있지 않습니다. 전원 및 신호를위한 단순한 전선입니다.

다음은이 게시물을 위해 신속하게 만든 매우 거친 블록 다이어그램입니다. 영어가 모국어가 아니기 때문에 텍스트를 통해 설명하는 데 어려움이 있기 때문에 이것이 문제를 분명히하기를 바랍니다. 다이어그램이 좋지는 않지만 더 나아지기를 바랍니다. MCU에서 demux 및 mux와 나란히 연결된 회선이 주소 회선입니다.

와이어 중 하나가 3으로 나뉘어져 있습니다. 일부 연결은 일대일이 아니라 일대 다임을 보여주기 위해 의도적으로 만들었습니다. 내가 본 가장 복잡한 것은 60 개의 접합으로 분리 된 와이어입니다. 이것이 demux와 mux가 별도의 주소 라인을 갖는 이유입니다. 디 먹스는 입력 번호가 될 수 있습니다. mux는 20,21,22 등을 전환 할 수 있습니다. 20 번 라인에서 연결된 모든 라인을 점검하십시오.

여기에 이미지 설명을 입력하십시오

이것을 디자인하는 더 좋은 방법이 있다고 생각되면 알려주십시오.


128 : 1 또는 128 x 2 : 1을 찾고 있습니까?
Majenko

128 : 1. 죄송합니다. 언급하지 않았습니다. 죄송합니다.
Saad

@saad 내 경험에 따르면 누군가가 그런 종류의 것을 요청할 때마다 근본적으로 잘못된 일을하고 있기 때문입니다. 나는 당신이 해결책이라고 생각하는 것이 아니라 성취하려는 것을 진술하는 것이 좋습니다. 이렇게하면 16 : 1 mux를 캐스케이드 연결하는 것보다 더 나은 솔루션을 제공 할 수 있습니다.

@David Kessner는 편집 내용을 참조하십시오. 실제로 몇 주 전에이 사이트의 디자인에 대해 문의했지만 거의 응답하지 않았습니다. 의견을 보내주십시오.
Saad

1
캐스케이드 멀티플렉서를 사용하면 입력을 얼마나 빨리, 얼마나 자주, 얼마나 많이 통지 할 것인지에 따라 라우팅을 매우 쉽게 할 수 있습니다. 256 개의 신호를 보드의 단일 지점으로 라우팅하는 대신 16 개의 신호를 16 개의 각 지점으로 라우팅하고 각 지점에서 하나의 신호를 16 개의 입력 칩으로 라우팅하고 4 개의 공유 신호를 모든 멀티플렉서. 이론적으로 하나의 칩을 사용하면 직렬로 연결된 두 개의 트랜지스터 (하강 에지의 경우 N 형, 상승의 경우 P)에 해당하는 단일 "게이트 지연"으로 256 개의 신호를 입력에서 출력으로 가져올 수 있지만 ...
supercat

답변:


12

거대한 mux / demux는 확실히 작동하지만, 16 : 1 mux를 연결하는 것은 많은 작업이며 문제가 될 수도 있고 아닐 수도있는 몇 가지 제한 사항이 있습니다. 보다 일반적인 접근 방식은 시프트 레지스터를 사용하는 것입니다. "구동"종단에는 직렬 입력 / 병렬 출력 레지스터를 사용하고 수신 종단에는 ​​병렬 입력 / 직렬 출력 레지스터를 사용하십시오. 시프트 레지스터의 장점은 더 긴 시프트 레지스터를 만들기 위해 데이지 체인 방식으로 쉽게 연결할 수 있다는 것입니다. 256 비트 또는 1024 비트 시프트 레지스터는 전혀 문제가되지 않습니다. 버퍼링을 사용하면 직렬 스트림을 케이블을 통해 다른 PCB로 전달할 수도 있습니다 (만약 더 쉽게 만들 수있는 경우).

74xx597과 같은 많은 8 비트 시프트 레지스터 칩이 있지만 CPLD가 훨씬 좋습니다. 그러나 거대한 256+ 핀 CPLD가 필요하지 않습니다. 대신 몇 개의 작은 CPLD를 사용하여 서로 연결할 수 있습니다. 수학을 수행하지는 않았지만 중소 규모의 CPLD를 사용하는 것이 하나의 큰 CPLD보다 저렴하므로 BGA에 대해 걱정할 필요가 없습니다.

이 CPLD는 상당히 플립 플롭 집중적입니다. 이것이 의미하는 것은 Xilinx가 사용하는 것과 같은 일반적인 CPLD 아키텍처가 FPGA와 같은 것만 큼 좋지 않다는 것입니다. 알테라와 래티스는 모두 자일링스보다 달러당 플립 플롭이 더 많은 CPLD를 가지고있다.

CPLD에 대한 경험이 많지 않더라도이 디자인은 매우 단순하며 CPLD 사용의 이점은 엄청납니다. 이를 위해 CPLD를 프로그래밍하는 방법을 배우는 것은 시간이 매우 가치가 있습니다.

또한 멀티플렉서 대신 시프트 레지스터를 사용하는 이점은 처음에는 쉽게 알 수 없습니다. 대부분 와이어를 구동하고 감지하는 방법에 많은 유연성이 있습니다. 한 번에 여러 개의 하네스를 테스트 할 수도 있습니다 (시프트 레지스터가 충분한 경우). 멀티플렉서로 테스트 할 수있는 모든 것은 시프트 레지스터로 수행 할 수 있지만 시프트 레지스터는 더 많은 작업을 수행 할 수 있습니다. 시프트 레지스터의 단점 중 하나는 속도가 느리지 만 여전히 필요한 것보다 빠르다는 것입니다 (IE, 하네스 연결 및 분리 장치는 시프트 레지스터로 테스트하는 시간보다 훨씬 느릴 것입니다).

CPLD를 사용하더라도 시프트 레지스터는 여전히 mux보다 쉽습니다. 가장 중요한 점은 크기가 더 작다는 것입니다. 실제 장점 / 단점을 실제로 확인하려면 실제로 두 가지 모두에서 디자인을 수행하고 CPLD의 크기를 알아야합니다. 이는 사용 된 CPLD 아키텍처의 유형에 따라 크게 달라 지므로 Xilinx로 작성된 일반화는 Altera에 적용되지 않습니다.

편집 : 아래는 시프트 레지스터를 사용하여 실제로 테스트를 수행하는 방법에 대한 자세한 내용입니다.

테스트를 수행하기 위해 시프트 레지스터를 사용하고 있다는 사실을 무시하고 데이터가 "구동 끝"에서 구동되고 "수신 끝"에서 읽기만한다고 생각할 수 있습니다. 시리얼을 통해 데이터를 가져오고 얻는 방법은 크게 관련이 없습니다. 중요한 것은 운전할 수있는 데이터가 완전히 임의적이라는 것입니다.

운전하는 데이터를 "테스트 벡터"라고합니다. 읽을 것으로 예상되는 데이터도 테스트 벡터의 일부입니다. 케이블이 1 : 1 관계로 연결된 경우 주행 데이터와 수신 데이터가 운전하는 데이터와 동일 할 것으로 예상됩니다. 케이블이 1 : 1이 아니면 분명히 달라집니다.

MUX 기반 접근 방식을 사용한 경우 여전히 테스트 벡터를 사용하고 있지만 테스트 벡터의 종류를 제어 할 수는 없습니다. Muxes에서는 패턴을 "Walking Ones"또는 "Walking Zeros"라고합니다. 4 핀 케이블이 있다고 가정 해 봅시다. 걷는 것을 사용하면 0001, 0010, 0100, 1000과 같은 패턴을 구동 할 수 있습니다. 걷는 0은 동일하지만 반전됩니다.

간단한 연속성 테스트의 경우 1/0을 걷는 것이 상당히 효과적입니다. 케이블 연결 방법에 따라 테스트 속도를 높이거나 특정 사항을 테스트하기 위해 수행 할 수있는 다른 패턴이 있습니다. 예를 들어, 일부 핀이 다른 핀에 대해 단락 될 수없는 경우 테스트 패턴을 최적화하여 해당 사례를 보지 않고 더 빠르게 실행할 수 있습니다. 워킹 원 / 제로 이외의 다른 것을 다루는 것은 소프트웨어 측면에서 처리하기가 복잡해질 수 있습니다.

테스트 벡터를 생성하는 궁극적 인 방법은 JTAG 테스트를 위해 수행됩니다. 경계 스캔이라고도하는 JTAG는 PCB의 칩 간 (및 PCB 간) 연결을 테스트하는 비슷한 방식입니다. 대부분의 BGA 칩은 JTAG를 사용합니다. JTAG에는 각 칩에 각 핀을 구동 / 읽기 위해 사용할 수있는 시프트 레지스터가 있습니다. 복잡하고 값 비싼 소프트웨어는 PCB의 넷리스트를보고 테스트 벡터를 생성합니다. 정교한 케이블 테스터도 같은 작업을 수행 할 수 있지만 많은 작업이 필요합니다.

다행스럽게도 테스트 벡터를 생성하는 훨씬 쉬운 방법이 있습니다. 수행 할 작업은 다음과 같습니다. 알려진 정상 케이블을 시프트 레지스터에 연결하십시오. 드라이빙 엔드를 통해 워킹 제로 / 원 패턴을 실행하십시오. 이렇게하면 수신 측에 표시된 내용을 기록하십시오. 간단한 수준에서는 테스트 벡터로 사용할 수 있습니다. 잘못된 케이블을 연결하고 같은 보행 / 제로를 수행하면 수신 한 데이터가 이전에 기록한 데이터와 일치하지 않으므로 케이블이 잘못되었음을 알 수 있습니다. 여기에는 여러 이름이 사용되지만 모든 이름은 자체 학습 또는 자동 학습과 같이 "학습"이라는 용어의 변형입니다.

지금까지는 구동 단의 한 핀이 수신단의 하나 이상의 핀으로가는 경우를 쉽게 처리 할 수 ​​있지만 구동 단의 여러 핀이 서로 연결된 다른 경우는 다루지 않습니다. 이를 위해서는 버스 경합으로 인한 손상을 방지하기 위해 특별한 것들이 필요하며 모든 시프트 레지스터 핀은 양방향이어야합니다 (IE, 드라이버 및 수신기 기능 모두). 당신이하는 일은 다음과 같습니다.

  1. 각 핀에 풀다운 저항을 놓습니다. 약 20K ~ 50k 옴은 괜찮습니다.

  2. CPLD와 케이블 사이에 직렬 저항을 배치하십시오. 약 100 옴 정도 이는 ESD 및 물건의 손상을 방지하는 데 도움이됩니다. 접지에 대한 2700 pF 캡 (100 옴 저항의 CPLD 핀 쪽)도 ESD에 도움이됩니다.

  3. CPLD가 신호를 높게 만 구동하고 절대로 낮게 구동하지 않도록 CPLD를 프로그래밍하십시오. 출력 데이터가 '0'인 경우 CPLD는 해당 핀을 3 상태로 만들고 풀다운 저항이 라인을 낮게 만듭니다. 이런 식으로, 여러 CPLD 핀이 케이블의 동일한 와이어를 높게 구동하는 경우 CPLD가 동일한 와이어를 로우로 구동하지 않기 때문에 손상이 발생하지 않습니다.

  4. 모든 핀은 드라이버와 수신기입니다. 따라서 256 핀 케이블을 사용하는 경우 시프트 레지스터는 드라이버의 경우 512 비트, 수신기의 경우 512 비트입니다. 동일한 CPLD에서 구동 및 수신을 수행 할 수 있으므로 PCB 복잡성은 이로 인해 실제로 변경되지 않습니다. 이 CPLD에는 케이블 핀당 3 개 또는 4 개의 플립 플롭이 있으므로 적절히 계획하십시오.

그런 다음 수신 된 데이터를 이전에 기록 된 것과 비교하면서 동일한 Walking-Ones / zeros 패턴을 수행합니다. 그러나 이제는 배선 하니스 내의 모든 종류의 임의 연결을 처리합니다.


대단히 감사합니다. 나는 이것에 대해 더 많은 것을 읽기 시작할 것입니다.
Saad

나는 이것에 대해 생각하고있다. 드라이빙 엔드에는 SIPO를 사용하고 rx에는 PISO를 사용한다고합니다. 이제 올바르게 이해하면 MCU의 출력 핀에 SIPO를 입력 핀의 PISO에 연결해야합니다. 전선이 모두 일대일이라고 가정하면 하네스를 통해 일부 데이터를 보내야하며 해당 데이터를 다시 수신하면 전선이 테스트를 통과합니다. 이것이 유효한 방법입니까? 또한 수신 측에서 둘 이상으로 분할 된 라인을 처리하려면 어떻게 수정해야합니까? 이것이 당신이 제안한 것입니까 아니면 내가 완전히 벗어난 것입니까?
Saad

이 라인에 대해 더 많이 생각하면 4 개의 입력 와이어가 있고 그 중 하나 (4 번째)가 2 개의 와이어로 나뉩니다. 따라서 rx 끝에 5 개의 와이어가 있습니다. 비트 0101을 시프트한다고 가정하고, 01011을 다시 수신하면 모든 와이어가 정상입니다. 그러나 세 번째 비트가 높다고 가정하면 (01111) 세 번째 와이어가 단락되었음을 알 수 있습니다. 그러나 이것은 어떤 배선이 단락되었는지를 알려주지 않습니다. 아마도 더 좋은 방법은 레지스터를 통해 "1"을 리플시키는 것입니다. 처음에 우리는 1000을 가지고 있습니다. 10000. 그런 다음 1이 파문을 일으켜 0100과 01000을 얻습니다. 마지막 비트 인 0001에 도달 할 때까지
Saad

이 경우 마지막 하나가 두 개로 연결되므로 00011을 받아야한다는 것을 알고 있습니다. 네 번째 와이어에 단락이 있고 0010을 전송하는 경우 우리는 rx 00111을 전달합니다. 우리는 올바르지 않습니다. 단락의 위치를 ​​지정하는 오류를 표시 할 수 있습니다. 이 방법이 당신에게 좋습니까?
Saad

@saad 귀하의 의견을 다루기 위해 답변을 훨씬 자세하게 업데이트했습니다.

7

단일 칩 솔루션이 있다고 생각하지 않습니다. I / O 수가 많고 수요가 적기 때문에 비용이 많이 듭니다. 대부분의 디자인은 8 또는 16 개의 입력 멀티플렉서를 캐스케이드합니다.

더 통합 된 솔루션을 원한다면 CPLD 를 찾아야합니다 . Xilinx CoolRunner XC2C512 와 같이 256 개 이상의 I / O를 가진 CPLD가 있으며 , 이는 270 명의 사용자 I / O가있는 BGA 버전으로 제공됩니다. 256 입력 멀티플렉서의 경우 선택 신호, 물론 출력 및 활성화를 위해 추가 8 개의 입력이 필요하므로 270 I / O가 너무 많지 않습니다.

또한 포장은 BGA 일 가능성이 높다는 점을 명심해야합니다 . 당신이 그것을 좋아하는지 확실하지 않습니다. 어쨌든 300 핀 정도의 QFP를 보지 못했습니다 ...


2
감사. 나는 이것이 사실이라고 생각했다. 16 개 입력 중 더 큰 mux를 만드는 것을 고수 할 것이라고 생각합니다.
Saad

@saad-제안 된대로 큰 (핀 수, 게이트 / 논리 블록이 아닌) PLD를 얻지 않는 한 가장 좋은 방법은 것입니다 (이점은 더 효율적 / 크기이며 실제로는 경험이 거의 없거나 HDL이 필요하지만 패키지는 참으로 고통 것 - DEV 보드)
OLI 글레이저

실제로 학교를 통해 HDL 및 FPGA (Handel-C-함께 일하기에 좋지 않은)에 대해 약간의 경험이 있습니다. 나는 CPLD에서 일한 적이 없다. 그러나 BGA 패키지를 엉망으로 만들지 않았으며 실제로 고통스러운 것처럼 보입니다. 편집 : XC2C512는 PQFP에서도 사용할 수 있습니다.하지만 HDL 및 FPGA에 대한 경험이 적은 사람이 그러한 장치를 사용할 수 있는지 궁금합니다. Farnell UK에서 60 파운드 이상의 가치가 있습니다.
Saad

@saad-PQFP에는 173 개의 사용자 I / O 만 있습니다. 내 동료는 Abel 에서 CPLD (간단한 응용 프로그램 : 주소 디코더)를 프로그래밍했는데 , VHDL이나 Verilog보다 훨씬 단순 해 보입니다. VHDL / Verilog만큼 강력하지는 않지만 응용 프로그램에는 문제가되지 않아야합니다.
stevenvh

@ stevenvh : Abel은 어떤면에서는 약간 추악하지만 VHDL 또는 Verilog에서 사물을 더 자세하게 작성하는 것보다 클록 및 방정식과 관련하여 핀 동작을 지정하는 것이 훨씬 더 자연 스럽습니다. 도구가 더 나은 방정식 기반 언어를 지원하지 않는 이유가 궁금합니다.
supercat

3

CPLD / FPGA가 높은 핀 수에 대한 올바른 아이디어 인 것처럼 보이지만 자동차 하네스는 일반적으로 물리적으로 상당히 퍼져 있고 커넥터는 적당히 큽니다. 따라서 높은 핀 수 장치에서 많은 수의 커넥터로 팬 아웃하는 대신 적은 수의 클록 / 시프트 라인에 의해 상호 연결된 시프트 레지스터에 16 개의 IO가있는 모듈 식 시스템이 더 적합 할 수 있으며 확장 성이 매우 뛰어납니다.
고려해야 할 다른 것은 케이블 테스트에 대한 것입니다. 저항 체인을 사용하여 16 전압을 16 라인에 적용하고 아날로그 멀티플렉서를 사용하여 다른 쪽 끝의 전압을 확인할 수 있습니다. 이것은 개방 및 단락을 감지하고 저렴합니다.


CLPD에서 시프트 레지스터를 16 비트 블록으로 구현해야한다고 말하는가? 모든 작업을 수행하기 위해 하나의 큰 CPLD를 사용하지 않을 가능성이 높습니다. BGA 패키지를 피하고 싶기 때문에 더 작은 CLPD를 고수 할 것입니다. 현재 모든 새로운 배선 하네스에 대해 새로운 "커넥터 보드"가 개발되었으며 모든 커넥터가 장착되었습니다. 이들 커넥터는이어서 상기 질문에서 설명 된 회로에 연결된다. 새로운 시스템에서는이 메커니즘을 유지할 것입니다. 하나의 칩에 많은 수의 IO를 연결하면 어떤 종류의 문제가 발생합니까?
Saad

1

시프트 레지스터를 사용하여 많은 입력을 읽는 것은 좋은 패턴입니다. 그러나 David Kessner는 CPLD 사용을 제안했지만 다른 패턴을 제안 할 것입니다. 각 CPLD가 32 개의 입력을 처리하기를 원한다고 가정하십시오. 각 CPLD에 공유 클록 입력, 개별 활성화 입력, 활성화 출력 (다음 칩의 활성화 입력에 연결) 및 공유 데이터 출력을 제공하십시오. 각 칩에는 5 비트 카운터와 오버플로 표시기가 있습니다. 활성화 입력이 해제되면 카운터 및 오버플로 표시기를 지 웁니다. 인 에이블 입력이 어설 션되었지만 오버플로 표시기가 설정되지 않은 경우 카운터에 의해 표시된 입력 비트의 상태를 출력하십시오. 클럭 펄스가 수신되고 칩이 활성화되고 카운터가 오버플로되지 않은 경우 카운터를 충돌시킵니다. 오버 플로우 비트는 "활성화"출력을 공급합니다. 이 모든 논리의 효과는 32 개의 입력을 처리하기 위해 약 8 개의 매크로 셀 만 있으면 얻을 수 있다는 것입니다. 따라서 계산 집약적이거나 레지스터 집약적이지만 많은 I / O가 필요하지 않은 다른 기능을 CPLD에 맞출 수 있습니다.

핀 키퍼 회로가있는 CPLD가있는 경우, 특히 하나의 매크로 셀에서 여러 핀으로 출력을 출력하는 방법이있는 경우 (각 핀마다 매크로 셀을 소비하지 않아도) 유사한 출력 방식을 사용할 수 있습니다. 칩은 공유 클럭 및 데이터 입력, 활성화 입력 및 활성화 출력을 갖습니다. 내부적으로 5 비트 카운터, 첫 번째 5와 반대 클럭 에지에 래치 된 하단 카운터 비트의 여분의 복사본, 오버 플로우 비트 및 모든 핀을 공급하는 공유 데이터 신호가 필요합니다. 입력 데이터 신호를 모든 핀에 복사하기 위해서는 7 개의 매크로 셀과 더불어 많은 핀이 필요했습니다 (핀에 대한 출력 가능 컨트롤은 래치 가능으로 사용됨).

이 접근 방식의 아름다운 기능 중 하나 (btw, LCD 드라이버에서 자주 사용됨)는 데이터를 병렬로 이동하는 여러 데이터 라인을 가질 수 있으며 여전히 칩간에 단일 데이지 체인 와이어 만 필요하다는 것입니다. 또한 각 입력 또는 출력에서 ​​래칭 회로를 제거 할 수 있습니다.


1

연결될 것으로 예상되는 가장 큰 핀 그룹이 20 핀이라고 가정 할 때이 아이디어는 어떻습니까? 각각의 오픈 콜렉터 시프트 레지스터 LED 드라이버 칩 (핀당 하나의 출력)을 사용하십시오. 2mA 이상 싱크; 각 핀에서 1K 저항을 공통점에 연결하고 20.1mA에서 1V를 공급하는 회로를 사용하십시오 (20.1mA에서 1V 일 경우 전류가 더 낮을 때 전압이 높으면 괜찮음). 그 양보다 더 많이 끌고 있습니다. 일부 케이블 구성의 경우 1K 저항이 있지만 케이블에 연결되지 않은 적은 수의 "예비"핀이 필요할 수 있습니다. 1K 저항이있는 예비 핀, 500ohm 저항이있는 (또는 2K 병렬 2 개), 250ohm 저항이있는 (1K '4 개) 예비 핀을 갖는 것이 바람직 할 수 있습니다.

케이블을 테스트하려면 정확히 20 개의 핀을 끌어 당겨야하는 시나리오와 21 개의 핀을 잡아 당겨야하는 시나리오 (예비 핀이 유용 할 수 있음)를 구성하고 20 핀 시나리오가 올바른지 확인하십시오. 20.5mA 이상을 사용하는 것으로보고되지 않지만 21 핀 시나리오가 있습니다.

예를 들어 1-2, 3-4, 5-6 등을 39-40까지 연결 해야하는 케이블 하네스가 있다고 가정하십시오. 10 쌍의 핀 조합을 선택하여 단락을 확인하고 각 핀의 두 쌍을 모두 낮게 구동하십시오. 20 핀을 낮게 구동 시키며, 구동하는 핀을 제외하고는 핀이 낮아지지 않아야하므로 전류는 항상 20mA 미만이어야합니다. 지나 가면 무언가가 단락 된 것입니다. 과전류를 읽지 못하는 10 쌍의 조합을 찾을 수 있다면, 한 번에 하나씩 쌍이 과전류가 될 때까지 활성 쌍을 끄고 다른 쌍을 켜십시오. 마지막으로 켤 때해서는 안되는 것으로 단락되었습니다.

여분의 핀을 낮게 구동 한 다음 10 쌍의 다양한 조합을 선택하여 각 쌍에서 하나의 핀 (때로는 홀수 및 때로는 짝수)을 구동하여 개방 상태를 확인하십시오. 개방이있을 경우 이러한 동작으로 인해 21 개 미만의 핀이 로우로 구동되어 저 전류를 읽습니다. 그럴 경우, 한 번에 하나씩, 하나의 와이어가 구동되는 각 쌍을 가져 가서 대신 둘 다 구동하십시오. 이로 인해 전류 판독 값이 20.1mA를 초과하면 해당 쌍이 열린 것입니다.

이 응용 프로그램에 CPLD를 사용할 수 있지만 앞에서 설명한 시스템이 더 좋습니다. 단순히 오버 / 언더 표시기를 생성하는 대신 실제로 전류를 측정하는 회로를 추가함으로써 더욱 향상 될 수 있습니다. 이러한 측정을 통해 저항에 대한 공차 값을 설정할 수 있습니다.


1

찾고 계십니까?

Maxwell 81840-128 채널 멀티플렉서


아마 아닙니다. 이것은 아날로그 멀티플렉서이지만 장치의 속도를 주시하면 디지털 신호를 멀티플렉싱 할 수도 있습니다. 또한 이것은 rad-hard 장치이며 비용이 많이 듭니다.
stevenvh

어서 오십시오! 스티븐이 옳다. 적절한 해결책이 아닐 수도 있지만 좋은 발견이다! 어쩌면 링크 아래에 구성 요소에 대한 설명을 추가하십시오.
clabacchio

감사합니다 clabacchio. 구성 요소를 얼마나 자세하게 설명 할 수 있는지 잘 모르겠습니다. 나는 전에 그것을 사용하거나 아직 충분한 경험이 없습니다.
Daniel

sweeeeet chip :) 나는 디지털 피아노 프로젝트에서 하나를 사용하고 싶지만 인터넷 검색으로 가격을 찾을 수 없다면 그것을 감당할 수 없습니다!
Andrew Wagner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.