Непонятные помехи в работе регистров 74HC165
вот это вот все - большой конденсатор.
- заземлить полигоны
- разобраться с правильностью и своевременностью тактовых импульсов на регистрах
- скинуть частоту обмена с регистрами
- блокировочные конденсаторы где? пару возле процессора, по одному на регистр. тантал на питание проца, поближе к процу. это из области бубна, но может помочь
- блокировочные емкостя на входах где? если входные провода будут хотя бы по 30 см, наводка от частотника устроит вам ужас и страх.
печатка ужасная. следующий раз сделайте под процессором сплошной полигон, земляной или питания.
- скинуть частоту обмена с регистрами
Добавлю от себя: может вообще написать тестовую программу которая будет тактировать регистр по нажатию на внешнюю подключенную к МК кнопку (наверно не проблема к какой-нибудь ножке входов подпаять кнопку). Тогда вы тестером сможете 99% понять правильно ли работают регистры. Я бы прежде всего исключил процессор - думаю дело в нем.
никаких предохранителей нет.
Имелись в виду видимо fuses в МК)) Может вы думаете что у вас проц тактируется внутренним генератором, а ан самом деле - внешним…)
В общем, у меня лично ощущение что на самом деле у вас не работает как надо имено процессор. Вы как-то можете уверено судить что программа бежит как надо? Если нет, то я бы начал с тестовой программы <<моргание светодиодом>>
Даже нечего добавить. Вот за этим я и просил у вас картинку. P. S. Предохранители имелись в виду fuses , а так это присказка у меня, вроде прежде чем углубляться в дебри проверь самое простое. Очень часто забывается,кстати.
понятно.
- фьюзы.
тут все правильно выставлено. более того проц более чем корректно работает во всех режимах прошивки. - прошивка на 2.4 кило, очень плотная работа с вводом-выводом… все работает без нареканий. для отлова ошибки отключал целыми блоками код. остатки кода работают так же.
уверен что с прошивкой все ок. - сегодня устрою тестовую проверку с подключенным внешним железом. посмотрим как будет работать в системе.
печатка ужасная
можно как-то прокомментировать конкретнее что не нравится?
- пробовал уменьшать частоты обмена с регистрами (ставил программные задержки в цикле обработки) - те же самые грабли, но при этом все еще еле ползает…
вообще все не нравится.
по схемотехнике.
источник питания процессора где? на соседней плате? подключенной шлейфом в пару метров? 146% что будет глючить.
отвязывать гальванически все от всего. да дорого.
все же поставьте кварц и вокруг него и емкостей по 27 пФ земляное кольцо
тут хорошо, с картинками www.gaw.ru/html.cgi/txt/app/micros/mb90/pcb.htm
полигон под процом, лучше земляной. блокировочными емкостями не пренебрегайте. заливка платы - масса, если хочется во втором слое развести питание - разводите, но основной полигон - масса.
разберитесь с источниками входных сигналов, не зная проекта целиком советовать трудно.
разделите земли: чистую - процессор и регистры и силовую - входные цепи. соедините в одной точке (если получится). силовой земли должно быть как можно меньше. в идеале входа отвязать оптронами либо ADUM.
заведите в софте собаку. цепь сброса проца - подпирать обязательно. неиспользуемые выводы проца - на выход и выставить 1-ку.
избегайте земляных петель под кристаллами. помеха прийдет по земле входного кабеля и пойдет гулять по плате. амплитуда и ток у нее буду достаточные выщелкнуть проц.
если гальваническая развязка не канает - делайте подтяжку входов от отдельного питания, либо развяжите от питания проца как следует, хотя бы дросселем. блокировочную емкость на входе прикиньте, насколько она завалит фронт импульса.
управляющие входы регистров подтянуты к нужным уровням?
до кучи курить
webcache.googleusercontent.com/search?q=cache:UbvO…
- сегодня устрою тестовую проверку с подключенным внешним железом. посмотрим как будет работать в системе.
Не знаю, я б все-таки сначала убедился что этот кусок сам по себе работает правильно…
Паскудна привязка к существующей плате. Человек наелся выносом регистров в небо. Вопрос как вот это привести в сознание с минимальными потерями. Программно походу не получится.
RW9UAO, спасибо за здравую критику и ссылки. обязательно изучу.
касательно данной схемы могу прокомментировать следующее:
-
питание находится в сантиметре-двух от проца. на фото красно-черные провода.

-
такая компоновка продиктована двумя причинами:
(а) эта плата вставляется в другое устройство имеющее такие же габаритные размеры. увеличивать размеры нельзя. кроме того на другой плате по периметру также расположены различные выводы, разъемы. поэтому старался над теми областями ничего не делать. поэтому я фактически ушел на 1-1.5 см от края и разместился именно на таком участке
(б) кроме того я максимально хотел сократить количество отверстий. поэтому от межслойных переходов я отказался в пользу “мостиков” из нулевых резисторов. 99% компонентов платы расположены на одном верхнем слое. на нижнем слое находится лишь несколько подтягивающих резисторов соединенных со штыревыми входными разъемами (под них в любом случае нужно сверлить отверстия было). -
reset шунтирован jumper’ом с VCC. собака стоит лишь на просадку по уровню 4.0V (с соответствующими фьюзами).
-
внешний кварц вешать затруднительно из компоновочных соображений (эти входы уже разведены). да и нету особой нужды в такой точности тактирования.
----------------------------
сегодня протестировал железо в полубоевых условия. не менял ничего. оба слоя меди уже собирался спаять и законтачить с землей. однако сначала решил попробовать “как есть”.
в итоге по непонятным причинам глюк с касанием пропал сам собой!!! с одной стороны это приятная новость. с другой стороны появилось подозрение что на плате есть физический дефект с дорожками: одна из цепей начинает работать только если плату чуть-чуть изогнуть!
эту плату я довольно долго “мучал” пока экспериментировал с масками… неоднократно запекал и травил в химии…
поэтому видимо придется травить новую и заново паять рассыпуху…
в новом варианте постараюсь конечно полностью развязать гальванику… и наверное вытравлю лишнюю медь вообще.
а номинал подтягивающих резисторов какой? лучше порядка 10к-47к не более. и кондестары блокировочные обязательно по 1н - 100н. на каждый вывод питания микросхем. тоесть один вывод микросхемы -один конденсатор в максиальной близости к этому выводу.
пропал - вы одежду не меняли? ну например одели другую кофту? и это не шутка кстати.
Я не берусь ничего утверждать наверняка, но мне чего-то кажется что все эти пляски с конденсаторами и переодеваниями это в данном случае не главное - есть какая-то более рациональная проблема с этой платой. Где-то чего-то отвалилось или питание плохое или сгорел кто-то…
ШВЕДУ еще общая идея: понизте тактовую частоту и используйте программный осциллоскоп (с помощь звуковой платы)
мне тоже теперь все больше кажется тут имеет место какой-то скрытый механический дефект.
очень неравномерное поведение какое-то.
подтягивающие резисторы стоят 10К… для 5В считаю вполне нормальный ток утечки будет.
одежду менял но не думаю что дело в ней (хб халат с коротким рукавом vs его отсутствие).
как уже писал выше я пробовал понижать частоту до 4мгц - та же проблема. осцилоскопа вот к сожалению нет… 😦
вообще при получении сигналов извне на всякого рода счетчики, вообще логику на КМОП технологиях, лучше использовать инверторы с тригером шмитта 74нс14 например… от многих неприятностей уберегают…
как уже писал выше я пробовал понижать частоту до 4мгц - та же проблема. осцилоскопа вот к сожалению нет…
я имел ввиду снизить частоту с которой работают регистры (програмно, например) до скажем 1кгц и тогда сможете использовать какую-нибудь программу- осциллоскоп для РС.
ааа… ясно. но я решил пойти другим путем. у меня накопилось критическое количество “обновлений” поэтому я решил перепроектировать макетку.
во-1 хочется для надежности уйти от предыдущей платы ввиду подозрения на механические дефекты.
во-2 решил все-таки полностью гальванически развязаться несмотря на нехватку места и вынужденную необходимость переходить на второй слой (очень не хотелось).
Не знаю, хозяин- барин. Но я бы не стал ничего переделывать, а для начала перерезал бы проводник который идет ко 2 ножке регистра подпаял кнопку, запитал плату от компьютерного блока питания и убедился что регистры работают как надо. Далее написал бы программу для МК которая заменяет кнопку и проверил снова. А если есть серьезные подозрения что где-то на плате скрытый дефект, то нулевым пунктом собрал бы все это заново побыстрому на макетке. А когда все уже будет как надо работать, разработаете уже окончательный вариант платы. Тут не те частоты и уровни чтобы что-то сильно зависило от компоновки -главное грубо не напортачить в монтаже.
беда в том что на макетке в smd формате оч пролематично все собирать. а dip аналогов нету.
И не уловили эффект от установки инвалида в основное устройство. Когда не пальцами по регистрам, а остальным вооружением. Можно дальше писать прогу для атмеги.
времени нету на тщательные поиски и изучение глюка в потенциально проблемном железе которое и без этого косяка требует переработки.
Сочуствие вам моё. Потенциальный геморрой детектед. Оно хоть по деньгам-то стоило?
посмотрим. опыт приходит с практикой.
И мудрость достигается упражнениями. Встав на эту дорогу иди и не оглядывайся, о падаван! 😃