📄 ecp_power.lst
字号:
; Disable output
117 0000A2 F2C010001A00 bic.b #NOR_FLASH_RSTz, &P3DIR
; Disable output
118 0000A8 F2C020001A00 bic.b #IMAGER_RSTz, &P3DIR
; Disable output
119 0000AE F2C040001A00 bic.b #CPLD_RSTz, &P3DIR
; Disable output
120 0000B4 F2C080001A00 bic.b #MUX_IMAG_5146z, &P3DIR
; Disable output
121 0000BA
122 0000BA // Port 4 3.3V Dependant
Outputs - None
123 0000BA
124 0000BA // Port 5 3.3V Dependant
Outputs
125 0000BA F2C020003200 bic.b #MSP430_INT, &P5DIR
; Disable output
126 0000C0 F2C040003200 bic.b #CPLD_OPT, &P5DIR
; Disable output
127 0000C6
128 0000C6 // Port 6 3.3V Dependant
Outputs - None
129 0000C6 3041 ret
130 0000C8
131 0000C8 ; **********************************************
******************************
132 0000C8 ; Function: PowerUpEVM
133 0000C8 ;
134 0000C8 ; Purpose: Powers up the EVM. Order is high to
low:
135 0000C8 ; 3V3 is first
136 0000C8 ; 1V8 is second
137 0000C8 ; 1V3 is thrid
138 0000C8 ;
139 0000C8 ; Inputs: None
140 0000C8 ;
141 0000C8 ; Returns: None
142 0000C8 ; **********************************************
******************************
143 000000 PUBLIC PowerUpEVM
144 0000C8 D2D32900 PowerUpEVM bis.b #ENABLE_3V3,&P2OUT
; Enable 3.3V
145 0000CC B012.... call #SWDelay100ms
; Wait 100ms
146 0000D0 B012.... call #DriveIOPorts
; 3.3V up,
147 0000D4
; drive all ports
148 0000D4 F2D080002100 bis.b #ENABLE_1V8,&P1OUT
; Enable 1.8V
149 0000DA B012.... call #SWDelay100ms
; Wait 100ms
150 0000DE F2D040002100 bis.b #ENABLE_1V3,&P1OUT
; Enable DSP V Core
151 0000E4 B012.... call #SWDelay100ms
; Wait 100ms
152 0000E8 B012.... call #CheckPower
; Update power good
153 0000EC 3041 ret
154 0000EE ; **********************************************
******************************
155 0000EE ; Function: PowerDownEVM
156 0000EE ;
157 0000EE ; Purpose: Powers down the EVM. First the
drive to 3.3V dependant ports
158 0000EE ; is disabled, then all power supplies
are cut at the same time
159 0000EE ;
160 0000EE ; Inputs: None
161 0000EE ;
162 0000EE ; Returns: None
163 0000EE ; **********************************************
******************************
164 000000 PUBLIC PowerDownEVM
165 0000EE B012.... PowerDownEVM call #DoNotDriveIOPorts
; Disable 3.3V
166 0000F2
; dependant ports
167 0000F2 F2C040002100 bic.b #ENABLE_1V3, &P1OUT
; Disable 1.3V
168 0000F8 F2C080002100 bic.b #ENABLE_1V8, &P1OUT
; Disable 1.8V
169 0000FE D2C32900 bic.b #ENABLE_3V3, &P2OUT
; Disable 3.3V
170 000102 B012.... call #CheckPower
; Update power good
171 000106 3041 ret
172 000108
173 000108 ; **********************************************
******************************
174 000108 ; Function: ForcePowerOff
175 000108 ;
176 000108 ; Purpose: Forces all EVM power supply enables
to their off state
177 000108 ;
178 000108 ; Inputs: None
179 000108 ;
180 000108 ; Returns: None
181 000108 ; **********************************************
******************************
182 000000 PUBLIC ForceInitialPowerOff
183 000108 ForceInitialPowerOff
184 000108 C2432600 mov.b #0x00,&P1SEL
; All Digital IO
185 00010C C2432E00 mov.b #0x00,&P2SEL
; All Digital IO
186 000110 F2C040002100 bic.b #ENABLE_1V3, &P1OUT
; Disable 1.3V supply
187 000116 F2C080002100 bic.b #ENABLE_1V8, &P1OUT
; Disable 1.8V supply
188 00011C D2C32900 bic.b #ENABLE_3V3, &P2OUT
; Disable 3.3V supply
189 000120 F2D0C0002200 bis.b #ENABLE_1V3+ENABLE_1V8,&
P1DIR ; Power supply controls
190 000126 D2D32A00 bis.b #ENABLE_3V3, &P2DIR
; are outputs
191 00012A B012.... call #CheckPower
; Update power good
192 00012E 3041 ret
193 000130 ; **********************************************
******************************
194 000130 ; Function: ReadPS
195 000130 ;
196 000130 ; Purpose: Initializes the MSP430 built-in 12
Bit ADC for power supply
197 000130 ; voltage sampling and takes supply
readings for the entire board.
198 000130 ;
199 000130 ; Inputs: None
200 000130 ;
201 000130 ; Returns: Memory locations below are updated
with the current voltage
202 000130 ; readings:
203 000130 ; Volts3V3
204 000130 ; Volts1V8
205 000130 ; Volts1V3
206 000130 ; VoltsECP
207 000130 ; **********************************************
******************************
208 000130 ; ADC12 board connections:
209 000130 ; A0 connected to VCC_3V3 via 0.5 Voltage
Divider (3.3 * 0.5 = 1.65V nom)
210 000130 ; A1 connected to VCC_1V8 via 0.91 Voltage
Divider (1.8 * 0.91 = 1.638V nom)
211 000130 ; A2 connected to VCC_1V3 via 0.91 Voltage
Divider (1.3 * 0.91 = 1.183V nom)
212 000130 ; A3 connected internally to MSP430_3V3 via 0.5
Voltage Divider, 1.65V nom)
213 000130 ; A4 not used as analog
214 000130 ; A5 not used as analog
215 000130 ; A6 not used as analog
216 000130 ; A7 not used as analog
217 000130 ; VeREF+ not connected
218 000130 ; VREF+ decoupled to ground
219 000130 ; VREF-/VeREF- not connected
220 000130
221 000130 ; N = 4095 * (Vin - 0)/(VREF - 0) = 4095 *
Vin/VREF
222 000130 ; Vin = N/4095 * VREF, VREF = 2.5V --> Vin =
N/4095 * 2.5
223 000130 ; Vin = N/1638, N = Vin*1638
224 000130 ; A0 is expected to be between 1.485V and 1.815V
-> 0x980 to 0xB9C
225 000130 ; A1 is expected to be between 1.474V and 1.802V
-> 0x96E to 0xB87
226 000130 ; A2 is expected to be between 1.065V and 1.301V
-> 0x6D0 to 0x853
227 000130 ; A3 is expected to be between 1.485V and 1.815V
-> 0x980 to 0xB9C
228 000130
229 000000 PUBLIC ReadPS
230 000130 C2433600 ReadPS clr.b &P6DIR
; Make all inputs
231 000134 D2D33700 bis.b #SENSE_VCC_3V3, &P6SEL
; ADC
232 000138 E2D33700 bis.b #SENSE_VCC_1V8, &P6SEL
; ADC
233 00013C E2D23700 bis.b #SENSE_VCC_1V3, &P6SEL
; ADC
234 000140 B240F0FFA001 mov #0xFFF0,&ADC12CTL0
; 1024 clock cycle
235 000146
; sample and hold
236 000146
; time.
237 000146
; Single conversion
238 000146
; 2.5V ref voltage
239 000146
; Reference on
240 000146
; ADC12 on
241 000146
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -