14
www.realsys.co.kr MATLAB7을 이용한 TI TMS320C2000DSP Platform의 Simulation 환경 구축 < Embedded Target for the TI TMS320C2000DSP Platform in MATLAB7 이란 ? > Embedded Target for the TI TMS320C2000DSP Platform은 Simulink와 MATLAB를 TI의 eXpress DSP tool들과 통합한 것이며 이는 digital signal processing과 control design에 있어 개발자 의 이론 및 개념을 코드 생성을 통한 검증 및 빠른 모형 제작을 가능토록 하였다. 이를 위해 이 플랫폼 은 사용자의 Simulink Model의 C 언어 구현을 생성하기 위해 MATLAB의 Real-Time Workshop과 TI 의 개발도구들을 이용한다. 이때 Real-Time Workshop은 Code Composer Studio 프로젝트를 만드는데 사용자는 생성된 프로젝트를 Compile, Link, Download to Target Board를 할 수 있다. 1) 사용중인 테스트 환경 사양 및 설치 A) MATLAB 사양 필수 사양 : MATLAB7, Simulink6, MATLAB Builder for COM, MATLAB Compiler, Signal Processing Blockset, Real-Time Workshop Embedded Coder, Simullink Fixed Point, Link for Code Composer Studio, Filter Design Toolbox, Fixed-Point Toolbox, Real-Time Workshop, Signal Processing Toolbox, Embedded Target for TI C2000 DSP추가 사양 : 각종 Toolbox 프로그램자세한 사양은 Mathworks Korea에 연락하시길 바랍니다. B) Code Composer Studio(CCS) 사양 CCS2.20 이상의 버전을 사용하시길 바라며, Spectrum Digital 사의 eZdsp 보드를(리얼시스의 EzDSP2812 Kit) 사용하시는 분들은 Spectrum Digital 사의 홈페이지(www.spectrumdigital.com )에 가신 후 C2000용 eZdsp 드라이버 파일을 다운로드 받은 후 설치하시길 바랍니다. 또한 CCS는 일반적으로 내부 RAM에 대한 다운로드만 가능하므로, 내부 Flash ROM에 다운로드 하고자 하신 분들은 TI의 홈페이지(www.ti.com )에 가신 후 Flash Downloader for C2000 Plug-In Play 파일을 다운로드 받은 후 설치하시길 바랍니다. 마지막으로 IQMath Library와 DMC Library에 관심을 가지고 계신 분은 TI의 홈페이지에 가서 관련 자료를 다운로드 하시길 바랍니다. C) 호스트 PC 사양 Intel Pentium or Intel Pentium processor-compatible PC 64 MB RAM (128 MB recommended) 20 MB hard disk space available after installation MATLAB and CCS Windows NT 4.0 Server or Workstation, Windows 2000, or Windows XP

MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 Simulation 환경 구축

< Embedded Target for the TI TMS320C2000™ DSP Platform in MATLAB7 이란 ? >

Embedded Target for the TI TMS320C2000™ DSP Platform은 Simulink와 MATLAB를 TI의

eXpress DSP tool들과 통합한 것이며 이는 digital signal processing과 control design에 있어 개발자

의 이론 및 개념을 코드 생성을 통한 검증 및 빠른 모형 제작을 가능토록 하였다. 이를 위해 이 플랫폼

은 사용자의 Simulink Model의 C 언어 구현을 생성하기 위해 MATLAB의 Real-Time Workshop과 TI

의 개발도구들을 이용한다. 이때 Real-Time Workshop은 Code Composer Studio 프로젝트를 만드는데

사용자는 생성된 프로젝트를 Compile, Link, Download to Target Board를 할 수 있다.

1) 사용중인 테스트 환경 사양 및 설치

A) MATLAB 사양

필수 사양 : MATLAB7, Simulink6, MATLAB Builder for COM, MATLAB Compiler,

Signal Processing Blockset, Real-Time Workshop Embedded Coder,

Simullink Fixed Point, Link for Code Composer Studio, Filter Design Toolbox,

Fixed-Point Toolbox, Real-Time Workshop, Signal Processing Toolbox,

Embedded Target for TI C2000 DSP…

추가 사양 : 각종 Toolbox 프로그램…

자세한 사양은 Mathworks Korea에 연락하시길 바랍니다.

B) Code Composer Studio(CCS) 사양

CCS2.20 이상의 버전을 사용하시길 바라며, Spectrum Digital 사의 eZdsp 보드를(리얼시스의

EzDSP2812 Kit) 사용하시는 분들은 Spectrum Digital 사의 홈페이지(www.spectrumdigital.com

)에 가신 후 C2000용 eZdsp 드라이버 파일을 다운로드 받은 후 설치하시길 바랍니다.

또한 CCS는 일반적으로 내부 RAM에 대한 다운로드만 가능하므로, 내부 Flash ROM에 다운로드

하고자 하신 분들은 TI의 홈페이지(www.ti.com)에 가신 후 Flash Downloader for C2000

Plug-In Play 파일을 다운로드 받은 후 설치하시길 바랍니다.

마지막으로 IQMath Library와 DMC Library에 관심을 가지고 계신 분은 TI의 홈페이지에 가서

관련 자료를 다운로드 하시길 바랍니다.

C) 호스트 PC 사양

Intel Pentium or Intel Pentium processor-compatible PC

64 MB RAM (128 MB recommended)

20 MB hard disk space available after installation MATLAB and CCS

Windows NT 4.0 Server or Workstation, Windows 2000, or Windows XP

Page 2: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

D) 설치

CCS2.20을 설치 ( 관련 Install Guide를 참조 바람 )

MATLAB7을 설치 ( 관련 Install Guide를 참조 바람 )

Setup CCS2000 프로그램을 사용하여 Target Board와 연결할 방법을 선택

사용자께서는 Target Board와 연결할 방법에 따라 하나만을 선택하여 설정하시길 바랍니다.

SCI Boot Mode를 사용한 보드 ( RealDSP-UT POD 사용 – Edu DSP2812 Kit )

F2812 Device Simulator로 설정하시길 바랍니다.

eZdsp를 사용한 보드 ( Ez DSP2812 Kit )

F2812 eZdsp로 설정하시길 바랍니다.

JTAG Emulator를 사용한 보드 ( PP Emulator, XDSP510 Emulator, XDS510USB

Emulator…)

해당하는 Emulator따라 설정하시길 바랍니다.

MATLAB7 프로그램을 시작

먼저 MATLAB7을 사용하기에 앞서 다음의 2가지 사항을 점검하시길 바랍니다.

Embedded Target for TI TMS320C2000 DSP Platform Toolbox 설치 여부 점검

MATLAB7의 Command Window Prompt에 “c2000lib” <Enter> 입력하시면

아래 그림과 같이 현재 사용자의 컴퓨터에 설치된 TMS320C2000 DSP Platform Toolbox

Library 심볼 정보 창이 보일 것 입니다.

Page 3: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

CCS2.20과의 Link 여부 및 현재 설정한 Target Board 환경 점검

MATLAB7의 Command Window Prompt에 “ccsboardinfo” <Enter> 입력하시면

아래 그림과 같이 사용자가 Setup CCS2000 프로그램에서 설정한 정보의 내용이

표시 될 것입니다.

Page 4: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

2) Demo 프로그램을 통한 MATLAB7 사용법 익히기

이 문서의 목적은 TMS320C2812 칩을 이용한 제품을 개발할 때, 제품의 신뢰성 및 개발 기간

단축을 위해 MATLAB을 이용하여 Simulation 환경을 구축하고자 하는 개발자들을 위한 기초

자료를 목적으로 하고 있습니다.

더불어 시간의 제약상 MATLAB7에서 제공하는 모든 라이브러리 및 Function Block에 대해

테스트를 할 수 없으므로 이 문서에서는 MATLAB7에서 제공하는 Demo Project인 “PWM Duty

Cycle Control via Period Change”를 통해 간략하게나마 사용법을 익히는데 주안점을 두었습니다.

따라서 Embedded Target for TI TMS320C2000™ DSP Platform에 대한 자세한 내용과 지원되는

모든 라이브러리 및 Function Block에 대해서는 같이 첨부한 사용자 매뉴얼 및 MATLAB7의 Online

Help를 참조하시길 바랍니다.

사용자께서는 MATLAB7의 메뉴 중 “Help -> Full Product Familly Help”를 선택하신 후 나타나는

Help 창의 Demos Panel 항목을 선택합니다. 그런 후 아래 그림의 왼쪽 창에서와 같이 “PWM Duty

Cycle Control via Period Cnange” 항목을 선택, 그리고 나서 오른쪽 창에 나타나는 “Open this

model” 항목을 더블 클릭하면 Demo용 Simulation Model이 나타나게 됩니다.

Page 5: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

< F2812 Simulation Model 예제 – PWM Duty Cycle Control via Period Change >

< Hardware Setup >

이 예제의 코드 생성 부분을 테스트하기 위해서는 target board(Ez2812 kit, Edu2812 kit 및 사용자

보드) 및 Oscilloscope가 필요하며, 사용자께서는 target board의 PWM1의 출력 핀에 Oscilloscope

를 연결하시길 바랍니다.

< Demo Description >

이 예제는 pulse waveform 생성에 있어 C28x PWM 블록의 사용을 보여주고자 한다.

“Pulse Period Source”는 타겟보드의 PWM1과 PWM2 출력으로 생성된 pulse waveform의 주기를

결정하며 예제에서는 16000와 32000 clock cycles 사이의 값으로 Pulse Period를 설정 가능.

“Pulse Width Source”는 타겟보드의 PWM1과 PWM2 출력으로 생성된 pulse waveform의 폭을

결정하며 예제에서는 8000 clock cycles 고정 값으로 Pulse Width를 설정

생성된 pulse waveform의 duty cycle은 설정된 pulse width와 pulse period의 상대적 비율로 결정

된다. 예제에서는 duty cycle이 매 1.6초 마다 50% 와 75%로 toggle되며 사용자는 이를

Oscilloscope를 통해 확인 할 수 있다.

Page 6: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

리얼시스의 Ez2812 Kit과의 인터페이스 방법

A) Setup CCS C2000에서 F2812 eZdsp로 설정한다.

B) MATLAB7에서 “PWM Duty Cycle Control via Period Change” Demo 예제를 실행한다.

Page 7: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

C) 위 그림에서 F2812 eZdsp 항목을 더블 클릭하여 타겟 환경을 설정한다.

BuildOptions -> LinkerOptions -> LinkerCMDFile과 LinkerCmdFileName

LinkerCMDFile의 internal_memory_map : 내부 RAM에 다운로드 할 때

LinkerCMDFile의 full_memory_map : 내부 RAM 및 플래시 메모리에 다운로드 할 때

LinkerCMDFile의 Custom_file : 사용자 정의 memory map을 사용하고자 할 때, 이때에는

LinkerCmdFileName에 *.cmd 파일의 전체 경로 입력

본 문서에서는 내부 RAM에 다운로드 하는 방식을 사용함.

BuildOptions -> RunTimeOptions -> BuildAction을 Build_and_execute로 설정

예제 Simulink Model를 위한 프로젝트를 어떻게 생성하는가를 결정하는 것으로 본 문서에

서는 Build_and_execute를 선택하였으며, 이는 프로젝트를 생성한 후 자동적으로 컴파일,

링크를 한 후 타겟보드에 생성된 실행파일을 다운로드 하도록 함.

DSPBoard -> DSPBoardLable

Setup CCS C2000에 설정한 연결 설정을 지정하는 것으로 여기서는 “F2812 eZdsp”라고

입력 바람.

Page 8: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

D) 수정한 항목을 저장한 후, 툴바에서 이 버튼(Increment Build) 을 누르시면 자동적으로

CCS2000이 호출되면서 프로젝트가 생성 및 Compile, Link가 된 후 타겟보드에 다운로드

됩니다. 따라서 사용자께서는 타겟보드에 프린터포트 케이블을 연결하신 후 전원을 공급하시길

바랍니다.

E) 다운로드가 끝난 후 리얼시스의 Ez2812 Kit 보드의 PWM1과 PWM2 핀에 Oscilloscope를 연결

하시면 1.6 초 간격으로 Duty Cycle이 변하시는 것을 확인하실 수 있습니다.

Page 9: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

리얼시스의 Edu2812 Kit과의 인터페이스 방법

A) Setup CCS C2000에서 F2812 Device Simulator로 설정한다.

B) MATLAB7에서 “PWM Duty Cycle Control via Period Change” Demo 예제를 실행한다.

Page 10: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

C) 위 그림에서 F2812 eZdsp 항목을 더블 클릭하여 타겟 환경을 설정한다.

BuildOptions -> LinkerOptions -> LinkerCMDFile과 LinkerCmdFileName

LinkerCMDFile의 internal_memory_map : 내부 RAM에 다운로드 할 때

LinkerCMDFile의 full_memory_map : 내부 RAM 및 플래시 메모리에 다운로드 할 때

LinkerCMDFile의 Custom_file : 사용자 정의 memory map을 사용하고자 할 때, 이때에는

LinkerCmdFileName에 *.cmd 파일의 전체 경로 입력

본 문서에서는 내부 RAM에 다운로드 하는 방식을 사용함.

BuildOptions -> RunTimeOptions -> BuildAction을 Build로 설정

예제 Simulink Model를 위한 프로젝트를 어떻게 생성하는가를 결정하는 것으로 본 문서에

서는 Build를 선택하였으며, 이는 프로젝트를 생성한 후 자동적으로 컴파일, 링크를 하여,

실행파일을 생성함.

DSPBoard -> DSPBoardLable

Setup CCS C2000에 설정한 연결 설정을 지정하는 것으로 여기서는 “F2812 Device

Simulator”라고 입력 바람.

Page 11: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

D) 수정한 항목을 저장한 후, 툴바에서 이 버튼(Increment Build) 을 누르시면 자동적으로

CCS2000이 호출되면서 프로젝트가 생성 및 Compile, Link 하여 실행 파일을 생성함.

Page 12: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

E) 생성된 프로젝트의 Build 환경을 변경함

리얼시스의 Edu2812 Kit은 시리얼 부트를 사용하여 작동하므로 Emulator와 같은 Auto-

Initialization 과정이 필요 없다. 따라서 사용자 CCS의 Project-> Build Options… 메뉴를 선택

한 후 Linker 항목 중 Autoinit Model를 Run-time Autoinitialzation (-c)로 설정 바람

F) c2812pwmtest.cmd 파일을 수정

SECTIONS 항목 중 ramfuncs section을 다음과 같이 수정함

ramfuncs : > PRAMH0, PAGE = 0, TYPE = DSECT 항목을

ramfuncs : > PRAMH0, PAGE = 0 으로 수정함

Page 13: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

G) RealDSP-UT의 data monitoring 기능 살리기

debug_serial.c 파일을 생성된 프로젝트에 포함시킨다.

debug_serial.c 소스 파일의 맨 앞 부분에 있는 #include “../DSP281x_Device.h”를

#include “DSP281x_Device.h로 수정함

c2812pwmtest_main.c 소스 파일 앞 부분의 extern 함수 선언 부분에 다음과 같이

serial debug용 interrupt 함수 선언을 함.

main 함수에서 interrupt enable하기 전에 serial debug용 함수를 초기화한다.

E) 수정한 프로젝트를 Build All 함. 리얼시스의 Edu2812 Kit에 전원을 연결한 후 RealDSP-UT

를 연결한다. 그리고 RealDSP-UT 운용 프로그램에서 생성된 실행파일을 다운로드 한 후

리얼시스의 Ez2812 Kit 보드의 PWM1과 PWM2 핀에 Oscilloscope를 연결하면 1.6 초

간격으로 Duty Cycle이 변하시는 것을 확인하실 수 있습니다.

Page 14: MATLAB7을 이용한 TI TMS320C2000™ DSP Platform의 … · 2) Demo 프로그램을 통한 MATLAB7 사용법 익히기 이 문서의 목적은 TMS320C2812 칩을 이용한 제품을

www.realsys.co.kr

JTAG Emulator를 이용한 사용자 보드와의 인터페이스 방법

XDS510 PP 및 USB Emulator를 사용하여 사용자 보드와 인터페이스 하는 경우에는 위의 Ez2812

Kit과 거의 설정 방법이 같습니다. 아래의 2개의 설정 항목만 변경하시면 됩니다.

Setup CCS C2000에서 사용하고자 하는 Emulator로 설정함

Demo Simulation Model의 F2812 eZdsp 블록 설정의 DSPBoard -> DSPBoardLable 항목

을 위의 Setup CCS C2000에서 설정한 것과 똑같은 이름으로 입력바람.

핑계일지 모르지만 앞에서 말했듯이 바쁜 일정 관계로 이번에는 Embedded Target for the TI

TMS320C2000™ DSP Platform의 개발 환경 구축과 간단한 테스트에 주안점을 두었습니다.

추후 가능한 한 모든 Library Block의 기능 및 설명, 그리고 많은 시간이 소요될 것으로 생각되며

Embedded Target for the TI TMS320C2000™ DSP Platform의 핵심요소라고 생각되는 자동 Code 생

성 과정 및 Code 분석에 대한 자료를 올리겠습니다.

그럼 미흡한 점이 있더라도 양해바랍니다….