Debian을 실행하는 Pocket Beagle에는 세 개의 spidev 장치(spidev1.0, spidev2.0 및 spidev2.1)가 있습니다.
spi1(예: spidev2.0 및 spidev2.1)에 SPI 온도 센서가 있습니다. 2.0의 루프백 테스트(MOSI 및 MISO 점퍼 사용)가 작동합니다. 데이터가 나에게 돌아왔다. 하지만 온도 센서에 데이터를 보낼 수 없습니다. 2.1로 전환했을 때 모든 것이 잘 작동했습니다.
왜 그런 겁니까? 2.0과 2.1의 차이점은 무엇입니까?
답변1
2.0과 2.1의 차이점은 칩 선택 핀(cs)입니다.
spidev1.0:spi0_cs0 -> P1.06 (기본값)
spidev2.0 spi1_cs0 -> P1.26(모드 4), P1.32(모드 1), P2.25(모드 5), P2.30(모드 3).
spidev2.1 spi1_cs1 -> P1.28(모드 4), P1.30(모드 1), P2.29(모드 2), P2.31(모드 4)
답변2
내가 아는 한, spidev2.0과 2.1은 이에 대해 구성된 칩 선택을 참조합니다. 어떤 ChipSelect 2.0을 사용하고 있는지는 모르겠지만 2.1 ChipSelect는 보드에 Chip Select라고 표시된 것이어야 합니다.