Raspberry Pi는 어떤 SPI 주파수를 지원합니까?
또한 :
- 그것들은 모두 bootc.net SPI 드라이버 에서 지원 됩니까?
- SPI를 통해 다른 칩과 통신하려고 할 때주의해야 할 추가 사항이 있습니까?
Raspberry Pi는 어떤 SPI 주파수를 지원합니까?
또한 :
답변:
Raspberry Pi SPI는 APB 클럭 속도에서 실행되는데 이는 코어 클럭 속도 인 250MHz에 해당합니다. 원하는 속도로 2에서 65536 사이의 짝수 로 나눌 수 있습니다 . 데이터 시트는 제수가 2의 거듭 제곱이어야한다고 지정하지만 이는 올바르지 않습니다 . 홀수는 반올림되며 0 (또는 1)은 65536과 같습니다. 따라서 2보다 작은 제수는 불가능합니다.
이로 인해 주파수 범위는 3.814 kHz ~ 125 MHz이며 32768 단계 사이에 있습니다.
(이 문제에 대해 많은 잘못된 정보가 있었지만 이러한 결과는 실험을 통해 검증되었습니다. 단어를 전파하십시오.)
SPI는 코어 클럭 속도로 실행하거나 느린 주변 장치를 위해 나눌 수 있습니다. 코어 클럭은 250MHz입니다. 디바이더는 2 ^ 0에서 최대 2 ^ 16까지 2의 거듭 제곱으로 설정할 수 있습니다. 이는 3.8kHz ~ 250MHz의 SPI 주파수가 지원됨을 의미합니다.
출처 :
.rate = 250000000, /* 250MHz */
https://github.com/bootc/linux/blob/073993b3f3e23fb8d376f9e159eee410968e0c57/arch/arm/mach-bcm2708/bcm2708.cBCM2835 의 데이터 시트에는 120 페이지의 다음 내용이 나와 있습니다. SPI 블록의 클럭 레지스터 값에 포함되어 있습니다.
BC Clock Divider SCLK = 코어 클록 / CDIV CDIV가 0으로 설정되면 제수는 65536입니다. 제수는 2의 거듭 제곱이어야합니다. 홀수는 내림합니다. 최대 SPI 클럭 속도는 APB 클럭입니다.
APB 버스의 최대 주파수가 무엇인지에 대한 참조를 찾을 수 없습니다.이 SoC가 아닌 ARM11 설명서의 일부라고 생각합니다.
http://www.brianhensley.net/2012/07/getting-spi-working-on-raspberry-pi.html 에 표시된대로 테스트 하고 속도를 변경했습니다.
테스트 통과시 최대 속도는 15MHz = 15000KHz입니다. 결과 참조 :
spi mode: 0
bits per word: 8
max speed: 15000000 Hz (15000 KHz)
FF FF FF FF FF FF
40 00 00 00 00 95
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
DE AD BE EF BA AD
F0 0D
16MHz에서의 테스트가 실패했습니다. 안드레