MIPI 카메라 인터페이스
계속하기 전에 sima-cli를 설치하거나 최신 버전으로 업데이트하십시오. 이 설명서는 최신 sima-cli 버전을 사용하는 것을 기준으로 작성되었습니다.
이 절차를 수행하려면 최신 버전의 sima-cli가 설치된 호스트가 필요합니다. 또한 MIPI 지원을 위한 .dtbo 파일이 포함된 Modalix DevKit 펌웨어 버전이 필요합니다.
Modalix DevKit에는 카메라 입력을 위한 두 개의 MIPI 인터페이스가 포함되어 있습니다. MIPI 포트는 캐리어 보드에 있습니다.
시작하기 전에 Modalix DevKit의 전원을 끄고 MIPI 카메라를 MIPI 포트 중 하나에 연결합니다.
호스트에서 Modalix DevKit에 시리얼 케이블을 연결한 다음, DevKit의 전원을 켭니다.
sima-cli를 사용하여 시리얼 터미널을 열고 3초 카운트다운 중에 아무 키나 눌러 U-Boot로 들어갑니다.
sima-cli serial -b 115200
...
Hit any key to stop autoboot: 0
sima$
U-Boot에서 dtbos 변수를 적절한 디바이스 트리 블롭 오버레이(.dtbo) 파일로 설정합니다. 올바른 파일은 캐리어 보드, 카메라 제조업체, 센서 유형 및 카메라 포트에 따라 달라집니다. 그런 다음 환경을 저장하고 운영 체제로 부팅합니다.
파일 이름은 다음 패턴을 따릅니다.
modalix-som-<carrier_board>-<camera_manufacturer>-<sensor_type>-<port>.dtbo
하드웨어에 따라 각 구성 요소를 선택하세요.
| 구성 요소 | 값 | 설명 |
|---|---|---|
| 캐리어 보드 | connectech, seeedstudio, waveshare | 캐리어 보드 모델 |
| 카메라 제조업체 | ARDU, ECON, LI | Arducam, e-con Systems 또는 Leopard Imaging |
| 센서 유형 | IMX477, IMX568, FPGA-IMX568, KOBE1-IMX568, IMX678, AR0234, OG05C10 | 카메라 센서 모델 |
| 포트 | 0CAM, 1CAM, 2CAM, 3CAM, DUAL | 카메라에 연결된 MIPI 포트 번호 |
Modalix DevKit에는 기본적으로 Waveshare 캐리어 보드가 탑재되어 있습니다. 예를 들어, Modalix DevKit의 포트 1에 Arducam IMX477 카메라를 연결한 경우는 다음과 같습니다.
sima$ setenv dtbos modalix-som-waveshare-ARDU-IMX477-1CAM.dtbo ; saveenv ; boot
플랫폼 릴리스 2.1.3의 카메라 오버레이는 아래와 같습니다. 다른 릴리스에서는 일부 오버레이의 이름이 다릅니다. 보드에 있는 오버레이를 나열하려면 Linux에서 다음 명령을 실행하십시오.
sima@modalix:~$ ls /boot/boot-*/modalix-som-*.dtbo
각 오버레이에 해당하는 주문할 카메라, 캐리어 보드별 포트, 센서 모드는 지원되는 MIPI 카메라를 참조하십시오.
modalix-som-connectech-ARDU-IMX477-0CAM.dtbo
modalix-som-connectech-ARDU-IMX477-1CAM.dtbo
modalix-som-connectech-ARDU-IMX477-2CAM.dtbo
modalix-som-connectech-ARDU-IMX477-3CAM.dtbo
modalix-som-connectech-ECON-FPGA-IMX568-0CAM.dtbo
modalix-som-connectech-ECON-FPGA-IMX568-1CAM.dtbo
modalix-som-connectech-ECON-FPGA-IMX568-2CAM.dtbo
modalix-som-connectech-ECON-FPGA-IMX568-3CAM.dtbo
modalix-som-connectech-ECON-IMX678-0CAM.dtbo
modalix-som-connectech-ECON-IMX678-1CAM.dtbo
modalix-som-connectech-ECON-IMX678-2CAM.dtbo
modalix-som-connectech-ECON-IMX678-3CAM.dtbo
modalix-som-connectech-ECON-KOBE1-IMX568-0CAM.dtbo
modalix-som-connectech-ECON-KOBE1-IMX568-1CAM.dtbo
modalix-som-connectech-ECON-KOBE1-IMX568-2CAM.dtbo
modalix-som-connectech-ECON-KOBE1-IMX568-3CAM.dtbo
modalix-som-connectech-LI-AR0234-0CAM.dtbo
modalix-som-connectech-LI-AR0234-1CAM.dtbo
modalix-som-connectech-LI-AR0234-2CAM.dtbo
modalix-som-connectech-LI-AR0234-3CAM.dtbo
modalix-som-connectech-LI-OG05C10-0CAM.dtbo
modalix-som-connectech-LI-OG05C10-1CAM.dtbo
modalix-som-connectech-LI-OG05C10-2CAM.dtbo
modalix-som-connectech-LI-OG05C10-3CAM.dtbo
modalix-som-seeedstudio-ARDU-IMX477-0CAM.dtbo
modalix-som-seeedstudio-ARDU-IMX477-2CAM.dtbo
modalix-som-seeedstudio-ECON-FPGA-IMX568-0CAM.dtbo
modalix-som-seeedstudio-ECON-FPGA-IMX568-2CAM.dtbo
modalix-som-seeedstudio-ECON-IMX678-0CAM.dtbo
modalix-som-seeedstudio-ECON-IMX678-2CAM.dtbo
modalix-som-seeedstudio-ECON-KOBE1-IMX568-0CAM.dtbo
modalix-som-seeedstudio-ECON-KOBE1-IMX568-2CAM.dtbo
modalix-som-seeedstudio-LI-AR0234-0CAM.dtbo
modalix-som-seeedstudio-LI-AR0234-2CAM.dtbo
modalix-som-seeedstudio-LI-OG05C10-0CAM.dtbo
modalix-som-seeedstudio-LI-OG05C10-2CAM.dtbo
modalix-som-waveshare-ARDU-IMX477-1CAM.dtbo
modalix-som-waveshare-ARDU-IMX477-2CAM.dtbo
modalix-som-waveshare-ARDU-IMX477-DUAL.dtbo
modalix-som-waveshare-ECON-FPGA-IMX568-1CAM.dtbo
modalix-som-waveshare-ECON-FPGA-IMX568-2CAM.dtbo
modalix-som-waveshare-ECON-IMX568-1CAM.dtbo
modalix-som-waveshare-ECON-IMX568-2CAM.dtbo
modalix-som-waveshare-ECON-IMX678-1CAM.dtbo
modalix-som-waveshare-ECON-IMX678-2CAM.dtbo
modalix-som-waveshare-ECON-IMX678-DUAL.dtbo
modalix-som-waveshare-ECON-KOBE1-IMX568-1CAM.dtbo
modalix-som-waveshare-ECON-KOBE1-IMX568-2CAM.dtbo
modalix-som-waveshare-LI-AR0234-1CAM.dtbo
modalix-som-waveshare-LI-AR0234-2CAM.dtbo
modalix-som-waveshare-LI-AR0234-DUAL.dtbo
modalix-som-waveshare-LI-OG05C10-1CAM.dtbo
modalix-som-waveshare-LI-OG05C10-2CAM.dtbo
modalix-som-waveshare-LI-OG05C10-DUAL.dtbo
인터페이스를 검증하려면 Modalix DevKit을 디스플레이에 연결하고 로그인합니다. 그런 다음 libcamera를 사용하여 카메라 연결을 확인합니다.
-
사용 가능한 카메라 목록:
sima@modalix:~$ cam -l -
카메라 1에 대해 다른 카메라 형식을 표시합니다.
sima@modalix:~$ cam -c 1 -I -
카메라 1에서 이미지를 캡처합니다.
sima@modalix:~$ rm -rf frame* && cam -c 1 --capture=1 -F -s pixelformat=NV12
여러 카메라 사용
카메라를 두 대 이상 사용하려면 dtbos에 카메라마다 오버레이를 하나씩, 공백으로 구분하여 설정하십시오. U-Boot는 목록의 모든 오버레이를 적용합니다. 이 방법은 플랫폼 릴리스 2.1.0부터 사용할 수 있습니다.
카메라 모델은 서로 달라도 됩니다. 각 카메라의 모델과 포트에 맞는 오버레이를 사용하십시오. 예를 들어, Modalix DevKit의 포트 1에 e-con Systems IMX678 카메라를, 포트 2에 Leopard Imaging OG05C10 카메라를 연결한 경우는 다음과 같습니다.
sima$ setenv dtbos modalix-som-waveshare-ECON-IMX678-1CAM.dtbo modalix-som-waveshare-LI-OG05C10-2CAM.dtbo
sima$ printenv dtbos
sima$ saveenv ; boot
- 포트 하나에는 오버레이를 하나만 지정할 수 있습니다.
- 오버레이의 순서는 상관없습니다.
DUAL오버레이는 Waveshare 캐리어 보드의 두 포트를 동일한 카메라 모델로 설정합니다.DUAL오버레이 하나 또는 포트별 오버레이 두 개 중 한 가지 방식만 사용하고, 함께 지정하지 마십시오.- 캐리어 보드별로 오버레이가 있는 포트는 지원되는 MIPI 카메라를 참조하십시오.
- 모든 조합이 테스트된 것은 아닙니다.
cam -l과 각 카메라의 캡처로 사용 중인 조합을 확인하십시오.
보드가 부팅되면 cam -l을 실행하십시오. 카메라마다 항목이 하나씩 표시됩니다.
시리얼 콘솔 없이 Linux에서 이 변수를 설정할 수도 있습니다.
sima@modalix:~$ fw_setenv dtbos "modalix-som-waveshare-ECON-IMX678-1CAM.dtbo modalix-som-waveshare-LI-OG05C10-2CAM.dtbo"
sima@modalix:~$ fw_printenv dtbos
sima@modalix:~$ sudo reboot