직렬통신
본 자료는 8페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
해당 자료는 8페이지 까지만 미리보기를 제공합니다.
8페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

직렬통신에 대한 보고서 자료입니다.

본문내용

위 회로도를 보면 ATmega128의 D 포트의 2,3번 핀과 E 포트의 0,1번 핀이 시리얼 통신을 위해 사용되고 있으며 이 신호선은 MAX232를 통해서 9핀짜리 커넥터(DB9)에 연결되어 있음을 알 수 있다. 이러한 DB9은 PC의 시리얼 포트에 연결 되어 ATmega128과 신호를 주고 받을 것이다.

먼저 시리얼 통신에 대해 살펴보자.

시리얼 통신은 신호선을 통하여 한번에 한 비트의 데이터를 차례로 전송하는 통신 방식이다. 이러한 방식에는 클럭 신호를 사용하여 동기화하여 데이터를 전송 할 수도 있고 클럭 신호를 사용하지 않고 비동기적으로 데이터를 전송 할 수도 있다. 이러한 의미에서 시리얼 통신을 USART라고 표현한다. USART는 Universal Synchronous Asynchronous Receiver and Transmitter의 약자이다. 보통 클럭 신호를 이용한 방식을 사용하지 않는 비동기 전송방식을 많이 사용하고 이러한 의미로 UART라고 부른다.
비동기 시리얼 데이터 전송방식의 표준으로써 PC에서는 EIA RS-232C가 있으며 이를 개량한 것이 RS-232D와 EIA/TIA-232E가 있다. 이외에도 RS-232보다 더 빠른 전송 속도와 더 긴 전송 케이블 길이를 지원하는 RS-422, RS-423, RS-485등의 표준이 있다.
* 연결
PC와 주변 장치가 직접적으로 서로 데이터를 주고 받기 위해서는 PC의 송신 신호선 (TxD)은 주변장치의 수신 신호선(RxD)으로, PC의 수신 신호선(RxD)은 주변장치의 송신 신호선(TxD)으로 연결이 되어야 한다. 이러한 구성은 대부분 간단히 시리얼 통신을 구현하기 위해 사용한다.
PC의 뒷면에는 시리얼 통신을 위한 커넥터가 나와 있는 것을 볼 수 있으며 포트를 살펴보면 다음 그림에서 수컷(male)에 해당하는 커넥터가 보통 사용된다. 간단한 시리얼 통신을 위해 9핀중 RxD, TxD, GND만 사용 할 것이다.
PC는 수컷 커넥터를 사용하며 RxD, TxD의 위치가 위의 그림과 같이 이미 고정되어 있다. 두 PC가 데이터를 주고 받기 위해서는 두 PC의 RxD와 TxD는 서로 교차되서 연결 되어야만 한다. 이를 위해서 케이블 양쪽 끝이 모두 암컷(female) 커넥터이며 내부적으로는 2번과 3번 연결이 꼬여 있는 널 모뎀 (NULL model) 케이블을 사용한다.

실험키트도 수컷 커넥터를 사용하므로 널 모뎀 케이블이 필요하다. 실험키트의 schematic diagram을 살펴보면 이렇게 구성되어 있음을 알 수 있다.
참고로 연장 케이블은 한쪽은 수컷 커넥터이고 다른 한쪽은 암컷 커넥터를 사용하고 있으며 RxD와 TxD는 서로 교차되지 않는 케이블이다.
* 신호 레벨
CPU에서 시리얼 통신을 하기 위해 USART를 거쳐서 직렬 데이터를 만들어내도 이는 단지 TTL 레벨의 전압 범위를 갖는다.

전압 레벨은 멀리 떨어져있는 주변 장치와 신호를 주고 받기에는 적절치 못하다. 이 신호를 먼거리로 전송하기에 적합한 높은 전압 레벨을 갖는 신호로 변환하여 내보내게 된다. 또한 이러한 신호를 받으면 다시 TTL 레벨로 변환해주어야 한다. USART에서 로직 1인 경우는 -5~-15V로 표현되고, 로직 0인 경우는 +5~+15V로 표현된다. 수신측에서는 입력 신호가 -3V 이하이면 로직 1 (mark)로 인식되며 +3V 이상이면 로직 0 (space)으로 인식된다. 이렇게 함으로써 노이즈에 강한 특성을 갖게 된다.
실험 키트가 PC와 시리얼 통신을 하기 위해서는 TTL 레벨의 신호와 RS-232 레벨의 신호가 서로 변환되어야만 한다. 이를 위하여 보통 MAX232라는 칩을 사용한다.
* 전송 데이터 형식
시리얼 통신에서 전송 데이터는 다음 그림과 같이 이루어져 있다: 1개의 start bit와 5~9개의 data bits, 1개의 parity bit, 1~2개의 stop bits로 이루어져 있으며 이들을 모두 모아 frame이라고 부른다. 그림에서 [] 표시는 해당 비트를 사용할 수도 있고 사용하지 않을 수도 있음을 나타낸다. 따라서 frame은 최소 7 비트에서 최대 13비트로 구성된다. Parity bit를 사용하도록 설정한 경우에는 데이터를 수신할 때 parity를 계산하여 전송에러를 체크한다. 이러한 parity에는 보통 even parity와 odd parity가 사용된다. 각 data bits 에서 1의 개수를 헤아리고, 그 수가,짝수 또는 홀수가 되도록 패리티 비트를 송신한다. 예를 들면,even parity를 사용한다면 데이터 중에 1이 짝수 개 있는 경우,parity bit는 0이 된다. 따라서 데이터 0110 0011에 대한 even parity는 0이며 odd parity는 1이다. 에러가 발생했을 때 에러의 존재를 알리는 것은 가능하지만 어느 bit에서 에러가 났는지 파악하는 것은 불가능하다. 만약 짝수개의 data bits에서 에러가 발생하면 에러가 발생하지 않은 것처럼 보인다.
2. ATmega128 시
  • 가격12,600
  • 페이지수23페이지
  • 등록일2013.05.16
  • 저작시기2007.11
  • 파일형식워드(doc)
  • 자료번호#846353
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니