ATmega128의 USART통신의 활용 Robotics_LAB 발표자 : 유 홍 선.

Slides:



Advertisements
Similar presentations
KT-M128 Peripheral Device
Advertisements

8051 Serial 통신 Mode 0 : 동기 통신 Mode 1,2,3 : 비동기 통신
컴퓨터와 인터넷.
6 데이터 링크 계층.
ATmega128의 A/D 컨버터 제어 Robotics_LAB 발표자 : 유 홍 선.
AVR - Chapter 11 황 지 연.
12장 직렬통신 Slide 1 (of 17).
UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수.
제4장 조합논리회로 내용 4.1 조합논리회로 설계 과정 4.2 산술회로 : 가산기(adder)/ 감산기(subtractor)
컴퓨터 프로그래밍 기초 [Final] 기말고사
Text LCD control.
AVR - Chapter 6 황 지 연.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Error Detection and Correction
DK-128 ADC 실습 아이티즌 기술연구소
직렬 통신(RS-232) 박희재 기계설계 자동화 공학부 비주얼베이직의 기초사항을 공부합니다.
직렬 통신(RS-232) 김성환 기계설계 자동화 공학부 비주얼베이직의 기초사항을 공부합니다.
10 장 데이터 링크 제어(Data Link Control)
LCD 모듈의 특징 LCD 컨트롤러 내장으로 모든 디스플레이 기능을 명령어로 제어 8비트 혹은 4비트로 인터페이스
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
4. LAN의 배선체계 (3장. LAN: Local Area Network)
PSW : PROGRAM STATUS WORD
ATmega128 FND 실습 휴먼네트웍스 기술연구소
ATmega128 기초와 응용 A/D 변환기.
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
ATmega128의 USART통신의 활용 Robotics_LAB 발표자 : 유 홍 선.
컴퓨터의 코드 시스템.
Microprocessor I/O Port & CLCD Noh Jin-Seok.
WOL(Wake-On Lan) 컴퓨터공학과 4학년 박기웅.
Telecommunications Management Lab.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
플립플롭, 카운터, 레지스터 순서회로 플립플롭 카운터 레지스터.
DK-128 FND 실습 아이티즌 기술연구소
오브젝트 순서회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
6 데이터 링크 계층 학습 목표 오류 제어, 흐름 제어의 원리와 동작 방식을 이해한다.
논리회로 설계 및 실험 5주차.
6 레지스터와 카운터.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
11 시리얼 통신 마이크로컨트롤러 AVR ATmega128 저자: 이상설
볼링게임 시스템 3조 오지연, 손수경.
2장. 직접 연결에 의한 컴퓨터 통신.
SFC (주)솔텍 SFC100 Series Fiber Optic Modem RS-232C
6. 레지스터와 카운터.
13장 CTC and DMA Slide 1 (of 10).
ARM Development Suite v1.2
1. 2진 시스템.
10 장 데이터 링크 제어(Data Link Control)
UNIT 25 SPI 로봇 SW 교육원 조용수.
10 장 데이터 링크 제어(Data Link Control)
ATmega128의 특징 아이티즌 기술연구소
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
라우터의 이해 (보충자료) TCP/IP구성 Ping명령어를 이용한 연결검사 비트와 바이트 10진수/2진수/16진수
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
UNIT 25 SPI 로봇 SW 교육원 조용수.
논리회로 설계 및 실험 4주차.
9 장 오류 검출 및 오류 정정 9.1 오류 종류 9.2 검출 9.3 오류 정정 9.4 요약.
시리얼 UART 정리 정보통신•컴퓨터 공학부 송명규
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
제10강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
AdcRead API 함수 분석 마이크로프로세서.
ARM Development Suite v1.2
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
핸드터미널 조작 및 S/W 업그레이드 통신 확인하기.
빠른 인쇄하는 방법 등록정보를 클릭한다. 인쇄품질을 고속으로 한다.
ARP.
Presentation transcript:

ATmega128의 USART통신의 활용 Robotics_LAB 발표자 : 유 홍 선

USART 제어 USART 특징 동기 모드 : Master(내부클럭). Slave(외부클럭:XCKn) ATmega128에는 같은 기능을 가지는 USART0, USART1 통신 관련 회로를 가지고 있다. USART = Universal Synchronous and Asynchronous serial Receiver and Transmitter USART 특징 동기 모드 : Master(내부클럭). Slave(외부클럭:XCKn) 비동기 모드 : 내부클럭사용 멀티프로세서 통신 높은 정밀도의 보레이트발생기 내장 전송데이터 5~9비트 설정 스톱비트 1~2설정 페리티비트 설정(사용, 미사용, 짝수/홀수패리티 선택) 에러검출기능(페리티에러, 오버런에러, 프레임에러) 노이즈필터링(3번 샘플링 동작)

USART 제어 USART 구성 USART 인터럽트 클럭발생부 : 보레이트발생기, 외부클럭입력 회로 비동기 일반모드 : 내부클럭으로 보레이트발생 비동기 2배속모드 : 내부클럭으로 2배의 보레이트발생 동기 마스터 모드 동기 슬레이브 모드 송신부 : 송신버퍼, 송신 시프트 레지스터, 페리티발생기 수신부 : 수신버퍼, 수신 시프트 레지스터, 페리티검사기 USART 인터럽트 수신완료 인터럽트 송신완료 인터럽트 송신데이터 준비완료 인터럽트

USART 제어 USART 동작

USART 제어 USART 전송데이터 포멧

USART 제어 비동기모드에서의 1비트 샘플링 수신데이터의 정확한 검출을 위하여 1비트의 샘플링이 이루어진다. 검출을 하기 위해서 1비트당 16배 주파수(2배속모드 : 8배주파수)를 이용한다. 16배 주파수중 중앙부(8,9,10)에 3번 샘플링하여 2번 이상인 값으로 처리

USART 제어 USART 관련 레지스터 UDRn(Usart 0 I/O Data Register) USART 0과 1을 제어하기 위해서는 USART 0/1 관련 레지스터(UDRn, UCSRnA, UCSRnB, UCSRnC, UBRRnH, UBRRn)의 사용법을 알아야 한다. UDRn(Usart 0 I/O Data Register) UDRn 레지스터는 송/수신되는 데이터 값을 저장하는 버퍼역활을 하게 된다. UDRn은 TXBn(송신버퍼)/RXBn(수신버퍼) 레지스터로 구성되어 있는데 이는 I/O 같은 주소에 공유된 형태로 구성되어 있으며 송/수신 이라는 다른 일을 하게 구성되어 있다. 송신할 때는 TXBn의 데이터를 전송 수신할 때는 RXBn에 수신된 데이터를 저장하게 된다.

USART 제어 USART 관련 레지스터 UCSRnA(USART Control and Status Register A) Bit 7 – RXCn(USART Receive Complete) RXCn = 1 : UDRn의 수신버퍼에 아직 안 읽은 데이터가 존재하는 상태 RXCn = 0 : UDRn의 수신버퍼를 읽어서 비워져 있는 상태 Bit 6 – TXCn(USART Transmit Complete) TXCn = 1 : 송신 시프트 레지스터에 있는 송신데이터가 모두 전송되고 UDRn의 송신버퍼에 아직 새로운 송신데이터가 라이트되지 않은 상태 Bit 5 – UDREn(USART Data Register Empty) UDREn = 1 : 송신 버퍼가 비어있어서 새로운 송신 데이터를 받을 준비가 된 상태 Bit 4 – FEn(USART Frame Error) FEn = 1 : 수신할 때 프레임 에러가 발생한 상태 ☞ 프레임에러? – 수신문자의 첫 번째 스톱비트가 0으로 검출되는 것

USART 제어 USART 관련 레지스터 UCSRnA(USART Control and Status Register A) Bit 3 – DORn(USART Data Overrun Error) DORn = 1 : 수신할 때 오버런 에러가 발생한 상태 ☞ 오버런에러? – 수신버퍼에 현재 읽지 않은 데이터가 들어있는 상태에서 수신 시프트레지스터에 새로운 데이터가 수신 완료되고 다시 그 다음 수신 데이터인 3번째 데이터의 스타트 비트가 검출된 것 Bit 2 – UPEn(USART Parity Error) UPEn = 1 : 수신할 때 패리티 에러가 발생한 상태 ☞ 패리티에러? – 정보의 전달 과정에서 오류가 생겼는지를 검사하기 위해 원래의 정보에 덧붙이는 비트를 패리티비트라 하며 데이터와 패리티비트를 계산하여 짝수, 홀수를 판별하여 에러인지 아닌지 구분한다.(거의 쓰이지 않음) Bit 1 – U2Xn(Double the USART Transmission Speed) U2Xn = 1 : 비동기 모드에서만 유효한 것으로서 클럭의 분주비를 16에서 8로 절반만큼 낮추어 전송속도를 2배 높이는 기능을 수행한다. Bit 0 – MPCMn(USART Multi-Processer Communication Mode) MPCMn = 1 : 멀티프로세서 통신모드로 설정한다.

USART 제어 USART 관련 레지스터 UCSRnB(USART Control and Status Register B) Bit 7 – RXCIEn(USART RX Complete Interrupt Enable) RXCn = 1 : 수신완료 인터럽트 활성화 Bit 6 – TXCIEn(USART TX Complete Interrupt Enable) TXCn = 1 : 송신완료 인터럽트 활성화 Bit 5 – UDRIEn(USART Data Register Empty Interrupt Enable) UDRIEn = 1 : 송신 데이터 레지스터 준비완료 인터럽트 활성화 Bit 4 – RXENn(USART Receiver Enable) RXENn = 1 : 수신부 동작 활성화 Bit 3 – TXENn(USART Transmitter Enable) TXENn = 1 : 송신부 동작 활성화

USART 제어 USART 관련 레지스터 UCSRnB(USART Control and Status Register B) Bit 2 – UCSZn2(USART Character Size) UCSRnC의 UCSZn1~0 비트와 함께 전송 문자의 데이터 비트수를 설정한다. Bit 1 – RXB8n(USART Receive Data Bit 8) 전송 데이터수가 9로 설정된 경우 수신된 9번째 데이터를 저장하게 된다. Bit 0 – TXB8n(USART Transmit Data Bit 8) 전송 데이터수가 9로 설정된 경우 송신될 9번째 데이터를 저장하게 된다.

USART 제어 USART 관련 레지스터 UCSRnC(USART Control and Register C) Bit 6 – USMSELn(USART Mode Select) USMSELn = 1 : 동기전송모드 USMSELn = 0 : 비동기전송모드 Bit 5, 4 – UPMn1, UPMn0(USART Parity Mode) Bit 3 – USBSn(USART Stop Bit Select) USBSn = 1 : 스탑비트 2개로 설정 USBSn = 0 : 스탑비트 1개로 설정 Bit 2, 1 – UCSZn1, UCSZn0(USART Character Size) UCSRnB의 UCSZn2 비트와 함께 전송 문자의 데이터 비트수를 설정한다. Bit 0 – UCPOLn(USART Clock Polarity) 이 비트는 동기 전동 모드의 슬레이브 동작에서만 사용된다. UCPOLn = 1 : 송신데이터는 XCKn 클럭의 하강에지에서 새로운 값이 출력 수신데이터는 XCKn클럭의 상승에지에서 검출된다. UCPOLn = 0 : 송신데이터는 XCKn 클럭의 상승에지에서 새로운 값이 출력 수신데이터는 XCKn믈럭의 하강에지에서 검출된다.

USART 제어 USART 관련 레지스터 UBBRnH/L(USART Baud Rate Register) 주의) UBBRnH 설정 후 UBBRnL를 나중에 라이트해야 한다.

USART 제어 USART의 활용 RS232 회로구성

USART 제어 USART의 활용 USART 예제소스 USART0을 이용하여 KEY입력을 컴퓨터로 송신하는 프로그램

USART 제어 USART의 활용 USART 동작결과

Thank You http://cafe.naver.com/roboticslab.cafe