Microprocessor/MCU Communication I2C start/stop
  • 728x90
    반응형

     

     

    I2C Start/Stop

    I2C는 SCL, SDA 두 라인으로만 구성된 간단한 버스이고, 여러개의 디바이스가 동시에 연결될 수 있다.

    연결된 디바이스 중에 전송을 주관하는 것은 마스터(master), 마스터의 요청에 따라 데이터를 주고 받는 것을 슬레이브(slave)라고 한다.

     

    I2C에는 마스터가 여러개 연결(multi-master)될 수 도 있는데, 이런 상황에서는 마스터간에 서로 버스를 차지하기 위한 일종의 경쟁 상황이 발생 할 수 있다.

     

    이런 상황을 적절히 중재하는 방법을 아비트레이션(arbitration)이라고 하며, 이 때문에 마스터가, 여럿인 상황에서도 안전하게 전송이 이루어질 수 있다.

     

    일단 마스터가 하나이고 슬레이브가 여럿인 시스템이 있다면 버스상에 아무런 데이터 전송이 업는 상태에서는 SCL, SDA 두 라인에 모두 high 상테에 있다. 

     

    오픈 콜렉터에서 본대로 버스라인에 풀업되어 있기 때문이다. 그러다 순간 마스터가 데이터 전송을 시작한다.  전송은 단 두 줄로 이루어진 버스상에 특정한 조건을 만드는 것으로 시작된다.

    그림에서처럼 SCL 라인이 high일 때, SDA라인이 low로 떨어지고 잠시 후에 SCL도 low로 떨어지는 것이 바로 시작 조건(start condition)이다. 시작 조건과 대칭되는 순서로 SCL, SDA라인이 high로 돌아가는 것이 종료 조건이다.

     

     

     

     

    728x90
    반응형

    'Microprocessor > MCU Communication' 카테고리의 다른 글

    SPI 통신 기초  (0) 2019.01.14
    SPI 통신  (0) 2016.12.12
    I2C 오픈 콜렉터(Open Collector) 오픈 드레인(Open Drain)  (1) 2016.09.20
    I2C 개념 정리  (0) 2016.09.20
상단으로