TWI 통신 개념

문주은·2021년 1월 2일
0

메디컬IOT

목록 보기
10/13

1. OLED 디스플레이

GND - 접지,  VCC - (3.3V~5V),  SCL - 클럭핀,  SDA - 데이터핀,  인터페이스 - I2C
SCL핀 & SDA핀을 묶어서 GND와 TWI 통신을 한다.
SCL (클록) : 통신을 주관하여 통신 라인을 공유
풀업저항을 연결시켜 동시 통신에 충돌을 방지 시킨다, 통신속도가 빠르다.
Master : 통신을 주관하는 권한을 가진 장치로 클럭을 발생시킨다.
Slave : 나머지 장치, 마스터에 의해 주소가 지정되는 장치

2. TWI 통신이란?

ATmega 128의 TWI 통신
2선식 직렬 통신 규격으로 SDA, SCL 2개의 라인으로 양방향 직렬 통신을 한다.
SDA : 온도, 습도 값을 나타내고 128개의 주소를 지정할 수 있다.
SCL : 샘플링 타임을 나타내는 것으로 반드시 마스터가 발생시켜 슬레이브로 전달한다.
Master와 Slave 동작을 지원하고
7비트 주소를 가진다(최대 128개의 Slave 연결이 가능하다 2^7)
✔ SPI 통신 : 동기식 직렬 통신 방식으로 I2C 통신보다 속도가 빠르고 동시에 송수신이 가능하다.

AND-Wired-Pull-Up 저항을 연결
👉 Device 1에 스위치를 연결했을 시, 풀업 저항이기 때문에 SDA는 0이 된다.
     Device1이 0이기 때문에 나머지 장치는 모두 0이 된다.
     AND 구조 : 하나가 0이 입력되면 그 선은 모두 0이다 (모든 스위치를 off 할 때만 1이 된다.)

3. 데이터 전송과 프레임

데이터 프레임 : 마스터와 슬레이브간 (양방향) 통신 비트로 주소 패킷+데이터 패킷 형식으로 구성(1byte)
주소 패킷 : 주소를 구성하는 데이터의 71bit 주소를 반드시 포함
데이터 패킷 : 81bit 데이터 반드시 포함

START조건(1bit) + 주소(7bit) + 데이터(8bit) + STOP조건(1bit)
👉 9bit 주소 패킷 = 7bit 슬레이브 주소(SLA) + R/W + ACK
👉 9bit 데이터 패킷 = 8bit 데이터 + ACK

사용하지 않는 상태(Start전) : AND-Wired 구조일 때 1로 SDA가 0으로 떨어질 때 START 조건
하나의 마스터가 127개의 슬레이브에게 데이터 전송
마스터가 슬레이브로 데이터를 내보낼 땐 W로 표시하고 그래프는 0이 된다.
슬레이브에서 마스터로 데이터를 읽어올 땐 R로 표시하고 그래프는 1이 된다.
ACK : 응답신호로 슬레이브가 마스터한테 보내는 것으로 슬레이브가 만들어낸다(전송 성공시 0으로 응답)
STOP : 8비트 데이터 전송 완료

👉 SCL이 1이고 SDA가 1인 구간일 때 데이터 라인의 값을 샘플링한다.
SDA가 0으로 신호를 보내면 START → 주소패킷~데이터패킷에서 1byte 데이터를 전송 → 클럭이 1일 때 SDA가 1의 신호를 가지면 STOP

REPEATED START : 신호를 연속적으로 보내기 위해 지정된 슬레이브 계속적으로 데이터를 보낼 때

  • Master의 역할
    SCL clock, Start, Stop 신호를 생성
    Receiver가 Ack를 high로 놔두면 데이터를 받을 수 없음을 transmitter에게 알려준다.
    데이터는 MSB부터 전송한다.
  • 멀티-마스터버스 시스템

    여러개의 마스터가 동시에 마스터가 되려고 할 때 SCL 동기화 및 중재 과정을 가지는 시스템
    1) 여러 개의 마스터들이 만들어 낸 SCL 신호 동기화
        👉 동기화 : 모든 마스터는 서로 다른 SCL 주파수를 가진다. AND-wired 구조일 때
                         가장 긴 Low 신호와 가장 짧은 High 신호에 따라 SCL 신호가 결정된다.
                         멀티 마스터가 클럭을 내보내면 여러 개의 합쳐진 클럭이 SCL Line에 만들어진다.
    2) 동기화된 클럭에 따라서 SDA 데이터 신호를 sampling
    3) Sampling한 데이터 한 개 비트와 자신의 데이터비트를 비교
    4) 자신의 데이터와 비교하여 다르면 통신에서 떠난다.
    5) 통신에서 빠진 마스터는 SDA를 high 하여 다른 마스터에게 중재권을 넘긴다.
profile
Data Engineer

0개의 댓글