Ⅰ. 서론
적외선 영상 호밍시스템은 지상의 표적에 대하여 주야간 적외선 영상을 입력받아 표적을 식별하고 주요 표적에 대하여 표적을 탐색, 탐지하여 추적하는 적외선 영상 센서를 보유한 추적시스템이다. 입력되는 영상을 통하여 실시간으로 표적을 식별하고 탐지 및 추적을 하기 위해서는 고속의 연산이 가능한 신호처리기 개발이 필요하다. 고속의 연산이 가능한 Embedded CPU가 나오기 전에는 최소한의 클럭으로 FFT가 가능한 DSP가 많이 적용되었다. [1][2][3] 하나의 보드에 DSP를 여러개를 사용해야 해서 초기 보드들은 크기가 크고 비용이 최근 신호처리기 보드보다 비쌌다. 그 이후 Power PC 계열의 Embedded CPU가 나오면서 DSP를 대체하고 운영소프트웨어도 리얼타임 OS 지원이 가능하여 영상처리알고리즘 개발에 도움이 되었다.[4][5][6] 최근에는 Intel 에서도 Embedded CPU가 저렴한 가격으로 다양하게 출시되고 있어서 Power PC에서 많이 이동하고 있다. [7][8] 본 논문에서는 Intel의 ATOM 계열의 E3950 을 적용하였다.[9]
최근에는 병렬연산처리 및 CPU의 부담을 줄여주기 위하여 영상처리를 위한 전처리 기능들을 FPGA를 통하여 업무를 많이 공유하여 보다 작고 저렴한 신호처리기보드 개발이 진행되고 있다.[10][11][12] FPGA를 생산하는 여러 업체가 있지만 본 논문에서는 XILINX 사의 제품을 적용하였다. XILINX 사 제품군도 주기적으로 내부 여러 용량과 속도, I/O 의 지원이 증가되고 있어서 이전 개발에서 FPGA를 2개 적용하던 것을 하나로 통합하여 개발을 진행하였다.
본 논문에서는 CPU, FPGA의 선정과정과 기존설계대비 비교분석, 실시간 영상처리와 자체 검증을 이한 신호처리기 설계에 대하여 제시한다.
Ⅱ. 신호처리기 설계
적외선 영상 호밍시스템용 신호처리기는 하나의 보드에 수신영상 입력부, 영상전처리부, 운용제어부, 인터페이스 부로 나누어 지며 수신된 표적신호를 처리하여 표적을 탐지 및 추적 역할을 수행한다.
적외선 영상 호밍시스템용 신호처리기의 주요 사양은 표 1과 같다.
표 1. 신호처리기 주요 사양
Table 1. Signal Processing Unit Main Spec.
수신신호는 그림1과 같이 영상검출부로부터 영상이 획득되고 픽셀마다 불균일한 영상을 불균일보정을 하고배드픽셀에 대하여 처리를 한다. 처리된 영상은 디지털신호로 FPGA의 영상전처리기로 전달된다. 송신은 탐색기에서 표적의 정보를 획득 이후 여러 가지 정보를 포함하여 아날로그 신호인 RS170신호로 생성되어 점검 장비의 모니터에서 실시간으로 확인할 수 있게 된다. CPU는 동작 클럭이 1GHz 이상, 내부 코어가 4개 이상이 요구된다. 기존에는 Freescale Semiconductor사의 P4080 을 적용하여 신호처리기를 구현하였다. P4080은 8개의 코어와 1.5GHz 동작 클럭을 사용하고 있었지만 실제 4 개의 코어만 사용되었다. 표 2는 본 논문에서 적용하려는 Intel x7 ATOM E3950과 기존 P4080의 성능 비교표 이다. E3950은 동작 클럭은 1.6GHz 이상이고 4개의 코어를 가지고 있어서 요구사항을 만족한다. 또한 최신의 LPDDR4가 지원이 된다. 또한 내부 Cache L2가 더 많이 지원되어 영상처리에 더욱 용이하다. 또한 성능 지수인 DMIPS가 좀 더 높다. 사이즈는 조금 더 작으며 단종 예정일이 더 길다. 또한 가격은 P4080에 비해서 저렴하다. RAM은 기존의 DDR3에서 CPU에 맞게 2GB의 LPDDR4를 적용한다. FPGA는 기존에 Vertex 6와 Spartan 6를 이용하여 영상전처리, 점검영상처리, 구성품 인터페이스 기능, 체계인터페이스 기능을 나누어 처리하던 것을 Xilinx 사의 Ultra Scale 하나로 통합을 한다. 표 3은 기존 2개의 FPGA와 선정된 Ultra Scale 의용량 분석이다. 특히 Vertex-6와 Spartan-6 합한 DSP48 Slices가 56개인 반면 Ultra Scale 단독으로 1,080 개를 보유하고 있어서 영상처리를 위하여 충분히 동등 이상으로 확보되었음을 알 수 있다.
그림 1. 신호처리기 블록도
Fig. 1. Signal Processing Unit Block Diagram
표 2. CPU 비교표
Table 2. CPU Comparison table
표 3. FPGA 비교표
Table 3. FPGA Comparison table
또한 PCIe 포트도 Ultra Scale 이 2개를 보유하고 있어서 기존을 대체하는 대는 문제가 없다. 가격 또한 두 개 합 가격보다 저렴하다.
그림 2는 FPGA 내부 블록도와 CPU 인터페이스를 보여주고 있다. CPU에서 전달되는 명령과 DATA는 PCIe 를 통해서 전달되고 FPGA로부터 결과 값 역시 PCIe를 통해서 빠르게 전달된다. FPGA에서는 PCIe를 통하는 데이터들은 PCIe WRAPPER를 통하여 전달된다. 시스템 설정 값들은 I2C 통신을 통해서 주고 받는다. 영상획득 부로부터 획득된 디지털 영상 4는 FPGA로 입력되고 영상 전처리 알고리즘을 거쳐서 CPU로 전달된다. 영상획득 부로부터 신호처리기로 입력되는 디지털영상은 고속의 LVDS Line으로 입력되어 LVDS Deserializer 를 통하여 FPGA로 입력된다. LVDS로 Serializer 해서 보내는 것은 고속의 데이터 전송시 오류를 막기 위함이다. FPGA의 영상 전처리 알고리즘을 검증하고 실시간 자체 점검을 위하여 점검장비로부터 디지털영상을 입력받는 디지털 영상 5가 있다. 이 영상 역시 LVDS로 입력되어 Deserializer 통하여 FPGA로 입력된다. 알고 있는 영상을 입력하여 영상 전처리된 영상을 디지털영상 6을 통하여 받아 확인하면 정상동작 유무를 확인할 수 있다. 또한 외부에서 입력되는 디지털영상 4, 디지털영상 5는 패스 상의 오류를 확인하기 위하여 FPGA 입력 후 Bypass 시켜서 확인할 수 있도록 되어 있다. 입력된 영상은 PCIE 통신을 통하여 CPU로 전달되고 CPU에서는 영상처리알고리즘을 통하여 표적을 식별 및 추적을 수행한다. CPU 에서 영상처리된 영상은 FPGA의 처리기에서 아날로그로 변환하여 외부로 전달하여 쉽게 모니터를 통하여 확인할 수 있도록 하였다.
그림 2. FPGA 내부 블록도와 CPU 인터페이스
Fig. 2. FPGA Internal Block Diagram and CPU Interface
그림 3은 신호처리보드의 내부온도와 사용되는 전원을 실시간 모니터링하기 위한 인터페이스이다. 온도 센서는 I2C 지원되는 TMP1075로 선정하였고 전원모니터링 역시 I2C 지원되는 ADC128D8 12bit, 8 채널 ADC 시스템 모니터 칩으로 선정하였다. 또한 FPGA에서 사용하는 DDR4를 자체점검하여 그 결과도 I2C로 변환하여 FPGA 내의 I2C SLAVE를 통하여 CPU로 전달된다.
그림 3. 온도와 전원 모니터링 인터페이스
Fig. 3. Temperature and Power Monitering Interface
그림 4는 Intel Processor E3950의 입출력 인터페이스를 나타내고 있다. 부팅을 위한 Flash 메모리와 SPI 인터페이스가 있고, 영상처리를 위한 DDR3와 인터페이스 되어 있다. 동작시 온도 및 전원에 대한 모니터링을 위하여 I2C로 연결되어 있고 유도조종장치와 인터페이스를 위한 PCIe 로 연결되어 있다. FPGA를 통하여 데이터를 주고 받고 외부 장치와 통신을 하기 위하여 간단한 데이터의 IN/OUT은 I2C를 사용하고 큰 용량의 데이터는 PCIe를 통하여 주고받게 된다. 또한 동작시 CPU의 모니터링 및 디버깅을 위한 Ethernet 포트가 있다.
그림 4. 프로세서 입출력 인터페이스
Fig. 4. Processor IN/OUT Interface
그림 5는 마스터 장비인 유도조종장치로부터 명령을 받기 위한 1553B 통신에 대한 인터페이스를 보여주고 있다. 그림 6은 1553B ACE 의 내부 구조이다. 기본적으로 Address 버스와 Data 버스를 통하여 데이터를 주고받는 형태이므로 CPU에서는 PCIe를 통하여 나오는 정보를 변환을 해 주어야 한다. 변환을 위하여 FPGA를 활용하여 설계하였다. 1553B ACE는 내부에 트랜스포머가 내장되어 있어서 바로 1553B STUB를 물려서 BC와 연결이 가능하다.
그림 5. 1553B 인터페이스
Fig. 5. 1553B Interface
그림 6. 1553B ACE 내부 구조
Fig. 6. 1553B ACE Inner layout
그림 7은 구동부와의 인터페이스를 나타내고 있다. 표적으로 지향을 하기 위하여 모터제어와 제어된 위치를 확인하기 위한 위치센서와 인터페이스 되며 관성 정보를 획득하기 위하여 자이로와 인터페이스 된다. 구동부는 두 축으로 구성되어 있어서 각 두 개의 채널로 구현된다. 위치센서인 엔코더와 관성센서인 자이로는 RS422 통신으로 주기적으로 정보를 받게 된다. RS422 인터페이스는 FPGA에서 구현하고 주기적으로 받은 데이터는 한번에 PCIe 통신으로 CPU에 전달된다.
그림 7. 구동부 인터페이스
Fig. 7. Driving Unit Interface
그림 8은 원할한 동작을 위한 방열 구조이다. CPU의 경우에는 4개의 코어가 동작시 30W가 소모되므로 발열이 많이 발생한다. 그 외의 부품 중 DDR4 메모리가 발열이 많다. 발생된 열을 외부로 빼 내기 위해서 Thermal mass를 늘려 케이스를 통한 방열 구조를 설계하였다.
그림 8. 방열을 위한 케이스 형상
Fig. 8. Case structure for heat dissipation
그림 9는 동작시간동안에 대한 열해석 결과이다. 국부적으로 발열이 생성되었지만 각 부품의 규격을 초과하지는 않아서 방열설계가 만족할 만한 성능이 확보되었다. 또한 열해석에 사용된 소모전력은 보수적으로 수치를 잡았으므로 추가적인 열적 마진이 있을 것으로 판단된다.
그림 9. 열해석 결과
Fig. 9. Thermal analysis result
Ⅲ. 신호처리기 제작
신호처리기는 여러 해석을 거쳐서 Artwork을 진행후 PCB를 제작을 하였다.
제작된 신호처리기 보드의 사이즈는 사용되는 시스템에 맞게 결정된 것으로 표준 사이즈의 Single Board Computer 보드는 아니다. 방열을 위한 케이스가 부품과 규격 범위안에서 잘 접촉될 수 있게 하기 위하여 여러 군데 체결 부위를 두었다.
그림 10은 신호처리기의 성능을 시험하기 위한 구성츨 보여주고 있다. 영상처리의 성능을 확인하기 위하여 점검 장비로부터 디지털 영상을 입력 후 처리된 결과를 통하여 성능을 점검한다. 또한 점검장비는 동작을 위한 기본 전원을 공급하고 통신을 점검하기 위한 별도의 채널을 보유하고 있다.
그림 10. 신호처리기 시험 구성
Fig. 10. Signal Processing Unit Test Configuration
그림 11는 초기고장배제를 위한 시험 프로파일로써 1 주기의 온도/진동 복합시험과 O 주기의 온도 시험으로 구성된다. 신호처리보드 내부까지 온도가 안정되기 위하여 안정화시간을 두고 있다.
그림 11. 초기고장배제 시험 프로파일
Fig. 11. Environmental Stress Screening Test profile
그림 12은 시험 결과를 나타내고 있다. 입력전압 범위내에서 소비전력을 만족하고 있으며 동작온도 범위에서의 최대 운용시간을 만족하고 있음을 확인하였다. 또한 유도 조종 장치와 1553B 통신이 주기적으로 잘 수행되고 있음이 확인되었다.
그림 12. 시험 결과
Fig. 12. Test results
Ⅳ. 결론
본 논문에서는 소형 적외선 영상 호밍시스템용 고속실시간 신호처리기를 개발하였다. 연산량 분석을 통하여 1.0GHz Core Clock을 가지는 Intel x7 ATOM E3950 으로 설계 제작하였고, DDR4 메모리, Flash 메모리, DPRAM 및 FPGA를 선정하였다. FPGA는 영상 전처리 등의 기능 설계를 고려하여 XILINX 사의 Kintex Ultrascale 로 설계 제작하였다. 기존과 달리 구동 제어를 별도 FPGA로 구현함으로써 하나의 통합 보드로 구현을 하였다. 또한 전용 시험장비를 구성하여 성능시험을 통하여 결과를 확인하였다.
참고문헌
- Jin-Kyu Choi, Jun-Ho Yoon, "A Design of the High-Performance Signal Processor for a Small Tracking Radar", CICS 2012, pp191-192, Oct, 2012.
- Doh Hyun Kim, Young Sung Lee,"Miniaturization of Signal Processor of Airborne Tracking Radar", The Korean Institute of Electrical Engineers Conference, pp114-117, Nov, 2002. http://www.dbpia.co.kr/Article/NODE01326985
- Jin-Kyu Choi, Han-Chun Ryu, "A Development of the High-Performance Signal Processor for the Compact Millimeter Wave Radar", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 17, No. 6, pp.161-167, Dec.31, 2017. DOI : https://doi.org/10.7236/JIIBC.2017.17.6.161
- Mahmoud Meribout, Mamoru Nakanishi and Takeshi Ogura, "Accurate and Real-time Image Processing on a New PC-compatible Board", 2002 Elsevier Science Ltd., Real-Time Imaging 8, 35-51 (2002) DOI : https://doi.org:10.1006/rtim.2001.0269
- Daniel L. Rosenband, "A Design Case Study: CPU vs. GPGPU vs. FPGA" 2009 IEEE
- Suyoung Bae, Jong-Soo Seok, "Implementation of CPU/GPU based acceleration kernels on OpenVX Framework for image processing on Embedded H/W platform", Proceedings of Symposium of the Korean Institute of communications and Information Sciences, 2019.11, 349-350
- Oliver Jakob Arndt, Daniel Becker, "Parallel Implementation of Real-Time Semi-Global Matching on Embedded Multi-Core Architectures", 978-1-4799-0103-6/130 ©2013 IEEE
- Sourav Dutta, Dimitri Kagaris, "Hypervisor-Induced Negative Interference in Virtualized Multi-Core Platforms: The P4080 Case", 2017 IEEE 11th International Symposium on Embedded Multicore / Many-core Systems-on-Chip https://DOI.org/10.1109/MCSoC.2017.11
- Intel Atom® Processor E3900 and A3900 Series Datasheet Addendum, July 2019
- Bo DUAN, Wendi WANG, "Floating-point Mixed-radix FFT Core Generation for FPGA and Comparison with GPU and CPU", 2011 IEEE 978-1-4577-1740-6/11
- J.Diaz, et.al, "FPGA-based real-time optical flow system", IEEE Transactions on Circuits and Systems for Video Technology (TCSVT), 2006, Vol.16, Issue.2, pp.274-279 https://doi.org/10.1109/TCSVT.2005.861947
- T.Saegusa, T.Maruyama, Y.Yamaguchi, "How fast is an FPGA in image processing?", FPL 2008, pp.77-82.
- Jongbok Lee, "Design and Simulation of ARM Processor using VHDL", The Journal of The Institute of Internet, Broadcasting and Communication(JIIBC), Vol. 18, No. 5, pp.229-235, Oct. 31, 2018. DOI : https://doi.org/10.7236/JIIBC.2018.18.5.229
- Jong-Pil Lee, Ill-Keun Rhee, "Development of High Resolution Target Simulator with Dual Sampling Clock Rates", Journal of Korean Institute of Information Technology 12(12), 2014.12, 31-39
- Choi Jeong Hyun, Jo Han Moo, Yun Seok Jae, Ryu Dong Wan, "A Design of the Integrated Software Architecture for Missile System Test Set", Proceedings of Symposium of the Korean Institute of communications and Information Sciences, 2014.11,214-215
- Jongbok Lee, "A Study On Statistical Simulation for Asymmetric Multi-Core Processor Architectures", The Journal of The Institute of Internet, Broadcasting and Communication (IIBC) Vol. 16, No. 2, pp.157-163, Apr. 30, 2016 https://doi.org/10.7236/JIIBC.2016.16.2.157