digital signal processing tms320f2812 เบื้องต้น by mr.rungwicha chaiyot

36
Digital Signal Processing TMS320F2812 เเเเเเเเเ By Mr.Rungwicha Chaiyot

Upload: giulia

Post on 04-Feb-2016

48 views

Category:

Documents


0 download

DESCRIPTION

Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot. TMS320F2812 เป็นผลิตภัณฑ์ของบริษัทเทคซัสอินสตรูเมนท์ ( Texas Instrument ) มีอุปกรณ์รอบข้างที่เหมาะสำหรับประยุกต์ใช้ในงานควบคุมมอเตอร์ โดยเฉพาะดังนี้ -Two event-manager modules (EVA,EVB) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Digital Signal ProcessingTMS320F2812

เบื้��องต้�น

By Mr.Rungwicha Chaiyot

Page 2: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

TMS320F2812

เป็�นผลิ�ต้ภั�ณฑ์�ของบื้ริ�ษั�ทเทคซั�สอ�นสต้ริ�เมนท� (Texas Instrument)

ม�อ�ป็กริณ�ริอบื้ข�างท�!เหมาะส$าหริ�บื้ป็ริะยุ�กต้�ใช้�ในงานควบื้ค�มมอเต้อริ�โดยุเฉพาะด�งน��-Two event-manager modules (EVA,EVB)

-Enhanced analog-to-digital converter (ADC) module

-Digital I/O and shared pin function

Page 3: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

EVENT MANAGER (EV) Module

ม�ค�ณสมบื้�ต้�ในการิป็ริะยุ�กต้�ใช้�ในงานควบื้ค�มการิเคลิ�!อนท�!แลิะควบื้ค�มมอเต้อริ�โดยุเฉพาะ ป็ริะกอยุด�วยุ EVA,EVB น$าไป็ป็ริะยุ�กต้�ใช้�ในงานแบื้บื้ multi-axis/motion control เช้0น-ควบื้ค�มมอเต้อริ�สองต้�ว-ควบื้ค�มอ�นเวอริ�เต้อริ�แบื้บื้สามริะด�บื้แต้0ลิะ EV Module ม� full compare unit 3 หน0วยุ ให�ก$าเน�ด PWM ได�โมด�ลิลิะ 6 ส�ญญาณพริ�อมท��ง dead band โดยุท�!ค0าdead band ท�!ต้�องการิสามาริถโป็ริแกริมเข�าไป็ยุ�ง Compare Register ได�

Page 4: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

EV แต้0ลิะต้�วจะใช้� General-Purpose (GP) Timers เพ�!อเป็�น

Time base ให�ก�บื้ Compare unit ซั5!งเก�!ยุวข�องก�บื้การิให�ก$าเน�ดส�ญญาณ PWM ด�งริ�ป็ท�! 1

GP Timer 1

EVA Compare Unit

Compare 1

Compare 2

Compare 3

PWM1PWM2PWM3PWM4

PWM5PWM6

GP Timer 3

EVB Compare Unit

Compare 4

Compare 5

Compare 6

PWM7PWM8PWM9PWM10

PWM11PWM12

ริ�ป็ท�! 1 โมด�ลิก$าเน�ดส�ญญาณ PWM

Page 5: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

GP Timer Counting Operation

Compare output ของ GP Timer สามาริถก$าหนด

active high,active low force high,force low ได�

GP Timer แต้0ลิะต้�วม�โหมดการิท$างานท�!เป็�นไป็ได� 4 แบื้บื้-Stop/Hold mode-Continuous Up-Counting mode-Directional Up-/Down-Counting mode-Continuous Up-/Down-Counting mode

โดยุแต้0ลิะแบื้บื้สามาริถก$าหนดได�โดยุใช้� timer control register

(TxCON) บื้�ต้ท�! 11-12

Page 6: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Stop/Hold Mode

ในโหมดน�� GP Timer จะหยุ�ดท$างานแลิะคงอยุ�0ท�!สถานะป็6จจ�บื้�น ต้�ว timer counter,compare output จะไม0ม�การิเป็ลิ�!ยุนแป็ลิง

Continuous Up-Counting mode

GP Timer ในโหมดน��จะท$าการิน�บื้ข5�นจนกริะท�!ง timer counter

ม�ค0าเท0าก�บื้ Period registerซั5!งต้ริงก�บื้ขอบื้ขาข5�นของ input clock

พอด� ค0า GP Timer จะริ�เซัต้เป็�น 0 แลิะเริ�!มน�บื้ใหม0อ�กคริ��งหน5!ง ด�งริ�ป็ท�! 2

Page 7: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

ริ�ป็ท�! 2 GP Timer Continuous Up-Counting mode

GP Timer ท�!น�บื้แบื้บื้ Continuous Up-Counting mode

ป็ริะโยุช้น�ค�อน$าไป็สริ�าง PWM แบื้บื้ Asynchronous

Page 8: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Directional Up-/Down-Counting mode

ในโหมดน�� GP Timer จะน�บื้ข5�นแลิะน�บื้ลิง ต้ามอ�นพ�ต้ท�!ขา

TDIRA/B ของ GPIO PORT

-TDIRA/B เป็�น high GP Timer จะน�บื้ข5�นจนม�ค0าเท0าก�บื้ Period register

Timer จะริ�เซัต้เป็�น 0 แลิะน�บื้ข5�นใหม0อ�กคริ��ง-TDIRA/B เป็�น low GP Timer จะน�บื้ลิงจนม�ค0าเท0าก�บื้ 0 ค0า Timer

จะ reloads ใหม0ให�เท0าก�บื้Period register แลิะน�บื้ลิงใหม0อ�กคริ��งด�งริ�ป็ท�! 3

Page 9: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

GP Timer ท�!น�บื้แบื้บื้ Up-/Down-Counting mode ใช้�ในกริณ�ม�เหต้การิณ�จากภัายุนอกเป็ลิ�!ยุนไป็ในงานควบื้ค�มแลิะ power electronicsapplication

ริ�ป็ท�! 3 Directional Up-/Down-Counting mode

Page 10: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Continuous Up-/Down-Counting mode

ในโหมดน��การิท$างานจะเหม�อนก�บื้ Direction Up-/Down-Counting

mode แต้0 PIN TDIRA/B ไม0ม�ผลิต้0อท�ศทางการิน�บื้

-ท�ศทางการิน�บื้จะเป็ลิ�!ยุนจาก up to down เม�!อ timer counter

ม�ค0าเท0าก�บื้ Period register

-ท�ศทางการิน�บื้จะเป็ลิ�!ยุนจาก down to up เม�!อ timer counter

ม�ค0าเท0าก�บื้ 0

ด�ริ�ป็ท�! 4

Page 11: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

ริ�ป็ท�! 4 Continuous Up-/Down-Counting mode

Continuous Up-/Down-Counting mode ใช้�สริ�าง PWM แบื้บื้ Symmetric แลิะ period ของ timer ในโหมดน��ม�ค0าเป็�นสองเท0าของPeriod register (TxPR)

Page 12: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Asymmetric/Symmetric Waveform Generation

asymmetric /symmetric PWM wave form สามาริถก$าหนดได�โดยุ counting mode ท�!อยุ�0ภัายุใน GP TimerAsymmetric Waveform Generation

เม�!อ GP Timer อยุ�0ใน continuous up-counting mode.

output waveform (PWM) จะม�การิเป็ลิ�!ยุนแป็ลิงด�งน��-ม�ค0า 0 ก0อน timer counter จะท$างาน-ม�ค0าคงท�!จนกริะท�!งเก�ดการิ compare math (timer counter=compare register)

-Toggle เม�!อเก�ดการิ compare math

-ม�ค0าคงท�!จนกริะท�!งส��นส�ด period

-ริ�เซัต้เป็�น 0 เม�!อจบื้ period

Page 13: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

ริ�ป็ท�! 5 GP Timer Compare/PWM Output in Up-Counting Mode

Page 14: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Symmetric Waveform Generation

เม�!อ GP Timer อยุ�0ใน continuous up-/down counting mode.

output waveform (PWM) จะม�การิเป็ลิ�!ยุนแป็ลิงด�งน��-ม�ค0า 0 ก0อน timer counter จะท$างาน-ม�ค0าคงท�!จนกริะท�!งเก�ดการิ compare math (timer counter=compare register)

-Toggle เม�!อเก�ดการิ compare math

-ม�ค0าคงท�!จนกริะท�!งเก�ดการิ compare math คริ��งท�!สอง

-Toggle เม�!อเก�ดการิ compare math คริ��งท�!สอง-ม�ค0าคงท�!จนกริะท�!งส��นส�ด period

-ริ�เซัต้เป็�น 0 เม�!อจบื้ period

Page 15: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

ริ�ป็ท�! 6 GP Timer Compare/PWM Output in Up-/Down Counting Mode

PWM Output สามาริถท�!จะก$าหนด active high,active low,

force low,force high ได�โดยุก$าหนดค�ณสมบื้�ต้�ใน ACTRA/Bregister

Page 16: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Compare Unit1= Bit0-3 =PWM1,PWM2Compare Unit2= Bit 4-7=PWM3,PWM4Compare Unit3= Bit 8-11=PWM5,PWM6ACTRA=0999

1 0 0 11 0 0 1

1 0 0 10 0 0 0

PWM1=ALPWM2=AHPWM3=ALPWM4=AH

PWM5=ALPWM6=AH

PWM2 AHPWM1 AL

ริ�ป็ท�! 7 ACTRA

ริ�ป็ท�! 8 Symmetrical PWM1,PWM2

Page 17: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

ม� register อ�กหลิายุต้�วท�!เก�!ยุวข�องก�บื้การิใช้�งาน PWM ศ5กษัาเพ�!มเต้�มได�จาก litrrature number SPRU065

Page 18: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

General-Purpose Input/Output (GPIO)

GPIO MUX register ใช้�เลิ�อกค�ณสมบื้�ต้�การิท$างานให�ก�บื้ PIN

ในต้�วป็ริะมวลิผลิซั5!งสามาริถก$าหนดให�เป็�นการิท$างานแบื้บื้ต้0างๆได�ด�งน�� -Digital I/O หริ�อ Peripheral โดยุ GPxMUX registers

-ถ�าเป็�น Digital I/O ก$าหนดให�เป็�น Input/Output โดยุ GPxDIR registers

แต้0ลิะ Port ของ GPIO จะถ�กควบื้ค�มโดยุ MUX, Direction, Data, Set, Clear, Toggle Registers

Page 19: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

GPxMUX Registers

แต้0ลิะ Port ของ GPIO ค�อ MUX registers ใช้�ในการิเลิ�อกริะหว0างการิท$างานเป็�นอ�ป็กริณ�ริอบื้ข�างหริ�อเป็�นDigital I/O

IF GPxMUX.bit=0 Pin ถ�กก$าหนดเป็�น Digital I/O

IF GPxMUX.bit=1 Pin ถ�กก$าหนดเป็�นอ�ป็กริณ�ริอบื้ข�างGPxDIR Register

แต้0ลิะ Port ของ GPIO ค�อ GPxDIR registers ใช้�ในการิเลิ�อกริะหว0างการิท$างานเป็�น Input หริ�อเป็�น Output

IF GPxDIR.bit=0 Pin ถ�กก$าหนดเป็�น Input

IF GPxDIR.bit=1 Pin ถ�กก$าหนดเป็�น Output

X=PORT A,B,D,E,F,G

Page 20: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

GPxDAT Registers

แต้0ลิะ Port ของ GPIO ค�อ GPxDAT registers ใช้�ในการิสะท�อนสถานะป็6จจ�บื้�นของ I/OIF GPxDAT.bit=0, PIN ก$าหนดเป็�น Output เม�!อน��น PIN

ถ�กเป็ลิ�!ยุนเป็�น Low

IF GPxDAT.bit=1, PIN ก$าหนดเป็�น Output เม�!อน��น PIN

ถ�กเป็ลิ�!ยุนเป็�น High

Page 21: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

GPxSET Register

แต้0ลิะ Port ของ GPIO ค�อ GPxSET registers โดยุ PIN

น��นต้�องถ�กก$าหนดเป็�น OutputIF GPxSET.bit=0, ignored (no effect)

IF GPxSET.bit=1, PIN ก$าหนดเป็�น Output เม�!อน��น PIN

ถ�กเป็ลิ�!ยุนเป็�น High

GPxCLEAR Registers

แต้0ลิะ Port ของ GPIO ค�อ GPxCLEAR registers โดยุ PIN

น��นต้�องถ�กก$าหนดเป็�น OutputIF GPxCLEAR.bit=0, ignored (no effect)

IF GPxCLEAR.bit=1, PIN ก$าหนดเป็�น Output เม�!อน��น PIN

ถ�กเป็ลิ�!ยุนเป็�น Low

Page 22: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

GPxTOGGLE Registers

แต้0ลิะ Port ของ GPIO ค�อ GPxToggle registers โดยุ PIN

น��นต้�องถ�กก$าหนดเป็�น OutputIF GPxToggle.bit=0, ignored (no effect)

IF GPxToggle.bit=1, PIN ก$าหนดเป็�น Output เม�!อน��น PIN

ถ�กเป็ลิ�!ยุนเป็�นค0าต้ริงก�นข�าม

Page 23: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

GPIO AGPIOA0 / PWM1GPIOA1 / PWM2GPIOA2 / PWM3GPIOA3 / PWM4GPIOA4 / PWM5GPIOA5 / PWM6GPIOA6 / T1PWM_T1CMPGPIOA7 / T2PWM_T2CMPGPIOA8 / CAP1_QEP1GPIOA9 / CAP2_QEP2GPIOA10 / CAP3_QEPI1GPIOA11 / TDIRAGPIOA12 / TCLKINAGPIOA13 / C1TRIPGPIOA14 / C2TRIPGPIOA15 / C3TRIP

GPIO BGPIOB0 / PWM7GPIOB1 / PWM8GPIOB2 / PWM9GPIOB3 / PWM10GPIOB4 / PWM11GPIOB5 / PWM12GPIOB6 / T3PWM_T3CMPGPIOB7 / T4PWM_T4CMPGPIOB8 / CAP4_QEP3GPIOB9 / CAP5_QEP4GPIOB10 / CAP6_QEPI2GPIOB11 / TDIRBGPIOB12 / TCLKINBGPIOB13 / C4TRIPGPIOB14 / C5TRIPGPIOB15 / C6TRIP

GPIO DGPIOD0 / T1CTRIP_PDPINTAGPIOD1 / T2CTRIP / EVASOCGPIOD5 / T3CTRIP_PDPINTBGPIOD6 / T4CTRIP / EVBSOC

GPIO EGPIOE0 / XINT1_XBIOGPIOE1 / XINT2_ADCSOCGPIOE2 / XNMI_XINT13

GPIO FGPIOF0 / SPISIMOAGPIOF1 / SPISOMIAGPIOF2 / SPICLKAGPIOF3 / SPISTEAGPIOF4 / SCITXDAGPIOF5 / SCIRXDAGPIOF6 / CANTXAGPIOF7 / CANRXAGPIOF8 / MCLKXAGPIOF9 / MCLKRAGPIOF10 / MFSXAGPIOF11 / MFSRAGPIOF12 / MDXAGPIOF13 / MDRAGPIOF14 / XF

GPIO GGPIOG4 / SCITXDBGPIOG5 / SCIRXDB

C28x GPIO Pin AssignmentC28x GPIO Pin Assignment

BIT ท�!เหลิ�อ GPIO D,E,G,F ค�อ Reserved

ต้$าแหน0งของ PIN บื้น eZDSP_TMS320F2812

board ด�ได�จาก 2812_ezdsp_TechRef_F.pdf

Page 24: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

ต้าริางท�! 1 PIN Assigment บื้น P4 แลิะ P8 ของ DSP board

Page 25: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Ex. Example_281xEvPwm.c

//Description#include “header_file”

//ป็ริะกาศ function ท�!ใช้�ในโป็ริแกริมvoid init_eva(void)void init_evb(void)//void main(void) { init_eva( ); init_evb( );

for(; ;);

}void init_eva( )

{

}

void init_evb( ) {

}

(generate PWM1-12)

(ป็ริะกาศค0าต้�นแบื้บื้ให�ก�บื้โป็ริแกริม)(function ช้�!อ init_eva/b แบื้บื้ไม0ม�การิส0งต้�วแป็ริเข�า/ออกจากโป็ริแกริม=void)

(โป็ริแกริมหลิ�กเริ�!มด�วยุค$าส�!ง main)

(เริ�ยุกใช้� function init_eva )(เริ�ยุกใช้� function init_eva )

(Idle Loop)

(สริ�าง function ช้�!อ init_eva() )

(สริ�าง function ช้�!อ init_eva() )

Page 26: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

การิสริ�าง project

1. Menu Project->New

Page 27: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Project Name: ProjectPwm

Location: c:\Project

Project Type: Executable(.out)

Target: TMS320C28XX

Click: Finish

NOTE:ใน Folder Project สร้�าง header file และ C Source code

ส�าหร้�บกำ�าหนดค่�า Default ของ DSPไว้�เร้�ยบร้�อยแล�ว้

Page 28: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Menu File->New->Source File

2.เข�ยุน C-Source Code

Page 29: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Menu:File->Save as

Page 30: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Save in: projectFilename:ProjectPwmSave as type: C Source FilesClick: Save

Page 31: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

3. Add code file to the project

Menu Project->Add files to project

ไป็ท�! Folder Project

: projectPwm.c:DSP281x_Codestartbranch.asm:DSP281x_Defaultsisr.c:DSP281x_Globalvariabledef.c:DSP281x_PieCtrl.c:DSP281x_PieVect.c:DSP281x_SysCtrl.c:DSP281x_header_nonBIOS.cmd:EzDSP_RAM_INK.cmd

ก$าเน�ด PWM

กำ�าหนดค่�า Default ของ

register ให� DSP

Link Command File

Link Command File : จองพื้��นที่� ในหน�ว้ยค่ว้ามจ�าให�กำ�บตั�ว้ปร้ะมว้ลผล

Page 32: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

4. Add the C-runtime-library to Project

Project->Build Option

Linker->Library Search PatchType:C:\Ti\c2000\cgtools\libLinker->Include LibrariesType:rts2800_ml.lib

Add the stack-size of 0x400Linker->Stack Size(-Stack)Type: 0x400

Close Build Option Click OK

Page 33: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

5. Menu Project->Build

Page 34: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

6. Load File projectPwm.out and run Program

Menu File->Load Program ->projectPwm.out ->Click Open

Page 35: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

Run Program

Halt Program

Page 36: Digital Signal Processing TMS320F2812 เบื้องต้น By Mr.Rungwicha Chaiyot

REFERENCE

1.Texas Instrument “TMS320x281x DSP Event Manager (EV) Referencre Guide.” (SPRU065d) November2004

2.Texas Instrument “TMS320x281x DSP System Control and Interrupts ReferEnce Guide.” (SPRU078C) March20053.Texas Instrument “ACI3_1For TMS320F281X Setup Company.” (SPRC130)