I2C > 다른 풀업 저항으로 동작하는 IC 디바이스의 동거 > I2C Repeater Hub로 회로 분리

운영 환경
Ubuntu 18.04 LTS
ボード: STM32L476 Nucleo_64 (以下、STM32L476)
Zephyr 2.1.0-rc1
キャラクタLCD: AQM0802
放射温度計センサー: MLX90632 (CLICK-IRThermo)
ロジック確認: Analog Discovery 2 (AD2)

제1회


  • borgThermo > 방사 온도계 > 제1회: STM32L476과 MLX96032의 통신(I2C)

  • 개요


  • I2C 장치를 여러 개 연결하려고했습니다
  • MLX90632에는 1kΩ 풀업 저항이 기판에 장착되어있다.
  • AQM0802는 1kΩ 풀업 저항으로 작동하지 않습니다
  • I2C Repeater Hub에서 회로를 분리하여 각각 풀업 저항을 구현하는 회로를 찾았습니다.
  • 그 회로를 실제로 만들어 동작을 확인했다

  • 장치


  • MLX90632 방사 온도계 센서 클릭 보드 [CLICK-IRThermo]

  • AQM0802 I2C 접속 소형 캐릭터 LCD 모듈 8×2행
  • 가공: 전자 공작 > AQM0802 > 유니버설 기판 실장

  • STM32L476

  • I2C 버스 리피터 PCA9515AD

  • SOP8(1.27mm) DIP 변환 기판 금 플래시(9장입) 에 구현


  • 참고



  • h tp // w w. 치. 이 m/ぃt/앙/slめ689/slゔ689. pdf
  • 그림 1은 I2C Repeater Hub에서 회로를 왼쪽과 오른쪽으로 분리하여 풀업 저항을 구현하는 예를 보여줍니다.
  • 이러한 풀업 저항 값은 지정되지 않음


  • 상기에 기초하여, 이하의 질문을 했다.
  • Different pullup resistors on the same I2C SCL and SDA before and after a I2C repeator hub

  • 응답의 개요로서는 「그것은 움직일지도 모르지만, XXX 쪽이 좋다」라고 하는 것이었다.
    동작 확인을 위해 구현해 보았다.

    회로



    다음은 draw.io에서 작성한 회로도.



    프로그램



    MLX90632 및 AQM0802를 동작하는 소프트를 Zephyr(RTOS)용으로 자작했다.
    정리할 수 없기 때문에 자세한 것은 미공개.
  • MLX90632 소프트웨어
  • ambient temperature 및 object temeprature 얻기
  • 결과는 시리얼 출력한다 (screen에서 동작 확인)

  • AQM0802 소프트
  • Hello라는 표시
  • 7of9라는 표시
  • 위를 1 초마다 전환


  • 브레드보드 구현



    브레드 보드로 구현했다.


  • 노랑 케이블: SCK
  • 블루 케이블: SDA
  • 빨간 케이블: VCC
  • 화이트 케이블: VCC 또는 풀업용
  • 녹색 케이블, 검정 케이블: GND
  • 녹색 기판: MLX90632
  • 블루 기판: AQM0802

  • 결과



    각 소프트웨어가 정상적으로 작동했습니다.
    아직 몇 시간 정도의 운용을 위해 장기 동작시의 문제에 대해서는 미확인.

    관련


  • STM32L476 > I2C > AQM0802 > 1kΩ 풀업에서 작동하지 않음 (MLX90632 풀업과 함께 사용할 수 없음)
  • 좋은 웹페이지 즐겨찾기