| 数据搜索系统,热门电子元器件搜索 |
|
ST10F272Z2 数据表(PDF) 129 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
ST10F272Z2 数据表(HTML) 129 Page - STMicroelectronics |
|
129 / 189 page ![]() ST10F272Z2 Known limitations 129/189 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 |
|
链接网址 |
| 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 |