|
|
  |
Борьба с помехами в цифровой схеме |
|
|
|
Dec 16 2014, 00:55
|

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

|
Цитата(justontime @ Dec 16 2014, 04:17)  обратился за помощью сюда - http://electronix.ru/forum/index.php?showtopic=124728 ... Думаю, что разводка выполнена совершенно неправильно - дорожки земли и питания 0.4 мм без полигонов, по одному конденсатору 0.1 мкф на каждую линию питания 3.3 и 5.0 В (там обе линии в каждом шлейфе) и еще один такой же конденсатор у процессора (тоже на дорожках 0.4 мм). В указанном вами топике я давал достаточно ясные, на мой взгляд, разъяснения как надо разводить землю . Вкратце, советы таковы: - толщина земляных проводников не играет большой роли, но из них должна быть сделана "решетка" или "сетка", покрываюшая всю плату; если плата уже разведена, то "решетку" можно сделать добавлением навесных проводников - керамические развязывающие конденсаторы 0.1 мкФ лучше всего добавить на каждую цифровую микросхему, запаяв их прямо на ножки земли и питания - если есть возможность выбирать, какую микросхему использовать, то надо выбирать самую медленную и малопотребляющую.
|
|
|
|
|
Dec 16 2014, 08:46
|
Местный
  
Группа: Свой
Сообщений: 254
Регистрация: 6-12-14
Из: СПб
Пользователь №: 84 003

|
Цитата(ViKo @ Dec 16 2014, 06:43)  А в программе вы уверены на 100%? Напрасно. В изначальной программе уверен не был, потому что она называется MS DOS  А вот в тестовой особых сомнений нет - написана мной, фактически целых три команды на ассемблере (запись в память, чтение из памяти, сравнение), бегающих по кругу. Цитата(ViKo @ Dec 16 2014, 06:43)  А все ли удовлетворяет спецификации - напряжения, частоты, уровни сигналов? Теоретически, да. Практически - это уже слегка обсуждалось.
|
|
|
|
|
Dec 16 2014, 19:58
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(justontime @ Dec 16 2014, 22:39)  может работать с тактовой до 125 МГц, поэтому 5МГц проекта для нее просто ничто. У Вас крайне скудное понятие о том, что такое временные соотношения на шине. Может быть, к примеру, что в результате транзитных задержек через буферы и FPGA, данные приходят с некоторым смещением от того времени, во время которого их ожидает процессор. И все, сбои гарантированы. Или адрес задерживается дольше, чем надо, и защелкивается где нибудь некорректно. Или, например, направление буфера переключается быстрее, чем следует, и данные снимаются на 20 пикосекунд раньше, чем это можно, вот оно раз в полчаса и глючит, потому, что на грани допуска балансирует... Внимательно изучите в даташите картинки - BUS TIMING-MINIMUM MODE SYSTEM и BUS TIMING-MINIMUM MODE SYSTEM (Continued) - вот все-все то, что там нарисовано, и написано в виде MIN и MAX времен в наносекундах в табличке над ними, должно быть выдержано, несмотря на все транзитные задержки в буферах, проводах, FPGA и самой ОЗУ. У самой ОЗУ, кстати, есть очень похожие параметры, и вот, суммарный бюджет по всем этим задержкам (включая все буфера, провода, FPGA, и пр.) должен укладываться в MIN...MAX значения из их документации как и для ОЗУ, так и для процессора. Стопудово, что там что-то где-то у Вас не учтено, и из-за этого происходят сбои. И это уже никакие не помехи, а ошибки в расчетах при проектировании.
|
|
|
|
|
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 МГц, в шлейфы особо земли не добавить, так как почти все уже занято сигналами. У вас наверняка звон в шлейфах. Отчасти лечится, если шлейфы обернуть медной фольгой, которую заземлить в нескольких точках на каждой плате. Ну и резисторами, как написано выше.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|