embeded/i2c

i2c BUS에 pull-up, pull-down

구차니 2018. 4. 26. 12:27

MCU 데이터시트를 보다보니 신기한거(?) 발견

I2C 에서 SCL/SDA에 둘다 풀업이 걸려있다.


그리고 HIGH->LOW로 가면서 통신이 이루어지게 된다.


혹시나 해서 봤는데..

UART 역시 TX 기준 HIGH에서 LOW로 떨어트린 다음 시작하게 된다.


SSI는... LOW에서 HIGH 가네?




아무튼 얼추 주워들은 이야기라 근거, 출처를 아직 못 찾아 봤지만

어떤 의미로 통신은

한쪽에서 전압을 떨구거나 올리는 스위치를 통해 이뤄지는 것이라 pull-up, pull-down이 중요하다고 한다.


I2C의 경우에는 Pull-up으로 통신라인이 구성되고

데이터를 보내기 위해서는 I2C Driver에서 내부적으로 GND로 돌려주는 작업을 하면 

BUS 라인내에서 간단하게 Logical 0과 1을 표현할 수 있고

받는 쪽에서도 rising edge나 falling edge를 탐지하면 인터럽트로 처리가 가능하니

통신이란 거진 이런 양상을 뛰는 걸지도?


SSI같이 Low에서 High로 가는건

Pull-down으로 구성하고, 드라이버 내에서 logical 1을 표현시에는

Driver에 인가되는 Vcc를 스위칭 해주는 것으로 구현될 것으로 추측된다.