|
Борьба с помехами в цифровой схеме |
|
|
|
Dec 15 2014, 17:47
|
Местный
  
Группа: Свой
Сообщений: 254
Регистрация: 6-12-14
Из: СПб
Пользователь №: 84 003

|
В целях удовлетворения собственного любопытства сделал простую схему с 8088 процессором и его обвязкой, которую через преобразователи уровней 8T245 подключил к отладочной плате FPGA (на которой уже достраивал остальные элементы компьютера - память, контроллер прерываний, видео и т.д.). Вроде все заработало, но сразу же возник вопрос по поводу избыточного (как мне казалось) нагрева процессора. Так как я вообще никак не являюсь профессионалом в области разработки радиоэлектронных устройств, то обратился за помощью сюда - http://electronix.ru/forum/index.php?showtopic=124728 Мне вроде разъяснили, что это нормально, плюс попутно дали несколько полезных советов/идей. Как выяснилось, успокоился рановато. В ходе отладки ПО стал замечать необъяснимые зависания, которые никак не удавалось побороть. Проблема в том, что они возникали редко и случайно. В конце концов я написал тест памяти и запустил его в цикле (не особенно надеясь на результат). Тем не менее, через минут 40 тест вдруг неожиданно выдал ошибку (хотя до этого момента уже, естественно, прошел всю память не одну тысячу раз). Пока у меня единственная версия - из-за совершенно неправильной разводки платы помехи вызывают случайные сбои в работе. Вот плата покрупнее:
А вот как она подключена к отладочной плате:
Думаю, что разводка выполнена совершенно неправильно - дорожки земли и питания 0.4 мм без полигонов, по одному конденсатору 0.1 мкф на каждую линию питания 3.3 и 5.0 В (там обе линии в каждом шлейфе) и еще один такой же конденсатор у процессора (тоже на дорожках 0.4 мм). Соответственно, вопрос - считаете ли вы, что мои догадки о помехах имеют право на жизнь ? И если да, то можно ли что-то сделать с этой платой (напоминаю - это просто на поиграться), или нужно сделать новую ? Заранее спасибо за советы !
Сообщение отредактировал justontime - Dec 15 2014, 17:48
|
|
|
|
|
 |
Ответов
|
Dec 16 2014, 23:28
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(justontime @ Dec 17 2014, 05:43)  Ни уменьшение частоты, ни распайка конденсаторов на все микросхемы и на все питания ничего ровным счетом не изменило - как происходил сбой от 30 минут до пары часов, так и происходит. Понимаю, что можно еще землю сеточкой (как советовали) дополнительно протянуть, но я очень надеялся, что почти два десятка конденсаторов уже принципиально изменят ситуацию... Конденсаторы по питанию помогают очень редко. Эти конденсаторы - необходимое условие, но не достаточное. Они должны быть запаяны для того, чтобы больше о них не думать. Основная польза от них в том, что, совместно с проводами земли и питания, они образуют "земляную сетку". Эта сетка обычно не накрывет всю плату, однако работает уже существенно лучше, чем просто земляной провод. Вполне возможной причиной сбоев при обращении к памяти может быть "звон" в сигнальных линиях, когда эти линии имеют существенную длину (порядка 10 см и более). Проблема еще и в том, что ТТЛ выходы имеют разное сопротивление в "0" и в "1". Для борьбы со "звоном" требуется демпфирование и частичное согласование линий при помощи резисторов. Для начала надо выявить наиболее длинные линии. Между передатчиком и его линией хорошо бы врезать резистор примерно 33 Ома, это должно заметно уменьшить звон при преходе из 1 в 0. Ближе к приемному концу линии (или в середине двунаправленной линии) хорошо бы поставить подтяжку 680 Ом к плюсу питания и резистор 1 kОм на землю. Эти два резистора уменьшат отражение от приемного конца. Цитата(justontime @ Dec 16 2014, 04:37)  Да, забыл сказать - тактовая частота 5 МГц, в шлейфы особо земли не добавить, так как почти все уже занято сигналами. У вас наверняка звон в шлейфах. Отчасти лечится, если шлейфы обернуть медной фольгой, которую заземлить в нескольких точках на каждой плате. Ну и резисторами, как написано выше.
|
|
|
|
|
Feb 11 2015, 17:48
|
Местный
  
Группа: Свой
Сообщений: 254
Регистрация: 6-12-14
Из: СПб
Пользователь №: 84 003

|
Цитата(=AK= @ Dec 17 2014, 02:28)  Конденсаторы по питанию помогают очень редко. Эти конденсаторы - необходимое условие, но не достаточное. Они должны быть запаяны для того, чтобы больше о них не думать. Основная польза от них в том, что, совместно с проводами земли и питания, они образуют "земляную сетку". Эта сетка обычно не накрывет всю плату, однако работает уже существенно лучше, чем просто земляной провод.
Вполне возможной причиной сбоев при обращении к памяти может быть "звон" в сигнальных линиях, когда эти линии имеют существенную длину (порядка 10 см и более). Проблема еще и в том, что ТТЛ выходы имеют разное сопротивление в "0" и в "1". Для борьбы со "звоном" требуется демпфирование и частичное согласование линий при помощи резисторов. Для начала надо выявить наиболее длинные линии. Между передатчиком и его линией хорошо бы врезать резистор примерно 33 Ома, это должно заметно уменьшить звон при преходе из 1 в 0. Ближе к приемному концу линии (или в середине двунаправленной линии) хорошо бы поставить подтяжку 680 Ом к плюсу питания и резистор 1 kОм на землю. Эти два резистора уменьшат отражение от приемного конца.
У вас наверняка звон в шлейфах. Отчасти лечится, если шлейфы обернуть медной фольгой, которую заземлить в нескольких точках на каждой плате. Ну и резисторами, как написано выше. Все возвращается по спирали на то же место, только на новый уровень... Итак, при переходе с 1 на 0 шлейф действительно звенит так, что иногда этого звона хватает, чтобы переключить логику туда-сюда еще раз. Теперь окончательно убедился, что даже с такими вроде скромными частотами нужно быть аккуратнее...
На картинке хорошо видно - от восходящего фронта сигнала 2 переключается счетчик 6, и сразу после третьего ниспадающего фронта сигнала 2 звон такого размаха, что смог переключить счетчик... Тем не менее, в данном случае очень хочется отделаться совсем малой кровью - вообще ничего не переделывая в железе. Понимаю, что многого хочу, но - нет ли у Cyclone IV каких-нибудь настроек ВХОДНЫХ пинов, чтобы этот самый звон хоть немного уменьшить ? Руководство читал, все подобные настройки вроде только для выходных пинов, но вдруг я что-то пропустил ? Как известно, утопающий хватается за соломинку
Сообщение отредактировал justontime - Feb 11 2015, 17:51
|
|
|
|
|
Feb 11 2015, 19:52
|
Местный
  
Группа: Свой
Сообщений: 254
Регистрация: 6-12-14
Из: СПб
Пользователь №: 84 003

|
Цитата(ViKo @ Feb 11 2015, 22:41)  Один SMD резистор, врезанный в дорожку у выхода, спасет утопающего. Ранее в этой теме мне рекомендовали в районе 33 Ом, так ?
|
|
|
|
Сообщений в этой теме
justontime Борьба с помехами в цифровой схеме Dec 15 2014, 17:47 TSerg Некоторым инженерам-конструкторам так до конца и н... Dec 15 2014, 17:56 justontime Цитата(TSerg @ Dec 15 2014, 17:56) Некото... Dec 15 2014, 18:01  TSerg Цитата(justontime @ Dec 15 2014, 21:01) Я... Dec 15 2014, 18:14 toweroff От частот зависит...
Я делал последовательно резис... Dec 15 2014, 18:02 justontime Да, забыл сказать - тактовая частота 5 МГц, в шлей... Dec 15 2014, 18:07 toweroff Цитата(justontime @ Dec 15 2014, 21:07) Д... Dec 15 2014, 18:24 toweroff Ну тогда попробовать порвать дорожки и ом эдак 100... Dec 15 2014, 18:10 SM Цитата(justontime @ Dec 15 2014, 20:47) Д... Dec 15 2014, 18:14 justontime Цитата(SM @ Dec 15 2014, 18:14) Также пос... Dec 15 2014, 18:31  toweroff Цитата(justontime @ Dec 15 2014, 21:31) Е... Dec 15 2014, 18:39   justontime Цитата(toweroff @ Dec 15 2014, 19:39) да ... Dec 15 2014, 18:42  SM Цитата(justontime @ Dec 15 2014, 21:31) Е... Dec 15 2014, 18:48   justontime Цитата(SM @ Dec 15 2014, 19:48) По ней ОБ... Dec 15 2014, 19:48    SM Цитата(justontime @ Dec 15 2014, 22:48) о... Dec 15 2014, 19:52 =AK= Цитата(justontime @ Dec 16 2014, 04:17) о... Dec 16 2014, 00:55 justontime Прежде, чем что-то физически, решил провести мален... Dec 16 2014, 06:21 ViKo ЦитатаВ ходе отладки ПО стал замечать необъяснимые... Dec 16 2014, 06:43 justontime Цитата(ViKo @ Dec 16 2014, 06:43) А в про... Dec 16 2014, 08:46 justontime Еще вопрос возник - ширина сигнальных дорожек на т... Dec 16 2014, 13:00 SM Цитата(justontime @ Dec 16 2014, 16:00) Е... Dec 16 2014, 13:07 SM Цитата(justontime @ Dec 16 2014, 22:13) К... Dec 16 2014, 19:18     ViKo Цитата(justontime @ Feb 11 2015, 22:52) Р... Feb 11 2015, 19:53 justontime Дело в том, что FPGA никакой роли в управлении пам... Dec 16 2014, 19:39 SM Цитата(justontime @ Dec 16 2014, 22:39) м... Dec 16 2014, 19:58 justontime Не претендую на глубокие познания, но все же опред... Dec 16 2014, 20:13 SM Еще - как сделано защелкивание адреса по ALE? В FP... Dec 16 2014, 20:36 ViKo Я думаю, проблема в питании, если ошибка выскакива... Dec 17 2014, 05:51 justontime Вполне вероятно, SM оказался ближе всего к разгадк... Dec 17 2014, 06:48 justontime Так как направление поисков изменилось, создал для... Dec 17 2014, 09:57 SM Можно попробовать включить подтяжку вверх/вниз, ил... Feb 11 2015, 18:04 justontime Не просветите ли меня еще по нескольким моментам н... Feb 12 2015, 06:33 Vovk_Z Цитата(justontime @ Feb 12 2015, 09:33) 1... Feb 12 2015, 13:30 ViKo 1. Ничего больше не надо. Земли побольше, что на п... Feb 12 2015, 06:54 justontime Цитата(ViKo @ Feb 12 2015, 09:54) 1. Ниче... Feb 12 2015, 07:49  aaarrr Цитата(justontime @ Feb 12 2015, 10:49) В... Feb 13 2015, 17:49 justontime Добавил резистор 33 Ом, стало приличнее, хотя тоже... Feb 12 2015, 17:47 SM Цитата(justontime @ Feb 12 2015, 20:47) Д... Feb 12 2015, 17:51 justontime Вот, кстати, маленький эксперимент с настройкой ра... Feb 13 2015, 05:44 Alexashka Цитата(justontime @ Feb 13 2015, 08:44) В... Feb 13 2015, 06:39  ViKo Цитата(Alexashka @ Feb 13 2015, 09:39) Ка... Feb 13 2015, 09:16   Alexashka Цитата(ViKo @ Feb 13 2015, 12:16) А если ... Feb 13 2015, 17:00    ViKo Цитата(Alexashka @ Feb 13 2015, 20:00) Ну... Feb 13 2015, 18:13  justontime Цитата(Alexashka @ Feb 13 2015, 09:39) Ка... Feb 13 2015, 09:19 Alexashka Уменьшен ток драйвера, фронты завалены, высокочаст... Feb 13 2015, 20:02 ViKo Цитата(Alexashka @ Feb 13 2015, 23:02) Ум... Feb 13 2015, 20:12  Alexashka Цитата(ViKo @ Feb 13 2015, 23:12) Нормаль... Feb 13 2015, 21:14   ViKo Цитата(Alexashka @ Feb 14 2015, 00:14) По... Feb 14 2015, 06:48 justontime Еще вопрос возник. Допустим, решу сделать новую пл... Feb 14 2015, 07:11 Alexashka Цитата(justontime @ Feb 14 2015, 10:11) Д... Feb 14 2015, 15:17 ViKo Alexashka, вот вам идеальная осциллограмма.
А во... Feb 14 2015, 09:52 Alexashka Цитата(ViKo @ Feb 14 2015, 12:52) Alexash... Feb 14 2015, 13:34  ViKo Цитата(Alexashka @ Feb 14 2015, 16:34) Ну... Feb 14 2015, 13:46   Alexashka Цитата(ViKo @ Feb 14 2015, 16:46) Топикст... Feb 14 2015, 15:07 justontime Господа, спасибо, что так активно спорите о моих п... Feb 14 2015, 13:59 ViKo Ок, вопрос исчерпан.
Насчет новой платы. По теории... Feb 14 2015, 15:16 Aner Думаю что все советы тут могут быть как правильным... Feb 14 2015, 15:34 SM Цитата(Aner @ Feb 14 2015, 18:34) Это - H... Feb 14 2015, 15:51 justontime Эээ... На всякий случай напомню, что я не космичес... Feb 14 2015, 16:22 aaarrr Если Вы сделаете четырехслойную плату с подключени... Feb 14 2015, 20:34 justontime Цитата(aaarrr @ Feb 14 2015, 23:34) Если ... Feb 16 2015, 06:36 justontime Цитата(aaarrr @ Feb 14 2015, 23:34) Если ... Mar 30 2015, 09:07  Alexashka Цитата(justontime @ Mar 30 2015, 13:07) В... Apr 1 2015, 17:47   justontime Цитата(Alexashka @ Apr 1 2015, 20:47) Во... Apr 1 2015, 19:37 Panych Наверное, оффтоп: попалась как-то тайваньская плат... Feb 17 2015, 06:26 MiklPolikov Цитата(justontime @ Dec 15 2014, 20:47) Д... Mar 30 2015, 09:38 justontime Цитата(MiklPolikov @ Mar 30 2015, 12:38) ... Apr 1 2015, 09:34
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|