AVR - Chapter 6 황 지 연.

Slides:



Advertisements
Similar presentations
제 7 장. 정보통신 『디지털 경제시대의 경영정보시스템』 김효석 · 홍일유 공저 ⓒ 2000, 법문사.
Advertisements

KT-M128 Peripheral Device
MINI 프로토콜 아날라이저 사용설명서 Ver1.1.
KT-M128 Peripheral Device
K7M-EL60A(엘리베이터 전용 Controller)
마이크로프로세서설계 - 3 ATmega128 마이크로컨트롤러의 특징 LED 실습 1
SoC 로봇워 참가자 교육.
AVR.
11 장 데이터 링크 프로토콜 11.1 비동기 프로토콜 11.2 동기 프로토콜 11.3 문자-중심 프로토콜
전자파 연구실 1 9. Connectors. 전자파 연구실 2 Primary electrical factors affecting high-speed performance in connectors Mutual inductance – cause crosstalk Series.
Copyright SangSangDom, All Rights Reserved.
DIGITAL DATA 4CH MUX SERIES
DIGITAL DATA LINK SERIES
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
AVR 5관절 로봇 암 활용 예제.
12장 직렬통신 Slide 1 (of 17).
Data Communications 제4장 데이터통신의 기본 개념.
Serial Communication 80C196KC UART(Universal Asynchronous Receiver Transmitter)는 세 종류의 비동기 모드와 한 개의 동기 모드가 있다. 비동기 모드에서는 풀 듀풀렉스(full duplex)로 송/수신을 동시에.
바코드프린터 사용자매뉴얼 ( Z- 4M Plus /Z-6M Plus)
마이크로프로세서 메모리 및 입출력장치 인터페이스
USER’S MANUAL 모델명: CCR-201 코드시스템(주)
Data Communications 제 7 장 기기간의 접속규격 양 계 탁 정보보호학과.
Data Communications 제 7 장 기기간의 접속규격.
C Language Referance 00장 정보통신 공학
네트워크 개요 Network의 이해 Network Cabling Ethernet.
2013 스마트 컨트롤러 중간 프로젝트 김성엽 진종영 조유진
2 Part 전자계산기 구조 1. 논리 회로 2. 자료 표현 및 연산 3. 명령어 및 프로세서 4. 명령 수행 및 제어 5.
SMS를 이용한 오토바이 도난방지장치 5조 김성중 노광훈 최영미.
2 정보통신시스템.
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
PioneerTM 저울 사용 설명서.
RnA DISPLAY 구동 Clcd 구동 Made by Bonobonobono.
2 AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128.
임베디드 프로그래밍 Lecture #
6 장 디지털 데이터 전송 : 인터페이스와 모뎀 6.1 디지털 데이터 전송 6.2 DTE-DCE 인터페이스
김 형 진 전북대학교 IT응용시스템공학과 데이터 전송 Chapter 김 형 진 전북대학교 IT응용시스템공학과.
제 8 장의 구성 8.1 변복조기(MODEM) 8.2 디지털 변조의 원리 8.3 디지털 변조방식의 종류(ASK/FSK/PSK)
CONTROLLER(RTC1CH90) 설명서
CONTROLLER(RTC4CH70) 설명서
1. 아두이노란 무엇인가? - 스마트 폰으로 제어하는 아두이노 -.
시리얼 통신 (Rs232를 통한 PLD와 컴퓨터의 직렬통신).
CONTROLLER(RTC2CH30) 설명서
『디지털 경제시대의 경영정보시스템』 김효석 · 홍일유 공저 ⓒ 2000, 법문사
직렬통신과 무선 프로토콜 8조 박지훈 조효철.
GDK-CIDU GDK 및 LDK-Series에 사용할수 있는 Caller ID박스 ■ 발신자 번호 표시 개요
5 Part 정보 통신 개론 1. 정보 전송 이론 2. 데이터 전송 제어 3. 통신 회선 공유 4. 데이터 회선망 5.
AVR - Chapter 2 황 지 연.
Chapter 12. 직렬 통신과 무선 프로토콜.
Z- 4M User’s Guide 메뉴얼 Maximum Print Area Width : 4.09”/104mm
DK-128 ADC 실습 아이티즌 기술연구소
4족 로봇 삼식이팀 박명대.
AVR - Chapter 12 황 지 연.
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소 김태성 연구원
ATmega128의 USART통신의 활용 Robotics_LAB 발표자 : 유 홍 선.
디지털-아날로그 부호화.
MA1356T ▶ 제품개요 *. 사용 스마트 카드 : ISO A Type And Mifair 호환 .
제19강 병렬처리시스템 1.
Chapter 03. 네트워크 통신.
ATmega128의 USART통신의 활용 Robotics_LAB 발표자 : 유 홍 선.
8051 IO-PORT 정보통신•컴퓨터 공학부 송명규
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
Data Communications 제2장 데이터통신의 기본 개념.
DT-900 HANDY TERMINAL INSTALL 및 사용 방법
김 형 진 전북대학교 IT응용시스템공학과 데이터 전송 Chapter 김 형 진 전북대학교 IT응용시스템공학과.
제16강 입출력시스템 1.
DK-128 직렬통신 실습 아이티즌 기술연구소
MA125T ▶ 제품개요 MA125T는 Temic & EM-CARD를 Read 하여 카드 데이터 전송모듈
사물인터넷(IoT) 프로그래밍 기초 5. 시리얼통신.
Lecture 7 7-Segment LED controller using u-controller
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
Presentation transcript:

AVR - Chapter 6 황 지 연

데이터는 LSB부터 MSB 순으로 데이터 전송 시리얼(Serial) 통신이란? Serial 통신은 하나의 신호 선을 이용해서 데이터를 비트 단위로 보내는 방식 8비트 비 동기식 통신 콘트롤러 (UART : Universal Asynchronous Receiver Transmitter) 데이터는 LSB부터 MSB 순으로 데이터 전송

Serial interface 통신 규격 Serial interface 통신 규격 RS-232C, RS-422, RS-423, RS-485… < RS-232C의 예>

시리얼(Serial) 통신 Serial 통신 이점 Serial 통신 전송 방식 속도 적은 수의 통신 라인 사용과 먼 거리 전송 Simplex 단방향 전송 방식 - 라디오 half duplex 반이중 전송 방식(서로 다른 시간 양방향 전송 방식) - 무전기 (full) duplex 전이중 전송 방식(동시 양방향 전송 방식) - 8051 속도 bps(bits per second) : 1초당 전송되는 비트의 수 baud rate : 1초당 전송되는 변조된 신호의 수 * 8051에서는 하나의 비트가 하나의 신호이므로 같은 의미

시리얼(Serial) 종류 Specification RS232C RS423 RS422 RS485 동작 모드 Single-Ended Differential 최대 Driver / Receiver 수 1 Driver 1 Receiver 1 Driver 10 Receivers 1 Driver 32 Receivers 32 Drivers 32 Receivers 최대 통달거리 약 15 m 약 1.2 km 최고 통신속도 20 Kb/s 100 Kb/s 10 Mb/s 지원 전송방식 Full Duplex Half Duplex 최대 출력전압 ±25V ±6V -0.25V to +6V -7V to +12V 최대 입력전압 ±15V ±12V -7V to +7V

RS-232C TXD - Transmit Data RXD - Receive Data RTS - Ready To Send 직렬통신 데이터가 나오는 신호선 RXD - Receive Data 직렬통신 데이터를 입력받는 신호선 RTS - Ready To Send DTE장치가 DCE장치에게 준비가 됐음을 나타내는 신호선 CTS - Clear To Send DCE장치가 DTE장치에게 준비가 됐음을 나타내는 신호선 DTR - Data Terminal Ready 터미널이 모뎀에게 자신이 송수신 가능한 상태임을 알리는 신호선 DSR - Data Set Ready 모뎀이 터미널에게 자신이 송수신 가능한 상태임을 알려주는 신호선 DCD - Data Carrier Detect 모뎀이 상대편 모뎀과 전화선등을 통해서 접속이 완료되었을 때 상대편 모뎀이 캐리어신호를 보내오며 이신호를 검출하였음을 컴퓨터 또는 터미널에 알려주는 신호선 RI - Ring Indicator 상대편 모뎀이 통신을 하기위해서 먼저 전화를 걸어오면 전화 벨이 울리게 된다. 이때 이신호를 모뎀이 인식하여 컴퓨터 또는 터미널에 알려주는 신호선이다.

RS-232C

시리얼 포트 보우 레이트 U2X = 0 으로 하였을 때의 보우 레이트 계산식, 아래와 같이 계산하면 UBRR 에 세팅 해야 하는 값이 나옴 코딩은 아래와 같이 하면 편리하다 (UBRR 값이 255 보다 크게 나올경우는 주의)

시리얼 보우 레이트

시리얼 보우 레이트

시리얼 보우 레이트

시리얼 보우 레이트

시리얼 포워더 만들기

시리얼 포워더 만들기 #pragma interrupt_handler uart0_rx_isr:19 void uart0_rx_isr(void) { //uart has received a character in UDR UDR0 = UDR0; } //컴파일 후 ATmega128에 포팅한다.

시리얼 포워더 만들기

시리얼 포워더 만들기

시리얼 포워더 만들기

시리얼 포워더 만들기 키보드를 눌러도 아무런 반응이 없다.

시리얼 포워더 만들기 Open Com Port를 눌른다.

시리얼 포워더 만들기

Printf 사용하기 void main(){ init_devices(); printf("Serial Forwarder v0.1\r\n"); while(1){ ; } }

시리얼 프로그래밍 USRnA(USARTn Control & Status Register A) BIT 7 : RXCn(USART Receive Complete) RXCn(USARTn Receive Complete) 비트는 수신버퍼에 읽혀지지 않은 수신 문자가 들어있으면 "1"로 셋 되고 CPU가 이를 읽어서 수신 버퍼가 비어있는 상태라면 "0" 으로 클리어 되었음을 나타내는 상태 플래그이다. RXCn 비트는 수신 완료 인터럽트를 발생시킬 때 사용한다. BIT 6 : RXCn(USARTn Transmit Complete) TXCn(USARTn Transmit Complete) 비트는 송신 시 포트 레지스터에 있는 송신 데이터가 모두 송신되고 UDRn의 송신 버퍼에 아직 새로운 송신 데이터가 라이트 되지 않은 상태 이면"1"로 셋 되는 상태를 지시 하는 플래그이다. TXCn 비트는 송신 완료 인터럽트를 발생 시킬 때 사용된다

시리얼 프로그래밍 BIT 5 : UDREn(USARTn Data Register Empty) UDREn(USARTn Data Register Empty)비트는 UDRn의 송신 버퍼에 새로운 송신 데이터를 받을 준비가 되어 있으면 "1"로 셋 되는 상태 플래그이다 UDREn 비트는 UDARTn Data Register Empty 인터럽트를 발생할 때 사용한다. BIT 4 : FEn(Frame Error) FEn(USARTn Frame Error)비트는 UDRn의 수신 버퍼에 현재 저장 되어있는 데이터를 수신 하는 동안 프레임 에러가 발생 하였음을 나타내는 상태 플래그로, 프레임에러는 수신 문자의 첫 번째 스톱비트가"0"으로 검출 되면 발생(1로 셋 되고)하고 UCSRAn 레지스터를 라이트하면 이 비트는 "0"으로 클리어된다 BIT 3 : DORn*Data OverRun DORn(USARTn Data Overrun Error) 비트는 수신 동작에서 오버런 에러가 발생하였음을 나타내는 상태 플래그로 OverRun Error는 UDRn의 수신 버퍼에 현재 읽지 않은 수신 문자가 들어있는 상태에서, 수신 시 포트레지스터에 새로운 문자가 수신 완료되면, 다시 그 다음 수신 데이터인 3번째 문자의 스타트비트가 검출되면 발생한다. UCSRnA 레지스터를 라이트 하면 이 비트는 "0"으로 클리어된다.

시리얼 프로그래밍 BIT 2 : PEn(Parity Error) PEn(Parity Error)비트는 UDR의 수신 버퍼에 현재 저장 되어 있는 데이터를 수신 하는 동안 패리티에러가 발생 하였음을 나타내는 상태플래그로 패리티에러는 UCSRnC 레지스터의UPMn1 비트를"1" 설정하여 패리티 비트를 사용하도록 설정 한 경우에만 발생할 수 있다. UCSRnA 레지스터를 라이트 하면 이 비트는"0"으로 클리어된다 BIT 1 : UCXn(Double the USARTn Transmission Speed) U2Xn(Double the USART Transmisson Speed) 비트는 비동기모드에서만 사용가능 한 것으로서 클록의 n 분주비를 16에서 8로 1/2만큼 낮추어 전송 속도를2배 높이는 기능을 한다 BIT 0 : MPCMn(USART Multi-Processor Communication Mode) 비트는 USARTn을 멀티프로세서 통신 모드로 설정하고 멀티프로세서통신 어드레스정보를 포함 하지 않는 모든 수신 데이터는 수신부에 의하여 무시 된다.

시리얼 프로그래밍 USRnC(USARTTn Control & Status Register C) BIT 7 BIT 6 에약 BIT 6 UMSELn(USARTn Mode Select) UMSELn(USARTn Mode Select) 비트는 "1"이면USARTn 모듈을 동기 전송 모드로 설정 하고 "0"이면 비동기 전송 모드로 설정한다 BIT5,4 UPMn1, 0(Parity Mode) 이 비트를 "1"로 설정 하면 패리티를 발생 시키고 검사를 할 수 있고 송신기는 자동적으로 각 프레임의 송신 데이터에 페리티 비트를 더하여 송신한다. 수신기는 UPM0 비트와 수신된 데이터를 비교한다. 만약에 오류가 발생하면UCSRnA 레지스터의 PE 플래그가"1"로셋된다 UPMn 비트설정표 -------------------------------------------- UPMn1 UPMn0 Parity모드 ------------------------------------------- 0 0 Disable 0 1 예약 1 0 Enabled Even Panrity 1 1 Enabled Odd Parity

시리얼 프로그래밍 BIT 3 : USBSn(Stop Bit Select) USBSn(Stop Bit Select) 비트가 "0“ 이면 USARTn 모듈에서 데이터 포맷을 구성하는 스톱 비트를 1개로 설정하고 "1"이면 스톱 비트를 2개로 설정한다. --------------- USBSn StopBIt 0 1-bit 1 2-bit BIT 2,1 : UCSZn1,0(Character Size) - 데이터비트수를설정 ------------------------------------------------------------ UPMn1 UPMn0 UCSZn0 Parity모드 -------------------------------------------------------------------- 0 0 0 5-bit 0 0 1 6-bit 0 1 0 7-bit 0 1 1 8-bit 1 0 0 에약 1 0 1 에약 1 1 0 에약 1 1 1 9-bit

시리얼 프로그래밍 BIT 0 : UCPOLn ------------------------- USBSn TxDn의출력StopBIt 0 XCKn 상승 XCKn 하강 1 XCKn 하강 XCKn 상승

시리얼 프로그래밍 UBRR0H = 0x00; UBRnH/L(USARTTn Baud Rate Register) 레지스터는 16비트 중에서 12비트만 사용하여 USARTTn 모듈의 송·수신 속도를 설정하는 기능을 한다. BIT 15~23 : 에약비트 BIT 11~0 : UBRRn11~0(USARTn Baud Rate Register) 2비트를 이용하여 USARTn의 보율(baud rate)을 결정 하는데 UBRRnH의 4비트와 UBRRnL의8비트가조합을이루고있다

시리얼 프로그래밍 USRnB(USARTTn Control & Status Register B) BIT 7 : RXCIEn(RX Complete Interrupt enable) EXCIEn(USARTn RX Complete Interrupt Enable) 비트는 수신 완료 인터럽트를 개별적으로 enable하고 "1"로 설정하고 SREG 레지스터의 비트가"1"이고 UCSRnA 레지스터의 RXCn 비트가"1"로 설정 되어 있으면 수신 완료 인터럽트가 발생한다 BIT 6 : TXCIEn(TX Complete Interrupt Enable) TXCIEn(USARTn TX Complete Interrupt Enable)비트는 수신완료 인터럽트를 개별적으로 enable(1)로 설정하고 SREG 레지스터의 비트가 "1"이고 UCSRnA와 UCSRnA레지트터의 TXCn 비트가"1"로설정 되어 있으면 송신 완료 인터럽트가 발생한다

시리얼 프로그래밍 BIT 5 : UDRIEn(USARTn Data Register Empty Interrupt Enable) 비트 USARTn Data Register Empty 인터럽트를 개별적으로 enable하는 비트로 "1"로 설정하고 SREG 레지스터의 비트가 "1"이고 UCSRnA 레지스터의 UDREn 비트가 "1"로 되면 USARTn Data Register Empty 인터럽트가발생된다 BIT 4 : RXENn(Receiver Enable) RXEN(Receiver Enable) 비트는USARTn 모듈의 수신부가 동작하도록 enable하는 것 으로RXDn 핀이 병렬 I/O 포트가 아니라 직렬 데이터 수신단자로 동작 하도록 설정한다. BIT 3 : TXENn(Transmitter Enable) TXENn(Transmitter Enable) 비트는 USARTn 모듈의 송신부가 동작하도록 enable 하는 것으로 TXDn핀이 병렬 I/O 포트가 아니라 직렬 데이터 송신단자로 동작하도록 설정한다. BIT 2 : UCSZn2(Character Size) UCSZn2(USARTn Character Size)비트는 UCSRnC레지스터의 UCSZn1~0비트와 함께 전송 문자의 데이터비트수를설정하는데사용된다

시리얼 프로그래밍 BIT 1 : RXB8n(Transmit data Bit 8) RXB8n(Receive Data Bit 8)은 수신 문자가 9비트로 설정 된경우에 수신된 문자의 9번째 비트(MSB)를 저장한다 BIT 0 : TXB8n(Transmit data BIt 8) 송신문자가 8비트로 설정 된 경우에 송신된 문자의9번째 비트(MSB)를 저장한다

시리얼 프로그래밍 #pragma interrupt_handler uart0_rx_isr:19 void uart0_rx_isr(void) { //uart has received a character in UDR cmd=UDR0; //시리얼 통신에서 받은 데이터(UART Data Register)를 cmd변수에 저장 }