
오픈소스 라즈베리 파이 HAT으로, 자동차 버스 테스트, CAN 중간자 공격, 소켓캔을 통한 동시 다중 버스 트래픽 모니터링을 위한 4개의 CAN 인터페이스를 제공합니다.
4CAN은 4개의 CAN 인터페이스를 제공하는 Raspberry Pi HAT입니다. 4CAN은 socketcan 및 can-utils와 100% 호환되며, 설정 및 실행이 매우 쉽습니다. 문제 해결을 쉽게 하기 위해 microUSB-UART 직렬 어댑터가 포함되어 있으며, 보드에는 4개의 LED가 있으며 그중 2개는 양방향 녹색/적색입니다. 그리고 가장 좋은 소식은 4CAN이 오픈 소스이므로 직접 만들 수 있다는 것입니다!
socketcan과 호환되며 작고 콤팩트하며 Raspberry Pi에 잘 맞는 저렴한 4 CAN 인터페이스 장치는 많지 않습니다. 4개의 CAN 버스를 사용하면 4개의 CAN 버스를 동시에 테스트할 수 있을 뿐만 아니라 2개의 버스로 CAN-in-the-middle을 동시에 수행할 수 있습니다.
pi3b+를 사용하여 다음 raspbian 이미지에서 테스트됨
4CAN은 Raspberry Pi 4에서도 작동합니다.
4CAN은 pi0w에서도 작동해야 하지만, 최소한 pi3b를 사용하는 것이 좋습니다. 또한 Pi에 방열판을 사용하는 것이 좋습니다. Pi가 4개의 CAN 인터페이스를 실행할 때 약간 뜨거워질 수 있기 때문입니다.
install.sh 스크립트를 실행(sudo 필요)하여 자동으로 모든 것을 설치한 후 재부팅하십시오.
설치 스크립트는 다음을 수행합니다:
sudo mkdir /boot/overlays/bak
sudo cp /boot/overlays/mcp2515* /boot/overlays/bak
sudo cp ./dtbo/*.dtbo /boot/overlays
sudo cp /boot/config.txt /boot/config.txt.bak
cat << EOF >> /boot/config.txt
# 4CAN setup
# the order of the interfaces matter
# ie can3,can2,can1,can0 must be preserved
# otherwise can0 will not REALLY be can0
dtparam=spi=on
dtoverlay=spi1-2cs
dtoverlay=mcp2515-can3,oscillator=16000000,interrupt=24
dtoverlay=mcp2515-can2,oscillator=16000000,interrupt=23
dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=25
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=22
# enable uart
enable_uart=1
EOF
4CAN을 사용하기 전에 sudo modprobe can_dev로 socketcan 커널 모듈이 로드되었는지 확인하십시오. Pi가 디바이스 트리를 기반으로 올바른 커널 모듈을 로드하므로 필요하지 않아야 하지만 확인해도 나쁠 것은 없습니다.
설치가 완료되면 4can.sh를 실행하여 CAN 인터페이스를 활성화하십시오.
./4can.sh
CAN 인터페이스를 연결하고 candump -acc any를 실행하여 작동하는지 확인하십시오.
참고: can-utils가 필요합니다. 설치하려면 sudo apt install can-utils
참고: 때때로 인터페이스가 순서대로 올라오지 않을 수 있습니다. Pi를 재부팅하면 문제가 해결됩니다. 그렇지 않으면 /boot/config.txt를 수정해야 할 수 있습니다.
4CAN은 Raspberry Pi의 여러 GPIO를 사용합니다. 사용 가능한 GPIO 핀은 다음과 같습니다:
3, 5, 8, 10, 27, 28, 32, 36 (실제 핀 번호 매기기)
모든 접지 핀은 함께 연결되어 있으며 접지 연결로 사용해야 합니다. 3.3v 및 5v 핀은 전압 공급에도 사용할 수 있습니다.
자세한 내용은 회로도를 참조하십시오.
외부 CAN 접지를 4CAN 접지(나사 단자의 "C" 연결)에 연결하는 것을 잊지 마십시오. 이렇게 하면 접지 무결성이 보장되고 tx/rx 오류가 최소화됩니다.
![]() | ![]() |
4CAN을 HyenaPlate와 함께 사용할 때 CAN 와이어를 Pi 아래로 라우팅하여 브레드보드에 연결할 수 있습니다. 이는 주로 미관을 위한 것이지만, 새로운 연결을 위해 나사 단자를 계속 조이거나 풀 필요가 없고, 문제 해결이 더 쉬우며, 더 안정적인 연결 등 다른 이점도 있습니다.
더 나은 미관을 위해 저항 색상 코드를 사용하여 신호에 색상을 지정할 수 있습니다. 예를 들어, 위 이미지에서:
| 인터페이스 | CAN-L | CAN-H |
|---|
검은색은 접지에 사용할 수 있습니다.
4CAN은 IndustrialBerry QUAD CAN BUS adapter for Raspberry CanBerry에서 영감을 받아 대략적으로 기반을 두고 있습니다. 필요에 맞게 디자인을 수정했지만, IndustrialBerry가 수행한 훌륭한 작업에 대해 감사를 표해야 합니다. 4CAN과 IndustrialBerry는 모두 Creative Commons Attribution Share-Alike 라이선스에 따라 라이선스가 부여됩니다.
또한 회로도, 레이아웃, 조립 및 검증에 대해 George Tarnovsky에게도 감사를 표해야 합니다!
| CAN0 | 갈색 | 빨간색 |
| CAN1 | 주황색 | 노란색 |
| CAN2 | 파란색 | 보라색 |
| CAN3 | 초록색 | 흰색 |