serial communication

7
99’ Micro process 실실 Zero LAB. Sunmoon University 08/28/22 Serial Communication 08/28/22 80C196KC UART(Universal Asynchronous Receiver Transmitter) 는 는 는는는 는는는 는는는 는 는는 는는 는는는 는는 . 는는는 는는는는는 는 는는는는 (full duplex) 는 는 / 는는는 는는는 는 는 는는는 는는 는는 . 는는는 는는는 는는는 는는는 는는는는 , 는는는 는는는는 는는는는는 는는는는 는는 는는는는 , 는 / 는는는 는는는 는는는 는는 는는는는 는는 . 는는는 는는는는 (baud rate) 는 는는는는 는는는는 는는는는 , XTAL1 는는 T2CLK 는 는는는 는 는는 . 는는는 는는는 는는는는 는는 는 포포 NO. 포 / 포포 포 포 P2.1 포포 RxD 포포포 포포 : 포포 포 , 포포포포 : 포 / 포포 포포포 포 P2.0 포포 TxD 포포포 포포 : 포포 포 , 포포포포 : 포포 포 P2.3 T2CLK 포포포포 포포포 포포 포포 포포 XTAL1 포포포포 포포포 포포 포포 포포

Upload: junius

Post on 05-Jan-2016

48 views

Category:

Documents


3 download

DESCRIPTION

Serial Communication. 80C196KC UART(Universal Asynchronous Receiver Transmitter) 는 세 종류의 비동기 모드와 한 개의 동기 모드가 있다 . 비동기 모드에서는 풀 듀풀렉스 (full duplex) 로 송 / 수신을 동시에 할 수 있도록 되어 있다 . 시리얼 포트는 시리얼 컨트롤 레지스터 , 시리얼 스테터스 레지스터를 이용하여 주로 제어하며 , 송 / 수신에 필요한 버퍼를 따로 내장하고 있다 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Serial Communication

99’ Micro process 실험

Zero LAB. Sunmoon University04/20/23

Serial Communication

04/20/23

80C196KC UART(Universal Asynchronous Receiver Transmitter) 는 세 종류의 비동기 모드와 한 개의 동기 모드가 있다 .

비동기 모드에서는 풀 듀풀렉스 (full duplex) 로 송 / 수신을 동시에 할 수 있도록 되어 있다 .

시리얼 포트는 시리얼 컨트롤 레지스터 , 시리얼 스테터스 레지스터를 이용하여 주로 제어하며 , 송 / 수신에 필요한 버퍼를 따로 내장하고 있다 .

시리얼 보레이트 (baud rate) 는 독립적인 컨트롤이 가능하며 , XTAL1 혹은 T2CLK 을 이용할 수 있다 .시리얼 포트에 사용하는 외부 핀

포트

NO.입 / 출력 기 호 기

P2.1 입력 RxD 비동기 모드 : 수신 핀 , 동기모드 : 송 / 수신 데이터 핀 P2.0 출력 TxD 비동기 모드 : 송신 핀 , 동기모드 : 클록 핀

P2.3 T2CLK 보레이트 발생을 위한 외부 클록

XTAL1 보레이트 발생을 위한 내부 클록

Page 2: Serial Communication

99’ Micro process 실험

Zero LAB. Sunmoon University04/20/23

시리얼 포트 컨트롤 레지스터

Serial Communication

Page 3: Serial Communication

99’ Micro process 실험

Zero LAB. Sunmoon University04/20/23

시리얼 포트 상태 레지스터

Serial Communication

Page 4: Serial Communication

99’ Micro process 실험

Zero LAB. Sunmoon University04/20/23

RI/TI 플래그

RI 플래그는 데이터를 수신하면 셋되고 , TI 플래그는 데이터의 송신이 끝났을 경우 셋 된다 .

이 플래그들은 인터럽트 인에이블이 되어 있을 경우는 송 / 수신 인터럽트를 발생하게 된다 .

TxE 플래그

송신 버퍼가 비어 있거나 2 바이트를 송신버퍼에 라이트 할 경우 TxE 플래그는 셋 된다 .

RPE/RB8 플래그

패리티가 인에이블 되면 패리티 에러가 검출되고 RPE 는 셋되며 , 패리티가 인에이블이 아니라

면 모드 2, 3 에서 9 번째 비트를 수신하는 RP8 로 사용한다 .

시리얼 포트 인터럽트

시리얼 포트는 송신 , 수신 두개의 인터럽트를 사용 할 수 있다 .

80C196KC 에서는 INT06 은 디스에이블 시키고 , INT08, INT09 는 인에이블 시켜서 사용하고

있다 .

Serial Communication

Page 5: Serial Communication

99’ Micro process 실험

Zero LAB. Sunmoon University04/20/23

시리얼 포트 모드

동기 모드

모드 0 : RxD 핀이 데이터를 송 / 수신 할때 , TxD 핀은 8 개 클록 펄스를 출력한다 .

데이터는 LSB 를 시작으로 한번에 8 비트씩 송신된다 .

비동기 모드

세 개의 비동기 모드 중 하나를 사용할 경우 송신 버퍼에 데이터를 라이트하면 송신은 시작 되고 , REN = 1 이 되어 있는 상태에서 RxD 의 하강 모서리에서 수신이 시작된다 .

송신 버퍼에 새로운 데이터가 로드되면 송신중인 데이터의 스톱 비트가 송신되기 전까지는 데이터를 그대로 갖고 있으며 REN=0 이면 수신은 불가능하게 된다 .

송신은 IOC1.5 = 1 이 되어 있어야 P2.0 를 TxD 핀으로 사용할 수 있다 .

모드 1 : 표준 비동기 통신 모드이다 . 이 모드에서 데이터 프레임은 10 비트 형태이다 .

1) 스타는 비트 (0)

2) 8 개 데이터 비트 (LSB 가 처음 )

3) 스톱 비트 (1)

로 구성된다 .

Serial Communication

Page 6: Serial Communication

99’ Micro process 실험

Zero LAB. Sunmoon University04/20/23

시리얼 포트 프레임 모드 1, 2, 3

송신 인터럽트 (TI) 와 수신 인터럽트 (RI) 플래그는 동작이 완료되면 셋 된다 .

수신하는 동안 RI 플래그는 스톱비트의 끝 전에 바로 셋 되고 , 송신하는 동안 TI 플래그는 스톱비트의 시작에 셋 된다 .

송신 인터럽트는 TI 플래그가 셋 되었을 때 발생하고 , 스톱비트를 송신하기 전에 다른 데이터를 보내면 스톱 비트를 송신할 때까지 송신은 지연된다 .

시리얼 포트의 상태 레지스터를 읽으면 TI, RI 플래그는 클리어 된다 . 이것은 비트 테스트

명령 JBS, JBC 도 포함한다 .

Serial Communication

Page 7: Serial Communication

99’ Micro process 실험

Zero LAB. Sunmoon University04/20/23

Serial Communication

보레이트 (baud rate) 보레이트는 16 비트 레지스터를 이용한다 .

보 레지스터의 MSB 가 1 이면 XTAL1 핀의 주파수를 선택하고 , MSB=0 이면 , T2CLK 핀의

외부 신호로부터 주파수를 선택한다 .

이 레지스터는 바이트 단위로 처음에 하위 바이트 , 다음에 상위 바이트 순으로 라이트 하 여야 한다 .