본문 바로가기

용어 정리

(6)
DMA(Direct Memory Access) DMA란 CPU의 개입 없이 주변 장치들이 메모리에 직접 접근하여 읽거나 쓸 수 있도록 하는 기능이다. DMA 사용 이유 주변장치의 데이터를 사용하기 위해서는 그 데이터가 반드시 RAM에 저장되어야 한다. 그리고 이때 반드시 CPU의 개입이 필요한데, 그 이유는 RAM에 접근하기 위한 주소를 CPU가 생성하기 때문이다. 그림1은 DMA를 사용하지 않는 기존의 PIO(Programmed Input/Output)방식으로 주변장치에서 데이터를 읽고 쓰기 위해서 CPU가 RAM과의 데이터 전송을 지속한다. 따라서 이 방식에서 CPU는 데이터 처리가 끝날 때까지 다른 일을 할 수 없다. 반면에 그림2는 아래와 같은 프로세스를 거칩니다. 1) RAM에 I/O 장치의 데이터가 필요할 때 CPU는 전송 크기, 대상 주..
ADC 아날로그가 디지털로 변환되는 과정 1. 필터링 위 그림처럼 노이즈가 생겼을 때 이를 제거하는 과정이다. 2. 샘플링 X축을 의미하며 어느 정도의 시간 간격으로 아날로그를 디지털화할 건지 결정하는 과정이다. 샘플링 시간과 디지털화 할 아날로그 그래프의 교차점을 찍는다. 3. 양자화 Y축을 의미하며 값의 단위를 정하는 과정이다. 샘플링 시간과 양자화한 값의 단위의 교차점 중에서 디지털화 할 아날로그 그래프와 가장 근사한 값을 최종적으로 찍는다. 이것을 연결하면 아날로그가 디지털화 되는 것이다. 여기서 보기엔 뭔가 각지고 자연스럽지 않게 보이지만 X, Y축의 간격을 더 촘촘하게 하면 눈으로 보기에 아날로그와 비슷하게 보이게 된다. 4. 부호화 최종적으로 찍은 값은 (8, 9)와 같은 좌표이다. 하지만 이를 전..
RS-485 통신 RS-485 통신이란? RS-232는 전송 속도가 낮고 전송 거리가 짧으며 1대1 통신만 가능하다. 이를 보완하기 위해 개발된 RS-422는 한 개의 마스터 장치와 슬레이브 장치 간에 데이터를 주고 받는 방식으로 통신한다. 반면, RS-485는 모든 장치들이 같은 라인에서 데이터 전송 및 수신을 할 수 있다. 결선 방식 통상 2개의 선을 사용하여 반이중 통신 방식으로 사용하나 2개의 RS-485 통신망을 사용하면 전이중 통신도 가능하다. 참고로 그림1처럼 선이 2개라서 전이중 통신이 가능한 것 같지만, 2개의 선으로 한 신호를 만들어내는 차동신호 방식을 사용하므로 사실상 선이 1개라고 생각하면 된다. 전기적 특성: 차동신호 방식 RS-232 통신과 다르게 데이터가 한 선이 아니라 두 선이라서 차동으로 데..
클럭과 주파수 클럭: 컴퓨터에서 연산을 조정하는 타이밍 신호 클럭 속도(=주파수): 클럭 신호가 반복되는 속도 10Hz는 1초에 10번 신호가 반복되는 것을 말하며, 이는 1초에 10번의 클럭이 발생하는 것을 의미한다. 만약 1초에 1개의 명령어처리가 가능한 CPU라면 10Hz의 클럭 속도를 지닌 CPU는 1초에 10개의 명령어 처리가 가능하다는 것을 의미한다. 예를 들어 시스템 클럭(HCLK)이 약 22MHz이고, 이 CPU는 1클럭에 1개의 명령어 처리가 가능하다면 1초에 2천2백만개의 명령어를 처리할 수 있다.
동기(Synchronous)와 비동기(Asynchronous) 방식 비동기(Asynchronous) 방식 송신 측과 수신 측의 clock에 상관없이 시간을 쪼개서 서로 송수신 속도를 Baud rate을 정해서 맞춘다. 이때 한 번에 한 문자씩 송수신하며 아래 그림1과 같이 데이터 길이, 시작 비트, 정지 비트를 포함하여 보내는 방법을 사용한다. 시작 비트와 정지 비트 사이의 간격이 가변적이므로 불규칙적인 전송에 적합하며, 필요한 접속장치와 기기들이 간단하므로 동기 방식보다 장비가 싸다. 비동기 방식 사용 예는 UART가 있다. ※ Baud rate Clock을 사용하지 않는 대신에 시간을 동기화(시간을 맞춘다)한다. 그래서 시간을 정확하게 쪼개서 데이터의 송수신 속도를 Baud rate으로 정한다. 만약 정보의 기본 단위가 bit이고 Baud rate이 115200이면 ..
Baud rate과 Bit rate 1. 개념 Baud rate 초당 얼마나 많은 심볼(의미 있는 데이터 묶음)을 전송할 수 있는가? Bit rate 초당 얼마나 많은 데이터 비트를 전송할 수 있는가? 2. 정보의 기본 단위에 따른 예시 1) 정보의 기본 단위: ASCII Code ASCII Code는 1character로 8bit를 사용하므로 이를 하나의 심볼이라고 할 수 있다. 여기서 2400 Baud rate이란 초당 2400개의 심볼, 즉 ASCII Code를 전송할 수 있다는 뜻이며 이를 Bit rate로 표현하면 19200bps가 된다. 2) 정보의 기본 단위: Bit Bit가 하나의 심볼이므로 여기서 2400 baud rate이란 초당 2400개의 심볼, 즉 bit를 전송할 수 있다는 뜻이며 이를 Bit rate로 표현하면 2..