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를 스위칭 해주는 것으로 구현될 것으로 추측된다.