TWI직렬 통신프로그램 [마컴 예비레포트]
- 최초 등록일
- 2012.05.22
- 최종 저작일
- 2011.05
- 9페이지/ 한컴오피스
- 가격 1,000원
* 본 문서는 한글 2005 이상 버전에서 작성된 문서입니다.
한글 2002 이하 프로그램에서는 열어볼 수 없으니, 한글 뷰어프로그램(한글 2005 이상)을 설치하신 후 확인해주시기 바랍니다.
소개글
TWI직렬 통신프로그램
목차
1. 실험 목적
2. 실험도구
⑴ JST-MEGA128-DEV5 키트
⑵ 기기와 호환 되는 PC
3. 실험 이론
4. 실행 코드 분석
본문내용
TWI 란?
TWI 직렬통신 포트는 필립스사에서 제안한 근거리용 표준 직렬 통신방식인 버스로 통신하는 방식인데 ATmega128에서는 무슨 이유에서 인지 이를 라고 하지 않고 TWI라고 부르고 있지만 이것들은 서로 완전히 같은 것이다.
이것은 2선식 직렬통신 방식으로 항상 마스터(Master)와 슬레이브(Slave) 사이에서 직렬로 데이터를 송수신할 수 있다.
TWI의 동작
TWI 직렬통신은 인터럽트를 기반으로 하는 바이트 단위의 전송이다. 즉, TWI 통신에서는 기본적인 한 단계의 동작이 끝날때마다 인터럽트가 발생하며, 인터럽트 서비스 루틴에서 다음 동작을 지정한다. 따라서, 응용 프로그램은 외형적으로 TWI 통신에 대하여 거의 부담을 지지 않으며. 모든 통신 동작은 인터럽트에 의해 백그라운드로 수행된다.
⑴ TWI 통신의 첫 번째 단계는 START 조건의 전송이다. 이것은 TWI 하드웨어가 START 조건을 전송하도록 TWCR 레지스터를 초기화 하는 것으로 수행된다. 그러나 만약 TWINT 플랙이 1로 셋트되어 있으면 어떤 동작도 시작되지 않는다. 따라서 START 조건의 전송이 시작되려면 반드시 TWINT 플랙 비트에 1을 라이트하여 이를 클리어시켜야 한다.
⑵ START 조건의 전송이 완료되면 TWINT = 1 로 셋트 되면서 TWSR 레지스터에 START 조건이 성공적으로 전송되었다는 상태가 표시된다.
⑶ 응용 소프트웨어의 인터럽트 서비스 루틴에서는 START 조건이 전송 완료 되었다는 상태를 확인하고, TWDR 레지스터에 SLA+W를 라이트 하며, 바이트 데이터를 전송하도록 TWCR을 초기화 한다. 어드레스 패킷의 전송이 시작되려면 반드시 TWINT 플랙 비트에 1을 라이트 하여 클리어 시켜야 한다. 만약, 상태 레지스터를 확인한 결과 START 조건의 전송이 완료되지 않았다면 에러 처리 루틴을 호출하는 등의 조치가 필요하다.
참고 자료
없음