| 전자부품 데이터시트 검색엔진 |
|
ST10F271Z1 데이터시트(PDF) 124 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
ST10F271Z1 데이터시트(HTML) 124 Page - STMicroelectronics |
|
124 / 185 page ![]() Known limitations ST10F271Z1 124/185 24.1 Injected conversion stalling the ADC Description Whenever a new injection request occurs before the ADDAT2 register has been read by the CPU (that is, when the result of the previous injection request has not been read), the ADC is stalled and no further conversions are performed. Workaround The following actions make it possible to unlock the ADC module: 1. Read the ADDAT2 register twice at the end of every injected conversion. This action also prevents the ADC from being stalled). 2. Disable and then enable again the wait for read mode Application conditions This problem can occur if all the following conditions are fulfilled: ● Injection requests are hardware triggered (via CapCom CC31) ● The result of injected conversions is read via a PEC transfer. This prevents from reading twice the ADDAT2 register by software) ● A high level task is disabling the PEC transfer for a long time (2 analog conversions + time between 2 injection requests) Therefore, to prevent the locking situation from occurring, it is important to make sure that, at application level, no task can disable interrupts for a period of time during which 2 injection requests can occur before a read operation is performed. Detailed analysis Channel injection mode allows the conversion of a specific analog channel without changing the current operating mode. It can also be used while the ADC is running in a continuous or auto scan mode. The following main points need to be highlighted: ● Wait for ADDAT read mode is needed in order for the ADC Channel Injection mode to operate properly ● At the end of the injected conversion the data is available in the alternate result register ADDAT2 and a Channel Injection Complete Interrupt request is generated (ADEIR Flag) ● If the temporary data register used for ADDAT2 read mode is full, the next conversion (standard or injected) is suspended. The temporary register then stores the content of ADDAT (standard conversion) or ADDAT2 (from an injected conversion). If the temporary data register used for ADDAT2 read mode is full and a new injection request occurs then the new converted value is stored into a temporary data register until the previous one is read from ADDAT2. To ensure a correct operation as soon as ADDAT2 register is read, the last converted value should be moved from temporary register to ADDAT2 and the ADEINT interrupt should be requested. The last converted value can then be read by the CPU. See Figure 37. In real circumstances, as soon as ADDAT2 register is read then the last converted value is correctly moved from temporary register to ADDAT2 but the ADEINT interrupt request is not received by the Interrupt Controller (see Figure 38). As a consequence, the CPU/PEC can |
|
링크 URL |
| ALLDATASHEET 가 귀하에 도움이 되셨나요? [ DONATE ] |
Alldatasheet는? | 광고문의 | 운영자에게 연락하기 | 개인정보취급방침 | 링크 투 데이터시트 | 링크교환 | 제조사별 검색 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |