TWI의 데이터 송신 및 수신 포맷
마스터가 슬레이브에게 데이터를 송신할 때는 먼저 마스터가 7비트의 슬레이브 어드레스를 보내고, 이어서 송신(transmit or write)을 의미하는 Low 상태의 1비트를 보내며, 이에 대하여 지정된 어드레스를 가지고 있는 슬레이브는 Low 상태의 1비트 확인 신호로 응답한다. 그러면 마스터는 n 바이트의 데이터를 연속으로 송신하며 각 바이트를 송신할 때마다 해당 슬레이브로부터 확인 비트로 응답을 받는다.
마스터가 슬레이브로부터 데이터를 수신할 때는 먼저 마스터가 7비트의 슬레이브 어드레스를 보내고, 이어서 수신(receive or read)을 의미하는 High상태의 1비트를 보내며, 이에 대하여 지정된 어드레스를 가지고 있는 슬레이브는 Low상태의 1비트 확인 신호로 응답한다. 그러면 마스터는 n 바이트의 데이터를 연속으로 수신하며 각 바이트를 수신할 때마다 해당 슬레이브에게 확인 비트로 응답한다.
이와 같이 마스터가 슬레이브에게 데이터를 송신할 때는 마스터가 송신측, 슬레이브가 수신측이 되고, 반대로 마스터가 슬레이브로부터 데이터를 수신할 때는 마스터가 수신측, 슬레이브가 송신측이 되지만, 클럭 신호 SCL이나 START, STOP 조건은 항상 마스터가 발생한다.
TWI 레지스터 사용
TWINT(TWI Interrupt Flag)는 TWI가 현재의 동작을 완료하고 응용 소프트웨어를 사용한 적절한 조치가 필요한 경우에 1로 셋트되면서 인터럽트를 요청한다. 이 TWINT Flag가 1로 세팅되어 있는 동안에 SCL 클록 신호가 계속하여 Low상태로 유지된다. 따라서 이 TWINT Flag 비트는 인터럽트 처리가 시작되더라도 자동으로 클리어 되지 않으며, TWAR, TWDR, TWSR 레지스터를 클리어하려면 이 비트에 1을 write해야 한다.
TWSTA(TWI START Condition Bit)는 1로 설정하면 TWI가 마스터로서 동작하고 TWI는 버스가 사용 가능한 상태인지를 체크하여 START 조건을 출력하며, 만약 버스가 동작 상태라면 STOP 조건이 검출될 때까지 기다렸다가 START 조건을 출력한다. START 조건이 출력되고 나면 이 비트는 응용 소프트웨어에 의해 클리어 되어야 한다.
TWEN(TWI Enable Bit)은 TWI 통신 모듈이 동작하는 것을 가능하게 하며, SDA 및 SCL 핀을 유효하게 한다.
Device Address
'ATMega256' 카테고리의 다른 글
20140611 - TWI(I2C) 통신 한방 복습!!! (0) | 2014.06.11 |
---|---|
20140610 - TWI 동작 Write/Read 동작 (0) | 2014.06.10 |
20140605 - TWI(2-Wire Serial Interface) (0) | 2014.06.05 |
20140603 - DK-128 EXT 배워보쟈 (0) | 2014.06.03 |
20140602 - DK128-EXT 박살내까?? (0) | 2014.06.02 |