======Блок АЦП в "Электросиле"====== =====Выбор опорного напряжения===== {{doc:mk:esila:adc_vref.png}} **Регистр BNGP_CTRL есть только в блоке ADC0!** Опорное напряжение АЦП от внутреннего источника выводится на выводы VREF_ADCx. Для использования встроенного ИОН нужно включить буфера в ADC0->BNGP_CTRL, в блоке АЦП и повесить на вывод REF_ADC конденсаторы 4,7 и 0,1 мкФ. ADC0->BNGP_CTRL = ANABG_IREFEN | ANABG_BGEN | ANABG_BFEN( 0x3F ) | ANABG_SWMODE( 0x3F ); ADC0->ADC1CTRL = 1 << 2; Если используется внешний ИОН нужно включить только ADC0->BNGP_CTRL = ANABG_IREFEN | ANABG_BGEN; =====Частота сэмплирования===== АЦП более менее работает на частотах не выше 500 ksps. При 2 MSPS разрядность АЦП становится 6 бит. Предварительные результаты тестирования, Верхние значения – Single ended, нижние – дифференциальный режим: ^ ^ 125 ksps ^ 250 ksps^ 500 ksps ^ 1Msps ^ 2 Msps ^ | **SNDR, bBc** | 63.22 | 63.85 | 63.49 | 60.72 |41.64 | | ::: | 66.41 |67.65 |65.40 |65.39 | 44.28 | | **ENOB** |10.21 |10.31 |10.25 |9.79 |6.63 | | ::: |10.74 |10.95 |10.57 |10.57 |7.06 | | **THD, dBc** |83.53 |79.29 |84.97 |76.38 |53.02 | | ::: |87.86 |83.51 |87.90 |85.47 |56.78| | **TSFDR, dBc** |86.44 |79.74 |87.50 |78.57 |53.76 | | ::: |92.57 |84.70 |92.83 |85.88 |58.22 | На фазу выборки приходится 12 тактов, на фазу преобразования 52 такта, и ещё 6 тактов съедает автомат управления АЦП. Общее время оцифровки выдается в поле CONV_TIME регистра ADCx_RESULT.