Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемма с АЦП на T89C51CC01
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
chatsky
Есть следующая проблемма. Подаю сигнал на вход АЦП, а он оцифровывает очень странно выдает только следующие значения:
00000000
00000001
00000011
00000111
00001111
00011111
00111111
01111111
10000000
11000000
11100000
11110000
11111000
11111100
11111110
11111111
Промежуточные куда-то девает. Таким образом он конечно кое-что оцифровывает, но больно уж с плохим качеством.
subver
А скорость преобразования какая? Возможно неправильно выставлены тактовые частоты.
chatsky
Я использую Timer2. Каждые 0,0005 сек (2 кГц) АЦП у меня оцифровывает и я посылаю данные через CAN. Осциллограмма получается верной по частоте, но сам сигнал получается с большими ступеньками, так как например такого значения как 10010010 он не выдает, а только те которые я написал выше.
chatsky
Да, кстати, на эмуляторе все работает.
subver
Я имею ввиду устанвку битов прескалера тактовой частоты АЦП, у меня была похожая проблема, дело было в завышенной тактовой частоте АЦП.
chatsky
Я новенький в этом деле. В каком регистре это прописывается? И разве где-то отдельно нужно устанавливать частоту оцифровки?
chatsky
БОЛЬШОЕ СПАСИБО!!!
subver
Смотри в даташите раздел, посвященный ADC, там найдешь ADC control registers, в них должны быть описаны биты ADC clock prescaler settings. Там табличка вида:

0 0 0 fclk
0 0 1 fclk/2

или что-то в этом роде.

В эти биты надо занести значение, соответствующее максимально-возможной частоте дискретизации для данного ацп.

Допустим, преобразование идет 25 тактов,
максимальная частота выборок - 15 ksps (тысяч выборок в секунду)
тактовая частота проца - 16 МГц.
тогда максимально допустимая тактовая частота АЦП будет:

fadc = 15000*25 = 375000
что примерно соответствует 16000000/375000 = 42, значит надо найти в таблице запись вида fclk/64 и занести соответствующие биты в регистр. Т.е. тактовая частота АЦП в данном случае не может превышать 375000 Гц, вот от этой частоты и тактовой частоты проца и нужно плясать.
chatsky
Я уже все сделал. Все работает. Еще раз спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.