Universal Synchronous and Asynchronous serial Receiver and Transmitter = USART
이 USART는 산업표준인[=UART] 비동기방식만을 제공하는게 아니라 동기와 비동기를 모두 제공해주는 직렬 통신 포트이다.

[제공기능]
- 전이중 통신이 가능
- 동기와 비동기를 지원
- Master와 Slave Clocked Synchronous Operation4
- High Resolution Baud Rate Generator
등등 다양한 기능을 제공해 준다. 

[동기와 비동기의 작동방식]
1) 동기식
- master : 전송속도를 결정할때 내부 클럭을 사용
- slave : XCKn 단자로 입력되는 클럭 신호에 의해 동작
2) 비동기식
- 항상 내부 클럭에 의하여 Baud Rate가 결정됨

[USART의 레지스터]
1) USARTn I/O Data Register - UDRn
 - UDRn은 Data 송수신을 위한 레지스터이다.
 - 이 레지스터는 2byte로 되어 있다.(ATMEL128에서의 2byte는 INT형이다.)
   2Byte의 공간중 1Byte는 Read를 위한 공간이고, 1Byte는 Write를 위한 공간이다.

2) USART Control and Status Register A - UCSRnA
- 포트의 송수신 동작을 제어, 송수신 상태를 저장하는 기능
 
3) USART Control and Status Register B - USCRnB
- 포트의 송수신 동작을 제어
- 전송데이터를 9비트로 설정한 경우에 전송 데이터의 9번째 비트값을 저장하는 기능 수행
 
4) USART Control and Status Register C - USCRnC
- 포트의 송수신 동작을 제어
 
5) USART Baud Rate Registers - UBRRnH and UBRRnL
- 16비트중 12비트만 유효
- 포트의 송수신 속도를 설정하는 기능을 수행
- 레지스터 write 하는 경우 상위 바이트인 UBRRnH부터 먼저 write 하고 그다음 UBRRnL write 함
  
[USART 인터럽트]
- USART의 인터럽트는 3가지가 있다.
1) TX Complete (송신완료)
2) TX Data Register Empty (송신 데이터 레지스터 준비완료)
3) RX Complete (수신완료)
 
[USART를 3부분으로 나누기]
1) 클럭 발생부 - Baud Rate Generator, 동기모드에서 클럭과 동기를 취하는 회로를 구성
2) 송신부 - 송신 버퍼, 송신 시프트 레지스터, 패리티 발생기(오류체크)
3) 수신부 - 수신 버퍼, 수신 시프트 레지스터, 패리티 검사기

[하드웨어]
= HIN232C
이 칩은 120kbps의 최대 속도를 낼 수 있고, 0 ~ 70도의 온도를 견딜 수 있다.
  1. 우하앤랴ㅣ다 2009.05.06 09:38

    님들 근데 이거 다 긁어서 올리고 다 읽어는 보신거임?

+ Recent posts