CS 97

[통신] CAN DBC

CAN DBC개요  지난 시간엔 CAN 통신에 대한 기초적인 내용(특징, 장점, 단점, 구조 등)에 대해 다뤘다. 이번 시간에는 구체적으로 CAN 통신을 하기 위해서 어떤 과정을 거쳐야 하는지, 이 과정에서 DBC(Data Binary Code)가 어떤 역할을 하는지 알아보도록 하겠다.본문통신 과정  앞서 CAN 통신을 하기 위해서는 MCU 내부에 CAN Controller가 내장되어 있어야 한다고 했다. 이러한 컨트롤러와 통신하기 위해서는 트랜시버(transceiver)가 필요하며, 송/수신되는 데이터를 모니터링하기 위해 물리적인 장치가 필요하다. 대표적으로 Peak CAN과 Vector CAN 장비가 있지만, 이 장비들은 가격이 비싸기 때문에 상대적으로 저렴한 CANable Pro v2.0 제품을 이..

CS/통신 2024.06.22

[통신] CAN 통신 개요

CAN 통신개요 및 특징  CAN(Controller Area Network) 통신은 호스트 컴퓨터 없이 마이크로컨트롤러와 각종 장치들이 상호 통신할 수 있도록 설계된 메시지 기반 멀티플렉스 통신 프로토콜이다. 이때 호스트 컴퓨터(Host Computer)가 없다는 것은 각 장치가 중앙 제어 장치 없이 독립적으로 동일한 버스를 통해 데이터를 주고받는다는 것을 의미하며, 멀티플렉스 프로토콜(Multiplex Protocol)은 여러 신호를 하나의 통신 회선으로 다중 전송하여 회선 수를 줄인 것을 의미한다.  CAN 통신은 다음과 같은 특징을 갖고 있다. 1. 신뢰성: 메시지 충돌과 오류를 자동으로 검출하고 수정하는 기능을 내장하고 있어 노이즈에 강함. 이때 버스가 Twist Pari 2선(High, Low..

CS/통신 2024.06.09

[디지털영상처리] Morphological Image Processing (1)

Morphology 개요 모폴로지(Morphology)는 이미지의 구조와 형태를 분석하고 처리하는 방법론을 의미한다. 이는 기본적으로 이미지의 구성 요소들을 추출하고 나타내는 데 유용한 도구로 사용되며, 특히 이미지의 경계와 골격 같은 영역의 형태를 표현하고 기술하는 데 중요한 요소들이 포함된다. 또한, 모폴로지는 이미지의 전처리나 후처리 과정에도 활용되기도 한다. 이번 시간에는 모폴로지의 대표적인 기술인 침식(Erosion)과 팽창(Dilation), 오프닝(Opening)과 클로징(Closing)에 대해 배워보도록 하겠다. 본문 Set Theroy 모폴로지를 설명하기에 앞서, 형태학적인 연산의 범위(픽셀)를 제한하기 위해 집합론을 정의해야 한다. 즉, 이미지를 픽셀의 집합으로 간주하고, 각 픽셀을 좌..

[디지털영상처리] Color Image Processing (2)

본문 Pseudocolor Image 가색상(Pseudocolor) 이미지 처리는 단색 또는 흑백 이미지에 색상을 매핑하여 시각적으로 이해하기 쉽게 하는 방법이다. 예를 들어, 위와 같이 위성사진을 촬영한 결과물에 가색상을 입힌다고 가정해 보자. 좌측의 위성사진에 기온, 수심, 등고선 등의 지표의 밝기(Intensity)에 따라 사전에 정의해 둔 색상을 매핑하면 우측의 그림처럼 바뀐다. 즉, 위의 그래프처럼 밝기 값에 따라 R/G/B에 해당하는 값을 할당하는 사전에 정의된 함수를 이용한다. 이러한 함수는 일반적으로 사용자가 찾는 것이 아닌, 누군가 이미 정의한 coloramp을 사용한다. I = rgb2gray(imread('bone.jpg')); figure(1); imshow(I); colorbar;..

[디지털영상처리] Color Image Processing (1)

컬러 이미지 처리 개요 지금까지 이미지 처리를 배우며 대부분 흑백 이미지만 사용하였다. 이는 흑백 이미지가 이미지 처리의 기본 개념을 파악하기 용이하기 때문인데, 컬러 이미지에 비해 데이터 양이 적고 처리 속도가 빠르기 때문이다. 이번 시간에는 색상에 대한 개념부터 컬러 이미지 처리에 대한 전반적인 개념을 배우는 시간을 가지도록 해보자. 본문 색이란? 색(Color)이란 빛의 성질 중 하나로, 빛의 파장 분포에 의해 결정되며 인간의 눈과 뇌에 의해 인식되는 것을 의미한다. 이때 물리적인 특성보다는 시각적 경험에 의존하는 심리적 특성이다. 이때 빛과 색을 혼동하는 경우가 많은데, 일반적으로 빛(Light)은 물리적인 에너지의 형태로서 색을 생성하는 물리적인 원인이며, 색은 그 결과로써 인간이 인식하는 현상..

[디지털영상처리] Filtering in Frequency Domain (3)

본문 Zero Padding 디지털 영상 처리에서 이미지를 주기적인 신호로 간주하고 처리한다. 위의 그래프에서 왼쪽에 있는 것이 원래 신호고, 오른쪽에 있는 그래프가 이미지가 주기적이라는 것을 가정한 상태다. 이는 이미지의 한쪽 끝과 다른 쪽 끝이 서로 연결되어 있다고 가정하는 것과 동일하다. 이러한 처리 방식에서는 이미지의 오른쪽 끝과 왼쪽 끝, 상단과 하단이 서로 감싸는 Wraparound Error가 발생할 수 있다. 즉, 컨볼루션 연산 중 이미지의 한쪽 끝의 값이 반대편 끝에 영향을 미친다. 위의 두 신호 f(m)과 h(m)에 대해 컨볼루션 연산을 적용하는 과정을 통해 왜 이러한 일이 발생하는지 알아보자. 컨볼루션의 정의에 따라 h(m)을 y축에 대해 대칭시키면 다음과 같이 표현할 수 있을 것이다..

[마이크로프로세서] USART 통신

USART 통신 개요 개요 데이터를 모니터에 출력하려면, 메인보드와 HDMI를 연결하여 데이터를 송/수신해야 한다. 이처럼 장치 간 데이터를 주고받을 때, 하나의 신호선을 직렬로 연결하여 사용하는 통신 방식을 USART(Universal Synchronous and Asynchronous Receiver and Transmitter)라고 한다. 이번 시간에는 비동기 방식을 다루도록 해보겠다. 직렬 통신(Serial Communication): 순차적으로 데이터를 한 번에 하나의 비트만 송수신하는 통신 방법 병렬 통신(Parallel Communication): 여러 개의 채널을 통해 여러 비트를 송수신하는 통신 방법 동기식(Synchronous) 통신: 기준 클럭에 맞춰 데이터를 송수신하는 방법 비동기식..

[마이크로프로세서] ADC(Analog-Digital Converter)

ADC 개요 많은 센서들은 아날로그 신호를 출력한다. 예를 들어, 온도, 습도, 광도, 압력 등을 측정하는 센서들이 그러하다. 이러한 아날로그 신호를 디지털 신호로 변환해야 마이크로컨트롤러에서 이를 처리하여 사용할 수 있다. 일반적으로 아날로그 신호를 디지털 신호로 변환하는 소자를 ADC(Analog-Digital Converter)라고 부르며, 표본화(Sampling), 양자화(Quantization), 부호화(coding)의 과정을 거친다. 표본화: 연속 신호를 시간 축 방향에서 일정 간격으로 표본을 추출하여 이산 신호로 바꾸는 과정 양자화: 샘플링된 진폭의 값을 한정된 개수의 대표 값으로 바꾸는 과정 부호화: 신호 처리가 용이한 디지털 코드인 0과 1로 변환하는 과정 아날로그 신호가 입력되는 방법에..

[마이크로프로세서] 타이머/카운터 정리

타이머/카운터 내용 정리 개요 타이머/카운터와 관련해서 정리할 내용이 많기 때문에, 이전에 하듯이 글 하단에 요약본을 만드는 것이 아닌 하나의 포스팅을 쓰기로 결정했다. 전반적인 내용과 레지스터 동작을 정리하도록 하겠다. 본문 기본 개념 타이머/카운터는 MCU 내부에서의 입력된 클럭을 계수하는 기능을 하고 있다. 즉, 클럭의 주파수를 이용해 타이머로 활용하며, 만약 8비트 카운터의 경우 카운터의 상태가 11111111에서 00000000으로 변화할 때 발생한다. 이때 시스템 내부의 클럭 주기론 만들기 어려운 것이 있는데, 이를 해결하기 위해 프리스케일러(Prescaler)를 사용한다. 즉, 고속의 클럭을 사용할 때 나타나는 한계를 해결하기 위해 클럭을 분주하여 더 느린 클럭을 생성하는 것이다. 예를 들어..

[디지털영상처리] Filtering in Frequency Domain (2)

본문 2D DFT Properties (1) 지난 시간엔 샘플링을 위한 조건에 대해 배웠었다. 이번 시간에는 이차원에서의 이산 푸리에 변환의 중요한 성질들을 다뤄보도록 하겠다. 위의 표에서 주목해야 할 점은 Translation이다. DFT를 적용한 결과는 일반적으로 저주파수에서 고주파수로 정렬되어 나타난다. 이는 주어진 이산 신호에 대해 직류 성분(가장 낮은 주파수)부터 높은 주파수의 성분까지 차례대로 계산되기 때문이다. 결과적으로 DFT의 출력은 주파수가 증가하는 순서로 배열된다. 그러나 이러한 배열은 직관적으로 이해하기 어려우므로, 이미지의 DFT 결과에서 저주파수 성분을 중앙에 위치시키기 위해 반주기씩 이동시키는 과정이 적용된다. 이 과정을 통해 저주파수 성분이 중앙으로 이동하고, 고주파수 성분은..