Kinetis SDK v.1.2 Demo Applications User's Guide  Rev. 0
Freescale Semiconductor, Inc.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
MC33927.h
Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2009 Freescale Semiconductor;
4 * All Rights Reserved
5 *
6 *******************************************************************************
7 *
8 * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR
9 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
10 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
11 * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
12 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
13 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
14 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
15 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
16 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
17 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
18 * THE POSSIBILITY OF SUCH DAMAGE.
19 *
20 ***************************************************************************/
37 #ifndef _MC33927_H_
38 #define _MC33927_H_
39 
40 #ifndef byte
41 #define byte unsigned char
42 #endif
43 /******************************************************************************
44 * Includes
45 ******************************************************************************/
46 
47 /******************************************************************************
48 * Constants
49 ******************************************************************************/
50 /*******************************************************************************
51 * MC33927 predriver register constants definition
52 *******************************************************************************/
53 
54 #define STATUS_REGISTER_0 0x00
55 #define STATUS_REGISTER_1 0x01
56 #define STATUS_REGISTER_2 0x02
57 #define STATUS_REGISTER_3 0x03
58 
59 #define MODE_COMMAND 0x40
60 #define MODE_COMMAND_MASK 0x0B
61 
62 #define MC33927_MASK0 0x20
63 #define MC33927_MASK1 0x30
64 
65 #define CLINT0 0x60
66 #define CLINT1 0x70
67 
68 #define ZERO_DEADTIME 0x80
69 #define DEADTIME_CALIBRATION 0x81
70 /******************************************************************************
71 * Macros
72 ******************************************************************************/
73 
74 /******************************************************************************
75 * Types
76 ******************************************************************************/
77 /* MC33927 latches structure */
78 typedef union
79 {
80  struct
81  {
82  byte TLim: 1;
83  byte Desat : 1;
84  byte LowVLS: 1;
85  byte Overcurrent : 1;
86  byte PhaseError : 1;
87  byte FramingError : 1;
88  byte WriteError : 1;
89  byte ResetEvent : 1;
90  } B;
93 
94 /* MC33927 modes structure */
95 typedef union
96 {
97  struct
98  {
99  byte Lock: 1;
100  byte FullOnMode : 1;
101  byte Bit2 : 1;
102  byte DeadtimeCalibration : 1;
103  byte CalibrationOverflow : 1;
104  byte ZeroDeadtime : 1;
105  byte DesatMode : 1;
106  byte Bit7 : 1;
107  } B;
110 
111 /* MC33927 commands structure */
112 typedef union
113 {
114  struct
115  {
116  byte Lock : 1;
117  byte FullOnMode : 1;
118  byte Bit2: 1;
119  byte DesatFaultMode : 1;
120  byte Bit4 : 1;
121  byte Bit5 : 1;
122  byte Bit6 : 1;
123  byte Bit7 : 1;
124  } B;
127 
128 
129 /******************************************************************************
130 * Global variables
131 ******************************************************************************/
132 
133 /******************************************************************************
134 * Global functions
135 ******************************************************************************/
136 /* Get Status Register 0 */
137 extern void MC33927_GetSR0(MC33927_LATCH_T * pudtSR0);
138 
139 /* Get Status Register 1 */
140 extern void MC33927_GetSR1(MC33927_MODE_T * pudtSR1);
141 
142 /* Get Status Register 2 */
143 extern void MC33927_GetSR2(MC33927_LATCH_T * pudtSR2);
144 
145 /* Get Status Register 3 */
146 extern byte MC33927_GetSR3(void);
147 
148 /* Set modes */
149 extern void MC33927_ModeCommand(MC33927_MODE_COMMAND_T * pudtModeCommand);
150 
151 /* Mask interrupts */
152 extern void MC33927_MaskInterrupts(MC33927_LATCH_T * pudtInterruptMask);
153 
154 /* Clear flags */
155 extern void MC33927_ClearFlags(MC33927_LATCH_T * pudtClearFlags);
156 
157 /* Set zero deadtime */
158 extern void MC33927_ZeroDeadtime(void);
159 
160 /* Calibrate deadtime */
161 extern void MC33927_DeadtimeCalibration(void);
162 
163 /******************************************************************************
164 * Inline functions
165 ******************************************************************************/
166 
167 #endif /* _MC33927_H_ */
Definition: MC33927.h:95
void MC33927_ZeroDeadtime(void)
Set zero deadtime on MC33927.
Definition: MC33927.c:215
void MC33927_DeadtimeCalibration(void)
Enter the deadtime calibration mode on MC33927.
Definition: MC33927.c:235
void MC33927_GetSR0(MC33927_LATCH_T *pudtSR0)
Reads Status Register 0 from MC33927.
Definition: MC33927.c:88
Definition: MC33927.h:112
Definition: MC33927.h:78
#define byte
Definition: MC33927.h:41
void MC33927_GetSR2(MC33927_LATCH_T *pudtSR2)
Reads Status Register 2 from MC33927.
Definition: MC33927.c:126
void MC33927_ModeCommand(MC33927_MODE_COMMAND_T *pudtModeCommand)
Set modes on MC33927.
Definition: MC33927.c:164
void MC33927_ClearFlags(MC33927_LATCH_T *pudtClearFlags)
Clear flags on MC33927.
Definition: MC33927.c:201
byte W8
Definition: MC33927.h:125
byte MC33927_GetSR3(void)
Reads Status Register 3 from MC33927.
Definition: MC33927.c:144
byte W8
Definition: MC33927.h:108
void MC33927_MaskInterrupts(MC33927_LATCH_T *pudtInterruptMask)
Set modes on MC33927.
Definition: MC33927.c:182
void MC33927_GetSR1(MC33927_MODE_T *pudtSR1)
Reads Status Register 1 from MC33927.
Definition: MC33927.c:107
byte W8
Definition: MC33927.h:91