예를 들어 사람이 읽을 수있는 프로그래밍 언어로 마이크로 컨트롤러 용 타이머 프로그램을 작성할 수있을 때 저항과 커패시터로 555 타이머를 조정하는 방법을 배우는 것이 여전히 가치가 있습니까?
다시 말하면, 마이크로 컨트롤러가 아닌 IC에 IC가 좋은 문제가 있습니까?
예를 들어 사람이 읽을 수있는 프로그래밍 언어로 마이크로 컨트롤러 용 타이머 프로그램을 작성할 수있을 때 저항과 커패시터로 555 타이머를 조정하는 방법을 배우는 것이 여전히 가치가 있습니까?
다시 말하면, 마이크로 컨트롤러가 아닌 IC에 IC가 좋은 문제가 있습니까?
답변:
대부분 마이크로 컨트롤러가 개별 IC를 대체했습니다. 555로 회로를 설계 할 수 있다고해도 몇 주 안에 다른 회로를 조정하기 위해 동일한 회로를 조정해야 할 가능성이 있으며 마이크로는 그 유연성을 유지합니다.
그러나 몇 가지 예외가 있습니다.
이산 로직은 여전히 대부분의 마이크로 컨트롤러보다 빠릅니다. 이산 로직의 전파 지연 및 스위칭 시간은 1-10ns 범위에 있습니다. 이를 마이크로 컨트롤러와 일치 시키려면 1 개의 명령에 필요한 모든 로직을 구현할 수 있어야하며 100 MHz ~ 1 GHz 범위의 클록이 있어야합니다. 그렇게 할 수는 있지만 차고의 브레드 보드에는 없을 수도 있습니다.
이에 대한 좋은 예는 HCTL2020 쿼드 러처 디코더입니다. 두 개의 펄스를 받아 모터의 회전 방향을 알려줍니다. 속도를 위해 프로그래밍 할 수없는 칩으로 구현됩니다.
디지털 로직과 마이크로 컨트롤러가 모두 실패하는 또 다른 흥미로운 영역은 신호 필터링입니다. 디지털로 필터링하려는 아날로그 신호가있는 경우 일정 속도로 샘플링해야합니다. 샘플링 속도에 상관없이 샘플링 주파수의 절반보다 높은 주파수에서 나타나는 신호의 노이즈는 신호를 방해 할 수있는 낮은 주파수로 앨리어싱됩니다. 샘플링이 발생하기 전에 캡과 저항으로 구성된 저역 통과 필터를 사용하여이 문제를 해결할 수 있습니다. 샘플링 후 나사 조임이 완료됩니다. (물론, 잡음이 주파수에서 신호와 겹치지 않는 경우가 종종 있으며 디지털 필터가 잘 작동합니다.)
이산 로직이 여전히 마이크로를 능가하는 한 가지 영역은 장기 부품 안정성입니다.
이 마이크로는 10 년 안에 출시 될 예정입니까? 20? 그 당시에도 IDE와 툴체인이 계속 지원합니까?
이산 로직이 미래에도 여전히 이산 로직임을 보장 할 수 있습니다. 마이크로 긴 제품 수명, 일반 로직 및 가능한 한 많은 제품을 설계하는 경우 일반 부품은 부품 가용성이 변할 때 장치를 재 설계 할 필요성을 줄입니다.
또한 칩 제조업체가 이월 주문한 경우 SOL이 아닙니다. 많은 사람들이 호환 가능한 일반 논리를 만드는 반면 기본적으로 일반 마이크로는 없습니다.
종종 별도의 회로를 사용하여 간단한 작업을 수행하는 것이 더 저렴 해지는 경우가 많습니다. 예를 들어, 깜박이는 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 전자입니다. 그러나 대부분의 실용적인 목적을 위해 이것은 괜찮습니다. :)
현재 프로젝트에서는 500MHz에서 실행되는 Marvell ARM9 칩을 FPGA와 함께 사용하여 많은 DIO 포트를 제공합니다. 여전히 이산 논리로 처리되는 것들이 있습니다. 예를 들어, 스테퍼 모터 제어는 개별적으로 제어되는 4 개의 스테퍼 모터에 필요합니다. 다수의 펄스가 통과 할 수있는 카운터로 주파수를 생성하는 오실레이터가 하나 있습니다. 카운터는 마이크로 컨트롤러에서 설정되지만 마이크로 컨트롤러의 추가 제어없이 작동하여 다른 작업을 수행 할 시간을줍니다.
더 많은 마이크로 컨트롤러를 선택했을 수 있습니다. 그러나 기존의 개별 논리를 사용하는 중앙 컨트롤러는 강력하고 안정적인 솔루션 일 수 있습니다.
또한 명확하게 정의 된 문제가있는 경우 솔루션은 항상 가능한 한 단순해야하지만 더 간단하지 않아야합니다 (;-)). 555가 작동하면 왜 사용하지 않습니까? 다른 사람이 선택한 것처럼 유연성은 논쟁의 여지가 있지만 그렇지 않을 수도 있습니다. 그것은 모두 당신의 문제와 가장 간단한 해결책이 무엇인지에 대한 해석에 달려 있습니다.
나는 수년간 소프트웨어 개발자가 될 기회를 얻었으며 현재 전자 엔지니어로 일하고 있습니다.
복잡한 시스템에는 오류와 버그가 있습니다. 마이크로 컨트롤러와 IC는 사용 범위에 따라 장단점이 있습니다.
소규모 프로젝트의 경우 IC가 마이크로 컨트롤러보다 빠르고 저렴하며 안정적입니다. 수백만 개의 입력, 분석 및 비교 로직을 갖춘 대규모 프로젝트의 경우, 마이크로 컨트롤러가 IC보다 우위에 있는지 확인하십시오.
모든 소프트웨어는 어느 시점에서 실패하며, 버그가없는 코드조차도 ROM에 저장되어 수정하기 쉬운 논리 오류 (예 : 메모리 누수)를 감지하기 어렵지만 때때로 재앙으로 끝납니다.
군사용 또는 열차 제어 시스템과 같은 인명 구조 시스템과 같은 중요한 응용 프로그램의 장애로부터 소프트웨어 기반 시스템을 방탄하기 위해 "실패 안전"개념이 구현 및 개발됩니다.
페일 세이프 시스템은 예외적 인 오류가 발생할 경우 안전 상태로 되돌아갑니다. 일반적으로 두 개의 프로세서가 동일한 코드를 실행하고 각 명령의 결과를 비교 한 다음 동일하면 명령이 실행됩니다. 그렇지 않으면 시스템은 물리적 전기 릴레이를 사용하여 안전 상태로 되돌아갑니다.
페일 세이프 소프트웨어 기반 시스템은 열차 연동 및 ATP (자동 열차 보호) 시스템에 사용됩니다.
Ics로 동일한 복잡한 시스템을 설계하는 것은 모든 엔지니어에게 큰 골칫거리입니다. 이것이 소프트웨어가 첫날부터 디자인 된 이유입니다!
IC는 도메인에 따라 매우 다를 수 있습니다. DTMF 디코더를 생각하고 있습니다. 두 개의 주파수를 디코딩하도록 마이크로 컨트롤러를 프로그래밍 할 수는 있지만 상용 칩을 사용하는 것이 더 쉽고 빠르며 저렴합니다.
어떤 도구를 사용해야하는지 알 수 있도록 모든 도구에 대한 지식을 충분히 갖추는 것이 중요하다고 생각합니다.
디스크리트 컴포넌트만을 사용하여 무언가를 디자인하는 것과 마이크로 컨트롤러를 사용하는 것 사이에는 큰 차이가 있습니다. 소프트웨어에 버그가 있습니다. 신뢰성이 중요한 측면이라면, 개별 컴포넌트로 만들어진 제품의 설계를 검증 할 수 있습니다. Knuth 조차도 자신의 소프트웨어에 오류가 없다고 주장하는 것은 아닙니다 .
물론, 디자인에도 오류가있을 수 있으며 매우 드문 경우에만 표시 될 수 있지만 이해하고 수정하기가 더 간단합니다. 소프트웨어가 매우 모호하고 명백하지 않은 방식으로 실패 할 가능성이 있습니다.
대답은 '예'입니다.
생산 비용 방향을 가진 하드웨어 디자이너로 봐야합니다. 555는 매우 기본적인 것으로 여겨지는 오래된 IC입니다. EE 인 경우 디지털 전자 수업에서 여러 번 본 적이 있습니다. 가장 일반적인 응용 분야에서 2 개 또는 3 개의 공식을 풀어야하기 때문에 설정이 매우 쉽습니다. 이것은 시간이 거의 걸리지 않습니다 (이미 부분을 알고 있고 사용하는 방법과 수학이 쉬우므로). 8 비트 MCU에 대한 개발을 설정하고 작업 환경에 따라 소프트웨어가 며칠에서 몇 달이 걸릴 수 있는지 검증하는 데 걸리는 시간. 따라서 엔지니어링 비용을 상상할 수없는 양만큼 줄일 수 있습니다. 또한 시장 출시 시간을 단축 할 수도 있습니다.
실화-저는 거대한 의료 회사에서 일했습니다. 제품 검증을 위해 테스트 지그를 설계했습니다. 지그는 부품 하드웨어 및 부품 내장 소프트웨어 기반이었습니다. 회사가 만드는 제품은 신체의 취약한 부분과 상호 작용하므로 우리가 겪은 모든 검사는 견과류였습니다. 이번에는 제품 자체의 변경 사항을 반영하도록 통신 프로토콜을 조정해야했습니다. 변경 사항은 아마도 C에서 10 줄의 코드였으며 전송 속도가 변경되고 원래 설치된 것이 11.0592MHz가 아니기 때문에 수정 발진기도 교체되었습니다. 문서를 포함 하여이 작업을 완료하는 데 약 2 시간이 걸렸습니다. 이 회사의 비용은 아마도 새로운 부품에 대한 Digikey의 주문으로 $ 300 이하일 것입니다. 개선 된 테스트 지그의 검증에는 몇 개월이 걸렸습니다 (! ) 관련 문제로 하루에 적어도 3 ~ 4 명 정도 바쁘게 지 냈습니다. 회사 비용이 얼마나 듭니까? 아마도 $ 10K-$ 15K의 북쪽 일 것입니다. 이 비용은 사소한 디자인 변경의 실제 비용을 반영합니다. 여러 번 저장하면 거의 준비된 솔루션을 알면 작은 재산을 절약 할 수 있습니다.