F20-23 (1041603), страница 12
Текст из файла (страница 12)
1.450C8051F020/1/2/3Рисунок 5.9. ADC0H: Регистр старшего байта слова данных АЦП (C8051F020/1)R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0xBFБиты 7-0: Старшие биты слова данных АЦП0.Для AD0LJST = 0: Биты 7-4 являются знаковым расширением бита 3. Биты 3-0 представляютсобой старшие 4 бита 12-разрядного слова данных АЦП0.Для AD0LJST = 1: Биты 7-0 являются старшими 8 битами 12-разрядного слова данных АЦП0.Рисунок 5.10. ADC0L: Регистр младшего байта слова данных АЦП (C8051F020/1)R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0xBEБиты 7-0: Младшие биты слова данных АЦПДля AD0LJST = 0: Биты 7-0 являются младшими 8 битами 12-разрядного слова данных АЦП0.Для AD0LJST = 1: Биты 7-4 представляют собой младшие 4 бита 12-разрядного слова данныхАЦП0.
Биты 3-0 всегда читаются как ‘0’.51Ред. 1.4C8051F020/1/2/3Рисунок 5.11. Пример слова данных АЦП0 (C8051F020/1)12-разрядный результат преобразования АЦП0 получается следующим образом:ADC0H[3:0]:ADC0L[7:0], если AD0LJST = 0(в случае преобразования дифференциального сигнала биты ADC0H[7:4] будут знаковымрасширением бита ADC0H.3, в случае одиночного сигнала ADC0H[7:4] = 0000b)ADC0H[7:0]:ADC0L[7:4], если AD0LJST = 1(ADC0L[3:0] = 0000b)Пример: Порядок записи результата преобразования, вход AIN0 работает в одиночном режиме(AMX0CF=0x00, AMX0SL=0x00)AIN0 – AGND(Вольты)VREF * (4095/4096)VREF/2VREF * (2047/4096)0ADC0H:ADC0L(AD0LJST = 0)0x0FFF0x08000x07FF0x0000ADC0H:ADC0L(AD0LJST = 1)0xFFF00x80000x7FF00x0000Пример: Порядок записи результата преобразования, входы AIN0-AIN1 работают вдифференциальном режиме (AMX0CF=0x01, AMX0SL=0x00)AIN0 – AIN1(Вольты)VREF * (2047/2048)VREF/2VREF * (1/2048)0- VREF * (1/2048)- VREF/2- VREFADC0H:ADC0L(AD0LJST = 0)0x07FF0x04000x00010x00000xFFFF(-1d)0xFC00(-1024d)0xF800(-2048d)ADC0H:ADC0L(AD0LJST = 1)0x7FF00x40000x00100x00000xFFF00xC0000x8000Для AD0LJST = 0:nCode = Vin x (Gain/VREF) x 2 ;‘n’ = 12, если входы работают в одиночном режиме;‘n’ = 11, если входы работают в дифференциальном режиме.Ред.
1.452C8051F020/1/2/35.3. Программируемый детектор диапазона АЦППрограммируемый детектор диапазона АЦП0 постоянно проверяет выходные данные АЦП0 насоответствие заданному пользователем диапазону значений и уведомляет систему при обнаружениинесоответствия. Это особенно эффективно в управляемых прерываниями системах, т.к. позволяет уменьшитьобъем кода и улучшить производительность при одновременном уменьшении времени реакции системы. Флагпрерывания от детектора диапазона (бит AD0WINT в регистре ADC0CN) можно использовать также в режимепрограммного опроса. Старшие и младшие байты граничных значений загружаются в регистры нижней иверхней границ диапазона АЦП0 (ADC0GTH, ADC0GTL, ADC0LTH и ADC0LTL). На рис.5.16, рис.5.17,рис.5.18 и рис.5.19 приведены примеры использования детектора диапазона.
Следует отметить, что флагпрерывания от детектора диапазона может устанавливаться как при попадании, так и при непопаданиирезультата преобразования в заданный диапазон, в зависимости от значений, записанных в регистры ADC0GTxи ADC0LTx.Рисунок 5.12. ADC0GTH: Регистр старшего байта нижней границы диапазона (C8051F20/1)R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:11111111Бит 7SFR Адрес:0xC5Биты 7-0: Старший байт нижней границы диапазона АЦП0.Рисунок 5.13. ADC0GTL: Регистр младшего байта нижней границы диапазона (C8051F20/1)R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:11111111Бит 7SFR Адрес:0xC4Биты 7-0: Младший байт нижней границы диапазона АЦП0.Рисунок 5.14.
ADC0LTH: Регистр старшего байта верхней границы диапазона (C8051F20/1)R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0xC7Биты 7-0: Старший байт верхней границы диапазона АЦП0.Рисунок 5.15. ADC0LTL: Регистр младшего байта верхней границы диапазона (C8051F20/1)R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0xC6Биты 7-0: Младший байт верхней границы диапазона АЦП0.53Ред.
1.4C8051F020/1/2/3Рисунок 5.16. Пример использования детектора диапазона 12-разрядного АЦП0(данные выровнены вправо, вход одиночный)Входное напряжение(AD0 - AGND)REF x (4095/4096)Слово данныхАЦПВходное напряжение(AD0 - AGND)REF x (4095/4096)0x0FFFСлово данныхАЦП0x0FFFAD0WINTне изменяетсяAD0WINT=10x0201REF x (512/4096)0x02000x0201ADC0LTH:ADC0LTLREF x (512/4096)0x01FF0x02000x01FFAD0WINT=10x0101REF x (256/4096)0x01000x0101REF x (256/4096)ADC0GTH:ADC0GTL0x00FF0x0100AD0WINTне изменяетсяADC0LTH:ADC0LTL0x00FFAD0WINTне изменяется0ADC0GTH:ADC0GTLAD0WINT=10x000000x0000Задано:Задано:AMX0SL = 0x00, AMX0CF = 0x00, AD0LJST = 0,ADC0LTH:ADC0LTL = 0x0200,ADC0GTH:ADC0GTL = 0x0100.По окончании преобразования будет инициированопрерывание от детектора диапазона (AD0WINT=1), еслиполученное слово данных АЦП0 < 0x0200 и > 0x0100.AMX0SL = 0x00, AMX0CF = 0x00, AD0LJST = 0,ADC0LTH:ADC0LTL = 0x0100,ADC0GTH:ADC0GTL = 0x0200.По окончании преобразования будет инициированопрерывание от детектора диапазона (AD0WINT=1), еслиполученное слово данных АЦП0 < 0x0100 или > 0x0200.Ред.
1.454C8051F020/1/2/3Рисунок 5.17. Пример использования детектора диапазона 12-разрядного АЦП0(данные выровнены вправо, вход дифференциальный)Входное напряжение(AD0 - AD1)REF x (2047/2048)Слово данныхАЦПВходное напряжение(AD0 - AD1)0x07FFREF x (2047/2048)Слово данныхАЦП0x07FFAD0WINTне изменяетсяAD0WINT=10x0101REF x (256/2048)0x01000x0101ADC0LTH:ADC0LTLREF x (256/2048)0x00FF0x01000x00FFAD0WINT=10x0000REF x (-1/2048)0xFFFF0x0000ADC0GTH:ADC0GTLREF x (-1/2048)0xFFFE0xFFFF55AD0WINTне изменяетсяADC0LTH:ADC0LTL0xFFFEAD0WINTне изменяется-REFADC0GTH:ADC0GTLAD0WINT=10xF800-REF0xF800Задано:Задано:AMX0SL = 0x00, AMX0CF = 0x01, AD0LJST = 0,ADC0LTH:ADC0LTL = 0x0100,ADC0GTH:ADC0GTL = 0xFFFF.AMX0SL = 0x00, AMX0CF = 0x01, AD0LJST = 0,ADC0LTH:ADC0LTH = 0xFFFF,ADC0GTH:ADC0GTL = 0x0100.По окончании преобразования будет инициированопрерывание от детектора диапазона (AD0WINT=1), еслиполученное слово данных АЦП0 < 0x0100 и > 0xFFFF.(используется дополнительный код, т.е.
0xFFFF = -1.)По окончании преобразования будет инициированопрерывание от детектора диапазона (AD0WINT=1), еслиполученное слово данных АЦП0 < 0xFFFF или > 0x0100.(используется дополнительный код, т.е. 0xFFFF = -1.)Ред. 1.4C8051F020/1/2/3Рисунок 5.18. Пример использования детектора диапазона 12-разрядного АЦП0(данные выровнены влево, вход одиночный)Входное напряжение(AD0 - AGND)REF x (4095/4096)Слово данныхАЦПВходное напряжение(AD0 - AGND)REF x (4095/4096)0xFFF0Слово данныхАЦП0xFFF0AD0WINTне изменяетсяAD0WINT=10x2010REF x (512/4096)0x20000x2010ADC0LTH:ADC0LTLREF x (512/4096)0x1FF00x20000x1FF0AD0WINT=1REF x (256/4096)0x10100x1000ADC0GTH:ADC0GTLREF x (256/4096)0x0FF00x10100x1000AD0WINTне изменяетсяADC0LTH:ADC0LTL0x0FF0AD0WINTне изменяется0ADC0GTH:ADC0GTLAD0WINT=10x000000x0000Задано:Задано:AMX0SL = 0x00, AMX0CF = 0x00, AD0LJST = 1,ADC0LTH:ADC0LTL = 0x2000,ADC0GTH:ADC0GTL = 0x1000.AMX0SL = 0x00, AMX0CF = 0x00, AD0LJST = 1,ADC0LTH:ADC0LTL = 0x1000,ADC0GTH:ADC0GTL = 0x2000.По окончании преобразования будет инициированопрерывание от детектора диапазона (AD0WINT=1), еслиполученное слово данных АЦП0 < 0x2000 и > 0x1000.По окончании преобразования будет инициированопрерывание от детектора диапазона (AD0WINT=1), еслиполученное слово данных АЦП0 < 0x1000 или > 0x2000.Ред.
1.456C8051F020/1/2/3Рисунок 5.19. Пример использования детектора диапазона 12-разрядного АЦП0(данные выровнены влево, вход дифференциальный)Входное напряжение(AD0 - AD1)REF x (2047/2048)Слово данныхАЦП(AD0 - AD1)Слово данныхАЦПREF x (2047/2048)0x7FF0Входное напряжение0x7FF0AD0WINTне изменяетсяAD0WINT=10x1010REF x (256/2048)0x10000x1010ADC0LTH:ADC0LTLREF x (256/2048)0x0FF00x10000x0FF0AD0WINT=1REF x (-1/2048)0x00000xFFF0ADC0GTH:ADC0GTLREF x (-1/2048)0xFFE00x00000xFFF0ADC0LTH:ADC0LTLAD0WINT=10x8000-REFЗадано:AMX0SL = 0x00, AMX0CF = 0x01, AD0LJST = 1,ADC0LTH:ADC0LTL = 0x1000,ADC0GTH:ADC0GTL = 0xFFF0.По окончании преобразования будет инициированопрерывание от детектора диапазона (AD0WINT=1), еслиполученное слово данных АЦП0 < 0x1000 и > 0xFFF0.(используется дополнительный код, т.е.
0xFFFF = -1.)57AD0WINTне изменяется0xFFE0AD0WINTне изменяется-REFADC0GTH:ADC0GTL0x8000Задано:AMX0SL = 0x00, AMX0CF = 0x01, AD0LJST = 1,ADC0LTH:ADC0LTH = 0xFFF0,ADC0GTH:ADC0GTL = 0x1000.По окончании преобразования будет инициированопрерывание от детектора диапазона (AD0WINT=1), еслиполученное слово данных АЦП0 < 0xFFF0 или > 0x1000.(используется дополнительный код, т.е. 0xFFFF = -1.)Ред.
1.4C8051F020/1/2/3Таблица 5.1. Электрические характеристики 12-разрядного АЦП0 (C8051F20/1)VDD = 3.0В, AV+ = 3.0В, Vион = 2.4В (REFBE=0), Т = -40ºС … +85ºС, если не указано иное.ПАРАМЕТРУСЛОВИЯМин.Тип.Макс. Ед. изм.Точность преобразованияРазрядность12битИнтегральная нелинейностьМЗР±1Дифференциальная нелинейность Монотонность преобразованияМЗР±1Погрешность смещения нуляМЗР-3 ± 1Погрешность полной шкалыДифференциальный режимМЗР-7 ± 3Температурный коэффициент±0,25%/°Cсмещения нулях 10-4Динамические характеристики (10кГц синусоидальный входной сигнал, от 0 до –1dB полной шкалы,100 тыс. преобразований/сек.)Отношение сигнал/шум плюс66dBискажениеДо 5-й гармоникиОбщее нелинейное искажение-75dBДинамический диапазон80dBСкорость преобразованияВремя преобразования в16тактыпериодах сигнала дискретизацииЧастота дискретизации2,5МГцВремя заряда УВХПроизводительностьАналоговые входыДиапазон входных напряженийДиапазон синфазных напряженийВходная емкостьДатчик температурыНелинейностьАбсолютная погрешностьКоэффициент преобразованияСмещение нуляПараметры питанияТок потребления по выв.