реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проблемма с АЦП на T89C51CC01
chatsky
сообщение Jul 19 2005, 04:17
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 61
Регистрация: 19-07-05
Пользователь №: 6 902



Есть следующая проблемма. Подаю сигнал на вход АЦП, а он оцифровывает очень странно выдает только следующие значения:
00000000
00000001
00000011
00000111
00001111
00011111
00111111
01111111
10000000
11000000
11100000
11110000
11111000
11111100
11111110
11111111
Промежуточные куда-то девает. Таким образом он конечно кое-что оцифровывает, но больно уж с плохим качеством.
Go to the top of the page
 
+Quote Post
subver
сообщение Jul 19 2005, 04:47
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726



А скорость преобразования какая? Возможно неправильно выставлены тактовые частоты.
Go to the top of the page
 
+Quote Post
chatsky
сообщение Jul 19 2005, 05:20
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 61
Регистрация: 19-07-05
Пользователь №: 6 902



Я использую Timer2. Каждые 0,0005 сек (2 кГц) АЦП у меня оцифровывает и я посылаю данные через CAN. Осциллограмма получается верной по частоте, но сам сигнал получается с большими ступеньками, так как например такого значения как 10010010 он не выдает, а только те которые я написал выше.
Go to the top of the page
 
+Quote Post
chatsky
сообщение Jul 19 2005, 05:21
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 61
Регистрация: 19-07-05
Пользователь №: 6 902



Да, кстати, на эмуляторе все работает.
Go to the top of the page
 
+Quote Post
subver
сообщение Jul 19 2005, 05:22
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726



Я имею ввиду устанвку битов прескалера тактовой частоты АЦП, у меня была похожая проблема, дело было в завышенной тактовой частоте АЦП.
Go to the top of the page
 
+Quote Post
chatsky
сообщение Jul 19 2005, 05:26
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 61
Регистрация: 19-07-05
Пользователь №: 6 902



Я новенький в этом деле. В каком регистре это прописывается? И разве где-то отдельно нужно устанавливать частоту оцифровки?
Go to the top of the page
 
+Quote Post
chatsky
сообщение Jul 19 2005, 05:32
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 61
Регистрация: 19-07-05
Пользователь №: 6 902



БОЛЬШОЕ СПАСИБО!!!
Go to the top of the page
 
+Quote Post
subver
сообщение Jul 19 2005, 05:35
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726



Смотри в даташите раздел, посвященный 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 Гц, вот от этой частоты и тактовой частоты проца и нужно плясать.
Go to the top of the page
 
+Quote Post
chatsky
сообщение Jul 19 2005, 05:45
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 61
Регистрация: 19-07-05
Пользователь №: 6 902



Я уже все сделал. Все работает. Еще раз спасибо.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 11:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01419 секунд с 7
ELECTRONIX ©2004-2016