Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
12.03.2009, 00:39
|
#11
|
Почётный гражданин KAZUS.RU
Регистрация: 26.08.2006
Сообщений: 1,405
Сказал спасибо: 1
Сказали Спасибо 89 раз(а) в 69 сообщении(ях)
|
Временно поставьте по входу АЦП керамику емкостью пик 200 и последовательный резистор замените ом на 200. Пока , для выяснения того что лезет не через вход.
По входу CLK в схеме у Вас стоит 50 пикушек, а просится поболее , вроде как 100нан но керамика!Если пленка там стоит, то в неё могут попадать поля помехи от смены например адресных шин ОЗУ и вызывать ложное защелкивание
На вход CLKN Вы подаете клок , филипчане рекомендуют делать фронт не менее 2 наносекунд, поставьте RC цепочку примерно на 5 nS. Хуже не будет.
|
|
|
|
12.03.2009, 10:45
|
#12
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
[quote]Без РАМ и без ПЛИС, когда только ПИК и АЦП получается тоже самое, значит РАМ и ПЛИС не виноваты
[quote]
В этом случае получается, что считывание данных с АЦП происходит не вовремя. Попробуйте в процедуре чтения АЦП изменить момент чтения данных относительно фронта тактовой частоты. В упоминавшемся AN.. считывание проводится по переднему(нарастающему) фронту тактового сигнала.
|
|
|
|
12.03.2009, 12:09
|
#13
|
Почётный гражданин KAZUS.RU
Регистрация: 26.08.2006
Сообщений: 1,405
Сказал спасибо: 1
Сказали Спасибо 89 раз(а) в 69 сообщении(ях)
|
Сообщение от MisterDi
|
В упоминавшемся AN.. считывание проводится по переднему(нарастающему) фронту тактового сигнала.
|
У автора задействован инверсный клок. По срезу клока происходит фиксация данных во внутренней защелке АЦП , через 8...16 наносекунд по даташиту на выходе появляются обновленные "защелкнутые " данные. Этот же клок у него по схеме заведен на ножку WE RAM-а и уже по фронту этого сигнала они переносятся (защелкиваются) в раме по заранее выставленному адресу. Когда он читает процом то после выдаче программного среза клока , его проц не сможет запутаться в чтении выхода , потому что он после формирования среза через 10-16 наносекунд не сможет читать данные , а прочтет позже , когда они будут уже стабильны. Поскольку чтение сильно "отложенное" процом , то "кривость" данных - только в АЦП.
|
|
|
|
12.03.2009, 12:23
|
#14
|
Частый гость
Регистрация: 11.03.2009
Сообщений: 41
Сказал спасибо: 0
Сказали Спасибо 9 раз(а) в 2 сообщении(ях)
|
Поменял ВСЮ "плёнку" на керамику X7R (SMD) - не помогает.
С разводкой битов не перепутал ничего. По рисунку печатной платы Вы сами можете убедиться в этом. Единственное то, что биты в ПИК перевёрнуты, но это решено программно.
Я плавно от 1.55 до 3.25 подаю напряжение на вход АЦП и при переходе (при смене) старшего разряда более младшие как раз таки и "пляшут". Тут даже ПИК и разводка не при чём. Я достал все микросхемы с платы. Оставил только АЦП. Воткнул осцил (Velleman HPS-40) на выход D0-D7 и снова наблюдаю бордак.
Так что НЕ ПРИ ЧЁМ здесь ПЛИС, РАМ и ПИК.
|
|
|
|
12.03.2009, 12:31
|
#15
|
Частый гость
Регистрация: 11.03.2009
Сообщений: 41
Сказал спасибо: 0
Сказали Спасибо 9 раз(а) в 2 сообщении(ях)
|
На CLK уже давно стоит 0.1 мкф.
Пробовал затягивать фронт RC цепочкой на CLKN - получается фигово: АЦП начинает сильно пропускать отсчёты либо (при уменьшении t) всё становится как раньше (с гвоздями).
Мужики, а чё вы на мою ПЛИС и РАМ кричите. Я ж говорю, что я ВЫНЯЛ с платы ПЛИС и РАМ. Их там нет!!!
АЦП тактировал сигналом с ПИКа и читал данные. ОНИ ТАКИЕ ЖЕ КОСЯЧНЫЕ!!!!!
Ёще интересно, что значят цыферы на моей TDA8703???
TDA8703
24634
JSJ9231 4
|
|
|
|
12.03.2009, 12:53
|
#16
|
Почётный гражданин KAZUS.RU
Регистрация: 26.08.2006
Сообщений: 1,405
Сказал спасибо: 1
Сказали Спасибо 89 раз(а) в 69 сообщении(ях)
|
Да мы не кричим, так слегка...
Вы зашунтировали большой емкостью вход ?, проверили наводку с него ?
Если не по входу прёт помешка, тогда простой совет - три самых старших разряда ЦАПА отрежьте от дорожек и подсоедините через 100 Ом и почитайте ПИК-ом, что либо это даст?
Оберните TDA фольгой или тонкой медью по ширине корпуса, заземлите этот "экран" на аналоговую землю, повторите эксперимент с отсчетами. Анализируйте плиз только 8 битные состояния , а не шум одного бита.
24634 вероятнее всего номер партии
JSJ9231 4 92 - год выпуска 31-неделя
|
|
|
|
12.03.2009, 13:14
|
#17
|
Частый гость
Регистрация: 11.03.2009
Сообщений: 41
Сказал спасибо: 0
Сказали Спасибо 9 раз(а) в 2 сообщении(ях)
|
Поставил СМДешку 200пф на вход - нет эффекта.
Вот выложил видео http://slil.ru/27111646. Размер 1.2 Метра. Здесь я подаю плавно от 1.5 до 3.5 постоянку на вход АЦП. Можно увидеть как всё это глючит в реале.
Сейчас пойду искать фольгу и резать дороги для резакофф....
|
|
|
|
12.03.2009, 14:29
|
#18
|
Почётный гражданин KAZUS.RU
Регистрация: 26.08.2006
Сообщений: 1,405
Сказал спасибо: 1
Сказали Спасибо 89 раз(а) в 69 сообщении(ях)
|
Спасибо за интересное кино
Имхо это Вы на компе смотрите полученные 8 битные величины , выраженные по вертикальной оси (типа уже экран осцилла в компе).
После просмотра стало ясно что с разрядами вы не перепутали, идёт шум в "защелкнутых" данных АЦП.
Природа этого шума и неверных значений - имхо, в помехах от собственных выходов на соседние же биты выхода, возможно это связано со скачком потенциала земли в связи с тем что индуктивность тоненьких узеньких земляных проводников ничего не может поделать с емкостью всех выходов , которые стремятся в "одну сторону " переключиться и работают на весьма приличную "распределенную" емкость шины D, при этом не обеспечивается потенциал земли TDA, скачек её амплитуды меньше скачка потенциала DGND с точки зрения "стороннего " наблюдателя. Также может влиять из -за этого скачка , мгновенный перекос между AGND и DGND, приводящий к неверным потенциалам на входе внутреннего регистра защелки TDA.
Уменьшить это явление обычно стараются способами
1) разгрузить от емкостного импеданса выходные линии D, воткнув последовательно резисторы 47-100 Ом , желательно согласованные с волновым сопротивлением линий В (в однослойке это вообще проблема)
2) обеспечить низкое сопротивление источника питания как цифровой части так и каскадов выходных драйверов, (там кажется отдельные ноги питания).
3) не отрывать AGND от потенциала DGND заметным образом , сравните приведенный Вам ранее аппликейшн и Вашу разводку земель.
4) иметь "чистый" клок, без гвоздей.
Если Вы не знаете в какую сторону "рыть" , возьмите осциллограф мегагерц 200 полосой , воткните землю щупа сначала в ножку DGND и обсмотрите все выводы , аналоговые в том числе , что на них творится. При этом убедитесь что подсоединение земли щупа "случайно" не убрало вашу проблему (такое может быть).
Затем воткните землю щупа в AGND и посмотрите все опять. Вобщем есть непаханое поле.
Удачи!
|
|
|
|
12.03.2009, 14:32
|
#19
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Чем обусловлен выбор номинала R121 560 Ом? не много-ли для фильтрующей цепочки? Что происходит по цепям питания? Помехи есть/нет?
|
|
|
|
12.03.2009, 15:43
|
#20
|
Частый гость
Регистрация: 11.03.2009
Сообщений: 41
Сказал спасибо: 0
Сказали Спасибо 9 раз(а) в 2 сообщении(ях)
|
Смеюсь покуривая, как всё-таки просто решилась огромная проблема!!!
PIC18F252 оказался чересчур шустрым.
Вот часть кода, считывающая данные из памяти:
//считываю данные из RAM
for (index = 0; index ‹ _BUFFL; index++)
{
//тактирую счётчик RAM...
_CPLD_CLK = 1;
//задержка...которую я ДОБАВИЛ!!!!!! _NOP;_NOP;_NOP;_NOP;_NOP;_NOP;_NOP;_NOP;_NOP;_NOP; _NOP;_NOP;
dbr = PORTB;
//переварачиваю байт...
for (bcnt = 0; bcnt ‹ 7; bcnt++)
{
if (dbr & 0x1) dbw |= 0x1;
dbr ››= 1;
dbw ‹‹= 1;
}
//тактирую счётчик RAM...
_CPLD_CLK = 0;
//в буфер...
buf[index] = dbw;
//
_WDT_RESET;
}
т.е. ПИК считывал данные сразу после клока и, видимо, данные не успевали выставиться. Хотя если подсчитать цикл ПИКа при fosc=40MHz -› 100ns !!! А у меня явно не один цикл и задержка после клока немаленькая. Но её всё-таки не хватило. Я добавил 12 нопов и всё попёрло как раньше на макетке.
Кстати, убрал для эксперимента все свои мегаземли, оставив только те перемычки, которые были изначально по рисунку платы и в худшую сторону НЕ изменилось как ни странно...Остались только СМД резисторы по 100 Ом, но я думаю они не помешают. Кстати, кондёры тоже оставил плёночные - всё гуд...
Я доволен!!!
Всем спасибо, отдельное спасибо tauP10 !!!
Вот "рабочая" картинка:
-- Прилагается рисунок: --
![](https://kazus.ru/nuke/users_images/12032009/1933333.jpg)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:21.
|
|