Software
-
MUX (Multiplexer)Software/RTOS 2024. 8. 22. 10:10
MUXMCU 작업을 하다 보면 입출력 핀이 모자라는 경우가 발생할 수 있다. 이럴 때 사용할 수 있는 핀이 MUX(Multiplexer)이다.MUX는 여러 입력 신호(아날로그,디지털) 중 하나를 선택하여 들어오는 신호를 한 개의 라인으로 전달하는 장치다DEMUX는 반대로 하나의 입력 신호를 여러 출력 단자 중 하나에 선택적으로 전달하는 장치이다. 위 그림과 같이 여러개의 신호를 한 채널로 다룰 수 있기 때문에 각각의 개별 채널을 뒀을 때보다 훨씬 경제적으로 회로를 꾸밀 수 있다는 장점이 있다. MCU에서는 CAN의 4채널 (RXA,TXA, RXB, TXB)를 MUX로 묶어 사용하는 경우가 많다.
-
JTAG (Joint Test Action Group)Software/RTOS 2024. 8. 21. 16:49
JTAG JTAG은 IEEE 1149.1 표준으로써 디지털 회로에서 특정 노드의 디지털 입출력을 위해 Serial 통신으로 데이터를 주고 받는 방식을 말한다. JTAG을 통해 데이터를 Serial통신 하는 방식은 Boundary Scan으로 구현되기 때문에 JTAG대신 Boundary Scan이라는 용어로 사용되기도 한다. 임베디드 시스템의 디버깅 장비가 대표적인 예이다. CPU를 특정 위치에서 멈추고 상태를 읽어볼 수도 있다. JTAG은 칩 내부 Boundary Cell을 만들어 외부 핀과 1:1 매칭시키고, 프로세스 동작을 Cell을 통해 인위적으로 수행할 수 있게 한다. 이로 인해 물리적인 하드웨어 작업 없이 하드웨어의 테스트나 연결 상태등을 체크할 수 있게 되어 기존 보드 테스트 방식의 안정성과 ..
-
[Keyword] __interruptSoftware/C 2024. 8. 21. 09:33
InterruptInterrupt 키워드는 함수 앞에 붙여 쓰는 키워드로 해당 함수가 인터럽트 함수로 처리되는 것을 의미한다.Interrupt란 하드웨어 단에서 일어나는 이벤트 콜이라고 볼 수 있다. 폴링(Polling)이 루프를 돌며 상태를 체크해서 이벤트를 발생시키는 루틴이라면, 인터럽트는 외부에서 어떤 상황이 발생했을 때 단발성으로 이벤트를 발생시키기 때문에 정 반대의 개념이라고 볼 수 있다. 폴링의 대표적인 예가 와치독 타이머라면, 인터럽트는 대부분의 예외상황(exceptions)이 모두 인터럽트라고 볼 수 있다. 대부분의 인터럽트가 외부에서 CPU 코어에 전달되지만, CPU 내부에서 발생되는 인터럽트루틴도 존재한다. ISR (Interrupt Service Routine)인터럽트를 수행하는..