'USART'에 해당되는 글 1건

  1. 2013.12.14 실험7. USART 통신 제어

※ AVR 실험 #07

CPU에서 병렬 데이터가 USARTn 직렬통신 포트를 거쳐 직렬 데이터로 변환되었다 하더라도 이를 원거리로 전송하기 위해서는 그에 적합한 신호로 변환하기 위한 신호레벨의 인터페이스 회로가 필요로 하게 된다. 이를 위해서 통일된 규격이 필요로 하게 되는데 국제기구를 통해 규정된 국제규격이 바로 RS-232C 통신 규격이다.

Atmega128은 직렬통신 포트인 USART0과 USART1을 사용하여 동기 및 비동기 RS-232C 통신을 한다. 비동기 통신을 수행하는 방법은 폴링(Polling)기반의 방법과 인터럽트(Interrupt) 기반의 방법이 있다. 폴링의 경우 송신은 UCSRnA 레지스터의 UDREn Flag bit를 이용하여 송신버퍼가 비어있는지를 체크하여 비어있는 경우 다음 Data를 전송하고 수신은 UCSRnA 레지스터의 RXCn Flag bit을 지속적으로 확인하여 버퍼에 수신되어 있는 Data가 있는지 확인하고 수신 데이터를 읽어 들인다.

인터럽트기반의 UDREn, RXCn, TXCn의 인터럽트를 허용할 경우 해당 flag bit은 인터럽트를 발생시킨다. 인터럽트가 발생하면 Interrupt Vector Table을 참조하여 ISR(Interrupt Service Routine)을 실행시키고 ISR에 의해 발생한 인터럽트가 처리 된다.


※ AVR 예비 보고서 이론 내용

RS-232C 통신

직렬 통신 컨트롤러(MAX232CPE)의 특징 및 실험 kit상의 관련 회로 구성과 H/W적인 작동 원리

Block Diagram을 통해 시리얼 통신이 이루어지는 H/W적 동작의 흐름

Frame 형식의 구성과 순서, 각 비트들의 의미

USART를 위한 Register와 각 Register bit들의 의미

직렬통신이 이루어지는 과정을 이해한다.

Timing도를 통해 직렬통신이 이루어지는 과정 및 원리

Polling 기반으로 통신이 이루어지는 과정

Interrupt 기반으로 통신이 이루어지는 과정


※ 실습장비: Easy processor kit (Huins)


※ 예비보고서

실험7 예비보고서.pdf


※ 결과보고서

실험7 결과보고서 (12주차).pdf



Posted by 로드펭귄