디지털보드

I2C 칩 연결 확인

망고토마토 2022. 12. 23. 12:40
반응형
리눅스가 설치된 프로세서의 I2C pinI2C 통신을 차용한 칩(온도센서, RTC)을 연결해 둔 상태에서 프로세서 i2c 연결이 잘되어 있는지 확인하는 방법이다.

 

 
명령어 세부 설정사항은 하드웨어 연결에 따라 다르며, 이 문서에서는 확인절차와 무엇을 확인할 수 있는지에 대해서만 언급한다.

 

[I2C 칩을 인식여부 확인  – i2ctools]
- i2c-tools 설치#  apt-get install i2c-tools

 

- i2c 칩 검색 #  i2cdetect –y 0

위 그림에서 08, 69라고 표시된 것은 커널의 드라이버가 관여하지 않는 칩을 말하는 것이며,

UU는 드라이버가 해당 칩을 관여하고 있음을 의미한다.

드라이버가 관여하고 있지 않다고 해서 해당 칩에 접근이 불가한 것은 아니다.  

인식이 되어 있는 상태이므로 칩에서 정보를 읽을 수 있다.

 

- i2c 칩에서 데이터 읽기  #i2cget 0 0x4c

위와 같이 해당칩의 번호를 명령어와 같이 치면 0x4c주소를 가진 칩에 대해 데이터를 받을 수 있다.

 

[ I2C 칩 인식여부 확인 ]

–sys/bus/i2c/devices#

위 경로에 들어가면 i2ctools로 확인하였던 i2c칩의 번호들이 표시된다.

 

[i2c 칩에 드라이버 관여여부 확인방법]  

프로세서가 i2c 칩 인식한다는 것을 확인하였지만 칩에 나오는 정보를 사용자가 쉽게 확인하기 위해서는 칩에 대한 정보를 사용자가 다루기 쉽도록 하는 드라이버가 필요하다.

i2c 칩을 어떤 드라이버가 관여하고 있는지 확인하는 경로는 다음과 같다.
예시  /sys/bus/i2c/devices/0-004c/driver/module/drivers#
 

[드라이버 검색 및 설치를 위한 lm-sensors 이용]

프로세서의 I2C 칩에 어떤 드라이버가 연관이 되어 있는지 확인하고 드라이버를 설치하는 것은은 lm-sensors를 이용한다.

lm-sensors는 하드웨어의 온도, 전압, 습도를 모니터링하는데 사용되는 소프트웨어이다.

# apt-get install lm-sensors

# sensors-detect

lm-sensorsI2C 통신 규격으로 연결된 칩을 검색하고, 어떤 드라이버가 관여하고 있는지 보여준다.

드라이버가 관여하고 있지 않은 칩이 있다면 칩과 연관된 드라이버를 찾고 커널에 올려주는 역할도 수행한다

반응형