📄 f280xqep.h
字号:
/* =================================================================================
File name: F280XQEP.H
Originator: Digital Control Systems Group
Texas Instruments
Description:
Header file containing data type and object definitions and
initializers. Also contains prototypes for the functions in F280XQEP.C.
====================================================================================
History:
-------------------------------------------------------------------------------------
04-15-2005 Version 3.20: Using DSP280x v. 1.10 or higher
----------------------------------------------------------------------------------*/
#ifndef __F280X_QEP_H__
#define __F280X_QEP_H__
#include "f280xbmsk.h"
/*-----------------------------------------------------------------------------
Initialization states for EQEP Decode Control Register
------------------------------------------------------------------------------*/
#define QDECCTL_INIT_STATE ( XCR_X2 + QSRC_QUAD_MODE )
/*-----------------------------------------------------------------------------
Initialization states for EQEP Control Register
------------------------------------------------------------------------------*/
#define QEPCTL_INIT_STATE ( QEP_EMULATION_FREE + \
PCRM_INDEX + \
IEI_RISING + \
IEL_RISING + \
QPEN_ENABLE + \
QCLM_TIME_OUT + \
UTE_ENABLE )
/*-----------------------------------------------------------------------------
Initialization states for EQEP Position-Compare Control Register
------------------------------------------------------------------------------*/
#define QPOSCTL_INIT_STATE PCE_DISABLE
/*-----------------------------------------------------------------------------
Initialization states for EQEP Capture Control Register
------------------------------------------------------------------------------*/
#define QCAPCTL_INIT_STATE ( UPPS_X32 + \
CCPS_X128 + \
CEN_ENABLE )
/*-----------------------------------------------------------------------------
Define the structure of the QEP (Quadrature Encoder) Driver Object
-----------------------------------------------------------------------------*/
typedef struct {int32 ElecTheta; // Output: Motor Electrical angle (Q24)
int32 MechTheta; // Output: Motor Mechanical Angle (Q24)
Uint16 DirectionQep; // Output: Motor rotation direction (Q0)
Uint16 QepPeriod; // Output: Capture period of QEP signal in number of EQEP capture timer (QCTMR) period (Q0)
Uint32 QepCountIndex; // Variable: Encoder counter index (Q0)
int32 RawTheta; // Variable: Raw angle from EQEP Postiion counter (Q0)
Uint32 MechScaler; // Parameter: 0.9999/total count (Q30)
Uint16 LineEncoder; // Parameter: Number of line encoder (Q0)
Uint16 PolePairs; // Parameter: Number of pole pairs (Q0)
int32 CalibratedAngle; // Parameter: Raw angular offset between encoder index and phase a (Q0)
Uint16 IndexSyncFlag; // Output: Index sync status (Q0)
void (*init)(); // Pointer to the init function
void (*calc)(); // Pointer to the calc function
} QEP;
/*-----------------------------------------------------------------------------
Define a QEP_handle
-----------------------------------------------------------------------------*/
typedef QEP *QEP_handle;
/*-----------------------------------------------------------------------------
Default initializer for the QEP Object.
-----------------------------------------------------------------------------*/
// Applied-motion PMSM motor: 24-v, 8-pole, 2000 line encoder, CalibratedAngle = -1250
// MechScaler = 1/8000 = 0x00020C4A (Q30)
// PacSci 1-hp PMSM motor: 320-v, 4-pole, 1000 line encoder, CalibratedAngle = -2365
// MechScaler = 1/4000 = 0x00041893 (Q30)
#define QEP_DEFAULTS { 0x0,0x0,0x0,0x0,0x0,0x0,0x00020C4A,0x0,4,-1250,0x0, \
(void (*)(Uint32))F280X_QEP_Init, \
(void (*)(Uint32))F280X_QEP_Calc }
/*-----------------------------------------------------------------------------
Prototypes for the functions in F280XQEP.C
-----------------------------------------------------------------------------*/
void F280X_QEP_Init(QEP_handle);
void F280X_QEP_Calc(QEP_handle);
#endif // __F280X_QEP_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -