PMSM_tables.h

Go to the documentation of this file.
00001 /* This file has been prepared for Doxygen automatic documentation generation.*/
00027 #ifndef _PMSM_TABLES_H_
00028 #define _PMSM_TABLES_H_
00029 
00030 #include "PMSM.h"
00031 #include "stdint.h"
00032 
00033 
00041 #if (SINE_TABLE_SIZE == SINE_TABLE_SIZE_LARGE)
00042 __flash const uint8_t sineTable[SINE_TABLE_LENGTH * 3] = {
00043 0,       0,      221,
00044 8,       0,      225,
00045 17,      0,      229,
00046 25,      0,      232,
00047 33,      0,      236,
00048 42,      0,      239,
00049 50,      0,      241,
00050 58,      0,      244,
00051 66,      0,      246,
00052 74,      0,      248,
00053 82,      0,      250,
00054 90,      0,      252,
00055 98,      0,      253,
00056 105,     0,      254,
00057 113,     0,      254,
00058 120,     0,      255,
00059 128,     0,      255,
00060 135,     0,      255,
00061 142,     0,      254,
00062 149,     0,      254,
00063 155,     0,      253,
00064 162,     0,      252,
00065 168,     0,      250,
00066 174,     0,      248,
00067 180,     0,      246,
00068 186,     0,      244,
00069 192,     0,      241,
00070 197,     0,      239,
00071 202,     0,      236,
00072 207,     0,      232,
00073 212,     0,      229,
00074 217,     0,      225,
00075 221,     0,      221,
00076 225,     0,      217,
00077 229,     0,      212,
00078 232,     0,      207,
00079 236,     0,      202,
00080 239,     0,      197,
00081 241,     0,      192,
00082 244,     0,      186,
00083 246,     0,      180,
00084 248,     0,      174,
00085 250,     0,      168,
00086 252,     0,      162,
00087 253,     0,      155,
00088 254,     0,      149,
00089 254,     0,      142,
00090 255,     0,      135,
00091 255,     0,      127,
00092 255,     0,      120,
00093 254,     0,      113,
00094 254,     0,      105,
00095 253,     0,      98,
00096 252,     0,      90,
00097 250,     0,      82,
00098 248,     0,      74,
00099 246,     0,      66,
00100 244,     0,      58,
00101 241,     0,      50,
00102 239,     0,      42,
00103 236,     0,      33,
00104 232,     0,      25,
00105 229,     0,      17,
00106 225,     0,      8,
00107 221,     0,      0,
00108 225,     8,      0,
00109 229,     17,     0,
00110 232,     25,     0,
00111 236,     33,     0,
00112 239,     42,     0,
00113 241,     50,     0,
00114 244,     58,     0,
00115 246,     66,     0,
00116 248,     74,     0,
00117 250,     82,     0,
00118 252,     90,     0,
00119 253,     98,     0,
00120 254,     105,    0,
00121 254,     113,    0,
00122 255,     120,    0,
00123 255,     127,    0,
00124 255,     135,    0,
00125 254,     142,    0,
00126 254,     149,    0,
00127 253,     155,    0,
00128 252,     162,    0,
00129 250,     168,    0,
00130 248,     174,    0,
00131 246,     180,    0,
00132 244,     186,    0,
00133 241,     192,    0,
00134 239,     197,    0,
00135 236,     202,    0,
00136 232,     207,    0,
00137 229,     212,    0,
00138 225,     217,    0,
00139 221,     221,    0,
00140 217,     225,    0,
00141 212,     229,    0,
00142 207,     232,    0,
00143 202,     236,    0,
00144 197,     239,    0,
00145 192,     241,    0,
00146 186,     244,    0,
00147 180,     246,    0,
00148 174,     248,    0,
00149 168,     250,    0,
00150 162,     252,    0,
00151 155,     253,    0,
00152 149,     254,    0,
00153 142,     254,    0,
00154 135,     255,    0,
00155 128,     255,    0,
00156 120,     255,    0,
00157 113,     254,    0,
00158 105,     254,    0,
00159 98,      253,    0,
00160 90,      252,    0,
00161 82,      250,    0,
00162 74,      248,    0,
00163 66,      246,    0,
00164 58,      244,    0,
00165 50,      241,    0,
00166 42,      239,    0,
00167 33,      236,    0,
00168 25,      232,    0,
00169 17,      229,    0,
00170 8,       225,    0,
00171 0,       221,    0,
00172 0,       225,    8,
00173 0,       229,    17,
00174 0,       232,    25,
00175 0,       236,    33,
00176 0,       239,    42,
00177 0,       241,    50,
00178 0,       244,    58,
00179 0,       246,    66,
00180 0,       248,    74,
00181 0,       250,    82,
00182 0,       252,    90,
00183 0,       253,    98,
00184 0,       254,    105,
00185 0,       254,    113,
00186 0,       255,    120,
00187 0,       255,    128,
00188 0,       255,    135,
00189 0,       254,    142,
00190 0,       254,    149,
00191 0,       253,    155,
00192 0,       252,    162,
00193 0,       250,    168,
00194 0,       248,    174,
00195 0,       246,    180,
00196 0,       244,    186,
00197 0,       241,    192,
00198 0,       239,    197,
00199 0,       236,    202,
00200 0,       232,    207,
00201 0,       229,    212,
00202 0,       225,    217,
00203 0,       221,    221,
00204 0,       217,    225,
00205 0,       212,    229,
00206 0,       207,    232,
00207 0,       202,    236,
00208 0,       197,    239,
00209 0,       192,    241,
00210 0,       186,    244,
00211 0,       180,    246,
00212 0,       174,    248,
00213 0,       168,    250,
00214 0,       162,    252,
00215 0,       155,    253,
00216 0,       149,    254,
00217 0,       142,    254,
00218 0,       135,    255,
00219 0,       128,    255,
00220 0,       120,    255,
00221 0,       113,    254,
00222 0,       105,    254,
00223 0,       98,     253,
00224 0,       90,     252,
00225 0,       82,     250,
00226 0,       74,     248,
00227 0,       66,     246,
00228 0,       58,     244,
00229 0,       50,     241,
00230 0,       42,     239,
00231 0,       33,     236,
00232 0,       25,     232,
00233 0,       17,     229,
00234 0,       8,      225
00235 };
00236 
00237 #elif (SINE_TABLE_SIZE == SINE_TABLE_SIZE_SMALL)
00238 
00239 __flash const uint8_t sineTable[SINE_TABLE_LENGTH / 3] = {
00240 0,      8,      17,     25,     33,     42,     50,     58,
00241 66,     74,     82,     90,     98,     105,    113,    120,
00242 128,    135,    142,    149,    155,    162,    168,    174,
00243 180,    186,    192,    197,    202,    207,    212,    217,
00244 221,    225,    229,    232,    236,    239,    241,    244,
00245 246,    248,    250,    252,    253,    254,    254,    255,
00246 255,    255,    254,    254,    253,    252,    250,    248,
00247 246,    244,    241,    239,    236,    232,    229,    225
00248 };
00249 #endif
00250 
00251 
00257 uint8_t __flash const blockCommutationTableForward[8] =
00258 {
00259   0x00,
00260   ((1 << WH_OCOE) | (1 << UL_OCOE)),
00261   ((1 << UH_OCOE) | (1 << VL_OCOE)),
00262   ((1 << WH_OCOE) | (1 << VL_OCOE)),
00263   ((1 << VH_OCOE) | (1 << WL_OCOE)),
00264   ((1 << VH_OCOE) | (1 << UL_OCOE)),
00265   ((1 << UH_OCOE) | (1 << WL_OCOE)),
00266   0x00
00267 };
00268 
00269 
00275 uint8_t __flash const blockCommutationTableReverse[8] =
00276 {
00277   0x00,
00278   ((1 << UH_OCOE) | (1 << WL_OCOE)),
00279   ((1 << VH_OCOE) | (1 << UL_OCOE)),
00280   ((1 << VH_OCOE) | (1 << WL_OCOE)),
00281   ((1 << WH_OCOE) | (1 << VL_OCOE)),
00282   ((1 << UH_OCOE) | (1 << VL_OCOE)),
00283   ((1 << WH_OCOE) | (1 << UL_OCOE)),
00284   0x00
00285 };
00286 
00287 
00295 __flash const uint8_t expectedHallSequenceForward[8] =
00296 {
00297   0xff,    3,    6,    2,    5,    1,    4,   0xff
00298 };
00299 
00300 
00308 __flash const uint8_t expectedHallSequenceReverse[8] =
00309 {
00310   0xff,    5,    3,    1,    6,    4,    2,   0xff
00311 };
00312 
00313 
00322 __flash const uint16_t CSOffsetsForward[8] =
00323 {
00324   0,
00325   5 * (SINE_TABLE_LENGTH / 6),
00326   1 * (SINE_TABLE_LENGTH / 6),
00327   0 * (SINE_TABLE_LENGTH / 6),
00328   3 * (SINE_TABLE_LENGTH / 6),
00329   4 * (SINE_TABLE_LENGTH / 6),
00330   2 * (SINE_TABLE_LENGTH / 6),
00331   0
00332 };
00333 
00334 
00343 __flash const uint16_t CSOffsetsReverse[8] =
00344 {
00345   0,
00346   1 * (SINE_TABLE_LENGTH / 6),
00347   5 * (SINE_TABLE_LENGTH / 6),
00348   0 * (SINE_TABLE_LENGTH / 6),
00349   3 * (SINE_TABLE_LENGTH / 6),
00350   2 * (SINE_TABLE_LENGTH / 6),
00351   4 * (SINE_TABLE_LENGTH / 6),
00352   0
00353 };
00354 
00355 
00356 #endif

Generated on Wed Oct 10 15:31:43 2007 for AVR449 by  doxygen 1.5.2