00001
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #ifndef _CONFIG_H_
00042 #define _CONFIG_H_
00043
00044
00045
00046
00047 #include "compiler.h"
00048 #include "config_motor.h"
00049
00050
00051
00052
00053
00054 #define BOARD_ID 3
00055 #define SOFT_ID 3
00056 #define REV_ID 1
00057
00058
00059
00060 #define BAUDRATE 38400
00061 #define FOSC 16000
00062
00063
00064
00065 #define DAC_AUTOTRIG_ENABLE_VALUE DAC_AUTOTRIG_DISABLE
00066 #define DAC_TRIGGER_SELECTION DAC_TRIG_WITH_COMP0
00067 #define DAC_LEFT_ADJUST_VALUE DAC_LEFT_ADJUST
00068 #define DAC_OUTPUT_ENABLE_VALUE DAC_OUTPUT_DISABLE
00069 #define DAC_ENABLE_VALUE DAC_ENABLE
00070
00071
00072
00073 #define AMP1_ENABLE_VALUE AMP_ENABLE
00074 #define AMP1_INPUT_SHUNT_VALUE AMP_SHUNT_DISABLE
00075 #define AMP1_GAIN AMP_GAIN_5
00076 #define AMP1_CMP1_CONNECTION_VALUE AMP_CMP_DISCONNECTED
00077 #define AMP1_CLOCK_SOURCE AMP_CLOCK_EQ_PSC0
00078
00079
00080
00081 #define ADC_REF_SOURCE ADC_REF_EQ_INT_VREF
00082 #define ADC_ADLAR_VALUE ADC_RIGHT_ADJUST_RESULT
00083 #define ADC_CHANNEL ADC_INPUT_ADC0
00084 #define ADC_ENABLE_BIT_VALUE ADC_ENABLE
00085 #define ADC_AUTO_TRIG_ENABLE_VALUE ADC_AUTO_TRIG_DISABLE
00086 #define ADC_INTERRUPT_ENABLE_VALUE ADC_INTERRUPT_ENABLE
00087 #define ADC_PRESCALER_SELECT_VALUE ADC_DIV_CLOCK_BY_4
00088 #define ADC_HIGH_SPEED_MODE_VALUE ADC_HIGH_SPEED_MODE
00089 #define ADC_CURRENT_SOURCE_ENABLE_VALUE ADC_CURRENT_SRC_ENABLE
00090 #define ADC_AREF_PIN_ENABLE_VALUE ADC_AREF_PIN_DISABLE
00091 #define ADC_AUTO_TRIG_SOURCE ADC_FREE_RUNNING
00092
00093
00094 #define USE_INTERNAL_COMPARATORS
00095
00096
00097 #define COMP0_ENABLE_BIT_VALUE COMP_ENABLE
00098 #define COMP0_INTERRUPT_ENABLE COMP_ENABLE_INTERRUPT
00099 #define COMP0_INTERRUPT_SELECT COMP_INTERRUPT_ON_OUTPUT_TOGGLE
00100 #define COMP_CLOCK_SOURCE COMP_CLOCK_IO
00101 #ifdef USE_INTERNAL_COMPARATORS
00102 #define COMP0_NEG_INPUT_SELECT COMP_USE_NEGATIVE_PIN
00103 #else
00104 #define COMP0_NEG_INPUT_SELECT COMP_USE_VREF_DIV160
00105 #endif
00106
00107
00108 #define COMP1_ENABLE_BIT_VALUE COMP_ENABLE
00109 #define COMP1_INTERRUPT_ENABLE COMP_ENABLE_INTERRUPT
00110 #define COMP1_INTERRUPT_SELECT COMP_INTERRUPT_ON_OUTPUT_TOGGLE
00111 #define COMP1_CAPTURE_ENABLE COMP_CAPTURE_DISABLE
00112 #ifdef USE_INTERNAL_COMPARATORS
00113 #define COMP1_NEG_INPUT_SELECT COMP_USE_NEGATIVE_PIN
00114 #else
00115 #define COMP1_NEG_INPUT_SELECT COMP_USE_VREF_DIV160
00116 #endif
00117
00118
00119 #define COMP2_ENABLE_BIT_VALUE COMP_ENABLE
00120 #define COMP2_INTERRUPT_ENABLE COMP_ENABLE_INTERRUPT
00121 #define COMP2_INTERRUPT_SELECT COMP_INTERRUPT_ON_OUTPUT_TOGGLE
00122 #ifdef USE_INTERNAL_COMPARATORS
00123 #define COMP2_NEG_INPUT_SELECT COMP_USE_NEGATIVE_PIN
00124 #else
00125 #define COMP2_NEG_INPUT_SELECT COMP_USE_VREF_DIV160
00126 #endif
00127
00128
00129 #define PSC_PRESCALER PSC_NODIV_CLOCK
00130 #define PSC_CLOCK_SOURCE PSC_CLOCK_SOURCE_EQ_PLL
00131
00132 #define PSC_MODE PSC_MODE_CENTERED
00133
00134 #define PSC_OUTPUT_A_POLARITY PSC_OUTPUT_HIGH
00135
00137 #define SLOW_DECAY 0
00138 #define FAST_DECAY 1
00139 #define SLOW_DECAY_SYNCHRONOUS 2
00140 #define FAST_DECAY_SYNCHRONOUS 3 // ATmega64M1 only
00141
00143
00144 #define CURRENT_DECAY FAST_DECAY
00145
00146
00147
00148 #if (CURRENT_DECAY == FAST_DECAY)
00149 #define PSC_OUTPUT_B_POLARITY PSC_OUTPUT_LOW
00150 #else
00151 #define PSC_OUTPUT_B_POLARITY PSC_OUTPUT_HIGH
00152 #endif
00153
00154 #define A_SA_VAL 0
00155 #define A_RA_VAL 1
00156 #define A_SB_VAL 0
00157
00158 #define B_SA_VAL 0
00159 #define B_RA_VAL 1
00160 #define B_SB_VAL 0
00161
00162 #define C_SA_VAL 0
00163 #define C_RA_VAL 1
00164 #define C_SB_VAL 0
00165
00166 #define RB_VAL 255
00167
00168 #define DEADTIME 2
00169
00170 #define Low(data_w) ((U8)data_w)
00171 #define High(data_w) ((U8)(data_w>>8))
00172
00173
00174 #define Init_PC3() (DDRC |= (1<<DDC3))
00175 #define Toggle_PC3() (PINC |= (1<<PINC3))
00176 #define Set_PC3() (PORTC |= (1<<PORTC3))
00177 #define Clear_PC3() (PORTC &= ~(1<<PORTC3))
00178
00179 #define Init_PC7() (DDRC |= (1<<DDC7))
00180 #define Toggle_PC7() (PINC |= (1<<PINC7))
00181 #define Set_PC7() (PORTC |= (1<<PORTC7))
00182 #define Clear_PC7() (PORTC &= ~(1<<PORTC7))
00183
00184 #define Toggle_PE1() (PINE |= (1<<PINE1))
00185 #define Set_PE1() (PORTE |= (1<<PORTE1))
00186 #define Clear_PE1() (PORTE &= ~(1<<PORTE1))
00187
00188 #define Toggle_PE2() (PINE |= (1<<PINE2))
00189 #define Set_PE2() (PORTE |= (1<<PORTE2))
00190 #define Clear_PE2() (PORTE &= ~(1<<PORTE2))
00191
00192 #endif // _CONFIG_H_
00193