마이크로 컨트롤러가 더 단순한 IC를 대체 했습니까?


37

예를 들어 사람이 읽을 수있는 프로그래밍 언어로 마이크로 컨트롤러 용 타이머 프로그램을 작성할 수있을 때 저항과 커패시터로 555 타이머를 조정하는 방법을 배우는 것이 여전히 가치가 있습니까?

다시 말하면, 마이크로 컨트롤러가 아닌 IC에 IC가 좋은 문제가 있습니까?


4
@ jes5199-이 질문에 메타 태그가 어떤 영향을 미치는지 잘 모르겠습니다. 당신의 이론적 근거에 대해 언급 할 수 있습니까?
J. Polfer

3
내 생각은 특정 문제에 대한 질문이 아니라 전체 분야에 대한 질문이었습니다. 그것은 나에게 약간의 메타 인 것처럼 보였다.
user955

개별 부품과 555 타이머로 표시된 칩이있는 회로 기판은 칩에 저장된 프로그램보다 훨씬 사람이 읽을 수 있습니다.
Kaz

답변:


35

대부분 마이크로 컨트롤러가 개별 IC를 대체했습니다. 555로 회로를 설계 할 수 있다고해도 몇 주 안에 다른 회로를 조정하기 위해 동일한 회로를 조정해야 할 가능성이 있으며 마이크로는 그 유연성을 유지합니다.

그러나 몇 가지 예외가 있습니다.

이산 로직은 여전히 ​​대부분의 마이크로 컨트롤러보다 빠릅니다. 이산 로직의 전파 지연 및 스위칭 시간은 1-10ns 범위에 있습니다. 이를 마이크로 컨트롤러와 일치 시키려면 1 개의 명령에 필요한 모든 로직을 구현할 수 있어야하며 100 MHz ~ 1 GHz 범위의 클록이 있어야합니다. 그렇게 할 수는 있지만 차고의 브레드 보드에는 없을 수도 있습니다.

이에 대한 좋은 예는 HCTL2020 쿼드 러처 디코더입니다. 두 개의 펄스를 받아 모터의 회전 방향을 알려줍니다. 속도를 위해 프로그래밍 할 수없는 칩으로 구현됩니다.

디지털 로직과 마이크로 컨트롤러가 모두 실패하는 또 다른 흥미로운 영역은 신호 필터링입니다. 디지털로 필터링하려는 아날로그 신호가있는 경우 일정 속도로 샘플링해야합니다. 샘플링 속도에 상관없이 샘플링 주파수의 절반보다 높은 주파수에서 나타나는 신호의 노이즈는 신호를 방해 할 수있는 낮은 주파수로 앨리어싱됩니다. 샘플링이 발생하기 전에 캡과 저항으로 구성된 저역 통과 필터를 사용하여이 문제를 해결할 수 있습니다. 샘플링 후 나사 조임이 완료됩니다. (물론, 잡음이 주파수에서 신호와 겹치지 않는 경우가 종종 있으며 디지털 필터가 잘 작동합니다.)


디스크리트 로직은 여전히 ​​대부분의 마이크로 컨트롤러보다 빠릅니다. Cypress PSoC3을 사용하지 않는 한
Rocketmagnet

3
@Rocketmagnet-FPGA와 마찬가지로 PSoC는 여전히 원시 논리입니다. 확실하지는 않지만 빠르다.
케빈 베르메르

29

이상하게도, 나는 중국 공장 중 하나가 프로젝트에 완전히 과도하게 사용되는 마이크로를 추가하려고 시도했으며 대신 555를 사용하도록 지시했습니다. 555의 가격은 6 센트인데 60 센트의 저렴한 마이크로 컨트롤러입니다. 대량으로 제품을 제조 할 때는 비용 차이가 중요하며 더 저렴한 IC를 사용하는 방법을 알고 싶을 것입니다. 예, 비용이 적게 듭니다. :)


12
당신은 또한 그것에 신뢰성을 추가 할 수 있습니다. 모든 소프트웨어에는 마지막 소프트웨어가 제거 된 후 남아있는 버그가 있습니다.
stevenvh

13

이산 로직이 여전히 마이크로를 능가하는 한 가지 영역은 장기 부품 안정성입니다.

이 마이크로는 10 년 안에 출시 될 예정입니까? 20? 그 당시에도 IDE와 툴체인이 계속 지원합니까?

이산 로직이 미래에도 여전히 이산 로직임을 보장 할 수 있습니다. 마이크로 긴 제품 수명, 일반 로직 및 가능한 한 많은 제품을 설계하는 경우 일반 부품은 부품 가용성이 변할 때 장치를 재 설계 할 필요성을 줄입니다.

또한 칩 제조업체가 이월 주문한 경우 SOL이 아닙니다. 많은 사람들이 호환 가능한 일반 논리를 만드는 반면 기본적으로 일반 마이크로는 없습니다.


11

종종 별도의 회로를 사용하여 간단한 작업을 수행하는 것이 더 저렴 해지는 경우가 많습니다. 예를 들어, 깜박이는 LED입니다. 가장 저렴한 PIC 인 PIC10F200은 5ku에서 약 US $ 0.35이며 프로그래밍 비용이 나오기 전에 작은 크기 (및 제조 관련 문제)를 고려합니다. 반면 NE555 타이머는 약 미국에서 수령 할 수 있습니다. 5ku의 TI에서 $ 0.10, 전체 솔루션의 무게는 약 US $ 0.20입니다.

고려해야 할 또 다른 사항은 마이크로 컨트롤러가 본질적으로 디지털 장치라는 것입니다. 물론 대부분의 ADC가 있고 일부는 DAC도 있지만 여전히 개별 시간 단위로 작업하고 개별 비트 및 바이트에서 작동합니다. 이론적으로 아날로그는 무한 해상도 **를 가지므로 설계자가 필요로하는 것을 수행하기 위해 아날로그 회로를 정확하게 조정할 수 있습니다. 디지털 회로는 가장 느린 구성 요소로 인해 제한됩니다.

마지막으로 공급 문제가 있습니다. 첫 번째 예인 NE555로 돌아갑니다. 그것은 20 년 넘게 존재 해 왔으며, 그 이후로 50 년 정도 지속될 것입니다. 그것은 젤리 빈 부분이기 때문에 아마도 영원히 (또는 적어도 전자에서 전자가 쓸모 없게 될 때까지) 제조 될 것입니다 . 반면, PIC10F는 언제든지 NRND가 될 수 있습니다. Microchip과 같은 단일 공급 업체의 경우 제품을 망칠 수있는 중대한 위험이 있습니다.

** 좋아, 사실이 아니다. 실제로, 우리는 전자의 해상도로 제한됩니다. 1 암페어 = 6.24 × 10 18 전자 / 초. 따라서 얻을 수있는 가장 좋은 전류 분해능은 attoampere, 즉 10 ^ -18 암페어로 초당 약 6 전자입니다. 그러나 대부분의 실용적인 목적을 위해 이것은 괜찮습니다. :)


4
해상도와 정확성을 혼동하고 종종 오류가 발생합니다. 드리프트로 인해 유효 정밀도가 두 자릿수 만되는 경우 분해능이> 10 자리 인 점은 없습니다. 디지털 솔루션은 불연속적이고 더 제한된 해상도 에도 불구하고 더 높은 정밀도를 가질 수 있습니다 .
stevenvh

8

프로그래밍 가능한 로직 (CPLD 및 FPGA)을 잊지 마십시오. 디스크리트 로직을 CPLD로 교체하면 단종되는 부품의 영향을받지 않으며 더 많은 성능, 크기 및 비용을 절감 할 수 있습니다. 시스템에 FPGA가 있다면 소프트 코어를 구현할 수 있으며, 요구 사항이 변경되면 쉽게 업그레이드 할 수 있으며 모든 것을 쉽게 "미래에 대비"할 수 있습니다.


6

555 타이머를 "경우에 따라"지식으로 조정하는 방법을 배우려고합니다. 사람들이 "대수없이 내 인생을 잘 살았습니다. 왜 우리는 아이들에게 그것을 가르치고 있습니까?"라고 말하는 것과 같습니다. 도구 사용법을 모르는 경우 도구를 적용 할 수있는 문제가 나타나지 않습니다.

구체적인 대답 : 마이크로 컨트롤러 / 프로세서 (DSP와 같이 특별히 설계된 프로세서가 아닌 한)에서 너무 느리기 때문에 오늘날 매우 빠른 디지털 로직이 FPGA / ASIC에서 구현됩니다.


6

현재 프로젝트에서는 500MHz에서 실행되는 Marvell ARM9 칩을 FPGA와 함께 사용하여 많은 DIO 포트를 제공합니다. 여전히 이산 논리로 처리되는 것들이 있습니다. 예를 들어, 스테퍼 모터 제어는 개별적으로 제어되는 4 개의 스테퍼 모터에 필요합니다. 다수의 펄스가 통과 할 수있는 카운터로 주파수를 생성하는 오실레이터가 하나 있습니다. 카운터는 마이크로 컨트롤러에서 설정되지만 마이크로 컨트롤러의 추가 제어없이 작동하여 다른 작업을 수행 할 시간을줍니다.

더 많은 마이크로 컨트롤러를 선택했을 수 있습니다. 그러나 기존의 개별 논리를 사용하는 중앙 컨트롤러는 강력하고 안정적인 솔루션 일 수 있습니다.

또한 명확하게 정의 된 문제가있는 경우 솔루션은 항상 가능한 한 단순해야하지만 더 간단하지 않아야합니다 (;-)). 555가 작동하면 왜 사용하지 않습니까? 다른 사람이 선택한 것처럼 유연성은 논쟁의 여지가 있지만 그렇지 않을 수도 있습니다. 그것은 모두 당신의 문제와 가장 간단한 해결책이 무엇인지에 대한 해석에 달려 있습니다.


1
귀하의 I / O 익스팬더 FPGA는 스테퍼 제어의 "논리적"부분에 적합한 장소라고 생각합니다.
Chris Stratton

5

고주파 통신 애플리케이션이 떠 오릅니다. 비록 우리가 지금 '소프트웨어 정의 라디오'를 가지고 있지만, 100MHz + 신호 처리가 여전히 적어도 일부 아날로그 단계를 가지고 있지 않다면 매우 놀랍습니다.


4

최근의 마이크로 컨트롤러 디자인 중 이산 로직이 거의 필요하지 않았습니다. 예외는 Ctrl-Alt-Del 유형의 재설정을 구현하는 것입니다. 여기서 사용자 정의 키보드에서 두 개의 특정 키를 2 초 동안 누르면 마이크로의 하드 재설정이 수행됩니다. 나는 NOR 게이트 (2 개의 반전 입력을 가진 AND 게이트로 사용됨), AND 게이트 및 74HC123을 사용했습니다. DIP 시대에 4 개의 게이트 / 패키지 대신 SMT 패키지의 단일 게이트에 필요한 특정 게이트를 얻을 수있어 편리했습니다.


4

나는 수년간 소프트웨어 개발자가 될 기회를 얻었으며 현재 전자 엔지니어로 일하고 있습니다.

복잡한 시스템에는 오류와 버그가 있습니다. 마이크로 컨트롤러와 IC는 사용 범위에 따라 장단점이 있습니다.

소규모 프로젝트의 경우 IC가 마이크로 컨트롤러보다 빠르고 저렴하며 안정적입니다. 수백만 개의 입력, 분석 및 비교 로직을 갖춘 대규모 프로젝트의 경우, 마이크로 컨트롤러가 IC보다 우위에 있는지 확인하십시오.

모든 소프트웨어는 어느 시점에서 실패하며, 버그가없는 코드조차도 ROM에 저장되어 수정하기 쉬운 논리 오류 (예 : 메모리 누수)를 감지하기 어렵지만 때때로 재앙으로 끝납니다.

군사용 또는 열차 제어 시스템과 같은 인명 구조 시스템과 같은 중요한 응용 프로그램의 장애로부터 소프트웨어 기반 시스템을 방탄하기 위해 "실패 안전"개념이 구현 및 개발됩니다.

페일 세이프 시스템은 예외적 인 오류가 발생할 경우 안전 상태로 되돌아갑니다. 일반적으로 두 개의 프로세서가 동일한 코드를 실행하고 각 명령의 결과를 비교 한 다음 동일하면 명령이 실행됩니다. 그렇지 않으면 시스템은 물리적 전기 릴레이를 사용하여 안전 상태로 되돌아갑니다.

페일 세이프 소프트웨어 기반 시스템은 열차 연동 및 ATP (자동 열차 보호) 시스템에 사용됩니다.

Ics로 동일한 복잡한 시스템을 설계하는 것은 모든 엔지니어에게 큰 골칫거리입니다. 이것이 소프트웨어가 첫날부터 디자인 된 이유입니다!


3

IC는 도메인에 따라 매우 다를 수 있습니다. DTMF 디코더를 생각하고 있습니다. 두 개의 주파수를 디코딩하도록 마이크로 컨트롤러를 프로그래밍 할 수는 있지만 상용 칩을 사용하는 것이 더 쉽고 빠르며 저렴합니다.

어떤 도구를 사용해야하는지 알 수 있도록 모든 도구에 대한 지식을 충분히 갖추는 것이 중요하다고 생각합니다.


물론 회로에 마이크로 컨트롤러가 필요한지 여부에 달려 있습니다. 최근에 DMTF 디코더가 필요한 프로젝트가있었습니다. 칩 가격은 약 1 달러입니다. PIC24F 또는 동등한 dsPIC33F (DSP도 포함) 간의 가격 차이는 수량에 있어서도 약 1 달러였습니다. DTMF 디코더 DSP 루틴에는 Microchip이 없었습니다. 또한 이제 다른 물건에 대한 DSP가 있습니다.
tcrosley

참고로, 몇 년 전에 비교기 만 입력으로 사용하여 PIC 16C622 용으로 훌륭한 DTMF 디코더를 작성했습니다.
supercat

3

디스크리트 컴포넌트만을 사용하여 무언가를 디자인하는 것과 마이크로 컨트롤러를 사용하는 것 사이에는 큰 차이가 있습니다. 소프트웨어에 버그가 있습니다. 신뢰성이 중요한 측면이라면, 개별 컴포넌트로 만들어진 제품의 설계를 검증 할 수 있습니다. Knuth 조차도 자신의 소프트웨어에 오류가 없다고 주장하는 것은 아닙니다 .

물론, 디자인에도 오류가있을 수 있으며 매우 드문 경우에만 표시 될 수 있지만 이해하고 수정하기가 더 간단합니다. 소프트웨어가 매우 모호하고 명백하지 않은 방식으로 실패 할 가능성이 있습니다.


2
이 경우 이산 소자는 아마도 트랜지스터가 아닌 IC를 의미하기 때문에 IC에 버그가 없다고 생각하는 이유는 무엇입니까? 잘 작성된 소프트웨어는 소프트웨어이기 때문에 버그가 아니라 복잡한 요구 사항을 해결하기 때문에 버그가 있습니다. 유선 유선 버전도 버그가있을 수 있습니다. 일단 버그를 발견하면, 누군가가 당신을 위해 대량의 OTP 마이크로 인벤토리를 태우지 않는 한, PCB를 수정하는 것보다 소프트웨어에 픽스를 배포하는 것이 랠리가 저렴합니다. SMT PCB를 재 작업하는 데 능숙하도록 훈련 할 수있는 것보다 프로그래머 케이블을 연결하고 ESD 규칙을 훨씬 빠르게 준수하도록 누군가를 훈련시킬 수 있습니다.
Chris Stratton

IC는 마이크로 컨트롤러를 포함한 모든 종류의 복잡성 수준에 존재합니다. IC의 오류 확률은 IC의 복잡성에 비례합니다. 문제는 555 타이머와 같은 더 단순한 IC에 관한 것이며, IC와 그에 따른 추가 부품의 누적 확률이 오류로 인해 마이크로 컨트롤러가이를 대체 할 확률보다 훨씬 낮다고 생각합니다. 물론 1000 개의 구성 요소를 하나의 마이크로 컨트롤러로 교체하면 확률이 바뀔 수 있으므로 그림이 완전히 흑백이 아닙니다. 그러나 어떤 LED 깜박임 장치 또는 이와 유사한 경우에 대해
hlovdal

...이 질문에 대해 인식하고, 여전히 개별 구성 요소가 더 안정적 일 가능성이 있다고 생각합니다. 그리고 소프트웨어 오류의 경우 비 결정적입니다. 물론 100 % 보장되는 것은 아니지만 구성 요소가있는 신호등 컨트롤러를 구현하는 경우 물리적 마모로 인해 장치가 고장 나거나 교체 될 가능성이있을 때까지 X 년 동안 계속 작동한다는 것을 알고이를 확인하고 배치 할 수 있습니다. 그 전에 새로운 유닛으로 소프트웨어가 일정 기간 동안 안정적으로 작동 할 것으로 예상 할 수있는 방법이 없습니다.
hlovdal

적절한 CPU에서 몇 개의 이산에 필적하는 복잡한 소프트웨어를 수학적으로 증명할 수 있습니다. 더 일반적인 소프트웨어와 비교할 수있는 복잡성의 이산 논리는 상상조차하지 않는 것으로부터 완전히 안전하게 만들 수는 없지만, 두 경우 모두 기본 메커니즘이 실패 할 경우 추가적인 복잡성을 사용하여 백업 안전성을 제공 할 수 있습니다.
Chris Stratton

3

대답은 '예'입니다.

생산 비용 방향을 가진 하드웨어 디자이너로 봐야합니다. 555는 매우 기본적인 것으로 여겨지는 오래된 IC입니다. EE 인 경우 디지털 전자 수업에서 여러 번 본 적이 있습니다. 가장 일반적인 응용 분야에서 2 개 또는 3 개의 공식을 풀어야하기 때문에 설정이 매우 쉽습니다. 이것은 시간이 거의 걸리지 않습니다 (이미 부분을 알고 있고 사용하는 방법과 수학이 쉬우므로). 8 비트 MCU에 대한 개발을 설정하고 작업 환경에 따라 소프트웨어가 며칠에서 몇 달이 걸릴 수 있는지 검증하는 데 걸리는 시간. 따라서 엔지니어링 비용을 상상할 수없는 양만큼 줄일 수 있습니다. 또한 시장 출시 시간을 단축 할 수도 있습니다.

실화-저는 거대한 의료 회사에서 일했습니다. 제품 검증을 위해 테스트 지그를 설계했습니다. 지그는 부품 하드웨어 및 부품 내장 소프트웨어 기반이었습니다. 회사가 만드는 제품은 신체의 취약한 부분과 상호 작용하므로 우리가 겪은 모든 검사는 견과류였습니다. 이번에는 제품 자체의 변경 사항을 반영하도록 통신 프로토콜을 조정해야했습니다. 변경 사항은 아마도 C에서 10 줄의 코드였으며 전송 속도가 변경되고 원래 설치된 것이 11.0592MHz가 아니기 때문에 수정 발진기도 교체되었습니다. 문서를 포함 하여이 작업을 완료하는 데 약 2 시간이 걸렸습니다. 이 회사의 비용은 아마도 새로운 부품에 대한 Digikey의 주문으로 $ 300 이하일 것입니다. 개선 된 테스트 지그의 검증에는 몇 개월이 걸렸습니다 (! ) 관련 문제로 하루에 적어도 3 ~ 4 명 정도 바쁘게 지 냈습니다. 회사 비용이 얼마나 듭니까? 아마도 $ 10K-$ 15K의 북쪽 일 것입니다. 이 비용은 사소한 디자인 변경의 실제 비용을 반영합니다. 여러 번 저장하면 거의 준비된 솔루션을 알면 작은 재산을 절약 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.