| 간략한 설명 | |
|---|---|
|
파일: \examples\Processing\DebuggingAndTest\HardwareTest\HardwareTest.va |
![]() |
|
Default Platform: mE5-MA-VCL |
|
|
요약 설명 DMA, RAM, GPIO, Trigger 및 LED의 하드웨어 자체 테스트를 위한 예제입니다. 이 예제는 parameters 라이브러리의 오퍼레이터를 광범위하게 사용합니다. |
|
Hardware Test 예제는 하드웨어 자체 테스트를 수행합니다.
이 앱릿은 다음과 같은 기능을 포함합니다:
- DMA 성능 테스트: 다양한 메모리 크기 및 인터럽트 레이트에 따른 서로 다른 이미지 크기
- RAM 테스트: 오류 및 처리 여부 확인
- 카메라: 카메라 포트 이미지 취득 확인
- 카메라 Trigger: 카메라로 트리거 신호 전송
- GPIO: GPI 모니터링 및 GPO 설정
- 이벤트 테스트: 소프트웨어 콜백 이벤트 생성
- 모니터링: FPGA 온도, 전력, PoCL, ... (BoardStatus 참조)
다음 다이어그램은 앱릿의 기능 블록을 보여줍니다.
VisualApplets 구현은 두 개의 프로세스로 나뉩니다. Process0에는 DMA 테스트, RAM 테스트 및 카메라 취득을 포함한 모든 이미지 처리 부분이 포함됩니다. 반면 Process1에는 실행 중인 취득과 독립적인 부분이 포함됩니다. DMA 오퍼레이터가 없는 프로세스는 앱릿이 로드될 때 즉시 시작되므로, 여기의 기능들은 취득과 무관하게 독립적으로 사용할 수 있습니다. 자세한 내용은 'Processes without DMAs / Trigger Processes'를 참조하세요.
다음 두 개의 스크린샷은 Process0과 Process1을 보여줍니다.
이 앱릿은 앱릿을 쉽게 사용할 수 있도록 parameters 라이브러리의 오퍼레이터를 집중적으로 사용하여 구현되었습니다. H-Box 구현에는 기능적 부품들이 포함됩니다. 파라미터는 분리된 뷰를 위해 H-Box Parameters의 속성에 나열됩니다. 이는 다음 스크린샷에서 볼 수 있듯이 사용하기 쉬운 파라미터만 나열되므로 예를 들어 microDisplay에서 앱릿을 사용할 때 유용합니다.
The implementation of the applet is straight forward and can be easly understood by studying the VA file. However, we will have a closer look at some of the parmeter translations and references to understand their usage.
주요 이미지 처리 파트에는 RAM 테스트, DMA 성능 테스트 및 카메라 획득이 포함됩니다. 이 앱릿은 DMA 채널에서 한 번에 하나의 모드만 출력할 수 있도록 허용합니다. 따라서 여러 개의 SourceSelector 오퍼레이터가 사용됩니다. 올바른 입력 인덱스를 지정하는 매개변수화를 방지하기 위해, 간편한 사용을 위해 EnumParamTranslator 오퍼레이터를 사용합니다.
다음에서는 TranslateOutputSelect의 매개변수 값을 자세히 설명합니다.
먼저 열거형(enumeration) 값을 정의해야 합니다.
"DMA_Performance" = 0x001; "Camera" = 0x002; "RAM0_Difference" = 0x000; "RAM0_Errors" = 0x100; "RAM1_Difference" = 0x010; "RAM1_Errors" = 0x110; "RAM2_Difference" = 0x020; "RAM2_Errors" = 0x120; "RAM3_Difference" = 0x030; "RAM3_Errors" = 0x130;
보시다시피 열거형 값은 16진수 값으로 정의됩니다. 이를 통해 세 개의 SourceSelector 모듈에 쉽게 분배할 수 있습니다. 하위 4비트는 모듈 TestMode.SelectSource에, 4~7비트는 RAMTest/SelectRAM.SelectSource에, 8~11비트는 RAMTest/SelectRAMOutputMode/EnableBitpattern.SelectSource에 사용됩니다. 이렇게 하면 매개변수 WriteAction 및 ReadAction의 구현이 매우 단순해집니다.
그런 다음 변환된 값을 열거형 값과 함께 사용할 수 있습니다. 값을 변경하면 SourceSelector 모듈의 매개변수 값도 자동으로 변경됩니다.
H-Box GeneratorDMAPerformance에는 패턴 생성기와 출력 프레임 레이트를 제어하기 위한 이미지 밸브가 포함되어 있습니다. 패턴 생성은 빈 이미지 생성기뿐만 아니라 픽셀 및 이미지 Counter를 사용하여 대각선으로 흐르는 패턴을 매우 간단하게 생성할 수 있습니다.
밸브는 주기 생성기 오퍼레이터인 Generate에 의해 제어됩니다. 생성기의 단위는 틱(tick) 단위로 지정됩니다. 타임베이스가 있는 프레임 레이트를 지정하고자 하므로, 변환 오퍼레이터인 FloatParamTranslator를 사용합니다. 따라서 이 오퍼레이터를 사용하여 초당 프레임 수(fps)를 틱으로 변환합니다. 다음 스크린샷은 그 구현을 보여줍니다.
오퍼레이터 IntParamTranslator를 사용하여 HardwareTest 예제에서 너비 및 높이 설정하기
이전 섹션에서 설명한 것과 동일한 절차가 이미지 너비와 높이에 대해 수행됩니다. 이 경우 IntParamTranslator 오퍼레이터를 사용할 수 있습니다. 여기서는 값을 디자인 내의 두 모듈로 직접 전달할 수 있습니다. 매개변수 DisplayName 및 DisplayHierarchy에 지정된 값에 주의하십시오.






이전

