태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

<==이전 포스트(1편) 보러가기

<==이전 포스트(2편) 보러가기

 

이번 포스트는 앞서 소개한 TI의 C2000용 DSP 라이브러리 4종 중 FPU 폴더에 들어 있는 Floating Point Unit DSP Software Library 에 대해서 간단하게 살펴보겠습니다.

 

 

FPU (Floating Point Unit DSP Software Library)

FPU는 기본적으로 정수형(고정소수점) 연산 코어인 TMS320F28x CPU 코어에서 소수형(부동소수점) 연산을 하드웨어적을 지원해주기 위한 서포트 유닛입니다. 초기 TMS320F28x 칩들은 이 FPU 를 가지고 있지 않았기 때문에 소수(부동소수점) 연산은 하드웨어적으로 지원이 안되고, 소프트웨어적으로 처리하다 보니 많은 연산시간이 필요했습니다. 하지만, 코드명 Delfino 로 시작되는 TMS320F2833x, TMS320C2834x에서 FPU가 탑재되기 시작했고, 일부 Piccolo 계열과 가장 최근에 출시된 TMS320F2837x 계열에서는 FPU를 지원하기 때문에 소수연산 또한 하드웨어 적으로 빠르게 처리 가능해 졌습니다.

 

FPU DSP Software Library는 이러한 FPU를 적극 활용하여 소수형(부동소수점) DSP 연산을 지원하게 됩니다. 따라서 FPU가 없는 과거의 TMS320F281x, TMS320F280x, 일부 Piccolo 계열 칩에서는 이 라이브러리를 사용할 수 없습니다. 사용자는 이 라이브러리를 사용하기에 앞서 본인이 사용하는 TMS320F28x 칩이 FPU가 탑재되어 있는 칩인지 확인 해줘야 합니다.

 

그럼 이제 라이브러리 폴더 경로에 들어가보겠습니다. 앞서 FixedPointLib 처럼 몇가지 버전으로 폴더가 구분되어 있는 것을 볼 수 있습니다. 가능하면 상위 버전을 쓰는 것이 좋고, 필요에 따라서 하위 버전을 사용하실 수 있습니다. 2016-10-17 현재는 V150 이 가장 최신 버전입니다. 버전 폴더 안으로 들어가면, 또 여러가지 폴더로 구분되어 있는데, 각 폴더마다 라이브러리 사용에 필요한 소스, 헤더, 예제, 라이브러리 파일들이 들어 있습니다.

 

라이브러리를 사용하기 위해서 가장 먼저 해야할 일은 해당 라이브러리의 가이드 문서를 살펴보는 것입니다. V150 버전을 사용한다면, 가이드 문서는 아래 경로에 있습니다. controlSUITE 를 설치하시지 않은 분들도 문서를 보실 수 있도록 해당 문서 파일을 첨부 했습니다.

 

 

가이드 문서 경로 : C:\ti\controlSUITE\libs\dsp\FPU\v1_50_00_00\doc

 

Fixed Point DSP Software Library 사용자 가이드 PDF 파일:

FPU-SW-LIB-UG.pdf

 

 

위의 사용자 가이드에 TI의 FPU DSP Software Library 가 제공하는 기능과 사용법이 아주 자세하기 설명되어 있습니다. 여기서는 간단하게 해당 라이브러리에 어떠한 연산기능들이 있는지만 살펴 보겠습니다. 본인이 필요로하는 연산 기능이 있는지 잘 살펴보세요.

 

FFT Routines

  • Windowing for the Complex Fast Fourier Transform

  • Complex Fast Fourier Transform

  • Complex Fast Fourier Transform (Unaligned)

  • Complex Fast Fourier Transform Magnitude

  • Complex Fast Fourier Transform Magnitude (Scaled)

  • Complex Fast Fourier Transform Phase

  • Complex Fast Fourier Transform Twiddle Factors

  • Inverse Complex Fast Fourier Transform

  • Windowing for the Real Fast Fourier Transform

  • Real Fast Fourier Transform

  • Real Fast Fourier Transform (Unaligned)

  • Real Fast Fourier Transform with ADC Input

  • Real Fast Fourier Transform with ADC Input (Unaligned)

  • Real Fast Fourier Transform Magnitude

  • Real Fast Fourier Transform Magnitude (Scaled)

  • Real Fast Fourier Transform Phase

  • Real Fast Fourier Transform Twiddle Factors

 

Filter Routine

  • Finite Impulse Response Filter

 

Vector and Matrix Routines

  • Absolute Value of a Complex Vector

  • Absolute Value of an Even Length Complex Vector

  • Absolute Value of a Complex Vector (TMU0)

  • Addition (Element-Wise) of a Complex Scalar to a Complex Vector

  • Addition of Two Complex Vectors

  • Inverse Absolute Value of a Complex Vector

  • Inverse Absolute Value of an Even Length Complex Vector

  • Inverse Absolute Value of a Complex Vector (TMU0)

  • Multiply-and-Accumulate of a Real Vector and a Complex Vector

  • Multiply-and-Accumulate of a Real Vector (Signed 16-bit Integer) and a
    Complex
    Vector (Single Precision Float)

  • Index of Maximum Value of an Even Length Real Array

  • Mean of Real and Imaginary Parts of a Complex Vector

  • Median of a Real Valued Array of Floats (Preserved Inputs)

  • Median of a real array of floats

  • Complex Multiply of Two Floating Point Numbers

  • Complex Multiply of Two Complex Vectors

  • Multiplication of a Complex Vector and the Complex Conjugate of another Vector

  • Multiplication of a Real scalar and a Real Vector

  • Multiplication of a Real Scalar, a Real Vector, and another Real Vector

  • Multiplication of a Real Vector and a Complex Vector

  • Multiplication of a Real Vector and a Real Vector

  • Sort an Array of Floats

  • Rounding (Unbiased) of a Floating Point Scalar

  • Subtraction of a Complex Scalar from a Complex Vector

  • Subtraction of a Complex Vector and another Complex Vector

 

Math Routine

  • Fast Square Root

 

Utility Routines

  • Optimized Memory Copy

  • Optimized Memory Copy (Far Memory)

  • Optimized Memory Set

 

 

 

대표적으로 FFT 연산과 FIR 필터링, 각종 Vector & Matrix 연산등을 지원하는 것을 볼 수 있습니다. DSP 연산 외에에도 Square Root나 Memory Copy 등의 기능도 지원하고 있습니다. 전체적으로 앞서 Fixed Point DSP Software library 보다 훨신 더 다양한 연산을 지원하고 있습니다. 

 

그리고, 해당 가이드 문서를 좀더 살펴보시면, 몇가지 연산은 TMU accelerator를 가지고 있을 때 더욱 빠른 연산이 가능하다고 나와 있습니다. TMU는 Trigonometric Math Unit의 약자로 가장 최근에 출시된 TI DSP(MCU)인 TMS320F2837x 계열부터 탑재된 연산 가속 기능입니다. TMU는 이름 처럼 삼각함수 연산외 몇가지 연산을 무지막지하게 (과장이 아님) 빠르게 처리해주는 가속기능을 지원합니다. TMU에 대해서는 나중에 좀더 자세히 살펴보겠습니다.

 

FPU DSP Software Library 사용자 가이드에도 각 연간기능의 연산시간에 대한 벤치마크 자료가 있습니다. 해당 자료도 아래와 같이 첨부하니 라이브러리 선택과 사용에 있어서 참고하시기 바랍니다.

 

 

 

 

다음 포스팅에서는 Signal Generator 라이브러리에 대해서 살펴보겠습니다.

 

 

 

 

 

 

 

 

 

Posted by syncworks

댓글을 달아 주세요