사전 빌드된 솔루션을 사용하여 비행 시간 거리 감지를 신속하게 구현

작성자: Stephen Evanczuk

DigiKey 북미 편집자 제공

비행 시간(ToF) 기술은 소비자 가전 제품부터 산업용 장비까지 다양한 응용 분야에서 거리 측정과 근접도 감지에 점점 더 많이 사용되고 있습니다. 단일 칩 ToF 처리 IC의 출시로 이러한 솔루션의 구현이 간소화되었지만, 개발자는 여전히 방출기 및 광 다이오드를 찾아서 최적화하고, 이러한 장치를 ToF 프로세서에 통합하는 등 중요한 작업을 직접 수행해야 합니다. 보다 통합된 방식이라면 공정을 크게 간소화하고 시간을 절약할 수 있습니다.

이 문제를 해결하기 위해 Digilent는 사전 빌드된 ToF 애드온 기판을 개발했습니다. 이 기판을 고성능 시스템 기판 및 연결된 소프트웨어 라이브러리와 결합하여 완벽한 하드웨어 ToF 솔루션을 제공할 수 있습니다. 이제 개발자는 ToF 응용 제품의 시제품을 즉시 제작하거나 이 하드웨어와 소프트웨어를 맞춤형 ToF 하드웨어 및 소프트웨어 설계의 기반으로 활용할 수 있습니다.

이 기사에서는 ToF 센서의 작동 방법을 간략하게 설명합니다. 그런 다음 Digilent의 Pmod ToF 기판을 소개하고, 이 기판을 Digilent Zybo Z7-20 개발 기판과 함께 사용하여 ToF 기술을 평가하고 광학 거리 감지를 설계에 빠르게 배포할 수 있는 방법을 보여줍니다.

ToF 센서 작동 방법

ToF 센서는 점점 더 폭넓은 응용 분야에서 중요한 역할을 합니다. 차량 및 산업용 장비에서 이 센서는 비좁은 장소에서 주차하거나 조작하는 동안 작업자에게 장애물을 경고할 수 있습니다. 소비자 가전 응용 분야에서 이 장치는 모바일 제품 또는 가정 자동화 시스템에서 근접도를 감지합니다. 이러한 응용 분야에서 광학 ToF 시스템은 외부 물체에 반사되는 빛과 원래 전달된 빛 사이의 약간의 차이에 따라 다른 방법을 사용하여 외부 물체 또는 장애물까지 거리를 계산합니다.

Renesas ISL29501 ToF 기반 신호 처리 IC와 같은 고급 ToF 장치는 외부 LED 또는 레이저에서 전달된 빛과 광 다이오드에서 수신된 빛 사이의 위상 변이를 측정하여 거리를 계산합니다. ISL29501이 주어진 주파수 fm에서 방형파에 의해 변조되는 빛(Tx)을 전달하면 물체에서 반사되는 광학 신호(Rx)가 일부 위상 변이 j가 있는 감쇠된 진폭 R에서 ISL29501에 반환됩니다(그림 1).

고급 ToF 장치(예: Renesas ISL29501) 구성도그림 1: Renesas ISL29501과 같은 고급 ToF 장치에서는 내부 디지털 신호 처리 기능을 사용하여 전달된 빛과 반사된 빛 사이의 위상 변이 j를 기반으로 물체까지 거리를 계산합니다. (이미지 출처: Renesas)

이 위상 변이를 측정하여 장치에서 거리 D를 계산할 수 있습니다.

방정식 1 방정식 1

여기서,

D = 대상까지 거리

c = 빛의 속도

fm = 변조 주파수

φ = 위상 각도(라디안)

변조된 주파수 신호 fm 및 빛의 속도 c가 알려져 있으므로 나머지 인수인 위상 각도 φ를 찾아서 거리를 계산할 수 있습니다. 기존 직각 위상 신호 처리 기술을 사용하여 이 인수를 계산할 수 있습니다. 여기서 복조기, 저역 통과 필터(LPF), 아날로그 디지털 컨버터(ADC)로 구성되는 별도의 I 및 Q 신호 경로에 의해 동상(I) 및 직각 위상(Q) 신호 부품이 생성됩니다(그림 2).

동상을 변조, 필터링 및 변환하는 Renesas의 ISL29501 구성도 그림 2: 거리 계산에 필요한 위상 각도 φ를 계산하기 위해 Renesas ISL29501은 입력 신호(VIN)의 동상(I) 및 직각 위상(Q) 신호 부품을 변조, 필터링 및 변환합니다. (이미지 출처: Renesas)

내부적으로 ISL29501은 복조 파이프라인에 선행하는 포괄적인 신호 경로를 트랜스 임피던스 증폭기(TIA)와 저잡음 증폭기(LNA)로 구성된 아날로그 프런트 엔드(AFE) 신호 조정 단계와 통합합니다. ISL29501의 입력 신호 경로는 내장된 알고리즘을 사용하여 SNR을 최적화하는 가변 이득(Av), 자동 이득 제어(AGC) 루프를 포함하는 AFE를 따릅니다.

출력 측에서 ISL29501은 4.5MHz 변조 주파수와 최대 255mA 구동 전류에서 방형파 펄스를 적합한 방출기에 전달할 수 있는 온칩 방출기 구동기 체인을 통합합니다. 이 기능적 아키텍처를 완료하여 내부 디지털 신호 처리기(DSP)는 위상, 진폭 및 주파수 데이터에서 거리 결과를 생성하는 데 필요한 계산을 처리합니다(그림 3).

신호 경로를 결합하여 방출기를 구동하고 광 다이오드 입력을 처리하는 Renesas의 ISL29501 구성도그림 3: Renesas ISL29501은 위상, 진폭 및 주파수 데이터에서 거리를 계산하는 데 사용되는 알고리즘을 실행하는 내부 디지털 신호 프로세서와 함께 신호 경로를 결합하여 방출기를 구동하고 광 다이오드 입력을 처리합니다. (이미지 출처: Renesas)

방출기 및 광 다이오드 선택

광 다이오드 입력, 방출기 출력 및 처리 기능을 통합하여 ISL29501은 ToF 거리 감지 솔루션을 구축하기 위한 유연한 하드웨어 기반을 제공합니다. 입력 측의 AFE 및 AGC 루프와 같은 기능과 출력 측의 프로그래밍 가능 구동기는 광범위한 방출기와 광 다이오드를 지원하도록 특별히 고안되었습니다. 동시에 전체 ToF 솔루션의 효율은 방출기와 광 다이오드의 신중한 선택 및 구성에 따라 크게 달라집니다.

예를 들어 방출기의 경우 ISL29501을 활용하면 개발자가 다양한 적외선(IR) LED, VCSEL(Vertical-Cavity Surface-Emitting Laser) 또는 전압, 전류 및 주파수 사양이 호환되는 다른 레이저 장치를 유연하게 선택할 수 있습니다. 실제로 일반 ToF 솔루션은 방출기 유형의 영향을 상대적으로 덜 받습니다. 그럼에도 불구하고 주변 광원의 전파 방해를 줄이려면 근적외선(NIR) 또는 중간 파장 적외선(MWIR) 장치를 사용하는 것이 좋습니다. 장치를 선택한 후 개발자는 최적 방출기 펄스 구동 전류와 필요한 모든 DC 전류 부품을 결정해야 합니다. 그런 다음 방출기 구동기 출력 체인에 통합된 별도의 내부 디지털 아날로그 컨버터(DAC)를 사용하여 펄스 및 선택적 DC 전류를 제공하도록 장치를 프로그래밍해야 합니다.

마찬가지로 ISL29501은 다양한 광 다이오드를 지원할 수 있지만, 방출기의 응용 분야와 선택은 최적의 선택을 결정하는 데 중요한 역할을 합니다. 방출기와 마찬가지로 NIR 또는 MWIR 파장에서 작동하는 광 다이오드는 주변광 전파 방해를 줄이는 데 도움이 됩니다. 원칙적으로 신호 대 잡음비(SNR)를 최적화하려면 광 다이오드의 스펙트럼 반응 곡선이 가능한 좁고 피크가 방출기 피크 파장의 중앙에 위치해야 합니다. 광 다이오드는 수집할 수 있는 빛의 양을 최대화해야 하지만 광 다이오드의 면적을 늘리면 정전 용량(접합 및 부유 정전 용량 모두)이 커지므로, 광 다이오드의 반응 시간과 방출기 상승 및 하강 시간 추적 기능이 저하될 수 있습니다. 따라서 개발자는 성능에 영향을 주지 않으면서 신호 진폭을 최대화하는 데 필요한 광 다이오드 면적과 내부 정전 용량을 적절히 균형 조정해야 합니다.

통합 ToF 솔루션

ToF 응용 제품 개발을 가속화하도록 설계된 Digilent Pmod ToF 기판은 Pmod 확장 기판을 추가하기 위한 6핀 Pmod 호스트 및 패스쓰루 커넥터를 탑재한 소형 기판에서 Renesas ISL29501 ToF IC, Microchip Technology AT24C04D EEPROM, IR LED 및 광 다이오드를 결합하는 기성 ToF 솔루션을 제공합니다(그림 4).

Digilent의 Pmod ToF 기판 이미지그림 4: Digilent Pmod ToF 기판은 Pmod 커넥터를 사용하여 시스템 기판에 연결하도록 고안된 전체 ToF 센서 솔루션을 제공합니다. (이미지 출처: Digilent)

광원 및 감지기의 경우 이 기판은 OSRAM Opto Semiconductors 고전력 SFH 4550 860nm LED를 빠른 스위칭 시간, 750nm ~ 1100nm 스펙트럼 감도, 900nm 피크 감도를 지원하는 OSRAM SFH 213 FA 광 다이오드와 쌍으로 연결합니다.

Renesas ISL29501은 연결된 LED 및 광 다이오드 장치를 위한 추가 부품이 필요하지 않지만, 아날로그 전압 소스(AVCC), 디지털 전압 소스(DVCC), 방출기 구동기 전압(EVCC)을 위한 별도 핀에 의해 공급되는 세 전력 영역 각각에 적합한 2.7V ~ 3.3V 소스가 필요합니다. 모두 동일한 소스에서 공급할 수 있지만 세 공급을 분리하는 것이 좋습니다. Digilent Pmod ToF 회로도에 표시된 것처럼 Digilent는 각 공급에 대해 Murata ElectronicsBLM15BD471SN1D 페라이트 비드 및 커패시터를 사용하여 ToF 기판에서 이러한 분리를 실현합니다(그림 5).

Digilent의 Pmod ToF 기판 구성도그림 5: Digilent Pmod ToF 기판은 빠른 시제품 제작을 위한 즉각적 하드웨어 솔루션과 맞춤형 ToF 시스템을 위한 참조 설계를 모두 제공합니다. (이미지 출처: Digilent)

개발 환경

또한 Digilent는 Digilent Zybo Z7-20 기판 기반 개발 환경에서 ToF 응용 제품을 빠르게 구현할 수 있도록 도와줍니다. 이 기판은 Xilinx Zynq XC7Z020 APSoC(All Programmable SoC)를 기반으로 구축된 고성능 작동 환경을 제공합니다. 이 APSoC는 이중 코어 Arm® Cortex®-A9 프로세서를 포괄적 프로그래밍 가능 패브릭(53,200개 대조표(LUT), 106,400개 플립플롭 및 630Kbytes 블록 RAM(Random Access Memory) 지원)과 통합합니다. Xilinx Zynq XC7Z020 APSoC와 함께 Zybo Z7-20 기판에는 1Gbyte RAM, 16Mbytes 4중 SPI 플래시, 다중 인터페이스, 커넥터 및 6개 Pmod 확장 포트가 포함되어 있습니다.

Zybo Z7-20 기판에서 실행하도록 고안된 Digilent의 ZyboZ7-20 PmodToF-Demo 소프트웨어 배포에는 Pmod ToF 계층 구조 블록 소프트웨어 라이브러리를 위한 소프트웨어 개발 키트(SDK)가 포함되어 있습니다. 이 라이브러리는 개발자에게 Xilinx SDK의 구동기 및 지원 모듈을 기반으로 하거나 Digilent에서 Pmod ToF 기판용으로 제공되는 응용 제품을 구축할 수 있는 직관적인 응용 프로그래밍 인터페이스(API)를 제공합니다(그림 6).

Digilent의 Pmod ToF 계층 구조 블록 소프트웨어 라이브러리 이미지그림 6: Digilent의 Pmod ToF 계층 구조 블록 소프트웨어 라이브러리는 Renesas ISL29501 센서, EEPROM 및 Pmod ToF 서비스용 모듈로 Xilinx SDK의 하위 수준 인터페이스 구동기를 강화합니다. (이미지 출처: Digilent)

Digilent 라이브러리는 Xilinx SDK의 I2C, GPIO 및 UART 통신용 하위 수준 구동기를 Digilent Pmod ToF 기판 EEPROM 및 Renesas ISL29501 장치의 레지스터 레벨 구동을 구현하는 모듈과 결합합니다. 예를 들어 ISL29501 모듈은 ISL29501에서 거리 측정을 실행하는 함수를 제공합니다. ISL29501은 해당 측정을 수행하는 데 필요한 세부 작동 시퀀스를 내부적으로 구현하므로, 몇 가지 초기 설정과 일련의 레지스터 읽기/쓰기만 수행하여 거리를 측정할 수 있습니다. Digilent 라이브러리의 ISL29501 모듈은 거리 측정 기능을 비롯하여 특정 ISL29501 작업을 구현할 수 있는 함수를 제공합니다(목록 1).

복사 double PmodToF_perform_distance_measurement() {     /* WRITE REG */     u8 reg0x13_data = 0x7D;     u8 reg0x60_data = 0x01;     /* READ REG */     u8 unused;     u8 DistanceMSB;     u8 DistanceLSB;       double distance = 1;     ISL29501_WriteIIC(&myToFDevice, 0x13, &reg0x13_data, 1);     ISL29501_WriteIIC(&myToFDevice, 0x60, &reg0x60_data, 1);     ISL29501_ReadIIC(&myToFDevice, 0x69, &unused, 1);     CALIB_initiate_calibration_measurement();        //waits for IRQ     while((XGpio_DiscreteRead(&gpio, GPIO_CHANNEL) & GPIO_DATA_RDY_MSK) != 0 );     ISL29501_ReadIIC(&myToFDevice, 0xD1, &DistanceMSB, 1);     ISL29501_ReadIIC(&myToFDevice, 0xD2, &DistanceLSB, 1);     distance =(((double)DistanceMSB * 256 + (double)DistanceLSB)/65536) * 33.31;     return  distance; } 

목록 1: Digilent 라이브러리의 ISL29501 모듈에 포함된 소프트웨어 함수는 여기에 표시된 거리 측정과 같은 레지스터 수준 작업을 구현합니다. (코드 출처: Digilent)

Digilent 라이브러리의 PmodToF 모듈은 하위 수준 모듈을 기반으로 구축된 상위 수준 서비스를 제공합니다. 예를 들어 측정을 실행 및 표시하기 위해 PmodToF 모듈의 PmodToFCMD_MeasureCmd() 함수는 ISL29501 모듈의 레지스터 수준 PmodToF_perform_distance_measurement() 함수를 반복적으로 호출하고 결과의 평균을 표시합니다(목록 2).

복사 /***   PmodToFCMD_MeasureCmd ** **     Parameters: **     none ** **     Return Value: **          ERRVAL_SUCCESS              0       // success ** **     Description: **            This function displays over UART the distance measured by the device.
**            Before calling this function, it is important that a manual calibration was made or the calibration **            was imported(calibration stored by the user in EEPROM user area )/restored from EEPROM(factory calibration).
*/ void PmodToFCMD_MeasureCmd() {        int N = 100, sum = 0;        int distance_val, distance_val_avg;        // 100 distance values that are measure will be averaged into a final distance value        for(int j=0;j<N;j++)        {               distance_val = 1000 * PmodToF_perform_distance_measurement(); // the distance value is in millimeters               sum = sum + distance_val;        }        distance_val_avg = sum/N;     sprintf(szMsg, "Distance measured D = %d mm.", distance_val_avg);     ERRORS_GetPrefixedMessageString(ERRVAL_SUCCESS, "", szMsg);     UART_PutString(szMsg); } 

목록 2: Digilent 라이브러리의 PmodToF 모듈에 포함된 소프트웨어 함수는 여기에 표시된 여러 거리 측정의 평균 표시와 같은 응용 제품 수준 서비스를 제공합니다. (코드 출처: Digilent)

개발자는 Digilent Pmod ToF 계층 구조 블록 소프트웨어 라이브러리의 전체 모듈을 사용하거나, 응용 제품에 필요한 최소 모듈만 사용할 수 있습니다. 하지만 모든 응용 분야에서 정확성을 보장하기 위해 개발자는 크기, 누화 및 거리 보정을 수행해야 합니다. 크기는 내부 보정이지만 다른 두 보정은 약간의 설정이 필요합니다. 누화 보정의 경우 개발자는 기판에 포함된 폼으로 광학 장치를 막고 보정을 실행하면 됩니다. 거리 보정의 경우 개발자는 IR 반사도가 높은 대상에서 알려진 거리에 광학 기기가 위치하도록 ToF 기판을 배치하고 보정을 실행합니다. ISL29501는 비휘발성 메모리를 포함하지 않지만 개발자는 Pmod ToF 기판의 EEPROM에 새 보정 값을 저장한 후 소프트웨어 초기화 중에 해당 값을 로드할 수 있습니다.

기성 하드웨어와 소프트웨어의 이 조합은 광학 ToF 응용 제품을 구축하는 데 즉시 사용 가능한 기반을 제공합니다. 빠른 시제품 제작을 위해 개발자는 Digilent Pmod ToF 및 Zybo Z7-20 기판을 사용하여 라이브러리 배포의 샘플 소프트웨어를 즉시 실행할 수 있습니다. 맞춤형 개발의 경우 개발자는 Pmod ToF 기판에 표시되는 하드웨어 참조 설계와 Digilent 라이브러리 배포에 제공된 소프트웨어 코드를 기반으로 빌드할 수 있습니다.

결론

단일 칩 ToF 처리 IC를 사용하면 많은 응용 분야에 대한 ToF 솔루션 구현을 간소화할 수 있지만, 통합하는 데 적합한 방출기 및 광 다이오드를 개발자가 직접 찾아야 합니다. 위에서 살펴본 바와 같이 사전 빌드된 ToF 애드온 기판과 고성능 시스템 기판을 결합하면 쉽게 액세스할 수 있는 완벽한 하드웨어 ToF 솔루션을 제공할 수 있습니다. 이 하드웨어 솔루션을 연결된 소프트웨어 라이브러리와 결합하여 개발자는 ToF 응용 제품의 시제품을 즉시 제작하거나 이 하드웨어와 소프트웨어를 맞춤형 ToF 하드웨어 및 소프트웨어 설계의 기반으로 활용할 수 있습니다.

DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk는 전자 산업에 관해 하드웨어, 소프트웨어, 시스템, 응용 제품(예: IoT)을 비롯한 광범위한 주제에 대해 20년 이상 집필한 경력을 갖고 있습니다. 그는 신경 과학의 뉴런 네트워크 박사 학위를 받았으며항공 우주 산업 분야의 광범위하게 분포된 보안 시스템 및 알고리즘 가속 메서드 관련 업무를 수행했습니다. 현재, 기술 및 엔지니어링에 대해 기사를 쓰지 않을 때에는 인식 및 추천 시스템에 대한 심층적 학습 응용 프로그램을 연구하고 있습니다.

게시자 정보

DigiKey 북미 편집자