임베디드에서의 메일박스(Mailbox) 사용

IPC(Inter Process Communication) 최근 SoC는 MCU, DSP, GPU 등 여러 프로세스를 내장하고 있기 때문에 프로세스 간 데이터 통신을 필연적으로 사용해야 하는 경우가 많다. 그런데 기본적으로 프로세스들은 안전성을 위해 자신에게 할당된 메모리 영역 이외의 다른 프로세스의 메모리 영역에는 접근이 불가능하다. 그래서 데이터 통신을 위한 방법이 필요하고 이러한 방법들을 통틀어 IPC라고 한다. 이 IPC를 위한 방법은 직접 … Read more

임베디드에서의 UART, I2C, SPI 사용 비교

직렬 전송방식 임베디드 시스템에서 통신으로 가장 많이 사용하는 것이 UART, I2C, SPI다. 이들은 모두 직렬 전송 방식이다. 병렬 전송방식은 데이터 전송을 위한 단자와 선이 많이 필요하기 때문에 직렬 대비 속도가 빠름에도 선호되지 않는다. 단자와 선이 많으면 단가가 올라간다. 개인적인 경험상 그림의 TI AMIC110과 같은 모든 SoC는 UART, SPI, I2C 인터페이스를 모두 내장하고 있었다. UART, I2C, … Read more

UART에 RS232를 연결하는 이유

다른 글 임베디드에서의 UART, I2C, SPI 사용 비교 서론 임베디드는 대부분 호스트 PC에서 디버깅이 필요하다. 따라서 호스트 PC와 타겟보드간 연결이 필요하고 이 연결을 주로 UART가 담당한다. 시중에 판매하는 UART to USB Converter를 구매하면 쉽게 연결할 수 있다. 학교에서는 위와 같은 방법으로 디버깅을 했다. 그런데 실무에 와서 보니 UART에 RS232를 연결하여 PC와 통신한다. 이유는 무엇인가? 장거리 … Read more

QSPI(Quad SPI) 사용 이유

서론 SoC 데이터 시트의 인터페이스 쪽에 QSPI(Quad Serial Peripheral Interface, Quad SPI)를 볼 수 있는 경우가 있다. 인터페이스가 아니라면 메모리 쪽에 QSPI Flash라고 적혀있기도 하다. SPI (Serial Peripheral Interface) 임베디드에서 흔하게 쓰이는 인터페이스 중 하나가 SPI다. SPI는 1970년대 모토롤라가 개발한 동기 직렬방식의 인터페이스다. 비교적 전송거리가 짧지만 고속 통신이 가능하여 현재까지 이용되며 주로 Processor-Processor, Processor-flash 통신에 … Read more

Full Duplex(전이중 통신), Half Duplex(반이중 통신), Simplex(단방향 통신) 정리

서론 임베디드에서 가장 많이 쓰이는 인터페이스 중 하나인 SPI는 Full Duplex를 지원한다고 한다. Full Duplex는 무엇인가 Full Duplex, Half Duplex, Simplex Full Duplex(전이중 통신), Half Duplex(반이중 통신), Simplex(단방향 통신)는 두 디바이스 간 통신에서 방향성을 정의하는 용어다. Full Duplex Half Duplex Simplex