안녕하세요, 보드와 카메라 모듈 연결 가능 여부 관련하여 문의드립니다.
IMX477용 디바이스 트리 오버레이(DTO)나 패치 파일이 있는지 궁금합니다.
AI-G 보드에 라즈베리파이 IMX477을 올리려는데 호환되는 DTB나 커널 패치가 있을까요?
안녕하세요, 보드와 카메라 모듈 연결 가능 여부 관련하여 문의드립니다.
IMX477용 디바이스 트리 오버레이(DTO)나 패치 파일이 있는지 궁금합니다.
AI-G 보드에 라즈베리파이 IMX477을 올리려는데 호환되는 DTB나 커널 패치가 있을까요?
안녕하세요.
해당 문의에 답변 드립니다.
AI-G SDK에서 IMX477을 지원하고 있지 않습니다.
드라이버 및 디바이스 트리는 존재하지 않습니다.
기존 설정된 드라이버 및 디바이스 트리를 참고하여 IMX477을 쓸 수 있도록 포팅이 필요합니다.
감사합니다.
안녕하세요.
답변감사드립니다.
그럼 혹시 IMX477을 쓸 수 있도록 포팅하는 법을 안내받을 수 있을까요?
IMX219 driver 및 IMX219 device tree를 참고하셔서 포팅하시면 될 것으로 예상합니다.
IMX477을 사용하기 위한 용도를 혹시 알 수 있을까요?
안녕하세요, 답변 감사합니다.
현재 사용자의 얼굴을 인식하여 환경에 맞춰 조명 등을 자동으로 제어하는 시스템을 구축하고 있습니다. 고해상도 이미지 데이터 처리가 필요하여 IMX477 모듈을 선택하게 되었습니다.
안내해주신 대로 IMX219 관련 드라이버와 디바이스 트리 소스를 참고하여 포팅 작업을 시도해 보겠습니다.
네, 문의 있으시면 언제든지 질문 부탁드립니다.
감사합니다.
안녕하세요.
보내주신 조언에 따라 기존 IMX219 드라이버 소스 및 디바이스 트리(tcc7500-lpd4x321.dts)를 레퍼런스 삼아 Yocto 빌드 환경에서 포팅을 진행했습니다.
현재까지 imx477.c 소스 코드를 커널 소스 트리에 추가하고 Kconfig 및 Makefile을 수정하여 커널 내장 방식(CONFIG_VIDEO_IMX477=y)으로 컴파일을 마쳤습니다. 빌드 타임스탬프를 통해 새로 생성된 커널 이미지(Image)가 AI-G 보드에 정상적으로 적용된 것을 확인했습니다. 또한 IMX219의 주소 및 핀 설정을 참고하여 IMX477의 I2C 주소(0x1a)와 비디오 입력 노드 지도를 디바이스 트리에 반영한 후, /boot/ 폴더 내의 dtb 파일들을 교체했습니다.
하지만 하드웨어 연결 후 보드를 부팅하여 확인해 본 결과, 드라이버가 카메라 센서와 첫 전기적 신호(I2C 통신)조차 주고받지 못하는 상태로 추정됩니다. dmesg | grep -i imx 실행 시 아무런 로그도 출력되지 않으며, v4l2-ctl --list-devices 실행 시에도 Cannot open device /dev/video0 에러가 발생하며 비디오 장치 노드가 전혀 생성되지 않습니다. 케이블 연결 방향(앞뒤 반전)을 바꾸어 가며 하드웨어를 재결합해 보았으나 증상이 동일합니다.
소프트웨어 빌드는 성공했으나 하드웨어 초기화 단계에서 막혀 있는 상황이라, 아래의 3가지 사항에 대해 기술 지원을 요청드립니다.
첫째, AI-G 보드의 MIPI CSI 슬롯이 제공하는 전원 핀(3.3V/1.8V) 및 SCL/SDA 라인이 라즈베리파이 카메라 V2 규격의 일반적인 IMX477 모듈 핀맵과 물리적으로 100% 호환되는지 확인이 필요합니다. 혹시 별도의 하드웨어 젠더나 케이블 라인 개조가 필수적인 구조인가요?
둘째, 텔레칩스 칩셋 특성상 커널이 켜지기 전인 부트로더(U-Boot) 단계에서 특정 카메라 모델을 지정해 주거나 환경 변수(Boot Arguments)를 설정해야만 CSI 슬롯 및 I2C 채널이 활성화되는 제약이 있는지 궁금합니다.
셋째, 기본으로 제공되는 tcc7500-lpd4x321.dtb 외에, AI-G 보드에서 MIPI CSI 카메라를 정상적으로 활성화하기 위해 커널이나 디바이스 트리 레벨에서 추가로 수정하거나 매핑해 주어야 하는 다른 dts 파일이 있다면 가이드를 부탁드립니다.
글이 길어졌습니다..양해 부탁드립니다..!
안녕하세요.
답변 드리기에 앞서, 사용하고 계시는 카메라 모듈 정보를 알려주시면 답변 드리는데 도움이 될 것 같습니다.
사용하고 계시는 카메라 모듈 정보 공유 부탁드립니다.
먼저 2,3번째 질문에 답변을 드리자면,
둘째, 텔레칩스 칩셋 특성상 커널이 켜지기 전인 부트로더(U-Boot) 단계에서 특정 카메라 모델을 지정해 주거나 환경 변수(Boot Arguments)를 설정해야만 CSI 슬롯 및 I2C 채널이 활성화되는 제약이 있는지 궁금합니다.
→ U-boot단계에서 카메라 설정은 따로 없습니다. U-boot 및 커널 부팅이 되면 CSI 및 I2C 채널은 활성화됩니다.
셋째, 기본으로 제공되는 tcc7500-lpd4x321.dtb 외에, AI-G 보드에서 MIPI CSI 카메라를 정상적으로 활성화하기 위해 커널이나 디바이스 트리 레벨에서 추가로 수정하거나 매핑해 주어야 하는 다른 dts 파일이 있다면 가이드를 부탁드립니다.
→ devicetree는 arch/arm64/boot/dts/telechips/tcc750x/override/ 경로에 있는 tcc750x-videoinput-imx219.dtsi, tcc750x-videoinput-ov5647.dtsi를 사용합니다. 이 파일들은 tcc750x-videoinput-camera-module.dtsi에서 include를 해주고 있습니다. IMX477같은 경우 tcc750x-videoinput-imx477.dtsi 작성 후 tcc750x-videoinput-camera-module.dtsi에 include로 넣어주시면 됩니다.
추가적으로 다른 dtsi와 같이 빌드되어 충돌이 되면 안됩니다.
conf/local.conf에 기본적으로 활성화 되어있는 ov5647 feature를 주석처리 후 빌드하시고, 이후 수정작업을 진행해주셔야합니다.
#TOPST_CAM_MODULE = "ov5647"
기존 수정했던 사항은 재빌드로 날아가니, 꼭 백업 후 진행 부탁드립니다.
감사합니다.
안녕하세요, 답변 감사드립니다.
카메라 모듈은 라즈베리파이 HQ 카메라모듈 입니다.
해당 제품 디바이스마트 링크입니다.
확인 결과 A to B FFC 15pin cable을 사용해야 하고, 물리적으로 핀맵은 호환이 됩니다.
다만 높은 12MP 스펙의 카메라로 확인됩니다.
사용하시려는 resolution이 어떻게 되시는지 알 수 있을까요??
AI-G의 MIPI spec은 1.5Gbps/lane입니다.
감사합니다.
안녕하세요, 자세하고 명확한 답변 주셔서 정말 감사드립니다.
질문해 주신 카메라 Resolution과 관련하여 답변드립니다.
현재 안면 인식 특성상, IMX477 센서가 지원하는 12MP의 고해상도는 필요하지 않습니다.
보드가 지원하는 MIPI 대역폭 한계(1.5Gbps/lane) 내에서 안정적으로 구동할 수 있도록
FHD(1920x1080) @ 30fps 또는 HD(1280x720) 수준으로 해상도를 낮추어 사용할 계획입니다.
안내해 주신 내용을 바탕으로 다음과 같이 후속 작업을 진행하고자 하며, 추가로 한 가지만 더 가이드를 부탁드립니다.
보드의 레인 스펙(1.5Gbps)에 맞추어 카메라 해상도나 링크 주파수(Link Frequency)를 FHD/HD 급으로 제한하려 합니다. 혹시 IMX477 드라이버 소스(imx477.c) 내부 설정이나 dtsi 파일 구성 시, 대역폭 매칭을 위해 참고할 만한 IMX477용 dtsi 샘플 코드나 해상도 세팅 제안 값이 있다면 공유해 주실 수 있으신지 궁금합니다.
말씀하신 것처럼 resolution을 낮춰서 사용하면 동작 가능할 것으로 예상됩니다.
driver에서 mode를 낮은 해상도로 바꿔 진행하시면 될 것 같습니다.
드라이버 및 디바이스트리는 라즈베리파이 kernel source를 참고하시면 될 것 같습니다.
다만 걱정되는 점이 있는데요, output format이 raw인 것으로 보아 영상이 출력된다 하더라도 raw이미지로 출력되어 ISP Tuning이 필요해보입니다.
현재 지원하고 있는 Raspberry Pi Camera v2를 사용하시는 것은 어떠실까요?
1640x1232해상도로 default로 지원하고 있습니다.
감사합니다.