마이크로 컨트롤러 프로그래밍을 시작하고 있으며 설명서와 교과서를 읽고있었습니다. 마이크로 컨트롤러와 시스템 온 칩의 차이점이 무엇인지 조금 혼란 스럽습니까?
일부 문서는이 두 용어를 서로 바꿔서 사용합니다. 그러나 대부분의 교과서에서는 두 용어를 상호 교환 가능하게 사용하는 것이 정확하지 않으므로 약간의 차이점이 있어야한다고 지적합니다.
감사!
마이크로 컨트롤러 프로그래밍을 시작하고 있으며 설명서와 교과서를 읽고있었습니다. 마이크로 컨트롤러와 시스템 온 칩의 차이점이 무엇인지 조금 혼란 스럽습니까?
일부 문서는이 두 용어를 서로 바꿔서 사용합니다. 그러나 대부분의 교과서에서는 두 용어를 상호 교환 가능하게 사용하는 것이 정확하지 않으므로 약간의 차이점이 있어야한다고 지적합니다.
감사!
답변:
마이크로 컨트롤러는 프로그램 및 데이터 메모리가 내장 된 프로세서입니다.이 칩은 소형 임베디드 제어 애플리케이션을 위해 만들어 졌으므로 I / O 핀을 남겨두고 외부 메모리 버스를 필요로하지 않는 것이 매우 유용합니다. 일부 마이크로 컨트롤러는 핀이 6 개 밖에되지 않아 유용한 작업을 수행 할 수 있습니다. PC 용 범용 컴퓨팅 프로세서와는 대조적입니다. 이러한 것에는 어레이에 100 개의 핀이 있으며 광범위한 외부 회로가 필요합니다.
시스템 온 칩의 경우 덜 정의 된 용어입니다. 키프로스는 일부 부품을 PSOC (Programmable System on Chip)라고 부릅니다. 이들은 기본적으로 동일한 칩에 작은 FPGA가있는 마이크로 컨트롤러입니다. 주변 장치를 내장하지 않고 FPGA의 사용 가능한 리소스 내에서 원하는 것을 만들 수 있습니다.
일반적으로 칩의 시스템은 시스템 레벨 로직이 통합 된 마이크로 컨트롤러라고 생각합니다. 물론 시스템에 더 많이 들어 가려고 할 때 여분의 하드웨어 세트가 유용 할 가능성이 적으므로 어떤 종류의 구성 기능이 매우 유용합니다. 그러나 현재로서는 "system on chip"은 실제보다 마케팅 용어에 가깝습니다.
SoC (System On a Chip)는 사람들이 사용하는 마케팅에있어 중요한 의미는 없습니다. 다음과 같은 많은 변형이 있습니다.
PSoC : Cypress Semiconductor의 프로그래밍 가능한 시스템 온 칩.
SOPC : Altera의 프로그래밍 가능 칩의 시스템
본질적으로, SOC는 여러 개의 칩을 차지하는 데 사용되는 모든 작업을 수행하는 단일 칩입니다. CPU 또는 RAM을 포함해야한다고 말하는 것은 없습니다. 따라서 칩에서 더 많은 트랜지스터를 얻을 수 있고 칩에서 점점 더 많은 기능을 사용하고 있다는 사실 때문에 10 년 또는 20 년 전에 수행했던 것과 비교했을 때 거의 모든 것이 SoC라고 불릴 수 있습니다. !
설상가상으로 : SoC라고 불리는 많은 예가 여전히 유용하기 위해서는 여러 개의 칩이 필요합니다. 종종 외부 플래시, RAM 및 전원이 필요한 일부 형태의 CPU + 주변 장치가 있습니다. 따라서 SoC 이름조차도 오해의 소지가 있습니다.
MCU는 SoC가 무엇인지에 대한 가장 간결한 예일 수 있지만 매우 제한된 예입니다.
일반적으로 마이크로 컨트롤러는 특정 작업을 수행하도록 내부적으로 프로그래밍 된 내장형 장치로 간주됩니다. 최소한의 사용자 상호 작용이 있으며 유연성이 거의 또는 전혀 없습니다. 마이크로 컨트롤러는 일반적으로 적은 양의 메모리와 ROM (플래시)으로 상당히 저전력입니다.
반대로, 시스템 온 칩은 스펙트럼의 다른 끝입니다. 완전한 유연성과 사용자 상호 작용에 더욱 적합합니다. 더 큰 하드웨어 (하드 드라이브 등)를위한 IO 드라이버, 때로는 그래픽 어댑터와 같은 것들도 포함됩니다. System-on-Chip은 칩상의 완전한 컴퓨터 시스템과 비슷합니다.
이 둘 사이에는 많은 크로스 오버가 있습니다. 마이크로 컨트롤러가 언제 중단되고 시스템 온 칩이되기 시작합니까? 많은 혼란이 시작되는 곳입니다.
기본적으로 컴퓨터가 할 수있는 일을 할 수 있다면 시스템 온 칩입니다. 예를 들어 연락처 목록을 관리하는 탁상 전화기 내부 또는 키패드 입력 시스템에 앉아 있거나 CNC 기계에서 모터를 작동하는 경우 마이크로 컨트롤러입니다.
추신 : 이것에 대해 인용하지 마십시오. 두 사람 사이에 많은 크로스 오버가 있다고합니다.
차이점은 기술적 인 것보다 마케팅과 관련이있는 것이 더 일반적이지만, 일반적으로 마이크로 컨트롤러의 "프로그래밍 가능"부분은 상대적으로 좁은 단일 "의식의 흐름"으로 제한됩니다. 본질적으로, 주어진 순간에, 마이크로 컨트롤러의 상대적으로 작은 다음 동작은 프로그래밍 방식에 따라 결정되지만 시스템의 다른 모든 로직은 하드 와이어 (hardwired)되어 빌드 될 때 수행됩니다. 타이머와 같은 일부 구성 옵션 (예 : 고정 속도로 카운트 대 입력에서 펄스 카운트)을 제공 할 수 있지만 일반적으로 시스템의 배선은 고정됩니다. 일부 입력 신호에 대한 응답으로 출력 신호를 변경해야하는 경우 명시적인 하드웨어가없는 경우, 프로그램은 주기적으로 입력 신호를보고 변경된 경우 출력 신호를 전환해야합니다. 입력 아날로그 전압에 응답하여 출력 아날로그 전압 변화를 원한다면, 프로세서는 입력 전압을 샘플링하고, 원하는 응답을 계산하고, 원하는 출력 전압을 요청할 수있다. 실제로 원하는 자극 / 응답 유형은 프로세서가 입력을보고 출력을 계산함으로써 생성 될 수 있지만, 응답 시간은 일반적으로 전용 하드웨어로 생성 할 수있는 것보다 수십 배 느릴 것입니다.
시스템 온 칩의 일반적인 아이디어는 충분한 멀티플렉서 및 기타 라우팅 기능을 회로에 제공하여 신호를 프로세서를 통해 라우팅 할 수 있도록 프로세서를 통하지 않고 여러 유용한 유형의 자극 / 응답 패턴을 생성 할 수 있도록하는 것입니다. 이러한 회로는 프로세서가 생산할 수있는 속도만큼 빠른 자극 / 응답 패턴을 생성 할 수 없지만 대부분 프로세서가 수행 할 수있는 것보다 훨씬 빠릅니다.
내 생각에 SoC는 많은 정의가있는 용어이며 실제로 시간이 지남에 따라 계속 변경됩니다. 반면, 마이크로 컨트롤러는 현재와 같은 방식으로 10 년 후에 정의 될 것입니다. 마이크로 컨트롤러는 메모리, IO 포트, 타이머 및 카운터 등과 같은 단일 칩에 몇 가지 기본 사항이 포함되어 있습니다. 그러나 SoC를 말할 때는 어떤 표준에 대한 구체적인 표준이 없습니다. 포함해야하는 회로 유형. 예를 들어, SoC를 도입하려는 기본 애플리케이션은 스마트 폰입니다. 현재 시나리오에서 스마트 폰에는 다음과 같은 기본 온보드 항목이 포함되어야합니다.
현재 스마트 폰을 제조하고 싶다면 CPU와 GPU를 선택하고 모든 것을 인터페이스해야합니다. 그러나 SoC는 단일 칩 개념을 기반으로하며 위의 모든 기능을 갖추고 진화 할 수있는 능력을 갖습니다 (매우 기본적인 방식 임). 또한 SoC는 스마트 폰, 컴퓨터 또는 모든 전자 장치에 대한 기본 요구 사항이 날로 증가하고 SoC의 정의가 이러한 요구 사항에 따라 변경되므로 SoC의 정의가 계속 바뀌고 있다고 말했습니다.
예 SoC는 기본적으로 더 자주 사용되는 마케팅 용어입니다. 장치 및 호스트 용어가 있습니다. 호스트는 Dell, HP, IBM 등과 같은 대형 PC 제조업체입니다. 그들은 일반적으로 Intel, AMD 등에서 만든 CPU를 사용했습니다. 기본적으로 마더 보드에 CPU 또는 SoC를 제공하고 (CPU라고도 함) 일부는 CPU + SoC를 제공합니다 (특정 목적으로 센서 또는 GPS 장치와 같은 주변 장치의 활동을 오프로드하는 데 사용됩니다. SoC는 때로는 이전에 작성한 것과 동일한 작업을 수행하는 Co-Processor를 호출하기도합니다. 이제 MotherBoards는 다양한 주변 장치 (기본적으로 CPU 또는 SoC에 연결됨)에 연결되어 있습니다.이 주변 장치는 기본적으로 sum 버스 (i2c, SPI, USB)를 통해 주변 장치 (SOC 또는 CPU)에 직접 연결되거나 일반적으로 MicroController에 연결됩니다 . 더 나은 장치 (주변 기기 + 마이크로 컨트롤러)를 얻고 있기 때문에 PC 제조업체뿐만 아니라 컨트롤러 제조업체). 따라서 요점은 장치 측 (SoC와 인터페이스되고있는 SOC (이제 SOC가 무엇입니까 ??)을 알고 있음)과 호스트 측 (PC 측)에서 더 자주 볼 수있는 마이크로 컨트롤러 용어입니다. CPU는 디바이스 (Micro + 주변 장치)의 더 나은 전원 기능을 위해 SoC에 자신의 작업을 위임 한 아버지라고 할 수 있습니다 .Socs는 기본적으로 RTO를 지원할 수있는 OS unliek 마이크로 컨트롤러를 호스팅하기 위해 더 많은 메모리를 가지고 있습니다.
위의 내용을 요약하면 다음과 같습니다.
MCU는 여러 가지 다른 칩을 사용하여 많은 메모리, VGA와 같은 인터페이스 및 GPU와 같은 기능을 제공합니다.
MCU는 최소한의 메모리, 인터페이스 등 만 제공하여 단일 칩에 모든 것을 장착합니다.
SoC는 단일 칩에서 수행 할 수있는 작업의 한계를 뛰어 넘어 단일 칩의 모든 것에 적합합니다.
MCU는 비용을 최소화하여 가치를 제공하고 SoC는 단일 칩에서 기능을 극대화하여 가치를 제공합니다. TLL 논리와 경쟁한다면 아마도 MCU 일 것입니다. 마이크로 프로세서 (AMD, Intel)와 경쟁하는 경우 SoC 일 수 있습니다.