<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Similar documents
Microsoft PowerPoint - AVR 시리얼 통신.ppt [호환 모드]

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - Chapter 8_USART Serial Communication

2주차: 입출력 제어 복습

목차 1. UART와 RS232 개요 2. ATMega128의 USART 포트 3. UART로 Hello 보내기 4. UART로 PC와데이터주고받기

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<BDC7C7E83720BFB9BAF1BAB8B0EDBCAD2E687770>

UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR

MAX232 MAXIM사에서생산되는 RS-232통신을가능토록해주는송수신 IC이다. 송수신드라이브를각각 2개씩가지고있다. AVR과컴퓨터가인식하는 0과 1의값이다르기때문에.. 마이컴컴퓨터 이차이를해결해주는것이다. 0 0V -10V 1 5V 10V TTL IC 의전원단자와다

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

ATmega128 교재 - 8장 EEPROM.hwp

CANTUS Evaluation Board Ap. Note

1

데이터 통신

시리얼통신 (USART) 범용동기및비동기시리얼수신기와송신기 (USART) 는매우유연한시리얼통신장치이다. 주요특징은다음과같다. w 송수신레지스터가독립적으로운용되는전이중방식. w 비동기또는동기동작. w 마스터또는슬레이브동기동작. w 고해상도전송속도생성기. w 5, 6, 7

T100MD+

hd1300_k_v1r2_Final_.PDF

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

개요

SRC PLUS 제어기 MANUAL

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

[8051] 강의자료.PDF

슬라이드 1

C & System

<4D F736F F D20B1E2BCFAC0DAB7E1202D20454F435220B8F0B5E5B9F6BDBA20C5EBBDC5C1A6C7B020BBE7BFEBB9FD202D F302E646F63>

MicrocontrollerAcademy_Lab_ST_040709

고급 프로그래밍 설계

슬라이드 1

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech

OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver of 8 Onsystech

MR-3000A-MAN.hwp

뉴티씨 (NEWTC) 2. FB-CY4E-DEV (FPGA 개발 키트) 구성도 Port Select SW 7 Segment Text LCD UART RS-232C JTAG PORTA (5V) Active Serial PORTB (5V) OSC. 50MHz Analog

Portbase-3010F

BY-FDP-4-70.hwp

(SW3704) Gingerbread Source Build & Working Guide

DVI-CL01 매뉴얼

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

untitled

일반적인 네트워크의 구성은 다음과 같다

M16_32KIT_Manual.hwp

11 강 AVR board & download cable 2009 년도 1 학기 센서개론 Mechatronics Lab 센서개론

Microsoft Word - IRM9600x Spec.doc

한글사용설명서

untitled

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

DSP_MON 프로그램 메뉴얼

Microsoft PowerPoint - 9.Serial.pptx

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

CONTENTS 1. Approval Revision Record Scope Numbering of product Product Part No Lot. No Absolu

ºÎ·ÏB

슬라이드 제목 없음

Microsoft Word - SMB-63-2_KR_.doc

AN_0005B_UART

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<3130C0E5>

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

Microsoft Word - ds_probee-ze20s_kr-v1.0.0.docx

CAN-fly Quick Manual

6주차.key

untitled


Microsoft Word - ds_probee-ze10_kr-v1.0.1.docx

Microsoft Word - AM-SLCD_시리얼 LCD_ 메뉴얼.doc

PowerPoint 프레젠테이션

KEY 디바이스 드라이버

JMOD : ATmega128 기본모듈 사용자설명서 제이씨넷

PowerPoint 프레젠테이션

HX - Operation Manual MC / TC / CUT / QT HX Series(V2.x) Operation Manual for MC / TC / CUT / QT CSCAM

PowerPoint 프레젠테이션

I-FT232H 사용자설명서 설명서이력 Rev. 변경일수정된내용 /03/01 처음작성됨 1 I-FT232H-100

Nordic Chipset BLE Test Application Note

ARQ (Automatic Repeat reQuest)

PRO1_16E [읽기 전용]

Microsoft Word - ASG AT90CAN128 모듈.doc

Microsoft Word - EWKit-RS232.doc

Microsoft Word - WAM-4xxXSS Spec_Transceiver_.doc

슬라이드 1

DSP_MON 프로그램 메뉴얼

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

STM32F2xx 시리즈의특성 Core: ARM 32-bit Cortex -M3 CPU with Adaptive real-time accelerator (ARTAccelerator ) allowing 0-wait state execution performance fro

Microsoft Word - AM-2560PRO_V01 메뉴얼.doc

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

2. Deferred Interrupt Processing A. Binary Semaphores를이용한동기 (Synchronization) i. Binary Semaphores는 Interrupt가발생하였을때특정한 를 Unblock 하는데사용할수있다. 이러한기능은 In

PowerPoint 프레젠테이션

Ä¡¿ì³»ÁöÃÖÁ¾

PowerPoint 프레젠테이션

Microsoft Word - JAVS_UDT-1_상세_메뉴얼.doc

Microsoft Word - WGM-447Xx9 Spec_Transceiver_.doc

Microsoft Word - Bluetooth User Manual_V1.00_KOR.doc

Microsoft Word - CL5000,5500_KOR_UM_ _.doc

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

XDesignerPlus V2.0 접속 매뉴얼

(8)

Index

[ 융합과학 ] 과학고 R&E 결과보고서 뇌파를이용한곤충제어 연구기간 : ~ 연구책임자 : 최홍수 ( 대구경북과학기술원 ) 지도교사 : 박경희 ( 부산일과학고 ) 참여학생 : 김남호 ( 부산일과학고 ) 안진웅 ( 부산일과학고 )

Microsoft PowerPoint os2.ppt [호환 모드]

untitled

Transcription:

뻔뻔한 AVR 프로그래밍 The 6 th Lecture 유명환 ( yoo@netplug.co.kr)

1 2 통신 관련이야기 시리얼통신 관련이야기 INDEX 3 ATmega128 시리얼통신회로도분석 4 ATmega128 시리얼통신컨트롤러 (USART) 분석 5 ATmega128 시리얼통신관련레지스터분석 6 ATmega128 시리얼통신실습

1 통신 관련이야기 동기 (Synchronous) TCP USART TWI(I 2 C) 非동기 (Asynchronous) UDP UART GPS, BlueTooth, ZigBee 임베디드시스템용시리얼통신 UART ex) MMI (Man Machine Interface) 통신속도시간 ( 계산 ) 공식

2 시리얼통신 관련이야기 CPU 0 1 CPU 0 1 core 0 Bus 1 1 0 UART TX Rx 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 data stream Parallel Serial start 0 1 2 3 4 5 6 7 8 parity stop stop Data bit

3 ATmega128 시리얼통신회로도분석

3 ATmega128 시리얼통신회로도분석 DK128-MAIN 보드 : ISP 회로

3 ATmega128 시리얼통신회로도분석 DK128-MAIN 보드 : UART 회로

3 ATmega128 시리얼통신회로도분석 PC DK 128 12V 1 threshold 0 0 1 5V 1 0 GND +5V Powered RS-232 Transmitters/Receivers --> MAX232 와호환!!

4 ATmega128 시리얼통신컨트롤러 (USART) 분석 <-- 16MHz --> TXD1 <-- RXD1

4 ATmega128 시리얼통신컨트롤러 (USART) 분석 Clock Generator UDR (Transmit) : 송신버퍼 다음번데이터는송신버퍼가비워질 (empty) 때까지대기 (wait) 송신버퍼 empty Transmitter 한비트씩 Loading TRANSMIT SHIFT REGISTER : 한비트씩송신 (Transmitting) TXD1 Receiver

4 ATmega128 시리얼통신컨트롤러 (USART) 분석 Clock Generator Transmitter RXD1 핀으로부터한비트씩수신 Receiver RECEIVE SHIFT REGISTER : 한비트씩수신버퍼에저장 RXD1 UDR (Receive) : 수신버퍼 Stop 비트 : Data 비트수신이완료됨을뜻함! 수신버퍼 full

4 ATmega128 시리얼통신컨트롤러 (USART) 분석 PC TXD RXD GND TXD RXD GND DK128 Full Duplex 동작 직렬송수신이독립적 비동기 (Asynchronous) 와동기 (Synchronous) 모두동작 일반적으로 UART 는명령어전송을위해주로사용 주로비동기 5, 6, 7, 8, 9 데이터비트와 1, 2 스톱비트 no parity start 0 1 2 3 4 5 6 7 8 parity stop stop 5, 6, 7, 8, 9 데이터비트 1, 2 스톱비트

5 ATmega128 시리얼통신관련레지스터분석 PC : 하이퍼터미널 ( 시리얼가상에뮬레이터 ) DK128 : Firmware 19200-8-N-1 * 흐름제어 -> 반드시 없음 으로설정할것! 19200 : 시리얼통신속도 (Baud rate) 8 : ( 송수신 ) 데이터사이즈 -> ASCII code N : No Parity 1 : Stop 비트 1 비트사용

5 ATmega128 시리얼통신관련레지스터분석 UDRn : USARTn I/O Data Register Register 설명실제구현예 UDRn 송수신데이터를저장하기위한레지스터 -> 버퍼 (Buffer) UDR1 = byte; // 송신할때 return UDR1; // 수신할때 19200-8-N-1

5 ATmega128 시리얼통신관련레지스터분석 UCSRnA : USART Control and Status Register A Register 설명실제구현예 Bit 7 RXCn: USART Receive Complete Bit 5 UDREn: USART Data Register Empty USART Receive Complete bit RX 핀으로부터입력된수신데이터 (8 비트 ) 가모두수신버퍼 (UDR) 로입력이완료되는순간자동적으로 1 로설정됨. 수신버퍼가완전히채워질때 USART Data Register Empty bit 송신버퍼 (UDR) 가새로운데이터를받을준비가되어있는지알려줌 송신버퍼가완전히비워질때 while(! (UCSR1A &(1<<RXC1)) ); // RXC1 비트가 1 이될때까지대기 (wait) -> Polling 방식 while(!(ucsr1a &(1<<UDRE1))); // UDRE1 비트가 1 이될때까지대기 (wait) 19200-8-N-1

5 ATmega128 시리얼통신관련레지스터분석

5 ATmega128 시리얼통신관련레지스터분석 UCSRnB : USART Control and Status Register B Register 설명실제구현예 Bit 4 RXENn: Receiver Enable USART 수신을활성화 (enable) UCSR1B = (1<<TXEN) 수신버퍼와관련된동작이가능하도록함 (1<<RXEN) (0<<UCSZ2); Bit 3 TXENn: Transmitter Enable Bit 2 UCSZn2: Character Size USART 송신을활성화 (enable) 송신버퍼와관련된동작이가능하도록함 UCSRnC의 UCSZn1:0과함께송수신데이터의사이즈를결정 UCSRnC 참조 UCSR1B = (1<<TXEN) (1<<RXEN) (0<<UCSZ2); UCSR1B = (1<<TXEN) (1<<RXEN) (0<<UCSZ2); 19200-8-N-1

5 ATmega128 시리얼통신관련레지스터분석 UCSRnC : USART Control and Status Register C Register 설명실제구현예 Bit 5:4 UPMn1:0: Parity Mode Parity 모드설정 UPMn1 UPMn0 Parity mode 0 0 Disabled 0 1 (Reserved) 1 0 Enabled, Even Parity 1 1 Enabled, Odd Parity UCSR1C = (0<<UPM1) (0<<UPM0) (0<< USBS) (1<<UCSZ1) (1 <<UCSZ0); Bit 3 Stop 비트를 1비트와 2비트중어느것을할지설정 USBSn: Stop Bit USBSn Stop-Bit(s) Select 0 1-bit 1 2-bits UCSR1C = (0<<UPM1) (0<<UPM0) (0<< USBS) (1<<UCSZ1) (1 <<UCSZ0); 19200-8-N-1

5 ATmega128 시리얼통신관련레지스터분석 Bit 2:1 UCSZn1:0: Character Si ze UCSRB 의 UCSZ2 와함께송수신데이터의사이즈를결정 8 비트데이터사이즈로결정함! ASCII code UCSZn2 UCSZn1 UCSZn0 Character Size 0 0 0 5-bit 0 0 1 6-bit 0 1 0 7-bit 0 1 1 8-bit 1 0 0 Reserved 1 0 1 Reserved 1 1 0 Reserved 1 1 1 9-bit UCSR1C = (0<<UPM1) (0<<UPM 0) (0<< USBS) (1<<UCSZ1) (1 <<UCSZ0); 19200-8-N-1

5 ATmega128 시리얼통신관련레지스터분석 UBRRnL, UBRRnH : USART Baud Rate Registers Register 설명실제구현예 UBRRnL, UBRRnH 시리얼통신 ( 송수신 ) 속도 (Baud Rate) 를설정하기위한레지스터 19200-8-N-1

5 ATmega128 시리얼통신관련레지스터분석

5 ATmega128 시리얼통신관련레지스터분석 UBRRnH UBRRnL 전송속도설정 Clock Generator Next data Transmitter UDR (Transmit) : 송신버퍼 송신버퍼 empty TRANSMIT SHIFT REGISTER : 송신시프트레지스터 TXD1 Receiver USCRnA RXCn UDREn UCSRnB 수신활성화송신활성화 data size 설정 UCSRnC Parity mode 설정 Stop 비트설정 data size 설정

5 ATmega128 시리얼통신관련레지스터분석 UBRRnH UBRRnL 전송속도설정 Clock Generator Transmitter RXD1 핀으로부터다음신호받음 Receiver RECEIVE SHIFT REGISTER : 수신시프트레지스터 RXD1 UDR (Receive) : 수신버퍼 Stop 비트 수신버퍼 full USCRnA RXCn UDREn UCSRnB 수신활성화송신활성화 data size 설정 UCSRnC Parity mode 설정 Stop 비트설정 data size 설정

6 ATmega128 시리얼통신실습 예제 _Header #define CPU_CLOCK 16000000 #define BAUD_RATE 19200 #define BAUD_RATE_L (CPU_CLOCK/(16l*BAUD_RATE))-1 // 하위 8 비트 #define BAUD_RATE_H ((CPU_CLOCK/(16l*BAUD_RATE)) RATE))-1) >> 8 // 상위 4 비트 case1) UBRR=51(0011 0011) 인경우 - - - - 0 0 0 0 UBRRnH 0 0 1 1 0 0 1 1 UBRRnL case2) UBRR=416(0001 1010 0000) 인경우 - - - - 0 0 0 1 1 0 1 0 0 0 0 0 UBRRnH UBRRnL * 110100000의하위8비트 (1010 0000) 는 UBRRnL (BAUD_RATE_L) 에할당상위 4비트값만걸러내기위해 0001 1010 0000 를 8번오른쪽으로 Shift 시켜남아있는값만걸러내면됨! 0 0 0 1 1 0 1 0 0 0 0 0 >> 8 0 0 0 0 0 0 0 0 0 0 0 1