Forums

PWM generation using Quad timer of 827

Started by Nitin Madhukar Yewale September 12, 2002
Hi,
I am using 56F827 for my project. I want to know about Quad
timer.
I have configured the Quad timer for PWM generation. Please find
the declaration for the same.
I am using Quad Timer1 for testing but not able to see waveform
using CRO probe.

//10 Hz pw = 0.000025
qt_sState quadParam1 = {
/* Mode = */ qtVariableFreqPWM,
/* InputSource = */ qtPrescalerDiv64,
/* InputPolarity = */ qtNormal,
/* SecondaryInputSource = */ 0,

/* CountFrequency = */ qtRepeatedly,
/* CountLength = */ qtUntilCompare,
/* CountDirection = */ qtUp,

/* OutputMode = */ qtToggleUsingAlternateCompare,
/* OutputPolarity = */ qtNormal,
/* OutputDisabled = */ 0,

/* Master = */ 0,
/* OutputOnMaster = */ 0,
/* CoChannelInitialize = */ 0,
/* AssertWhenForced = */ 0,

/* CaptureMode = */ qtDisabled,

/* CompareValue1 = */ 0x000f, // Off Time
/* CompareValue2 = */ 0xf414, // On Time
/* InitialLoadValue = */ 0x0000,

/* CallbackOnCompare = */ { CallbackOnQ1, 0 },
/* CallbackOnOverflow = */ { 0, 0 },
/* CallbackOnInputEdge = */ { 0, 0 }
};

Can anybody help me on this issue?

Thanks and Regards,
Nitin Yewale,
Wipro Technologies, Plot No 2, MIDC,
Pune Infotech Park, Hinjewadi,
Pune - 411 027 India.
Ph. 91-20-2933700 Extn :2074
Email :
URL : http://www.wipro.com


**************************Disclaimer********************************************\
******

Information contained in this E-MAIL being proprietary to Wipro Limited is
'privileged'
and 'confidential' and intended for use only by the individual or entity to
which it is
addressed. You are notified that any use, copying or dissemination of the
information
contained in the E-MAIL in any manner whatsoever is strictly prohibited.

********************************************************************************\
********



The "OutputDisabled" value needs to be set to 1 (True) to enable the
output. This is kind of "reverse" logic, the parameter probably should
have been called "OutputEnabled" instead, to reflect its true purpose.

Also, the qt_sState structure you have shown is for the 56F826 chip, the
56F827 structure has additional parameters as shown in Section 5.4.3 of
the on-line documentation:

Quad Timer Driver MOTOROLA 5-45 5.4.3 API Definition
This section defines the Application Programming Interface (API) by
identifying all public interface functions and data structures. Code to
create and initialize the Quad Timer driver may automatically be
included in an SDK Embedded Project by inserting the following line in
the appconfig.h file:
#define INCLUDE_QUAD_TIMER
The following information may be found in the public header file
quadraturetimer.h:
Public Interface Function(s):
/***********************************************************************
******
* int open(const char *pName, int OFlags,...);
* int close(int FileDesc);
* UWord16 ioctl(int FileDesc, UWord16 Cmd, void * pParams);
* UWord16 qtIoctl(int FileDesc, UWord16 Cmd, void * pParams, * void *
bspDeviceName);
************************************************************************
*****/
Public Data Structure(s):
typedef struct
{
qt_eMode Mode;
qt_eInputSource InputSource;
qt_ePolarity InputPolarity;
qt_eSecondaryInputSource SecondaryInputSource;
qt_eCountFrequency CountFrequency;
qt_eCountLength CountLength;
qt_eCountDirection CountDirection;
qt_eOutputMode OutputMode;
qt_ePolarity OutputPolarity;
bool OutputDisabled;
bool Master;
bool OutputOnMaster;
bool CoChannelInitialize;
bool AssertWhenForced;
qt_eCaptureMode CaptureMode;
UInt16 CompareValue1;
UInt16 CompareValue2;
UInt16 InitialLoadValue;
qt_sCallback CallbackOnCompare;
qt_sCallback CallbackOnOverflow;
qt_sCallback CallbackOnInputEdge;
UInt16 ComparatorValue2; /* 827 only */
UInt16 ComparatorValue1; /* 827 only */
qt_eTimerCompareIntEnable InterruptEnable2; /* 827 only */
qt_eTimerCompareIntEnable InterruptEnable1; /* 827 only */
qt_eCompareLoadControl LoadControl2; /* 827 only */
qt_eCompareLoadControl LoadControl1; /* 827 only */
}qt_sState;

There is documentation for the Quad Timer Driver in the on-line manual,
start it as follows:
Start
Programs
Motorola
Embedded SDK 2.5
Help and Documentation

In "Contents", go to:
Motorola Embedded SDK
Software Solutions
Targeting DSP568xx Platforms
DSP56826/827 Platform
5 On-Chip Drivers
5.4 Quad Timer Driver
5.4.1 Introduction
5.4.2 Initialization
5.4.3 API Definition
5.4.4 API Specifications
5.4.5 Quad Timer Driver Application

Also look at Code Example 5-9 in Section 5.4.4.3, "Quad Timer Driver
Usage for DSP56F827".

I hope this helps.

Regards,

Art Johnson
Senior Systems Analyst
PMC Prime Mover Controls Inc.
3600 Gilmore Way
Burnaby, B.C., Canada
V5G 4R8
Phone: 604 433-4644
FAX: 604 433-5570
Email:
http://www.pmc-controls.com

-----Original Message-----
From: Nitin Madhukar Yewale [mailto:]
Sent: Thursday, September 12, 2002 2:58 AM
To:
Subject: [motoroladsp] PWM generation using Quad timer of 827 Hi,
I am using 56F827 for my project. I want to know about Quad
timer.
I have configured the Quad timer for PWM generation. Please find
the declaration for the same.
I am using Quad Timer1 for testing but not able to see waveform
using CRO probe.

//10 Hz pw = 0.000025
qt_sState quadParam1 = {
/* Mode = */ qtVariableFreqPWM,
/* InputSource = */ qtPrescalerDiv64,
/* InputPolarity = */ qtNormal,
/* SecondaryInputSource = */ 0,

/* CountFrequency = */ qtRepeatedly,
/* CountLength = */ qtUntilCompare,
/* CountDirection = */ qtUp,

/* OutputMode = */ qtToggleUsingAlternateCompare,
/* OutputPolarity = */ qtNormal,
/* OutputDisabled = */ 0,

/* Master = */ 0,
/* OutputOnMaster = */ 0,
/* CoChannelInitialize = */ 0,
/* AssertWhenForced = */ 0,

/* CaptureMode = */ qtDisabled,

/* CompareValue1 = */ 0x000f, // Off Time
/* CompareValue2 = */ 0xf414, // On Time
/* InitialLoadValue = */ 0x0000,

/* CallbackOnCompare = */ { CallbackOnQ1, 0 },
/* CallbackOnOverflow = */ { 0, 0 },
/* CallbackOnInputEdge = */ { 0, 0 }
};

Can anybody help me on this issue?

Thanks and Regards,
Nitin Yewale,
Wipro Technologies, Plot No 2, MIDC,
Pune Infotech Park, Hinjewadi,
Pune - 411 027 India.
Ph. 91-20-2933700 Extn :2074
Email :
URL : http://www.wipro.com _____________________________________
Note: If you do a simple "reply" with your email client, only the author
of this message will receive your answer. You need to do a "reply all"
if you want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:

To Post:

To Leave:

Archives: http://www.yahoogroups.com/group/motoroladsp

More Groups: http://www.dsprelated.com/groups.php3 ">http://docs.yahoo.com/info/terms/



Hi

I use the Timer Structure quite a bit and when OutputDisabled is 1,
True, the output is actually disabled. A 0, False, enables the
output.

Pete

--- In motoroladsp@y..., "Art Johnson" <art@p...> wrote:
> The "OutputDisabled" value needs to be set to 1 (True) to enable the
> output. This is kind of "reverse" logic, the parameter probably
should
> have been called "OutputEnabled" instead, to reflect its true
purpose.
>



Thanks for this information. This means that the SDK documentation is
incorrect, both in Table 5-26 "Quad Timer Data Structure Members", and in the
examples 5-6 "qt_sState Data Structure for DSP56F826" and 5-7 "qt_sState Data
Structure for DSP56F827". In Table 5-26 it has the following:

Parameter:
OutputDisabled
Type:
bool
Description:
Enable (True)/disable (False) output
Quad Timer Register Reference:
Output enable of status and control register

We wrote our own drivers for all of the on-chip I/O and we use them exclusively,
so I was going by the on-line documentation for the operation of the SDK Quad
Timer Driver.

Art Johnson -----Original Message-----
From: Pete Becher [mailto:]
Sent: Saturday, September 14, 2002 12:47 PM
To:
Subject: [motoroladsp] Re: PWM generation using Quad timer of 827 Hi

I use the Timer Structure quite a bit and when OutputDisabled is 1,
True, the output is actually disabled. A 0, False, enables the
output.

Pete

--- In motoroladsp@y..., "Art Johnson" <art@p...> wrote:
> The "OutputDisabled" value needs to be set to 1 (True) to enable the
> output. This is kind of "reverse" logic, the parameter probably
should
> have been called "OutputEnabled" instead, to reflect its true
purpose.
>


_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this
message will receive your answer. You need to do a "reply all" if you want your
answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:

To Post:

To Leave:

Archives: http://www.yahoogroups.com/group/motoroladsp

More Groups: http://www.dsprelated.com/groups.php3 ">http://docs.yahoo.com/info/terms/