본문 바로가기
코스웨어/14년 스마트컨트롤러

20140609 출석번호 1번 고윤석

by 알 수 없는 사용자 2014. 6. 9.
728x90
반응형
TWI 는 AVR 과 주변 디바이스 또는 AVR 사이에서 2 선만 사용해서 시리얼로 데이터를 전달하는 방식입니다.
I2C (TWI) 는 필립스에서 제안한 것으로, I2C (또는 IIC-Inter Integrated Circuit) 과 TWI 는 같은 것입니다.

그 특징은
1. 2 개의 선 (SDA, SCL) 으로 양방향 시리얼 통신을 합니다.

2  마스터와 슬레이브 동작을 할 수 있습니다.

3. 송신기와 수신기로 동작할 수 있습니다.

4. 7 비트 주소로 최대 128 개의 다른 슬레이브 주소를 만들수 있습니다.

5. 멀티 마스터 조정(Arbitration) 기능이 있습니다.

6. 최대 400 KHz 데이터 전달 속도를 지원합니다.

SCL 은 단방향으로 항상 마스터가 발생합니다.

SDA 는 양방향으로 데이터를 전달합니다.


마스터가 데이터를 송신할 때는 마스터 송신기(MT) 로 동작하고

마스터가 데이터를 수신할 때는 마스터 수신기(MR) 로 도작합니다.

슬레이브가 데이터를 송신할 때는 슬레이브 송신기(ST) 로 동작하고

슬레이브가 데이터를 수신할 때는 슬레이브 수신기(SR) 로 동작합니다.


TWI 버스 상에서 데이터(비트) 를 전달할 때는 클럭(SCL) 펄스에 의해서 수행된다

클럭이 높은 레벨일 때는 데이터는 일정하게 유지하고 있어야 합니다. 데이터의 변화는 클럭이 낮은

레벨일 때만 이루어 진다.

예외적으로 START 와 STOP 상태는 클럭이 높은 레벨에서 이루어 진다.




TWBR 은 비트 레이트 발생기의 나눗셈 비율을 결정합니다. 비트 레이트 발생기는 마스터 모드에서 SCL 의 주파수를 발생하는 주파수 분배기입니다.

TWCR 은 TWI 의 동작을 제어합니다.

7 TWINT (TWI Interrupt Flag)

TWI 의 현재 작업이 끝나고, 응용 프로그램의 응답을 기다릴 때 셋됩니다.  이 비트가 셋 된 동안은 SCL 은 로(LOW) 상태로 유지됩니다. 이 비트에 1 을 써서 소프트웨어적으로 클리어 시켜주어야 합니다. 인터럽트 루틴이 실행되어도 클리어 되지 않습니다.


6 TWEA (TWI Enable Acknoledge bit)

TWEA 비트는 확인 신호(Acknoledge) 펄스를 발생시키는 것을 제어합니다.

TWEA 비트에 1 을 쓰면 아래 조건을 만났을 때 ACK 신호를 발생합니다.

1. 디바이스의 슬레이브 주소를 수신했을 때

2. TWGCE 비트가 1 이고 general call 을 수신했을 때

3. 마스터 수신 또는 슬레이브 수신 상태에서 데이터 바이트를 수신했을 때


5 TWSTA (TWI START Condition bit)

2 선 시리얼 버스(Two-Wire Serial Bus) 상에서 마스터가 되고자 할 때 TWSTA 비트에 1 을 씁니다. TWI 하드웨어는 버스가 활용할 수 있는 상태인지를 체크하고나서 START 신호를 발생합니다.

TWSTA 비트는 START 비트가 발생한 후에 소프트웨어적으로 클리어시켜 주어야 합니다.


4 TWSTO (TWI STOP Condition bit)

마스터 모드에서 2 선 시리얼 버스(Two-Wire Serial Bus) 상에서 STOP 신호를 발생시키기 위하여 1 을 씁니다. TWSTO 비트는 자동으로 클리어됩니다.


3 TWWC (TWI Write Collistion Flag)

TWINT 비트가 로(LOW) 인 상태에서 TWI 데이터 레지스터(TWDR) 에 쓰려고 할 때 TWWC 플래그가 1 이 됩니다. 이 플래그는 TWINT 플래그가 1 인 상태에서 TWDR 레지스터에 쓰면 클리어 됩니다.


2 TWEN (TWI Enable bit)

TWEN 비트에 1 을 쓰면 TWI 작동이 가능하게 됩니다.

TWEN 비트에 0 을 쓰면 TWI 작동은 불가능으로 됩니다.


1 Res (Reserved Bit)


0 TWIE (TWI Interrupt Enable bit)

이 비트가 1 이고 SREG 레지스터의 I 비트가 1 로 셋되어 있으면 TWINT 플래그가 1 이 동안 TWI 인터럽트 요구가 활성화됩니다.


728x90