Частотомер-конструктор F51.12

Обсуждаем цифровые устройства...
Ответить
Друг Кота
Аватара пользователя
Сообщения: 15704
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

для такого случая как раз 2 штуки 74HC595 сойдут, и программка по-проще будет 8)
Реклама
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Попроще врятли, что может быть проще 10 разрядного счетчика? Вместо того чтобы подавать один импульс надо будет загружать в регистр 8 разрядов, перед этим не забыв обнулить регистр сегментов. а тут все аппаратно реализуется...
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15704
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

а их обнулять-то и не требуется :)))
послал пакет сегменты+позиция (16 ти), дал импульс защелки в выходной регистр и жди следующего пакета :sleep:
кроме того вся предварительная обработка опять же в МК делается 8)
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Все же мне кажется что требуется. Даже если на сегменты и знакоместо подашь напряжение одновременно, транзисторы не закроются достаточно быстро - микросекунд достаточно чтобы ток по транзисторам продолжал течь еще от прошлого состояния, итого новый транзистор открылся быстро а старые закрываются долго - на индикаторе будет "тень". Чтобы не гадать будет или не будет эта тень проявляться проще перед переключением занулить сегменты перед переключением и пока будешь формировать импульсы для загрузки транзисторы успеют переключится. Вот и у меня так сделано - выставили импульс на счетчик и вместе с ним обнулились регистры и начался процесс отключения транзисторов сегментов, пока будет сформирован импульс для переключения счетчика на следующий сегмент - транзисторы уже закрылись. Причем, чем в более сильном насыщении(ток базы) находились транзисторы тем дольше они закрываются. Впрочем, наверно можно обойтись выводом "гашения" HC595 - перед сменой данных отключать выходы регистров и включать только через некоторое время после загрузки новых.

Да, и тогда ведь прийдется программно реализовать бегущий "1", и ограничить количество разрядов до 8 дабы не ставить 3-ю микросхему...
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 15704
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

это совсем разное понимание обнуления - есть "общий сброс по включению питания" и есть операция гашения (по сегментам или по позиционным ключам)
операция гашения - запись в соответствующм месте уровня гашения
одно дело, когда эта начинка на "рассыпухе" делается - там надо жестко привязывать к микросхемам - другое, когда все решается программой МК
или раздельный алгоритм подачи двух тетрад сегментного кода+ формирование импульса для дешифратора (и все сие тянет на 7 выводов мк) или одним пакетом весь код (сегменты+позиция) на максимум 5 выводах
чего касательно 10 позиций... дак кто мешает "бегущую строку" организовать?
или еще чего наворотить - главное в удобстве монтажа (простота печатки) и простоте работы :beer:
Реклама
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Частотомер в виде "бегущей строки" ради простоты монтажа... это надо было еще такое придумать! Для приборов важно прежде всего удобство считывания показаний, хорошо когда все цифры перед глазами и никогда не меняют позицию(перенос десятичной точки, автоматическое переключение поддиапазонов и т.д.)
Зачем что-то делать программно когда это возможо сделать аппаратно. Я конечно понимаю, вроде бы как в данном случае от программиста много не убудет, но все же... надо хоть чуть чуть тренировать мозги, может где-то такое решение позволит сократить длительность программных манипуляций, где они будут критичны к времени выполнения.

Но правда, обычно достаточно 8 цифр... 9 знаков это уже будет частота до 1ггц с точностью до 1гц. Такую точность обеспечить на ширпотребовских элементах нереально, но всегда приятно когда цифры не меняют свою позицию и не нужно переключать поддиапазоны. Это всегда нужно знать - самый лучший кварц все равно не обеспечит точность лучше чем 6 значащих цифр. А в реальности стоит рассчитывать лишь на 4. Чтобы добиться лучших показателей необходимо предпринимать дополнительные меры. И самое главное - никогда не трясти кварцевый резонатор - после удара он меняет свою частоту на уровне 5-6 знака.
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Alexeyslav писал(а):Зачем что-то делать программно когда это возможо сделать аппаратно
Это любимая фраза схемотехника, которому доверили ещё и программу написать.. :)))

Надо в совершенстве знать и то и другое, и тогда задача будет решена наиболее оптимальным способом..
То, что лучше делать аппаратно - делается аппаратно, а что программно - делается программно..

Как говориться "Кессарю - кессарево, а слесарю - слесарево".. :wink:
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Прорезались зубы
Аватара пользователя
Сообщения: 201
Зарегистрирован: Пт июл 25, 2008 14:09:04
Откуда: Зауралье

Сообщение Vicont »

МитяРа писал(а):Надо в совершенстве знать и то и другое, и тогда задача будет решена наиболее оптимальным способом.
Точно подмечено! :)
Alexeyslav писал(а):Но правда, обычно достаточно 8 цифр... 9 знаков это уже будет частота до 1ггц с точностью до 1гц.
Согласен, 1Гц можно пренебречь. Буду делать плату на 8 разрядов.


А Триггеры Лейтенанта Шмидта 40106 в Вашей схеме, нужны для защиты регистров?
Почем они обведены под одно крыло с индикатором, их реально ставить надо, или они там чисто условно?
Последний раз редактировалось Vicont Сб фев 11, 2012 16:24:07, всего редактировалось 1 раз.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15704
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

в дальние 90-е "на спор" сделал частотомер "на рассыпухе" - достал один знакомый, дескать "у всех есть , а тебе слабо?" - 8 позиционный индикатор с динамикой, запоминанием информации, и прочее и прочее...
схемотехника оригинальная - подобных решений такого плана тогда не существовало НО...
за бугром уже тогда были подобные изделия на 1-й!!! микросхеме (по публикациям), да и первые микроконтроллеры на подходе были, а моя схемка, кабы склероз не подвел, была где-то на 45 корпусах собрана... хош и работала, но уже "морально устарела" - единственная польза - приобретенный опыт разработки как схемотехники, так и монтажа :tea:
кстати, для удобства пользователя обычно применяется автоматический выбор пределов измерения со специальной позицией, отображающей размерность(множитель) измеряемой величины МГц/КГц/Гц :cry:
Последний раз редактировалось BOB51 Сб фев 11, 2012 16:27:28, всего редактировалось 1 раз.
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Vicont писал(а):или они там чисто условно?
Это инвертора..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Прорезались зубы
Аватара пользователя
Сообщения: 201
Зарегистрирован: Пт июл 25, 2008 14:09:04
Откуда: Зауралье

Сообщение Vicont »

МитяРа писал(а):Это инвертора..
т.е. их на 561ЛН2 заменить можно?
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Vicont писал(а):на 561ЛН2 заменить можно?
Теоретически - да..
Но на практике 7LED-индикаторы потребляют гораздо больше, тем более при динамической индикации, чем могут обеспечить микросхемы КМОП-стандартной логики..

Данная схема нарисована только для отработки схемы и программы в эмуляторе..
В "реальном" воплощении индикатор необходимо подключать через транзисторы и буфера..
Если конечно не используется какой нить АЛС318-й индикатор..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Они там чисто для симуляции. Чтобы правильно работал индикатор, ну нет в протеусе индикатора с логическим входом.

Я уже говорил, что применен индикатор с кассового аппарата. Там уже прямо на платке с индикаторами имеются транзисторные ключи. И сегмент и разряд выбираются лог.1, поэтому чтобы правильно горел индикатор в протеусе я и поставил инверторы первые попавшиеся. Хотя наверно не стоило - из-за них наверно возросла нагрузка на аналоговую часть симуляции.

В схеме нужен только ОДИН инвертор, от которого можно избавится разделив выводы сигналов загрузки в регистр и немного переделав программу.

Распределение сегментов тоже условное, их всегда можно в программе переназначить как это будет удобно для разводки на плате.
Ну и собственно не забываем про необходимость подключения кварцевого резонатора к микроконтроллеру по даташиту, и цепи сброса - для симулятора они не представляют интереса поэтому и не рисовал. Если в реальности не подключить цепь сброса - контроллер может сбрасываться от любого "шороха статики" рядом.

И еще одну вещь заметил - в питании стоит танталовый конденсатор, он не сразу разряжается на нем долго держится заряд порядка 1В, если в это время подать напряжение на контроллер он начинает "глючить", надо внимательно пересмотреть программу - где-то видимо есть место где предполагается наличие "0" в регистрах после сброса.
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 201
Зарегистрирован: Пт июл 25, 2008 14:09:04
Откуда: Зауралье

Сообщение Vicont »

Alexeyslav писал(а):ну нет в протеусе индикатора с логическим входом...
Протеус не одинок... :)
Alexeyslav писал(а):В схеме нужен только ОДИН инвертор, от которого можно избавится разделив выводы сигналов загрузки в регистр и немного переделав программу.
А какой смысл тогда в использовании регистров? Насколько я понимаю, их ставят для разгрузки портов МК. В данном случае требуется 6 каналов (4 на данные + 2 на управление), если убрать инвертор, надо уже 7 каналов (4+3). Может тогда уж и регистры убрать, и просто соединить 8 каналов МК с сегментами через буфер... :roll: свободные поры ведь есть...
Или это сильно усложнит программу? алгоритм ведь кардинально изменится...
Контактная информация:
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Не хватает портов. 16F628 имеет довольно мало выводов. 4 на управление надо будет, и 8 на сегменты. Но там если 8 выделить на сегменты остается свободным только 3 порта. 2 порта используется для счета импульсов! у ATtiny2313 все же побольше выводов, на нем уже можно будет реализовать такую схему без регистров. Да что там ... если не пожалеть и раскошелится на ATMEGA8 то можно реализовать частотомер даже без использования счетчика разрядов. Но это просто не спортивно :)

А если попробовать реализовать его на быстродействующей ПЛИС, то реально сделать частотомер до 500Мгц без предделителя на специальных высокоскоростных счетчиках.

Кстати, вот давно листал справочники и находил такую интересную отечественную микросхему как десятичный 10-разрядный счетчик с динамической индикацией. Там по сути это все было реализовано и счет и индикация - только простой схемой управления добавляй и будет счетчик-частотомер. Но увы, микросхема по старым технологиям и работает до 1МГц.
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Alexeyslav писал(а):Не хватает портов. 16F628 имеет довольно мало выводов.
Тут хватило:
http://www.radioamator.ru/publ/mikrokon ... 44-1-0-532

Vicont, эту сЦылку ты сам выкладывал на первой странице темы..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Прорезались зубы
Аватара пользователя
Сообщения: 201
Зарегистрирован: Пт июл 25, 2008 14:09:04
Откуда: Зауралье

Сообщение Vicont »

Alexeyslav писал(а):Не хватает портов. 16F628 имеет довольно мало выводов.
...если 8 выделить на сегменты остается свободным только 3 порта.
Ну у 16F628 - 14 портов (RA0-RA5 и RB0-RB7):
2 - счет импульсов;
2 - на ИЕ8 (счет + сброс);
8 - на сегменты.
2 - должны еще свободными остаться.
Alexeyslav писал(а):4 на управление надо будет
Всмысле, куда столька? :shock:
От силы 1 кнопка на сброс напрашивается... :dont_know:
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15704
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

так да не совсем... у PICов функционал по портам раскидан (в отличии от AVR&mcs51)
там 8 бит сегментов на RB0-RB7 при использовании Т/С1 выдать без лишних проблем программисту некоторый труд представит, а в другом случае разводка печатки не слишком удачна будет.
наиболее удобен вариант с PICом в качестве обработчика входного сигнала и управления предделителями на спецмикросхемах, а в качестве матобработчика и контроллера клавиатуры/дисплея использовать ATtiny2313 :beer:
Прорезались зубы
Аватара пользователя
Сообщения: 201
Зарегистрирован: Пт июл 25, 2008 14:09:04
Откуда: Зауралье

Сообщение Vicont »

BOB51 писал(а):у PICов функционал по портам раскидан (в отличии от AVR&mcs51)
там 8 бит сегментов на RB0-RB7 при использовании Т/С1 выдать без лишних проблем программисту некоторый труд представит...
Правда? Пока я в такие тонкости еще не вникал... :facepalm:
Просто я встречал во многих устройствах на PIC16F628 подключение сегментов индикатора напрямую к порту В.
К примеру этот простой термометр, с ним даже исходники есть, возможно они помогут...
BOB51 писал(а):в другом случае разводка печатки не слишком удачна будет....
Это можно пережить. :)
Контактная информация:
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Конечно порт B можно использовать под сегменты, но проблема в том что вход таймера/счетчика под номером 1 находится аккурат на этом порту. Используя его как вход, сегменты на этот порт уже не подключишь все - надо будет выводить отдельный сегмент через другой порт. А это уже программный изврат нужен и т.д. и т.п.
Контактная информация:
Ответить

Вернуться в «Цифровая техника»