Самодельные электронные часы, элементная база — часть 1, измерение времени / Хабр
Наверное, каждый гик, увлекающийся самодельной электроникой, рано или поздно приходит к идее сделать свои, уникальные, часы. Идея вполне неплоха, разберемся как и на чем их лучше сделать. В качестве отправной точки будем считать, что человек умеет программировать микроконтроллеры, понимает как переслать 2 байта по i2c или serial-порту, и может спаять вместе несколько проводов. В принципе, этого достаточно.Понятно, что ключевая функция часов — измерение времени (кто бы подумал, да?). И делать это желательно максимально точно, здесь есть несколько вариантов и подводных камней.
Итак, какие доступные в «железе» способы измерения времени мы можем использовать?
Встроенный RC-генератор процессора
Самая простая идея, которая может придти в голову — это просто настроить программный таймер, и им отсчитывать секунды. Так вот, эта идея никуда не годится. Часы-то работать конечно будут, только вот точность встроенного генератора никак не регламентируется, и может «плавать» в пределах 10% от номинала. Вряд ли кому-то нужны часы, уходящие в месяц на 15 минут.
Модуль реального времени DS1307
Схема из даташита:
Что не менее важно, микросхема выпускается в DIP-корпусе, значит припаять ее может любой начинающий радиолюбитель. Встроенная батарейка обеспечивает работу часов, даже если питание было отключено.
Казалось бы, все хорошо, если бы не одна проблема — невысокая точность. Примерная точность часовых кварцев — 20-30ppm. Обозначение ppm — parts per million, показывает число миллионных долей. Казалось бы, 20миллионных — это супер, однако для частоты в 32768Гц получается 20*32768/1000000 = ±0,65536Гц, т.е. уже полгерца. Путем несложных подсчетов видно, что генератор с такой разницей за сутки «натикает» лишних (или недостающих) 56тыс тактов, что соответствует 2 секундам в день. Кварцы бывают разные, некоторые пользователи писали и об ошибке в 5 секунд в день. Как-то не очень точно — за месяц такие часы уйдут как минимум, на минуту. Это уже приличная разница, заметная невооруженным глазом (когда любимый сериал бабушки начинается в 11.00, а часы показывают 11.05, разработчику таких часов перед родственниками будет неудобно).
Впрочем, поскольку температура в помещении более-менее стабильна, и частота кварца не будет сильно меняться, можно добавить программную коррекцию. Другой совет, даваемый на форумах, использовать часовой кварц от старых материнских плат, по отзывам, они там довольно точные.
Модуль реального времени DS3231
Мы не первые, кто задался вопросом точности, и компания Dallas пойдя навстречу пожеланиям, выпустила более совершенный модуль — DS3231. Он называется «Extremely Accurate Real Time Clock», имеет встроенный генератор с температурной коррекцией. Точность в 10 раз выше, и составляет 2ppm. Цена вопроса чуть повыше, но корпус микросхемы рассчитан под SMD-монтаж, паять не так удобно, зато можно купить на ебее готовую плату.
(фото с сайта продавца)
Точность в 6 секунд в месяц, это уже неплохой результат. Но мы пойдем дальше — в идеале, часы в 21 веке вообще не нужно подстраивать.
Радиомодуль DCF-77
Метод скорее экзотический, но для полноты картины его нельзя не упомянуть. Немногие знают, но сигналы точного времени передаются по радио еще с 70х годов. Передатчик DCF-77 расположен в Германии недалеко от Франкфурта, и на СДВ-частоте 77.5КГц передаются метки точного времени (да, у них уже 20 лет назад были настенные и настольные часы, которые не надо подстраивать).
Способ хорош тем, что схема имеет малое энергопотребление, так что сейчас производятся даже наручные часы с такой технологией. Готовую плату приема DCF-77 можно купить на ebay, цена вопроса 20$.
Многие часы и метеостанции имеют возможность приема DCF-77, проблема лишь в том, что до России сигнал практически не доходит. Карта покрытия с Википедии:
Как можно видеть, лишь Москва и Питер находятся на границе зоны приема. По отзывам владельцев, лишь иногда сигнал удается принять, что для практического применения конечно, не годится.
GPS-модуль
Если часы будут стоять недалеко от окна, то вполне реальный метод получения точного времени — GPS-модуль. Эти модули можно недорого купить на ebay (цена вопроса 10-15$). Например, Ublox NEO-6M, подключается напрямую к serial-пинам процессора, и выдает строки NMEA на скорости 9600.
Данные приходят примерно в таком формате » $GPRMC,040302.663,A,3939.7,N,10506.6,W,0.27,358.86,200804,,*1A», и распарсить их даже для слабой Arduino труда не составляет. Патриоты кстати, могут приобрести более дорогой модуль Ublox NEO-7N, поддерживающий (по отзывам) как GPS так и «Глонасс».
Очевидно, что про разные часовые пояса GPS-модуль ничего не знает, так что их вычисление и смену летнего/зимнего времени, разработчику придется продумать самому. Другой минус использования GPS — относительно высокое энергопотребление (впрочем, некоторые модули можно отдельными командами переводить в «спящий режим»).
Wi-Fi
И наконец, последний (и самый очевидный на сегодняшний момент), способ получения точного времени — это брать его из Интернета. Здесь есть два подхода. Первый, и наиболее простой — использовать в качестве платы часов что-то типа Raspberry PI с Линуксом, тогда делать ничего не надо, все будет работать «из коробки». Если же хочется «экзотики» — то самым интересным вариантом является модуль esp8266.
Это недорогой (цена вопроса около 200р на ebay) WiFi-модуль может обмениваться с сервером по serial-порту процессора, при желании его можно также перепрошить (сторонних прошивок довольно много), и часть логики (например опрос сервера времени) сделать в самом модуле. Сторонними прошивками поддерживается куча всего, от Lua до C++, так что вариантов «размять мозги» вполне достаточно.
На этом тему измерения времени наверно можно закрыть. В следующей части мы поподробнее рассмотрим процессоры, и способы вывода времени.
ЧАСЫ ИЗ ВИДЕОМАГНИТОФОНА
Задача: сделать чтоб в комнате были часы. И вроде валяется в коробке несколько штук, китайских, но не всё тут просто… Одни на батарейках (довольно прожорливые), другие с ЖК индикатором (не видно постоянно в темноте), третьи громко тикают (настенные кварцевые), у четвёртых цифры на дисплее маленькие (как у того калькулятора), а пятые просто не нравятся.
Теперь решение: не тратя ни копейки денег получить красивые светящиеся электронные часы, с достаточно большим экраном. Да, и ещё желательно малыми силами.
Для этого как раз подошёл модуль индикации от старого советского видеомагнитофона Электроника ВМ-12 (которых лежит аж 3 штуки). Просто нужно подать питание на нужные контакты разъёма. Так как с ним дел ещё не имел, взялся за сбор информации по сабжу:
Варианты схем подключения часов
Часы-таймер в видеомагнитофоне Электроника ВМ-12 предназначались для включения и выключения записи в установленное время, а также для отображения текущего времени с помощью вакуумно-люминесцентного индикатора ИЛМ1-7Л.
Опорный генератор выполнен на микросхеме D2, с 5 вывода которой выходят импульсы 50 герц. Усиливаясь транзистором, они поступают на вход микросхемы D1 — КР1005ВИ1.
Установка времени на часах: установить переключатель SA1 в режим «установка времени», затем соответствующими кнопками установить день недели, часы и минуты. SA1 вернуть в положение «время».
Установка таймера на включение: SA1 перевести в положение «программа», SA2 — в положение «вкл». Кнопками установить день недели и время.
Установка таймера на выключение: SA1 установить в положение «программа», SA2 — в положение «выкл». Аналогично, кнопками установить день недели и время выключения. SA1 вернуть в положение «время».
Модулю часов от видеомагнитофона Электроника ВМ-12 требуется три напряжения питания:
- отрицательное, -13 вольт для питания индикаторов
- положительное, +18 вольт для питания процессора
- переменное, ~3 вольта для питания накала индикатора
Цепь смещения VD15-R19 нужна для надёжного гашения сегментов ИЛМ1-7Л. Разъём XP2 служит для подключения конденсатора 4700 мкФ, который нужен для сохранения времени при кратковременных перепадах напряжения (иногда вместо него ставят аккумулятор).
Ещё есть кнопка Таймер — рядом с кнопкой питания. При нажатой кнопке Таймер зажигается светодиод и магнитофон засыпает, чтобы проснуться по таймеру, сделать запись и снова уснуть. Другие органы управления при этом блокируются.
Установка текущего времени
Выключатель ТАЙМЕР — в положение ВЫКЛ. Переключатель УВ-ВРЕМЯ-ПРОГРАММА — в положение УВ. Установить время кнопками ДЕНЬ, ЧАС, МИНУТЫ. Переключатель УВ-ВРЕМЯ-ПРОГРАММА — в положение ВРЕМЯ. Часы стартуют с установленного времени.
Программирование таймера на 14 дней вперёд. Исходное состояние: текущее время установлено, СЕТЬ — ВКЛ, таймер (кнопка рядом с кнопкой СЕТЬ) — ВЫКЛ. Установить УВ-ВРЕМЯ-ПРОГРАММА — в положение ПРОГРАММА. Мигают точки и надпись ВКЛ. Движок переключателя ВКЛ-ВЫКЛ в положение ВКЛ и отпустить. Высветятся надпись ВКЛ, цифры с указанием текущего времени и знак «I», обозначающий первую неделю.
Установить нажатием кнопки ДЕНЬ нужный для записи день. Знак «II» обозначает вторую неделю. Для ежедневной записи в одно время нажимать кнопку ДЕНЬ пока не высветятся все надписи дней. Установить время начала записи кнопками ЧАС и МИНУТЫ. Движок переключателя ВКЛ-ВЫКЛ в положение ВЫКЛ и отпустить. Высветятся надпись ВЫКЛ, цифры с указанием времени включения. Установить время выключения кнопками ЧАС и МИНУТЫ. Установить переключатель УВ-ВРЕМЯ-ПРОГРАММА в положение ВРЕМЯ.
Проверка установленного времени таймера производится переводом переключателя ВКЛ-ВЫКЛ в положение ВКЛ и его отпусканием. На табло будет показано время включения и выключения.
Подключение платы часов на ВЛИ
С теорией понятно, переходим к практике. К пластмассе, да и к металлу тоже, люди успели выработать чуть ли не отвращение — за что ни возьмись, везде пластмассовые чёрные коробки — скучно. Вот дерево — это другое дело. Красиво, экологично, надёжно. А ещё лучше сделать вообще бескорпусные часы, так как в детстве многие любили разглядывать начинку всяких девайсов — вот пусть ничто не мешает им это делать.
Основа — ДСП. Выпиливается от обрезков чего-то давно валяющегося на балконе.
На неё прикручивается гнездо ввода шнура питания 220 В, трансформатора 24 В с 8 В для накала, платы стабилизатора 3-х нужных напряжений и самого модуля часов на ВЛИ.
Дальше дело паяния — по-соединять между собой проводами все элементы и тщательно (корпус ведь будет открытый) заизолировать сеть.
Часы стартанули с первого раза, только вначале забыл подать +18 В на контакт активации XP1-2 и на экране просто мигали нули, никак не реагируя на попытки выставить время.
Можно конечно на индикатор поставить зеленый светофильтр из оргстекла, но в принципе итак показывает нормально.
Вот такой получился прикольный девайс, а чтобы нагляднее увидеть его «прикольность» — посмотрите небольшое видео.
Видео работы часов
Если понравилось — ставьте лайк, подписывайтесь на канал, шлите донаты, регистрируйтесь на форуме и вступайте в нашу партию))
Форум по часам на ВЛИ
Обсудить статью ЧАСЫ ИЗ ВИДЕОМАГНИТОФОНА
Показать содержимое по тегу: часы
В теме рассмотрены электронные говорящие часы, в схеме которых секундные, минутные и часовые импульсы формируют счетчики К176ИЕ12, а в качестве носителей речевой информации применяются чипкордеры ISD17240PY. На корпусе часов установлены кнопки – для настройки в ходе эксплуатации, переменный резистор – для регулирования громкости сообщений времени, три разноцветных светодиодных индикатора — для контроля секундных, минутных и часовых импульсов. Часы получают питание от сетевого источника питания, а в отсутствие напряжения сети – от резервной батареи.
Для просмотра схем в хорошем качестве, наведите курсор мышки на схему или картинку и нажмите на нее левой клавишей
Также приводятся схемы примочек, повышающих удобство пользования часами. Часы сообщат время после нажатия на кнопку пульта дистанционного управления бытовой аппаратурой или автоматически через задаваемые переключателями интервалы времени. Часы разработаны для использования в гараже.
Сообщения записываются через электретный микрофон и сохраняются в энергонезависимой памяти чипкордеров. В первом чипкордере – фразы с часовыми метками, во втором – с минутными.
На РИС.1 показана схема для записи сообщений:
Схема является фрагментом типовой схемы включения, приводимой в даташите на чипкордеры ISD 17-той серии. Тут же дана шпаргалка по управлению режимами стирания, записи и проверки сообщений. Включение электретного микрофона ВМ1 показано для случая, когда схема получает питание от одной «квадратной» батарейки или от трех «круглых» с напряжением Uпит=4,5V. Когда кнопка SB2 «ЗАПИСЬ» не нажата, микрофон отключен от питания. Потребляемый ток от батареи определяется только чипкордером и составляет не более Iпотр=1мкА. Если схему запитать от стабилизированного источника с Uвых=5V, то нижний вывод R2 можно подключить к общему проводу. В этом случае основной потребляемый ток будет определяться микрофонной цепью. Элементы R3 и С1 – фильтр питания микрофонной цепи. Микрофон BM1 подключен к входам MIC+ и MIC- чипкордера DD1 по дифференциальной схеме через разделительные конденсаторы С2 и С3. Конденсатор С4, подключенный к входу AGC определяет АРУ записи, а резистор R4, подключенный к входу Rosc, задает тактовую частоту работы чипкордера и, следовательно, определяет ширину частотного диапазона, а также суммарное время записи/воспроизведения. В табличке указана зависимость этих показателей от номинала R4. К выходам УМЗЧ SP+ и SP — подключен динамик с Rобм=8 Ом. После подключения к источнику напряжения питание поступает на выводы Vccd и Vssd – входы питания цифровых узлов чипкордера, на выводы Vcca и Vssa – входы питания аналоговых узлов, на выводы Vccp, Vssp1 и Vssp2 – входы питания УМЗЧ класса «D». Конденсаторы, подключенные к этим выводам, осуществляют дополнительную фильтрацию Uпит для улучшения коэффициента отношения сигнал/шум. С подачей питания внутренний маркер адресного пространства чипкордера DD1 автоматически устанавливается в начало последнего сообщения (если были записаны сообщения), поэтому, если нажать кнопку SB3 «ПРОВЕРКА», то первым проиграется последнее сообщение. Светодиод HL1, подключенный в выходу LED через ограничивающий ток R6=0,4…1КОм, является индикатором режимов работы. Так, например, в режиме «ЗАПИСЬ» он постоянно светится, пока нажата кнопка SB2, в режиме «ВОСПРОИЗВЕДЕНИЕ» мигает, пока проигрывается сообщение или вспыхивает два раза перед воспроизведением первого сообщения и один раз перед последующими. Подробности работы индикатора можно посмотреть в даташите. Вывод AUD/AUX представляет собой выход тока, поэтому, для получения стандартного аудиосигнала, к выходу подключают резистор сопротивлением R7=390…470 Ом. Выход всегда выключен и активируется при поступлении управляющих сигналов на входы PLAY или FT (вывод 22DD1 на схеме не показан). В этом случае на выходе появляется постоянное напряжение с уровнем U=1,2V при R7=390 Ом (U=2,0V при R7=470 Ом), преобразуемое в переменное c размахом U=1,2Vp-p воспроизводимого сигнала, либо звукового сигнала, подаваемого на вход ANA IN (вывод 9DD1 на схеме не показан). Конденсатор С11 устраняет высокочастотные всплески сигнала. Выход INT/RDY – статусный и представляет собой «открытый сток». Значение выхода принимает низкий уровень напряжения в любом режиме работы чипкордера, кроме случая подачи управляющего сигнала на вход RESET (вывод 3DD1 на схеме не показан). Все входы кнопочного управления внутри чипкордера имеют схему подавления дребезга и подтянуты к цифровой шине питания резисторами R=600Ком, поэтому на этих входах «дежурит» высокий уровень напряжения.
На ФОТО показана плата для записи с установленными элементами:
Используется готовая заводская плата с перфорацией. Монтаж произведен проводом МГТФ минимального сечения со стороны выводов деталей. На плате установлены кнопки, электретный микрофон, светодиод и панелька для смены чипкордеров. Далее плата использовалась для макетирования схемы часов, поэтому на ней были установлены дополнительные кнопки и элементы.
Сначала в панельку устанавливают первый чипкордер и записывают фразы с часовыми метками. После записи и проверки первый чипкордер из панельки извлекают и устанавливают второй. Аналогично записывают и проверяют фразы с минутными метками.
Для примера на РИС.2 приведены таблицы с фразами записываемых сообщений:
Может показаться утомительным, записать 24 фразы с метками часов и 60 фраз с минутными метками. На самом деле, процесс записи занимает меньше времени, чем я рисовал эти таблицы – нажал кнопку/сказал фразу/отпустил кнопку. Немного дольше займется времени, если перед фразами с часовыми метками записывать звуковые эффекты, но, тогда воспроизводимые сообщения текущего времени станут более интересными и оригинальными. В простом случае – это коротенькие рингтоны входящих SMS-ок, которые хранятся в памяти сотовых телефонов. Запись звукового эффекта, а затем фразы с меткой часов должна происходить в одно нажатие кнопки SB2, т.е. представлять собой единый записываемый фрагмент. Любые другие звуковые эффекты, например, музыкальные отрывки или прикольные речевые сообщения можно записать не только перед фразами с метками часов, но и после фраз с минутными метками. Следует предварительно просчитать необходимое время записи/воспроизведения и подключить к входу Rosc чипкордера резистор с соответствующим сопротивлением.
Итак, оба чипкордера содержат сообщения. Проверены правильная последовательность и качество записи. Теперь можно приступить к макетированию, которое поможет оптимизировать схемное решение и выявит недочеты, могущие возникнуть при дальнейшей эксплуатации часов.
На РИС.3 показана базовая (экспериментальная) схема говорящих часов:
Источником напряжения Uпит=5V является классическая схема, выполненная на линейном стабилизаторе DA1 типа 7805 (КP142ЕН5А). Вторичная обмотка трансформатора Т1 должна обеспечивать номинальный ток не менее Iвых=250мА. При подаче напряжения на схему стекающим током с входов RESET чипкордеров DD5 и DD6 заряжаются конденсаторы С5 и С14. Входы RESET объединены, поэтому, в первом приближении можно считать, что конденсатор с емкостью Собщ=С5+С14=300nF заряжается через резистор с сопротивлением Rобщ=300Ком, подключенный к Uпит. Пока заряжаются конденсаторы на входах 6, 8 и 12, 13 микросхемы DD4, а также на входе 8DD2.4 и входах 3DD5 и 3DD6 удерживается низкий уровень напряжения. С выхода 11DD4.4 лог.1 поступает на вход 9DD3 и через диод VD1 на входы 9,5DD1. Счетчики DD1 и DD3 устанавливаются в исходное состояние, а маркер адреса чипкордеров DD5 и DD6 перемещается в начало последних сообщений («НОЛЬ ЧАСОВ» и «РОВНО» соответственно). При достижении напряжением на С5 и С14 порогового уровня для входов 12,13DD4.4 выход 11DD4.4 переключается в лог.0 и работа счетчиков DD1 и DD3 разрешается. При этом на входах RESET, FWD и PLAY обоих чипкордеров постоянно присутствует напряжение высокого уровня. На входе FT чипкордера DD6 также высокий уровень с выхода 11DD2.3. На выходе 4DD1 формируются импульсы с частотой F=1Гц, которые поступают на вход 7DD1 и на затвор транзистора — усилитель тока VT1. Светодиод HL2 «СЕКУНДЫ» мигает в такт с секундными импульсами, индицируя ход часов. На выходе 10DD1 формируются импульсы с периодом, равным одной минуте (Т=60сек). Этот период состоит из двух полупериодов (Т=Т1+Т2). Первый полупериод – уровень лог.0 длительностью Т1=39сек, после чего выход 10DD1 принимает значение лог.1. Конденсатор С3 быстро разрядится через VD3 и выход 10DD1. Второй полупериод – уровень лог.1, который длится Т2=20сек, после чего выход 10DD1 вновь примет значение лог.0. Конденсатор С3 зарядится через R6, при этом на выходе 4DD2.2 сформируется импульс с уровнем лог.1 и длительностью не более Т=0,1сек. Этот импульс поступит на тактовый вход 7DD3 и, будучи проинвертированным элементом DD4.3, на вход FWD чипкордера DD6. В чипкордере маркер адреса переместится в начало первого сообщения «ОДНА МИНУТА». Светодиод HL3 «МИНУТЫ» вспыхнет два раза, указывая на первое сообщение (начало блока памяти). Аналогично схема будет работать и для следующих минутных импульсов: счетчик DD3 будет их подсчитывать, а маркер адресного пространства DD6 будет перемещаться в начало следующих по очереди сообщений «ДВЕ МИНУТЫ», «ТРИ МИНУТЫ», «ЧЕТЫРЕ МИНУТЫ» и т.д. Светодиод HL3 со второго по шестидесятое сообщение вспыхивает один раз. По истечении 59-той минуты дифференцирующая цепь С10-R10 на выходе 4DD4.2 сформирует импульс с уровнем лог.0. Этот импульс поступит на вход FWD чипкордера DD5 и маркер адреса переместится в начало первого сообщения «ОДИН ЧАС». Светодиод HL1 «ЧАСЫ» вспыхнет два раза. Это произойдет одновременно с приходом на вход FWD чипкордера DD6 шестидесятого импульса, поэтому через час работы маркер адреса DD5 будет указывать на первое сообщение, а маркер адреса DD6 – на последнее («ОДИН ЧАС» и «РОВНО» соответственно).
Собственно, идея работы часов в этом и заключается – по минутным и часовым импульсам перебирать сообщения в чипкордерах или, выражаясь технически, синхронизировать работу счетчиков и чипкордеров сигналами FWD. Теперь, при желании узнать текущее время, достаточно включить режим последовательного воспроизведения. Чипкордеры по очереди воспроизведут сообщения, на которые в данный момент времени указывают маркеры их адресного пространства – первым прозвучит сообщение часов, вторым – сообщение минут. Для сообщения правильного времени часы предварительно нужно установить.
УСТАНОВКА МИНУТ:
Для этого нажимают и удерживают кнопку SB2 «УСТАНОВКА МИНУТ». Через замкнутые контакты кнопки, диод VD6 и резистор R13 напряжение питания поступит на вход 9DD2.4, а так как на входе 8DD2.4 высокий уровень напряжения с входа 3DD6, то выход 10DD2.4 примет значение лог.0. Этот сигнал поступит на вход PLAY и чипкордер DD6 активируется в режиме воспроизведения. Через время не менее Т=0,3 сек., определяемое зарядом С4 через R5, на вход 2DD2.1 поступит высокий уровень напряжения. Уровень лог.1 на выходе 3DD2.1 сменится импульсами с частотой F=1Гц, которые через элемент DD2.2 начнут поступать на тактовый вход 7DD3 и через элемент DD4.3 на вход FWD чипкордера DD6. Фактически происходит процесс, схожий с «обычным ходом» часов, только чипкордер в режиме воспроизведения, а на вход FWD поступают не минутные, а секундные импульсы, при этом светодиод HL3 часто вспыхивает. Кнопку SB2 отпускают в момент воспроизведения фразы с минутной меткой, соответствующей минутам текущего времени. Конденсатор С4 быстро разрядится через VD2 и R4 – секундные импульсы перестанут поступать на тактовый вход 7DD3 и выбранное сообщение полностью воспроизведется. В результате в счетчик DD3 занесено нужное число минут, а в чипкордере DD6 маркер указывает на соответствующее этому числу сообщение.
УСТАНОВКА ЧАСОВ:
Для этого нажимают и удерживают кнопку SB3 «ВРЕМЯ/УСТАНОВКА ЧАСОВ». На входе PLAY появляется низкий уровень напряжения, и чипкордер DD5 активируется в режиме воспроизведения. Кнопка SB3 удерживается нажатой, поэтому последовательно воспроизводятся все сообщения, записанные в чипкордер. На выходе 15DD5 во время каждого воспроизводимого сообщения возникает ШИМ-сигнал, который диодом VD4 и конденсатором С11 преобразуется в напряжение высокого уровня (сигнал с уровнем лог.1). Этот сигнал инвертируется элементом DD2.3 и на входе FT чипкордера DD6 появляется напряжение с уровнем лог.0. Внутри чипкордера сформируется «сквозной канал» — вход ANA IN соединится с УМЗЧ. Аналоговый сигнал с выхода AUD/AUX чипкордера DD5 через разделительный конденсатор С15 поступает на вход ANA IN чипкордера DD6, в котором усиливается и воспроизводится динамиком BF1. Подстроечным резистором R11 устанавливают уровень громкости воспроизведения часовых меток так, чтобы он был сопоставим с уровнем громкости воспроизведения минутных меток. Так как сигнал с уровнем лог.0 на выходе 11DD2.3 присутствует только во время воспроизведения сообщения, то по окончанию воспроизведения сигнал с уровнем лог.1 через дифцепочку C12-R12 приводил бы к несанкционированному запуску чипкордера DD6 в режиме воспроизведения. При нажатой кнопке SB3 открытый диод VD7 шунтирует вход 9DD2.4, удерживая на входе PLAY чипкордера DD6 высокий уровень напряжения. Когда воспроизводимое сообщение с фразой часов будет соответствовать часам текущего времени, кнопку SB3 отпускают, при этом диод VD7 закрывается. Выбранное сообщение воспроизведется до конца. На выходе 11DD2.3 появится уровень лог.1, который дифцепью C12-R12 преобразуется в импульс с длительностью не более Т=0,1сек. Элемент DD2.4 проинвертирует этот импульс и чипкордер DD6 воспроизведет сообщение с фразой текущих минут. Таким образом, после установки часов дополнительно звучит сообщение о минутах.
КОРРЕКЦИЯ СЕКУНД:
Секунды корректируют по сигналам точного времени кнопкой SB1 «КОРРЕКЦИЯ СЕКУНД». Так как на выходе 4DD1 уровень лог.1 появляется сразу после отпускания кнопки SB1 (особенность или недостаток счетчиков К176ИЕ12), то отпускать кнопку следует спустя секунду после шестого сигнала точного времени. Если текущее состояние счетчика секунд DD1 соответствует промежутку от 00 до 39 секунд, то обнуление этого счетчика не изменит состояние счетчика минут DD3. Если состояние счетчика DD1 соответствует промежутку от 40 до 59 секунд, то обнуление этого счетчика увеличит содержимое счетчика DD3 на одну минуту.
УЗНАТЬ ТЕКУЩЕЕ ВРЕМЯ:
Чтобы прослушать сообщение о текущем времени, кратковременно нажимают кнопку SB3. Чипкордер DD5 начинает воспроизводить сообщение о текущих часах и светодиод HL1 «ЧАСЫ» мигает. Конденсатор С12 быстро разряжается через VD6, R4 и выход 11DD2.3, на котором во время режима воспроизведения DD5 уровень лог.0. По окончании воспроизведения сообщения чипкордером DD5 на выходе 11DD2.3 появляется уровень лог.1. Конденсатор С12 зарядится через резистор R12 и на входе PLAY чипкордера DD6 сформируется импульс с уровнем лог.0. Теперь в режиме воспроизведения активируется чипкордер DD6 и звучит сообщение о текущих минутах, при этом светодиод HL3 «МИНУТЫ» мигает.
На ФОТО показаны фрагменты макетирования часов:
В процессе макетирования выяснилось:
1. Установка минут происходит под управлением секундных импульсов на входе FWD чипкордера DD6. Точнее — под управлением полупериодов этих импульсов с уровнем лог.0 и длительностью Т=0,5сек. Следовательно, воспроизведение длится вторую половину секундных импульсов — во время полупериодов с уровнем лог.1 и длительностью также Т=0,5сек. Это значит, что времени на воспроизведение полной фразы с минутной меткой не хватает. Например, фразы с единицами минут звучат без слова «минут»: одна минута – «ОДНА МИ…», две минуты – «ДВЕ МИ…». Фразы с десятками минут звучат так, например: девятнадцать минут – «ДЕВЯТНА…», двадцать одна минута – «ДВАДЦАТЬ…».
2. Установка часов, в отличие от установки минут, происходит без управляющих импульсов на входе FWD, поэтому фразы с часовыми метками воспроизводятся полностью. Но, тогда на установку часов затрачивается больше времени. Особенно это становится заметным, если перед фразами были записаны звуковые эффекты.
3. Обнаружилась одна неприятность. Предположим, состояние счетчиков DD1, DD3 и чипкордеров DD5, DD6 соответствует текущему времени 1час 23мин 59сек. Случайно или специально в этот момент кратковременно нажимают кнопку SB3 для сообщения времени. Чипкордер DD5 воспроизводит сообщение «ОДИН ЧАС», которое длится одну секунду. По окончании этого сообщения должен включиться чипкордер DD6 для воспроизведения минут, но с выхода 4DD1 на вход 7DD1 приходит очередной секундный импульс. Выход 10DD1 переключится в лог.0 и на входе FWD чипкордера DD6 сформируется управляющий импульс одновременно (или немного раньше) с управляющим сигналом на входе PLAY. Получаем «конфликт» и воспроизведение сообщения с фразой минут блокируется (смотри пункт 3 «ОСОБЕННОСТИ КНОПОЧНОГО УПРАВЛЕНИЯ» на РИС.1).
4. Следует предусмотреть настройку точности хода часов.
5. Прежде чем выйти из гаража и закрыть его, сеть ~220V обесточивают – выключают вводной автомат. Чтобы часы продолжали работать, следует добавить резервный источник питания.
6. В гаражных условиях эксплуатации часов, возможно, понадобится увеличенная звуковая мощность сообщений текущего времени.
Схема говорящих часов, показанная на РИС.4, учитывает перечисленные выше недостатки и обеспечивает увеличенную звуковую мощность сообщений времени:
В этой схеме источником питания усилителя мощности DA2 служит адаптер (или самодельный БП) с выходным напряжением Uвых=8…12V и номинальным током не менее Iвых=1А. Далее напряжение понижается до величины Uвых=5V и стабилизируется микросхемой DA1 типа 78L05. Это напряжение используется для питания схемы часов и светодиодов HL1-HL3. Источник резервного питания – батарея GB1, составленная из трёх последовательно включенных элементов типоразмера «ААА» (мизинчиковые) с Uобщ=4,5V. Батарея соединяется с плюсовой шиной «а» через диод VD11 типа 1N5819. Применение диода с барьером Шоттки обусловлено малым падением напряжения — не более Uпрямое=0,15V. Диод заперт, когда питание поступает от сетевого источника. При отсутствии сетевого питания диод открывается, подключая батарею. Диод VD10 препятствует попаданию напряжения батареи на выход стабилизатора и на аноды светодиодов.
Вместо DA2 можно применить любой подходящий УНЧ, но предпочтение отдано микросхеме мостового УМЗЧ типа TDA7056. Во-первых, эта микросхема работает в широком диапазоне питающих напряжений Uпит=3…18V (Uном=11V), во-вторых, отдает приличную выходную мощность (P=3W) при отсутствии внешних элементов коррекции. Выходы AUD/AUX чипкордеров DD5 и DD6 объединены и нагружены на переменный резистор R19, которым регулируют громкость воспроизведения. С движка резистора через разделительный конденсатор С21 сигналы сообщений часов и минут поступают на вход 3DA2 и усиливаются.
Между входами Rosc и PLAY обоих чипкордеров включены диодно-резисторные цепочки R7-VD3 и R14-VD9. При нажатии и удержании кнопок SB2 или SB3 развязывающие диоды соответственно VD9 или VD3 открываются, подключая к входам Rosc дополнительные резисторы, соответственно R14 или R7. В результате скорость воспроизведения увеличивается примерно в два раза. Теперь, во время установки минут, фразы с единицами и десятками минут будут успевать воспроизводиться полностью, а на установку часов будет затрачено меньше времени.
Параллельно конденсатору С2 подключен подстроечный конденсатор С3 для настройки точности хода часов.
В схеме появилась кнопка SB4 «ОБЩИЙ СБРОС». Она не обязательна, но может пригодиться при установке минут. Например, текущее время 15часов 12минут. Кнопку SB2 не успели отпустить при воспроизведении фразы «ДВЕНАДЦАТЬ МИНУТ» и чипкордер DD6 выдал сообщение с фразой «ТРИНАДЦАТЬ МИНУТ». Чтобы не прогонять по кругу все сообщения минут, достаточно нажать кнопку SB4 (светодиод HL2 перестанет мигать и погаснет), после чего кнопкой SB2 возобновить установку минут с сообщения «РОВНО».
Добавленные в схему элементы VT1, С13, R12 и VD7 минимизируют вероятность одновременного появления управляющих сигналов на входах FWD и PLAY чипкордера DD6. В исходном состоянии (между минутными импульсами) конденсатор С13 заряжен через R12 от напряжения лог.1 с выхода 10DD4.3. Транзистор VT1 открыт и верхний вывод резистора R10 подключен к общему проводу схемы. С каждым минутным импульсом на выходе 10DD4.3 появляется импульс с уровнем лог.0, который через VD7 быстро разряжает С13, закрывая VT1. После того, как чипкордер DD5 закончил воспроизведение сообщения, конденсатор С12 должен разрядиться через R10. Если в этот момент пришел управляющий импульс на вход FWD, то конденсатор С12 будет удерживать высокий уровень напряжения на входе 13DD2.3, т.к. транзистор VT1 закрыт и резистор R10 отключен от общего провода схемы. По мере заряда конденсатора С13 через R12 транзистор VT1 открывается, подключая R10 к общему проводу. Таким образом, управляющий сигнал на входе 23DD6 появится позже сигнала на входе 26DD6 и воспроизведение фразы с минутами не заблокируется. Сообщение о минутах прозвучит через Т=2,5…3сек. после сообщения о часах.
При обкатке схемы обнаружилось еще одно недоразумение. Предположим, текущее время 1час 59мин 59сек. После кратковременного нажатия на кнопку SB3 для воспроизведения времени, чипкордер DD5 выдает сообщение «ОДИН ЧАС», которое длится одну секунду. По окончанию сообщения приходит очередной секундный импульс и состояние счетчиков DD1 и DD3 изменяется. Одновременно на входах FWD чипкордеров DD5 и DD6 формируются управляющие импульсы, и маркеры адреса перемещаются в начало следующих сообщений – в DD5 маркер укажет на сообщение «ДВА ЧАСА», а в DD6 — на сообщение «РОВНО», которое начинает воспроизводиться. В итоге, вместо сообщения «ДВА ЧАСА РОВНО» прозвучит сообщение «ОДИН ЧАС РОВНО», что не соответствует действительности. Понятное дело, что вероятность совпадения момента нажатия кнопки SB3 и текущих минут и секунд (59мин и 59сек) мала и нужно специально «прицелиться» для получения такой комбинации. Поэтому, можно не заморачиваться на устранение этого недочета в работе часов, но, все-таки схема должна учитывать все нюансы при эксплуатации устройства.
Как сделать, чтобы часы всегда сообщали правильное время и могли это делать не только по команде от кнопки, расположенной на корпусе устройства, но и с кнопки пульта дистанционного управления, показано на РИС.5:
В этой схеме стабилизированное напряжение Uпит=5,1V формирует импульсный AC/DC адаптер с максимальным выходным током Iвых=1А. Напряжение от этого источника подается не только на УМЗЧ DA1 и светодиоды HL1 – HL3, но также поступает на микросхему ИК-приемника IR1 через фильтр питания R14-С14. Микросхема ИК-приемника (на корпусе отсутствует маркировка) извлечена из платы неисправного китайского напольного вентилятора «DELONY». Цоколевка этой микросхемы отличается от общепринятой цоколевки ИК-приемников, выпускаемых известными фирмами:
С вывода OUT ИК-приемника выходной сигнал проходит через фильтр R12-С13 и поступает на тактовый вход 3DD7.2. Без фильтра наблюдались произвольные воспроизведения сообщений времени при включении ламп дневного света, расположенных на потолке гаража. После фильтра выходной сигнал изменяет форму (R12+С13 — интегрирующая цепь) и не доходит до уровня лог.0, но опускается ниже уровня Uпорог=2,5V. Через резисторы R16 и R18 конденсатор С16 заряжен до Uпит, поэтому на входе 5DD7.2 присутствует высокий логический уровень. При появлении сигнала от ИК-приемника триггер переключается и на его выходе 2DD7.2 появляется лог.0, а на выходе 1DD7.2 – лог.1 Элементы С18 и R24 превращают триггер в одновибратор, постоянная времени которого зависит от времени заряда С18 через R24 и не превышает Т=0,1сек. Импульс с уровнем лог.0 проходит через диод VD17 и поступает на вход PLAY чипкордера DD5. Часы воспроизводят сообщение о текущем времени. Диод VD17 устраняет короткое замыкание выхода 2DD7.2 при нажатии кнопки SB3, а диод VD16 ускоряет разряд С18 после возвращения триггера в исходное состояние. Если на пульте ДУ удерживать кнопку нажатой, то следующее сообщение времени прозвучит только через секунду после окончания предыдущего. Это сделано следующим образом: используемые в этой схеме статусные выходы INT/RDY чипкордеров DD5 и DD6 объединены и во время воспроизведения через эти выходы и резистор R18 конденсатор С16 разряжается, удерживая на входе 5DD7.2 низкий уровень напряжения. По тактовым импульсам на входе 3DD7.2 в триггер будет постоянно записываться лог.0, следовательно, одновибратор переключаться не будет. По окончанию воспроизведения минут напряжение на С16 достигнет порогового уровня для входа 5DD7.2 только через 1…1,5 секунды. По этой же причине включить воспроизведение сообщения времени в момент прихода импульсов на входы FWD чипкордеров также не получится – выходы INT/RDY будут иметь низкий уровень и конденсатор С16 будет разряжен.
В схеме на РИС.4 кнопка SB3 «ВРЕМЯ/УСТАНОВКА ЧАСОВ» имеет больше техническое назначение — для установки часов. Например, если SB3 кратковременно нажать еще раз после начала воспроизведения фразы с часовой меткой, то воспроизведение остановится и начнется воспроизведение фразы с минутной меткой. В схеме на РИС.5 добавлена кнопка SB5 «ВРЕМЯ» (выделена синим цветом), которую при желании можно установить на корпусе часов. Воспроизведение сообщения времени начнется после нажатия и отпускания этой кнопки. Повторное нажатие и отпускание кнопки SB5 включит следующее сообщение времени только после окончания предыдущего.
Триггер DD7.1 и связанные с ним элементы решают одновременно две проблемки на которые указывалось выше. В исходном состоянии на входе 10DD7.1 – лог.1 с заряженного конденсатора С16, поэтому на выходе 12DD7.1 – лог.1, а на выходе 13DD7.1 – лог.0. Диоды VD4, VD12, VD13 и транзистор VT2 закрыты, конденсатор С17 заряжен через R20. На входе 10DD7.1 низкий уровень напряжения только в случаях появления сигналов на входах FWD чипкордеров DD5 и DD6 или когда чипкордеры находятся в режиме воспроизведения. Транзистор VT1 закрыт низким уровнем напряжения на затворе с резистора R4, поэтому на входе 9DD7.1 напряжение высокого уровня с резистора R15 (диод VD9 закрыт – на аноде и катоде высокие уровни напряжения). На тактовом входе 11DD7.1 формируются импульсы с уровнем лог.1 при каждом изменении состояния на выходе 11DD2.2. При таком включении триггера DD7.1 возможны следующие варианты развития событий:
- Без включения режима воспроизведения времени триггер DD7.1 не влияет на работу часов. Импульсы с уровнем лог.1 на входе 11DD7.1 появляются раньше, чем низкий уровень на входе 10DD7.1 с выходов INT/RDY чипкордеров DD5 и DD6, поэтому триггер не изменяет своего состояния.
- Импульс с уровнем лог.1 на входе 11D7.1 появился во время работы чипкордера DD5, т.е. при воспроизведении фразы с часовой меткой. Триггер переключается. Диод VD4 открывается, поэтому, резистор R6 с малым сопротивлением подключается параллельно резистору R8 и тактовая частота работы DD5 увеличивается примерно в десять раз. Транзистор VT2 открывается, поэтому выход AUD/AUX чипкордера DD5 шунтируется и сигнал на вход 3DA1 не поступает. Когда ускоренное воспроизведение сообщения часов закончится и С16 зарядится, на входе 10DD7.1 уровень лог.0 сменится на лог.1 и триггер переключится в исходное состояние. Дифференцирующая цепь С17-R20 сформирует короткий импульс на входе 6DD7.2. Одновибратор на DD7.2 заново запустит воспроизведение часов, но теперь с нормальной скоростью. После воспроизведения часов, как обычно, начнется воспроизведение минут. Так как диод VD12 также был открыт, чипкордер DD6 в режим ускоренного воспроизведения минут не включался, т.е. диод VD12 дополнительно ускоряет начало нового воспроизведения.
- Импульс с уровнем лог.1 на входе 11DD7.1 появился после завершения работы чипкордера DD5 одновременно (или немного раньше) с импульсом на входе PLAY чипкордера DD6. В этом случае воспроизведения минут не будет – «конфликт» управляющих сигналов на входах FWD и PLAY чипкордера DD6. После заряда С16 вновь прозвучит сообщение часов, затем сообщение минут.
- Импульс с уровнем лог.1 на входе 11DD7.1 появился во время работы чипкордера DD6, т.е. при воспроизведении фразы с минутной меткой. Триггер DD7.1 переключится. Диод VD13 откроется и подключит R21 с малым сопротивлением параллельно резистору R23, поэтому тактовая частота работы чипкордера DD6 увеличится примерно в десять раз. Транзистор VT2 откроется и зашунтирует выход AUD/AUX – сигнал на вход 3DA1 поступать не будет. После ускоренного воспроизведения минут конденсатор С16 зарядится и триггер DD7.1 переключится в исходное состояние. Дифференцирующая цепь С17-R20 запустит одновибратор на триггере DD7.2. Воспроизведение часов и минут начнется заново, но уже с нормальной скоростью.
- Импульс с уровнем лог.1 на входе 11DD7.1 появился сразу после завершения работы чипкордера DD6. В этом случае конденсатор С16 еще не успел зарядиться до порогового уровня для входа 10DD7.1, поэтому триггер DD7.1 переключится. После заряда С16 процесс воспроизведения сообщения времени начнется заново.
Во всех перечисленных вариантах с появлением управляющего сигнала на входе FWD чипкордера DD5 (состояние счетчика DD3 изменилось через час работы) повторное сообщение времени будет начинаться с новой фразы наступившего часа. Таким образом, если время подачи команды на воспроизведение сообщения времени граничит с моментом изменения минут и часов, то сообщение времени всегда будет начинаться заново. Транзистор VT1 и диод VD9 исключают переключение триггера DD7.1 во время установки минут или часов кнопками соответственно SB2 или SB3. При нажатии кнопок транзистор VT1 и диод VD9 открываются, задавая уровень лог.0 на входе 9DD7.1.
Питание микросхемы DA1 не превышает Uпит=5,1V, поэтому к выходам УМЗЧ можно подключить динамик с сопротивлением катушки R=8 Ом (P=1W), а саму микросхему на радиатор не устанавливать. На схеме синим цветом показан резистор Rнагр, который дополнительно нагружает адаптер питания. Если во время работы часов в динамике BF1 прослушивается негромкий «жужжащий» звук, частота которого изменяется в такт со вспышками светодиода HL2 (звук обусловлен применением импульсного источника питания), то подключение Rнагр снизит этот звук до практически не различимого даже в тихом помещении.
В гараже могут проводиться работы, требующие отсчета определенных интервалов времени. Схема узла «КУКУШКА», показанная на РИС.6, позволяет автоматизировать процесс сообщений текущего времени через заданные переключателями интервалы:
Пример показан для варианта использования узла со схемой часов, представленной на РИС.4, но его можно подключить к любой рассмотренной схеме.
На тактовый вход счетчика 2DD1.1 поступают минутные импульсы. Вместе с элементом DD2.1 счетчик DD1.1 формирует 5-ти минутные интервалы времени. Когда интервал сформируется, то на выходе 3DD2.1 появится лог.1. Через цепь задержки R1-С1, постоянная времени которой выбрана Т=1сек, уровень лог.1 поступает на вход 7DD1.1 и устанавливает счетчик в исходное состояние. Счет интервала начинается заново. С выхода 3DD2.1 уровень лог.1 также поступает на тактовый вход 10DD1.2. Счетчик DD1.2 и элементы DD2.2 – DD2.4 формируют требуемые интервалы времени: 5мин, 10мин, 15мин, 20мин, 30мин и 1час. Эти интервалы выбирают переключателями SA1 – SA5. При указанном на схеме положении этих переключателей часы будут сообщать время каждый час. С выхода 11DD2.4 лог.1, пройдя через все переключатели, поступит на контактную группу К1.1. Когда внешнее питание подано, то реле К1 сработано и сигнал чрез замкнутые контакты поступит на затвор транзистора VT1. Одновременно, через цепь задержки R2-С2, постоянная времени которой задана Т=0,1сек, уровень лог.1 поступит на вход 15DD1.2. Счетчик сбросится в исходное состояние и подсчет 5-ти минутных интервалов начнется заново. Так как счетчик DD1.2 сбросится через время Т=0,1сек, то транзистор VT1 будет открыт только в течение этого времени. Следовательно, на входе PLAY чипкордера DD5 сформируется короткий импульс с уровнем лог.0 и начнется воспроизведение сообщения.
Для начала работы схемы следует кратковременно (не более Т=0,3сек) нажать кнопку SB2 «УСТАНОВКА МИНУТ» (чипкордер DD6 воспроизведет фразу с текущими минутами), при этом через развязывающие диоды VD1 и VD2 на входы RESET обоих счетчиков поступит напряжение питания и установит их в исходное состояние. Например, переключателем SA3 задан интервал «15мин». Кнопку SB2 можно нажать в любой момент, когда минуты и секунды текущего времени соответствуют промежуткам: от 00мин до 00мин 59сек; от 15мин до 15мин 59сек; от 30мин до 30мин 59сек или от 45мин до 45мин 59сек. В этом случае часы будут сообщать время, когда текущие минуты будут соответствовать фразам «РОВНО», «15 МИНУТ», «30 МИНУТ» и «45 МИНУТ». Аналогичным образом кнопку SB2 нажимают для других выбранных временных интервалов. Переключатели SA1 – SA5 соединены таким образом, что приоритет имеет переключатель, которым выбирается больший интервал времени. Например, если по ошибке одновременно выбраны интервалы 10мин (SA2) и 30мин (SA5), то часы будут сообщать время только через 30 минут. Чтобы каждый раз после отключения и подключения внешнего питания не нажимать кнопку SB2, питание на узел подается с плюсовой шины «а», т.е. питание узла поддерживается резервным источником GB1. Реле К1 сработано только при подаче внешнего питания. Когда внешнее питание отсутствует, контактная группа К1.1 находится в состоянии, показанном на схеме. Затвор транзистора VT1 подключен к общему проводу, поэтому управляющие сигналы на входе PLAY чипкордера DD5 не будут формироваться. Это сделано для экономии энергии резервного источника питания. Испытания показали, что данный тип реле надежно срабатывает уже при Uобм=4V, поэтому питание на обмотку К1 подается через диод VD4 – для снижения рабочей температуры реле. Диод VD3 исключает выбросы обратного напряжения на шину +5V при отпускании реле К1. Синим цветом показаны элементы, которые необходимо добавить, если узел «КУКУШКА» будет работать в составе схемы на РИС.5. Назначение этих элементов – сделать приоритетным управление с пульта ДУ или от кнопки SB5 «ВРЕМЯ». Если триггер DD7.1 (см. РИС.5) переключился, то с его выхода 13DD7.1 через диод VD5 на конденсатор С3 поступит лог.1 и быстро его зарядит. Транзистор VT2 откроется. Затвор транзистора VT1 подключится к общему проводу и управление чипкордером DD5 от узла «КУКУШКА» станет невозможным. Когда триггер DD7.1 переключится в исходное состояние, транзистор VT2 некоторое время будет оставаться открытым, пока С3 не разрядится через R4. За это время сформированный импульс вернет счетчик DD1.2 в исходное состояние. Таким образом, если команда на сообщение времени, поданная с пульта ДУ или от кнопки SB5, совпадет с командой от узла «КУКУШКА», то управляющий сигнал узла будет заблокирован.
Принципиальные схемы, показанные на РИС.5 и РИС.6, стали основой для практической конструкции часов, поэтому приведу полученные технические характеристики:
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
Напряжение внешнего источника питания — 5,0…5,2V
Напряжение резервного источника питания — 3,5…4,5V
Ток потребления от внешнего источника Uпит=5,1V (т.А на РИС.5):
С заторможенным счетчиком DD1 (нажата кнопка SB1) — 33мА
В рабочем режиме и мигающем светодиоде HL2 — 38мА
В момент минутного импульса (один раз в минуту) – 48мА
В момент минутного и часового импульсов (один раз в час) – 56мА
При выдаче сообщения и минимальной громкости – 60мА
При выдаче сообщения и максимальной громкости – 250мА
Ток потребления от резервного источника Uбат=4,5V (т.Б на РИС.5):
С подключенным внешним источником – 0,0мА
С отключенным внешним источником – 76мкА
В момент минутного импульса (один раз в минуту) – 8мА
В момент минутного и часового импульсов (один раз в час) – 16мА
ПРАКТИЧЕСКАЯ КОНСТРУКЦИЯ:
Далее на ФОТО показаны фрагменты сборки устройства.
Подготовка платы, установка переменного резистора и панелек для микросхем:
Корпусом для часов послужил отработавший свое время абонентский громкоговоритель «НЕЙВА АГ-301».
На плату устанавливаются остальные элементы принципиальной схемы, проверяется работоспособность:
В заключение темы можно добавить, что на базе представленных принципиальных схем могут быть сделаны различные бытовые таймерные устройства с обратным отсчетом времени. Для этого достаточно записать в чипкордеры фразы с минутными и часовыми метками в обратном порядке. Схему часов не сложно дополнить узлом управления светодиодными или жидкокристаллическими индикаторами.
Видео как работают часы
Вначале сообщения текущего времени (часы и минуты) воспроизводились голосом знакомой девушки. Позднее были добавлены звуковые эффекты, поэтому фразы с часовыми метками были переписаны…
ПОЛЕЗНАЯ ЛИТЕРАТУРА:
- Бирюков С.А. «Электронные часы на МОП-интегральных микросхемах». Справочное пособие. Москва. «Радио и связь» 1993 год. Массовая радио-библиотека.
- Бирюков С.А. «Цифровые устройства на МОП-интегральных микросхемах» Москва. «Радио и связь» 1990 год. Массовая радио-библиотека.
- Альтшуллер Г.Б., Елфимов Н.Н., Шакулин В.Г. «Кварцевые генераторы». Справочное пособие. Москва. «Радио и связь» 1984 год.
- DATA SHEET Winbond. «ISD1700 Series. Multi-Message Single-Chip Voice Record & Playback Devices». January 23, 2007.
- DATA SHEET Winbond. «ISD1700A Series. Multi-Message Single-Chip Voice Record & Playback Devices». April 22, 2005.
- DATA SHEET Philips «TDA7056. 3W mono BTL audio output amplifier». May 1992.
Часы на газоразрядных индикаторах / Хабр
В данной статье речь пойдет об изготовлении оригинальных и необычных часов. Их необыкновенность заключается в том, что индикация времени осуществляется при помощи цифровых индикаторных ламп. Таких ламп, когда-то, было выпущено огромное количество, как у нас, так и за рубежом. Использовались они во многих устройствах, начиная от часов и заканчивая измерительной техникой. Но после появления светодиодных индикаторов лампы постепенно вышли из употребления. И вот, благодаря развитию микропроцессорной техники стало возможным создание часов с относительно простой схемой на цифровых индикаторных лампах.
Думаю, не лишним будет сказать, что в основном использовались лампы двух типов: люминесцентные и газоразрядные. К преимуществам люминесцентных индикаторов следует отнести низкое рабочее напряжение и наличие нескольких разрядов в одной лампе (хотя среди газоразрядных тоже встречаются такие экземпляры, но найти их значительно сложнее). Но все плюсы данного типа ламп перекрывает один огромный минус – наличие люминофора, который со временем выгорает, и свечение тускнеет или прекращается. По этой причине нельзя использовать б/у лампы.
Газоразрядные индикаторы избавлены от этого недостатка, т.к. в них светится газовый разряд. По сути, этот тип ламп представляет собой неоновую лампу с несколькими катодами. Благодаря этому срок службы у газоразрядных индикаторов гораздо выше. Кроме этого, одинаково хорошо работают и новые и б/у лампы (а часто б/у работают лучше). Без недостатков все же не обошлось — рабочее напряжение газоразрядных индикаторов больше 100 В. Но решить вопрос с напряжение гораздо проще, чем с выгорающим люминофором. В интернете такие часы распространены под названием NIXIE CLOCK:
Сами индикаторы выглядят вот так:
Итак, на счет конструктивных особенностей вроде все понятно, теперь приступим к проектированию схемы наших часов. Начнем с проектирования высоковольтного источника напряжения. Тут есть два пути. Первый – применить трансформатор со вторичной обмоткой на 110-120 В. Но такой трансформатор будет либо слишком громоздкий, либо его придется мотать самому (перспектива так себе). Да и напряжение регулировать проблематично. Второй путь – собрать step up преобразователь. Ну тут уж плюсов побольше будет: во-первых, он займет мало места, во-вторых, в нем присутствует защита от КЗ и, в-третьих, можно легко регулировать напряжение на выходе. В общем, есть все, что для счастья надо. Я выбрал второй путь, т.к. искать трансформатор и обмоточный провод никакого желания не было, да и миниатюрности хотелось. Преобразователь решено было собирать на MC34063, т.к. был опыт работы с ней. Получилась вот такая схема:
Сначала она была собрана на макетной плате и показала отличные результаты. Все запустилось сразу и никакой настройки не потребовалось. При питании от 12В. на выходе получилось 175В. В собранном виде блок питания часов выглядит следующим образом:
На плату сразу был установлен линейный стабилизатор LM7805 для питания электроники часов и трансформатор.
Следующим этапом разработки было проектирование схемы включения ламп. В принципе, управление лампами ничем не отличается от управления семисегментными индикаторами, за исключением высокого напряжения. Т.е. достаточно подать положительное напряжение на анод, и соединить с минусом питания соответствующий катод. На этом этапе требуется решить две задачи: согласование уровней МК (5В) и ламп (170В), и переключение катодов ламп (именно они являются цифрами). После некоторого времени размышлений и экспериментов была создана вот такая схема для управления анодами ламп:
А управление катодами осуществляется очень легко, для этого придумали специальную микросхему К155ИД1. Правда, они давно сняты с производства, как и лампы, но купить их не составляет проблем. Т.е. для управления катодами требуется всего лишь подключить их к соответствующим выводам микросхемы и подать на вход данные в двоичном формате. Да, чуть не забыл, питается она от 5В. (ну очень удобная штуковина). Индикацию было решено сделать динамической, т.к. в противном случае пришлось бы ставить К155ИД1 на каждую лампу, а их будет 6 штук. Общая схема получилась такой:
Под каждой лампой я установил яркий светодиод красного цвета свечения (так красивее ). В собранном виде плата выглядит вот так:
Панельки под лампы найти не удалось, поэтому пришлось импровизировать. В итоге были разобраны старые разъемы, похожие на современные COM, из них были извлечены контакты и после некоторых манипуляций с кусачками и надфилем они были впаяны в плату. Для ИН-17 панельки делать не стал, сделал только для ИН-8.
Самое сложное позади, осталось разработать схему “мозга” часов. Для этого я выбрал микроконтроллер Mega8. Ну а дальше все совсем легко, просто берем и подключаем к нему все так, как нам удобно. В итоге в схеме часов появились 3 кнопки для управления, микросхема часов реального времени DS1307, цифровой термометр DS18B20, и пара транзисторов для управления подсветкой. Для удобства анодные ключи подключаем на один порт, в данном случае это порт С. В собранном виде это выглядит вот так:
На плате есть небольшая ошибка, но в приложенных файлах плат она исправлена. Проводами подпаян разъем для прошивки МК, после прошивки устройства его следует отпаять.
Ну а теперь неплохо было бы нарисовать общую схему. Сказано – сделано, вот она:
А вот так все это выглядит целиком в собранном виде:
Теперь осталось всего лишь написать прошивку для микроконтроллера, что и было сделано. Функционал получился следующий:
Отображение времени, даты и температуры. При кратковременном нажатии кнопки MENU происходит смена режима отображения.
1 режим — только время.
2 режим — время 2 мин. дата 10 сек.
3 режим — время 2 мин. температура 10 сек.
4 режим — время 2 мин. дата 10 сек. температура 10 сек.
При удержании включается настройка времени и даты, переход по настройкам по нажатию кнопки MENU
Максимальное количество датчиков DS18B20 – 2. Если температура не нужна, можно их вообще не ставить, на работу часов это никак не повлияет. Горячего подключения датчиков не предусмотрено.
При кратковременном нажатии на кнопку UP включается дата на 2 сек. При удержании включается/выключается подсветка.
При кратковременном нажатии на кнопку DOWN включается температура на 2 сек.
С 00:00 до 7:00 яркость понижена.
Работает все это дело вот так:
К проекту прилагаются исходники прошивки. Код содержит комментарии так что изменить функционал будет не трудно. Программа написана в Eclipse, но код без каких-либо изменений компилируется в AVR Studio. МК работает от внутреннего генератора на частоте 8МГц. Фьюзы выставляются вот так:
А в шестнадцатеричном виде вот так: HIGH: D9, LOW: D4
Также прилагаются платы с исправленными ошибками:
Download (MEGA)
Данные часы работают в течение месяца. Никаких проблем в работе выявлено не было. Стабилизатор LM7805 и транзистор преобразователя едва теплые. Трансформатор нагревается градусов до 40, поэтому если планируется установка часов в корпус без вентиляционных отверстий, трансформатор придется взять большей мощности. В моих часах он обеспечивает ток в районе 200мА. Точность хода сильно зависит от примененного кварца на 32,768 КГц. Кварц, купленный в магазине, ставить не желательно. Наилучшие результаты показали кварцы из материнских плат и мобильных телефонов.
Кроме ламп, использованных в моей схеме, можно устанавливать любые другие газоразрядные индикаторы. Для этого придется изменить разводку платы, а для некоторых ламп напряжение повышающего преобразователя и резисторы на анодах.
Внимание: устройство содержит источник высокого напряжения!!! Ток небольшой, но достаточно ощутимый!!! Поэтому при работе с устройством следует соблюдать осторожность!!!
PS Статья первая, где-то мог ошибиться/напутать — пожелания и советы к исправлению приветствуются.
1,3,6,9 часы — Схемы и пособия
- Гид •
- Библиотеки
- «Отечник»
- Пять ступеней веры
- Художественная лит-ра
- Библия
- Молитвослов
- Календарь
- Календарь
- Расширение Chrome
- Медиа
- Трансляция из храма
- Аудио
- Видео
- Фоторассказы
- Литургия и Всенощная
- Азбука паломника
- Радио
- Образование
- Катехизация
- Словарь
- Справочники
- Вопросы и ответы
- Проповеди
- Форум
- Блоги
- Суеверие.нет
- Переводы Богослужений
- Проверь себя
- Богословские тесты
- Фотовикторины
- Кроссворды
- Семья и здоровье
- Азбука верности
- Азбука воспитания
- Азбука здоровья
- Азбука рецептов
- Азбука веры
- Схемы и пособия
- Богослужения
- Ангелология
- Ангелы – девять чинов
- Ангелы и Архангелы
- Явления и упоминания Ангелов
- Аскетика
- Человек. Основы христианской антропологии в таблицах
- Греховные страсти: развитие и классификация
- Добродетели
- Греховные страсти и борьба с ними (по учению прп. Иоанна Лествичника)
- Таблица: Добродетели и страсти по прп. Петру Дамаскину
- Четыре составляющих духовной жизни
- Любовь к Богу и ближнему (по преп. Авве Дорофею)
- Кратко о постах Православной Церкви
- Цель жизни человека
- Библеистика
- Методы перевода и толкования Священного Писания
- Библейские экономические термины и понятия
- Библейские меры вместимости, расстояния и денежные единицы
- Ветхозаветные канонические книги
- Новозаветные канонические книги
- Состав книг Нового Завета
- Библейские музыкальные инструменты
- Евангельский синопсис (Последовательность Евангельских событий)
- Евангельские повествования, которые есть только у Матфея, Марка, Луки
- Согласование Четвероевангелия
- Пять аргументов в защиту Богодухновенности Священого Писания
- Священное Предание и Священное Писание
- Богослужения
- Схемы Богослужений
- Богослужебные книги
- Проскомидия
- Структура Евхаристического канона (Анафоры)
- Боже́ственная Литурги́я по чи́ну свт. Иоа́нна Златоу́ста
- Боже́ственная Литурги́я по чи́ну свт. Василия Великого
- Божественная Литургия Преждеосвященных Даров
- Все́нощное бде́ние
- О годовом порядке церковных чтений Евангелия
- Устав чтения Псалтири на православном богослужении
- Таблица для регента: состав службы на любой день периода Октоиха
- 1,3,6,9 часы
- Богослужение в Православной Церкви
- Таблица совершения отпустов
- Устав о катавасиях
- Догматическое богословие
- Богочеловек Иисус Христос
- Христоцентризм – основа христианского богословия и богопознания
- Что изображено на Голгофском Кресте
- Свойство догмата
- Божественные имена
- Вселенские Соборы
- Символ веры
- Ереси
- Ереси
- Аспекты Спасения
- Спасение в условиях Нового Завета
- Сущность и ипостась
- Сущность и энергии Божии
- Божественная благодать. Истинное и ложное учение
- Догматы и частные богословские мнения
- Календарь
- Библейский календарь
- Византийские часы и церковные службы суточного круга
- Двунадесятые праздники и Пасха в годовом круге
- Таблица дней предпразднств, попразднств и отданий Двунадесятых праздников
- Великие праздники (по месяцам)
- Великопостный цикл
- Лестница Великого поста
- Календарь Пасхи 2010-2020 г
- Универсальный Календарь-Пасхалия
- Таблица расхождений между юлианскими и григорианскими днями
- Великий миротворный круг
- Дни поминовения усопших
- Таблица: Праздники. Духовное содержание
- Старый и новый календарные стили
- Каноническое право
- Каноны (правила) Православной Церкви — Источники
- Каноны (правила) Православной Церкви — Краткое содержание
- Разряды кающихся в Древней Церкви
- Схема прямого и бокового родства по восходящим и нисходящим линиям
- Этапы развития церковного права (I-XXI века)
- Состав «Вселенского» кодекса
- Соборы Русской Церкви
- Способы присоединения к Православию
- Религиоведение и сравнительное богословие
- Православие
- Сравнительная таблица. Ислам и христианство
- Сравнительная таблица. Буддизм и христианство
- Православие и католицизм
- Основные различия между Православием и протестантизмом
- Сводная Библейская история
- Святая Троица в Библии
- Главные периоды библейской истории
- Генеалогическое древо от Адама и Евы до Иисуса Христа
- Перечень заветов (договоров) Бога с людьми
- Схематическая история христианства
- Краткая история мира
- Хронологическая карта от Сотворения мира до IV века от РХ
- Воскрешения из мертвых в Священном Писании
- Библия о браке
- Идолы в Библии
- Знаменитые песни Библии
- Прообразовательные параллели между ветхозаветной и новозаветной Пасхой и связанными с ними последующими событиями
- Структура Священного Писания
- Животные в Библии
- Имена библейские
- Посты в Ветхом и Новом Завете
- Ветхий Завет
- Дни творения
- Тематический указатель по Закону Моисееву
- Краткое генеалогическое древо от Адама до Ровоама
- Иаков – родоначальник 12-ти патриархов
- Египетский период ветхозаветной истории
- Судьи израильские
- Цари израильские
- Пророки Ветхого Завета
- Хронологическая таблица пророков-писателей
- Христос в Псалмах
- Пророк Исаия в Евангелиях
- Священники в истории Израиля
- Библейские народы, произошедшие от сыновей Ноя
- Жертвоприношения
- Теофании в Ветхом Завете
- Сравнительная таблица законов Моисея
- Ветхозаветные прообразы и пророчества о Богородице
- Основные вехи Ветхого Завета
- Казни египетские
- Наиболее известные апокрифы Ветхого Завета
- Новый Завет
- География Евангелий
- География книги Деяний
- Исполнение ветхозаветных пророчеств в Новом Завете
- Подробный указатель евангельских притч
- Указатель Евангельских и Апостольских чтений на каждый день года
- Чудеса Господа нашего Иисуса Христа
- Почему суд над Иисусом был незаконным
- Последовательность событий на Голгофе
- Заповеди Иисуса Христа
- Основные религиозные и политические иудейские группировки
- Хронология жизни апостола Павла
- Краткая схема Апокалипсиса
- Имена апостолов Христовых в виде рифмы для упрощения запоминания
- 12 апостолов
- 70 апостолов
- Краткое содержание (план) Апостольских Посланий
- Краткое содержание (план) книги Деяний святых Апостолов
- Связь синоптических Евангелий
- Пасха в Библии
- Милосердие в Евангелии
- Последовательность событий Страстной седмицы
- Наиболее известные апокрифы Нового Завета
- История Церкви в России
- Русские цари и императоры
- Правители РСФСР, СССР и РФ
- Оберпрокуроры Святейшего Синода
- Оптинские старцы
- Обновленческое движение в России в ХХ-м веке
- Статистика по Русской Православной Церкви (2013 г.)
- Численность монастырей и храмов
- Священнослужители
- Священнослужители
- Церковные чины первых веков христианства
- Облачение архиерея
- Иерархия в Православной Церкви
- Награды духовенства
- Церковь
- Иерусалимский Храм
- Устройство православного храма
- Символика икон
- Одежды на иконах
- Поместные Православные Церкви
- Члены Церкви
- 10 ликов святости
- Иерархи Православных Церквей: Константинопольской
- Александрийских
FPGA — Embedded.com
Одним из наиболее важных шагов в процессе проектирования является определение того, сколько разных часов использовать и как их маршрутизировать. В этой статье рассказывается, как эффективно использовать ресурсы маршрутизации.
Программируемые вентильные матрицы (FPGA) уже давно занимают видное место в мире обработки сигналов и встраиваемых систем. Осуществляя вычисления на оборудовании, они могут обрабатывать данные со скоростью, намного превышающей скорость самых быстрых микропроцессоров.Растущая гибкость и доступность FPGA также сделали их привлекательными альтернативами специализированным интегральным схемам (ASIC), особенно в приложениях малого и среднего объема.
По мере того, как в ПЛИС реализуются более крупные конструкции, вполне вероятно, что многие из них будут иметь несколько путей данных, работающих на нескольких тактовых частотах. Особого внимания требует конструкция FPGA, содержащая несколько тактовых импульсов. Вопросы, на которых следует сосредоточиться, — это максимальная тактовая частота и перекос, максимальное количество тактов, асинхронная конструкция тактовой частоты и взаимосвязь тактовых импульсов и данных.
Временные диапазоны
Первым шагом в проектировании любой ПЛИС является решение, какая тактовая частота необходима внутри ПЛИС. Самые быстрые тактовые импульсы в конструкции будут определять тактовую частоту, которую FPGA должна поддерживать. Максимальная тактовая частота определяется временем распространения P сигнала между двумя триггерами в конструкции. Если P больше, чем период тактовой частоты, T, тогда, когда сигнал изменяется на одном триггере, он не изменяется на следующем этапе логики до двух тактовых циклов позже.На рисунке 1 это показано.
Рисунок 1: Нежелательный эффект распространения
Время распространения — это сумма времени удержания, необходимого для изменения сигнала на выходе первого триггера, плюс задержка любой комбинаторной логики между ступенями, плюс задержка маршрутизации между ступенями, плюс установленное значение. время до входа сигнала в триггер на втором этапе. Позже в этой статье мы рассмотрим методы увеличения максимальной тактовой частоты, поддерживаемой конструкцией.
Каждый тактовый сигнал, используемый в проекте FPGA, независимо от его частоты, должен иметь низкий перекос. Смещение , S, — это максимальная задержка от входа синхронизации одного триггера до входа синхронизации другого триггера. Для правильной работы схемы перекос должен быть меньше времени распространения между двумя триггерами.
Рисунок 2: Нежелательный эффект перекоса
На рисунке 2 показано, что произойдет, если перекос больше времени распространения (S> P).Целью схемы является задержка сигнала 1 на два нарастающих фронта тактовой частоты. Однако изменение в сигнале 1 может распространиться на сигнал 3 в том же тактовом цикле, который вызвал изменение в сигнале 2. Поскольку S> P, схема ведет себя неправильно.
Заметьте, что тактовая частота на это вообще не влияет. Даже кажущиеся безобидными часы 100 бит / с могут вызывать проблемы с перекосом. Это означает, что в то время как производители FPGA выпускают микросхемы с меньшим временем распространения и более высокими тактовыми частотами, проблемы с перекосом потенциально могут усугубиться даже в конструкциях, которые не работают с максимальной тактовой частотой.
К счастью, производители FPGA хорошо осведомлены о проблемах, вызванных смещением тактовых импульсов, и предлагают ресурсы маршрутизации с низким уровнем перекоса в своих микросхемах. Это специальные маршруты, которые обеспечивают гарантированный максимальный перекос между любыми двумя триггерами в определенном домене внутри чипа. Некоторые из этих ресурсов с низким уровнем перекоса покрывают всю микросхему, в то время как другие могут покрывать только конкретную строку или столбец логических блоков внутри FPGA. Для проекта, который требует много разных источников синхронизации, эти ресурсы маршрутизации с малым перекосом могут стать ценным товаром.
Одной из наиболее серьезных проблем, связанных с конструкцией нескольких часов, является объединение двух логических ступеней с использованием асинхронных часов. Асинхронная логика может создавать метастабильные состояния, которые могут серьезно ухудшить производительность проекта или полностью разрушить функциональность. Метастабильное состояние создается, когда нарушаются временные требования триггера (время установки и удержания). Результирующий выходной сигнал триггера неизвестен и может сделать всю конструкцию недетерминированной.Если один этап логики асинхронно передает данные другому, трудно, если не невозможно удовлетворить требования к настройке и времени удержания триггера, как показано на рисунке 3.
Рисунок 3: Метастабильность
Для пояснения: если проект содержит асинхронную логику, вероятно возникновение метастабильности. При работе с асинхронными источниками необходимо проявлять осторожность, поскольку они могут быть одними из самых сложных проблем, которые можно найти, когда они попадают в систему.
Многочастотные схемы
В оставшейся части этого обсуждения давайте рассмотрим схему мультиплексирования / демультиплексирования E3, обычно используемую в телекоммуникационной отрасли. На рисунке 4 показана конструкция. Мультиплексор принимает 16 независимых каналов E1, каждый из которых работает на частоте 2,048 МГц, от набора микросхем независимого линейного интерфейса. Затем эти потоки E1 объединяются в четыре потока E2, каждый из которых работает на частоте 8,448 МГц. Затем потоки E2 объединяются в поток E3, который передается последовательно со скоростью 34.368 Мбит / с.
Рисунок 4: Мультиплексор / демультиплексор E3
На принимающей стороне демультиплексор выполняет обратную операцию, извлекая четыре потока данных E2 из потока E3, а затем 16 потоков E1 из потоков E2. Наконец, потоки E1 передаются на микросхемы интерфейса приемной линии.
Линейные интерфейсы E1 работают независимо как для передачи, так и для приема. В результате соответствующие тактовые частоты 2,048 МГц могут работать с немного разными частотами (+/- 20ppm).Кроме того, поскольку большинство систем передают и принимают данные одновременно, отдельный мультиплексор и демультиплексор будут вмещать два независимых потока E3 (передачу и прием). Следовательно, обе частоты 34,368 МГц могут работать с немного разными частотами.
Поскольку потоки E2 создаются на кристалле, мультиплексоры E2 могут использовать одну и ту же частоту 8,448 МГц. Однако, поскольку скорость получаемых данных не зависит от платы, которую мы проектируем (и мы не можем предположить, что получаем данные из источника, который использует одни и те же часы для всех мультиплексоров E2), тактовым генераторам демультиплексора E2 должно быть разрешено работать на немного разные ставки.
Кроме того, предположим, что у нас есть отдельный интерфейс шины последовательного периферийного интерфейса (SPI) для управления состоянием и управлением через процессор, который работает с тактовой частотой 1 МГц.
Всего у нас будет тридцать две тактовых частоты 2,048 МГц, пять тактовых частот 8,448 МГц, две тактовые частоты 34,368 МГц и одна тактовая частота 1 МГц, что в общей сложности составит 40 тактов. Очевидно, что этот дизайн послужит отличным тестовым примером для некоторых проблем, которые рассматриваются в оставшейся части этой статьи.
Самые быстрые часы в нашем примере дизайна — 34.Частота E3 368 МГц, которая определяет минимальную номинальную скорость FPGA. Максимальную тактовую частоту для FPGA определить нетривиально, поскольку различия в конструкциях будут влиять на максимум. Однако обычно вы можете найти параметры, называемые «Global Clock Setup and Hold Time» и «Clock to CLB Outputs». Суммирование двух наибольших значений из таблицы данных и прибавление 25% даст примерно минимально допустимый период времени. Хорошая практика — допускать, по крайней мере, 10% -ные накладные расходы на максимальную тактовую частоту, чтобы гарантировать работу при перегреве.Поэтому в нашем примере мы установили минимально допустимую скорость 40 МГц. Большинство новых ПЛИС могут легко поддерживать эту частоту. Фактически, поставщики ПЛИС рекламируют тарифы, превышающие 300 МГц.
После того, как вы выбрали ПЛИС, которая соответствует нашим требованиям к максимальной частоте, вы должны убедиться, что на устройстве достаточно места для комфортного размещения. Если ПЛИС почти заполнена, может не хватить ресурсов маршрутизации для удовлетворения временных ограничений проекта. Имейте в виду, что заявленная ставка — это ставка в лучшем случае.Поставщики FPGA обычно предполагают, что логика FPGA может заполниться примерно на 80%, прежде чем производительность маршрутизации начнет заметно ухудшаться. Выбирая ошибку из осторожности, я рекомендую начинать большинство новых проектов с логикой FPGA, заполненной примерно на 50%. Это позволяет уклоняться от любых ошибок, допущенных при вычислении начального проектного размера, и дает место для неизбежного «сползания характеристик», которое происходит после начала проектирования. Если окончательный проект занимает менее 50% площади ПЛИС, вы можете добиться снижения затрат, выбрав ПЛИС меньшего размера из того же семейства.
Маршрутизация самых быстрых тактовых импульсов в проекте может быть улучшена путем задания скорости на более медленных тактовых частотах с помощью временных ограничений. В нашем примере с мультиплексором, если вы сообщите инструменту маршрутизации FPGA, что частота шины SPI равна 1 МГц, а частота E3 — 40 МГц, тогда он попытается расположить схему так, чтобы все логические блоки, использующие часы E3, были расположены близко друг к другу. Если какие-либо цепи необходимо распределить из-за ограниченного пространства, сначала будет распределена логика SPI, поскольку это может обрабатывать более длительные задержки распространения.Все инструменты маршрутизации поставщиков FPGA имеют методы для определения этих более низких тактовых частот.
Локальный или глобальный
Как упоминалось ранее, все FPGA имеют специальные ресурсы с малым перекосом для маршрутизации тактовых импульсов. Некоторые устройства имеют выделенные входы тактовых импульсов, которые напрямую поступают на ресурсы с низким уровнем перекоса, в то время как другие имеют буферы с низким уровнем перекоса внутри ПЛИС, которые могут быть получены из любого места. Некоторые ресурсы часов являются глобальными и могут передавать логику в любую часть устройства. Другие ресурсы являются локальными и могут распределять часы только в определенной области устройства.Важно убедиться, что часы, управляющие многими воротами, находятся в глобальных сетях. Часы, которые управляют только небольшим количеством логики, например, часы SPI в нашем примере, могут работать в локальной сети.
Несмотря на важность выбора правильного устройства, не всегда легко определить, сколько ресурсов часов находится на конкретном кристалле, путем поверхностного изучения его технических данных. Информация о тактовых ресурсах обычно находится в разделах «Распределение тактовых импульсов» или «Глобальные буферы тактовых импульсов» на листах данных ПЛИС.Xilinx Spartan II 100, например, имеет четыре ресурса глобальных часов и 24 локальных ресурса. Altera APEX 20K 100 содержит восемь ресурсов глобальных часов и не содержит локальных ресурсов. Более новый Xilinx Virtex II 70 содержит 16 глобальных часов и не имеет локальных часов, в то время как Altera APEX II 70 содержит восемь глобальных часов без локальных часов. Некоторые специальные ресурсы, такие как библиотеки DLL (библиотеки динамической компоновки — термин Xilink), системы ФАПЧ (цикл фазовой автоподстройки частоты — термин Altera) и множители часов используют некоторые ресурсы с низким перекосом, поэтому не забывайте об этом, если вы необходимо использовать эти типы функций.
При осмотре рынка ПЛИС выяснилось, что не существует устройства с адекватными ресурсами синхронизации для поддержки 40 тактов, необходимых для нашей конструкции мультиплексора / демультиплексора. Поэтому нам нужно использовать некоторые приемы, чтобы уменьшить количество часов, используемых в нашем дизайне.
Понижение тактовой частоты
Давайте начнем с рассмотрения тактовой частоты мультиплексоров E2 и E3. Мы уже заявляли о приемлемости работы всех четырех мультиплексоров E2 с одинаковыми часами; мультиплексор E3, работающий с гораздо большей скоростью, должен иметь другую частоту.Однако что, если мы выведем часы E2 из часов E3? Поскольку мы знаем, когда мультиплексору E3 нужны данные от каждого из потоков E2, мы можем просто посылать тактовые импульсы на каждый мультиплексор E2, когда мы хотим, чтобы он передавал нам данные. Мы еще не исключили никаких часов, но часы E2 теперь основаны на часах E3.
Что, если мы также будем использовать одни и те же часы на всех мультиплексорах и просто использовать сигнал разрешения, чтобы сообщить мультиплексорам E2, когда работать? Если мультиплексор E3 создает разрешающие сигналы из своих 34.Тактовая частота 368 МГц, перекос этих разрешающих сигналов не является более серьезной проблемой, чем для любой другой синхронной логики в ПЛИС. Следовательно, разрешающие сигналы могут использовать обычную (с высоким перекосом) маршрутизацию, и мы только что устранили необходимость в отдельной тактовой частоте мультиплексора 8,448 МГц! Ту же концепцию можно использовать для чтения данных из буферов данных E1. Другими словами, если мультиплексору E2 требуются данные, он может активировать сигнал разрешения для этого конкретного буфера. Часы в самом буфере могут сохранять 34.Тактовая частота 368 МГц, используемая мультиплексором E3, как показано на рисунке 5.
Рисунок 5: Использование тактовой частоты E3 MUX
Наконец, мы исследуем 16 тактов E1, поступающих в FPGA от микросхем линейного интерфейса. Эти часы создают несколько проблем. Во-первых, 16 тактовых импульсов потребляли бы слишком много доступных ресурсов тактовой маршрутизации. Во-вторых, с 16 асинхронными часами, управляющими триггерами (в непосредственной близости) в одной и той же FPGA, могут возникнуть проблемы с шумом из-за отскока земли, перекрестных помех и других эффектов.Например, триггер с положительным фронтом может изменить состояние на заднем фронте из-за двойной синхронизации, вызванной шумом. Такую проблему очень сложно изолировать.
В качестве возможного решения мы рекомендуем использовать один быстрый тактовый генератор для выборки 16 тактовых импульсов E1. Чтобы уточнить, мы знаем, что каждая из 16 входных тактовых частот будет близка к 2,048 МГц, и у нас есть системная частота 34,368 МГц. Таким образом, мы можем выполнить выборку каждого из 16 тактовых импульсов E1 с тактовой частотой 34,368 МГц и сохранить результаты в 16-битном регистре (один бит на тактовый сигнал E1).Затем мы можем использовать алгоритм для обнаружения переходов от низкого к высокому на тактовых частотах E1, создать разрешающий сигнал для каждого из сигналов данных E1 и зарегистрировать данные (с тактовой частотой 34,368 МГц) в следующем цикле.
Для того, чтобы добиться успеха, необходимо заранее знать взаимосвязь часов и данных, чтобы гарантировать, что мы не будем производить выборку данных в течение времени, когда они могут изменяться, как показано на рисунке 6. Обратите внимание, что в работе используются два триггера. первый каскад в схеме выборки часов, чтобы выдержать метастабильность (подробнее об этом позже).Также обратите внимание, что данные должны задерживаться на то же количество тактов, что и часы.
Рисунок 6: Передискретизация тактовой частоты в мультиплексоре
Мы успешно сократили мультиплексор до одного такта. Можно ли что-то подобное сделать на стороне демультиплексора? Входная синхронизация для демультиплексора E3 должна быть внешним входом. Это связано с тем, что то же устройство вне кристалла, которое управляет входными данными E3, создает эти часы. Поскольку демультиплексор E3 знает, когда он отправляет данные на демультиплексоры E2, он может создавать разрешающие сигналы для каждого из них, и все четыре демультиплексора E2 могут работать на тех же главных часах, что и мультиплексор E3.Подобным образом мультиплексоры E2 могут создавать разрешающие сигналы для отдельных потоков E1.
Если мы предположим, что микросхема линейного интерфейса может принимать тактовые импульсы с пропуском (многие из них могут), нам нужно только посылать тактовый импульс на линейный интерфейс всякий раз, когда подан сигнал разрешения E1. Однако проще просто послать сам сигнал разрешения на микросхему интерфейса, не беспокоясь о создании новых часов. Поскольку данные, отправляемые в интерфейс, будут изменяться по спадающему фронту сигнала включения (см. Рисунок 5), нам необходимо убедиться, что интерфейс будет производить выборку по переднему фронту тактового сигнала.Поскольку разрешающий сигнал используется в качестве тактового сигнала только на микросхеме линейного интерфейса, а не внутри FPGA, нет необходимости направлять его на ресурс с малым перекосом. Обратите внимание, что это работает только тогда, когда вы знаете, что у вас никогда не будет случая, когда вы захотите посылать данные одному и тому же компоненту на последовательных импульсах главных часов.
Тактовая частота SPI 1 МГц не может быть легко устранена, но теперь мы сократили нашу первоначальную потребность в 40 тактов до трех, используя разрешающие сигналы и методы передискретизации тактовой частоты.Теперь мы можем реализовать наш дизайн на гораздо более широком спектре устройств.
Асинхронность
Прежде чем создавать какую-либо логику с асинхронной синхронизацией, вы должны исчерпывающе рассмотреть другую альтернативу. Комбинирование логических этапов с асинхронными часами является основным источником проблем. Опять же, когда ограничения по времени установки и удержания триггера нарушаются, выход становится непредсказуемым на короткое время и в конечном итоге устанавливается на «1» или «0». В каком состоянии он осядет, предсказать невозможно.
В выпусках журнала Embedded Systems Programming за июль и август 2001 г., Джек Ганссл написал пару столбцов об асинхронности и метастабильности, которые необходимо прочитать любому разработчику логики. Пожалуйста, обратитесь к этим статьям для более глубокого изучения метастабильности.
К счастью, есть некоторые решения проблем метастабильности. Решение, проиллюстрированное на Рисунке 6, — это метод двойной регистрации. Данные, поступающие в первый триггер, асинхронны с часами, поэтому первый триггер почти наверняка станет метастабильным.Однако второй триггер никогда не станет метастабильным, пока длина метастабильности меньше, чем период часов. (К сожалению, производители FPGA редко публикуют время метастабильности, хотя обычно оно меньше суммы времени установки и удержания триггера.)
Если часы не слишком быстрые, чтобы соответствовать нормальным временным ограничениям, они, вероятно, не будут распространять метастабильные состояния в схеме, такой как на рисунке 6. Даже если выход первого триггера может использоваться, пока все выходы идут к триггерам, синхронизируемым одними и теми же часами, обычно рекомендуется использовать схему, подобную показанной на рисунке 6, чтобы изолировать метастабильность до одной короткой линии.Таким образом, маловероятно, что при будущих изменениях схемы будет непреднамеренно использована метастабильная линия в не синхронизированной логике.
Если считываемые данные являются счетчиками, такими как адреса чтения или записи из асинхронного FIFO, следует принять во внимание следующее предостережение. Традиционный 3-битный счетчик может иметь один, два или три бита, изменяющихся между состояниями. Например, если чтение происходит в тот момент, когда счетчик меняется с «011» на «100», то состояние всех трех битов неизвестно, и считанное значение может быть любым из восьми возможных состояний.
Таблица 1: 3-битный код Грея
000
001
011
010
110
111
101
100
Если счетчик построен с использованием кода Грея, например, в таблице 1, то только один бит может переходить из одного состояния в другое. Если чтение происходит в момент изменения счетчика, тогда будет рассматриваться только один бит, и есть только два возможных результата операции чтения. Кроме того, двумя возможными значениями будут значение счетчика непосредственно перед чтением и значение счетчика сразу после чтения.Поскольку чтение произошло в то время, когда счетчик находился в переходном состоянии, невозможно с уверенностью сказать, что одно значение верное, а другое — нет. Другими словами, любое значение следует считать действительным.
Другой способ избежать проблем с асинхронными часами — игнорировать более медленные часы и производить выборку данных с более высокими часами (если вы знаете, какие из них быстрее). Для этого требуется, чтобы данные имели специальные символы кадрирования (например, преамбулу) для определения границы данных.Это обычная практика, и ее можно найти почти во всех встроенных системах в виде UART. Очень быстрые часы, скажем, в 16 раз превышающие скорость передачи символов данных, будут производить выборку, пока не будут найдены 15 последовательных начальных символов. Затем проект объявляет, что следующие 16 (или около того) бит соответствуют первому отправленному биту, следующие 16 (или около того) бит являются следующим битом и так далее.
Обратный отсчет
По мере увеличения плотности и доступности ПЛИС количество встроенных продуктов, в которых используются ПЛИС, будет продолжать быстро расти.По мере того, как эти конструкции становятся более сложными, обязательно возникнет множество проблем, связанных с несколькими часами. Уделение особого внимания максимальной тактовой частоте, количеству тактовых импульсов и асинхронным тактовым частотам на начальном этапе проектирования может облегчить многие проблемы. Эти же факторы можно затем использовать для выбора ПЛИС, отвечающей всем требованиям проекта. esp
Тим Бен работает во встраиваемых системах почти десять лет. Он имеет степень бакалавра естественных наук Техасского университета A&M и степень MSCE Университета Хьюстон – Клир Лейк.Тим в настоящее время является менеджером по программному обеспечению и обработке сигналов в Microwave Networks. Вы можете связаться с ним по адресу.
Note
Тим благодарит Тома Кассаро за его вклад в эту статью.
Продолжить чтение
.Тактовые схемы ПЛИС
Тим Бен, Программирование встраиваемых систем
13 марта 2003 г. (20:30 EST)
Один из наиболее важных шагов в процессе проектирования — определить, сколько разных часов использовать и как их направлять. В этой статье рассказывается, как эффективно использовать ресурсы маршрутизации.
Программируемые пользователем вентильные матрицы (FPGA) уже давно занимают видное место в мире обработки сигналов и встраиваемых систем.Осуществляя вычисления на оборудовании, они могут обрабатывать данные со скоростью, намного превышающей скорость самых быстрых микропроцессоров. Растущая гибкость и доступность FPGA также сделали их привлекательными альтернативами специализированным интегральным схемам (ASIC), особенно в приложениях малого и среднего объема.
По мере того, как в ПЛИС реализуются более крупные конструкции, вполне вероятно, что многие из них будут иметь несколько путей данных, работающих на нескольких тактовых частотах. Особого внимания требует конструкция FPGA, содержащая несколько тактовых импульсов.Вопросы, на которых следует сосредоточиться, — это максимальная тактовая частота и перекос, максимальное количество тактов, асинхронная конструкция тактовой частоты и взаимосвязь тактовых импульсов и данных.
Временные диапазоны
Первым шагом в проектировании любой ПЛИС является решение, какая тактовая частота необходима внутри ПЛИС. Самые быстрые тактовые импульсы в конструкции будут определять тактовую частоту, которую FPGA должна поддерживать. Максимальная тактовая частота определяется временем распространения P сигнала между двумя триггерами в конструкции. Если P больше, чем период тактовой частоты, T, тогда, когда сигнал изменяется на одном триггере, он не изменяется на следующем этапе логики до двух тактовых циклов позже.На рисунке 1 это показано.
Рисунок 1: Нежелательный эффект распространения
Время распространения — это сумма времени удержания, необходимого для изменения сигнала на выходе первого триггера, плюс задержка любой комбинаторной логики между этапами, плюс задержка маршрутизации между этапами, плюс время настройки для сигнала, поступающего в триггер на втором этапе. Позже в этой статье мы рассмотрим методы увеличения максимальной тактовой частоты, поддерживаемой конструкцией.
Каждый тактовый сигнал, используемый в проекте FPGA, независимо от его частоты, должен иметь низкий перекос. Смещение , S, представляет собой максимальную задержку между входом синхронизации одного триггера и входом синхронизации другого триггера. Для правильной работы схемы перекос должен быть меньше времени распространения между двумя триггерами.
Рисунок 2: Нежелательный эффект перекоса
На рисунке 2 показано, что произойдет, если перекос больше времени распространения (S> P).Целью схемы является задержка сигнала 1 на два нарастающих фронта тактовой частоты. Однако изменение в сигнале 1 может распространиться на сигнал 3 в том же тактовом цикле, который вызвал изменение в сигнале 2. Поскольку S> P, схема ведет себя неправильно.
Обратите внимание, что тактовая частота на это вообще не влияет. Даже кажущиеся безобидными часы 100 бит / с могут вызывать проблемы с перекосом. Это означает, что в то время как производители FPGA выпускают микросхемы с меньшим временем распространения и более высокими тактовыми частотами, проблемы с перекосом потенциально могут усугубиться даже в конструкциях, которые не работают с максимальной тактовой частотой.
К счастью, производители FPGA хорошо осведомлены о проблемах, вызванных смещением тактовых импульсов, и предлагают ресурсы маршрутизации с низким уровнем перекоса в своих микросхемах. Это специальные маршруты, которые обеспечивают гарантированный максимальный перекос между любыми двумя триггерами в определенном домене внутри чипа. Некоторые из этих ресурсов с низким уровнем перекоса покрывают всю микросхему, в то время как другие могут покрывать только конкретную строку или столбец логических блоков внутри FPGA. Для проекта, который требует много разных источников синхронизации, эти ресурсы маршрутизации с малым перекосом могут стать ценным товаром.
Одной из наиболее серьезных проблем, связанных с конструкцией нескольких часов, является объединение двух логических ступеней с использованием асинхронных часов. Асинхронная логика может создавать метастабильные состояния, которые могут серьезно ухудшить производительность проекта или полностью разрушить функциональность. Метастабильное состояние создается, когда нарушаются временные требования триггера (время установки и удержания). Результирующий выходной сигнал триггера неизвестен и может сделать всю конструкцию недетерминированной.Если один этап логики асинхронно передает данные другому, трудно, если не невозможно удовлетворить требования к настройке и времени удержания триггера, как показано на рисунке 3.
Рисунок 3: Метастабильность
Чтобы уточнить, если проект содержит асинхронную логику, вероятно возникновение метастабильности. При работе с асинхронными источниками необходимо проявлять осторожность, поскольку они могут быть одними из самых сложных проблем, которые можно найти, когда они попадают в систему.
Многочастотные схемы
В оставшейся части этого обсуждения давайте рассмотрим схему мультиплексирования / демультиплексирования E3, обычно используемую в телекоммуникационной отрасли. На рисунке 4 показана конструкция. Мультиплексор принимает 16 независимых каналов E1, каждый из которых работает на частоте 2,048 МГц, от набора микросхем независимого линейного интерфейса. Затем эти потоки E1 объединяются в четыре потока E2, каждый из которых работает на частоте 8,448 МГц. Затем потоки E2 объединяются в поток E3, который передается последовательно со скоростью 34.368 Мбит / с.
Рисунок 4: Мультиплексор / демультиплексор E3
На принимающей стороне демультиплексор выполняет обратную операцию, извлекая четыре потока данных E2 из потока E3, а затем 16 потоков E1 из потоков E2. Наконец, потоки E1 передаются на микросхемы интерфейса приемной линии.
Линейные интерфейсы E1 работают независимо как для передачи, так и для приема. В результате соответствующие тактовые частоты 2,048 МГц могут работать с немного разными частотами (+/- 20ppm).Кроме того, поскольку большинство систем передают и принимают данные одновременно, отдельный мультиплексор и демультиплексор будут вмещать два независимых потока E3 (передачу и прием). Следовательно, обе частоты 34,368 МГц могут работать с немного разными частотами.
Поскольку потоки E2 создаются на кристалле, мультиплексоры E2 могут использовать одну и ту же тактовую частоту 8,448 МГц. Однако, поскольку скорость получаемых данных не зависит от платы, которую мы проектируем (и мы не можем предположить, что получаем данные из источника, который использует одни и те же часы для всех мультиплексоров E2), тактовым генераторам демультиплексора E2 должно быть разрешено работать на немного разные ставки.
Кроме того, предположим, что у нас есть отдельный интерфейс шины последовательного периферийного интерфейса (SPI) для управления состоянием и управлением через процессор, работающий с тактовой частотой 1 МГц.
Всего у нас будет тридцать две тактовых частоты 2,048 МГц, пять тактовых частот 8,448 МГц, две тактовые частоты 34,368 МГц и одна тактовая частота 1 МГц, что в общей сложности составит 40 тактов. Очевидно, что этот дизайн послужит отличным тестовым примером для некоторых проблем, которые рассматриваются в оставшейся части этой статьи.
Самые быстрые часы в нашем примере дизайна — 34.Частота E3 368 МГц, которая определяет минимальную номинальную скорость FPGA. Максимальную тактовую частоту для FPGA определить нетривиально, поскольку различия в конструкциях будут влиять на максимум. Однако обычно вы можете найти параметры, называемые «Global Clock Setup and Hold Time» и «Clock to CLB Outputs». Суммирование двух наибольших значений из таблицы данных и прибавление 25% даст примерно минимально допустимый период времени. Хорошая практика — допускать, по крайней мере, 10% -ные накладные расходы на максимальную тактовую частоту, чтобы гарантировать работу при перегреве.Поэтому в нашем примере мы установили минимально допустимую скорость 40 МГц. Большинство новых ПЛИС могут легко поддерживать эту частоту. Фактически, поставщики ПЛИС рекламируют тарифы, превышающие 300 МГц.
После того, как вы выбрали ПЛИС, которая удовлетворяет нашим требованиям к максимальной частоте, вы должны убедиться, что на устройстве достаточно места для комфортного размещения. Если ПЛИС почти заполнена, может не хватить ресурсов маршрутизации для удовлетворения временных ограничений проекта. Имейте в виду, что заявленная ставка — это ставка в лучшем случае.Поставщики FPGA обычно предполагают, что логика FPGA может заполниться примерно на 80%, прежде чем производительность маршрутизации начнет заметно ухудшаться. Выбирая ошибку из осторожности, я рекомендую начинать большинство новых проектов с логикой FPGA, заполненной примерно на 50%. Это позволяет уклоняться от любых ошибок, допущенных при расчете начального размера проекта, и дает место для неизбежного «сползания характеристик», которое происходит после начала проектирования. Если окончательный проект занимает менее 50% площади ПЛИС, вы можете добиться снижения затрат, выбрав ПЛИС меньшего размера из того же семейства.
Маршрутизация самых быстрых тактовых импульсов в проекте может быть улучшена путем указания скорости на более медленных тактовых частотах с помощью временных ограничений. В нашем примере с мультиплексором, если вы сообщите инструменту маршрутизации FPGA, что частота шины SPI равна 1 МГц, а частота E3 — 40 МГц, тогда он попытается расположить схему так, чтобы все логические блоки, использующие часы E3, были расположены близко друг к другу. Если какие-либо цепи необходимо распределить из-за ограниченного пространства, сначала будет распределена логика SPI, поскольку это может обрабатывать более длительные задержки распространения.Все инструменты маршрутизации поставщиков FPGA имеют методы для определения этих более низких тактовых частот.
Локальный или глобальный
Как упоминалось ранее, все FPGA имеют специальные ресурсы с малым перекосом для маршрутизации тактовых импульсов. Некоторые устройства имеют выделенные входы тактовых импульсов, которые напрямую поступают на ресурсы с низким уровнем перекоса, в то время как другие имеют буферы с низким уровнем перекоса внутри ПЛИС, которые могут быть получены из любого места. Некоторые ресурсы часов являются глобальными и могут передавать логику в любую часть устройства. Другие ресурсы являются локальными и могут распределять часы только в определенной области устройства.Важно убедиться, что часы, управляющие многими воротами, находятся в глобальных сетях. Часы, которые управляют только небольшим количеством логики, например, часы SPI в нашем примере, могут работать в локальной сети.
Несмотря на важность выбора правильного устройства, не всегда легко определить, сколько ресурсов часов находится на конкретном кристалле, путем поверхностного изучения его технических данных. Информация о ресурсах часов обычно находится в разделах «Распределение тактовых импульсов» или «Глобальные буферы тактовых импульсов» на листах данных FPGA.Xilinx Spartan II 100, например, имеет четыре ресурса глобальных часов и 24 локальных ресурса. Altera APEX 20K 100 содержит восемь ресурсов глобальных часов и не содержит локальных ресурсов. Более новый Xilinx Virtex II 70 содержит 16 глобальных часов и не имеет локальных часов, в то время как Altera APEX II 70 содержит восемь глобальных часов без локальных часов. Некоторые специальные ресурсы, такие как библиотеки DLL (библиотеки динамической компоновки — термин Xilink), системы ФАПЧ (фазовая электронная блокировка — термин Altera) и множители часов используют некоторые ресурсы с низким уровнем перекоса, поэтому не забывайте об этом, если вам необходимо использовать эти типы функций.
При осмотре рынка ПЛИС выяснилось, что не существует устройства с адекватными ресурсами тактовой частоты для поддержки 40 тактовых импульсов, необходимых для нашей конструкции мультиплексора / демультиплексора. Поэтому нам нужно использовать некоторые приемы, чтобы уменьшить количество часов, используемых в нашем дизайне.
Уменьшение тактовой частоты
Давайте начнем с рассмотрения тактовой частоты мультиплексоров E2 и E3. Мы уже заявляли о приемлемости работы всех четырех мультиплексоров E2 с одинаковыми часами; мультиплексор E3, работающий с гораздо большей скоростью, должен иметь другую частоту.Однако что, если мы выведем часы E2 из часов E3? Поскольку мы знаем, когда мультиплексору E3 нужны данные от каждого из потоков E2, мы можем просто посылать тактовые импульсы на каждый мультиплексор E2, когда мы хотим, чтобы он передавал нам данные. Мы еще не исключили никаких часов, но часы E2 теперь основаны на часах E3.
Что, если мы также будем использовать одни и те же часы на всех мультиплексорах и просто использовать сигнал разрешения, чтобы сообщить мультиплексорам E2, когда работать? Если мультиплексор E3 создает разрешающие сигналы из своих 34.Тактовая частота 368 МГц, перекос этих разрешающих сигналов не является более серьезной проблемой, чем для любой другой синхронной логики в ПЛИС. Следовательно, разрешающие сигналы могут использовать обычную (с высоким перекосом) маршрутизацию, и мы только что устранили необходимость в отдельной тактовой частоте мультиплексора 8,448 МГц! Ту же концепцию можно использовать для чтения данных из буферов данных E1. Другими словами, если мультиплексору E2 требуются данные, он может активировать сигнал разрешения для этого конкретного буфера. Часы в самом буфере могут сохранять 34.Тактовая частота 368 МГц, используемая мультиплексором E3, как показано на рисунке 5.
Рисунок 5: Использование тактовой частоты E3 MUX
Наконец, мы исследуем 16 тактовых импульсов E1, поступающих в FPGA от микросхем линейного интерфейса. Эти часы создают несколько проблем. Во-первых, 16 тактовых импульсов потребляли бы слишком много доступных ресурсов тактовой маршрутизации. Во-вторых, с 16 асинхронными часами, управляющими триггерами (в непосредственной близости) в одной и той же FPGA, могут возникнуть проблемы с шумом из-за отскока земли, перекрестных помех и других эффектов.Например, триггер с положительным фронтом может изменить состояние на заднем фронте из-за двойной синхронизации, вызванной шумом. Такую проблему очень сложно изолировать.
В качестве возможного решения мы рекомендуем использовать один быстрый тактовый сигнал для выборки 16 тактовых импульсов E1. Чтобы уточнить, мы знаем, что каждая из 16 входных тактовых частот будет близка к 2,048 МГц, и у нас есть системная частота 34,368 МГц. Таким образом, мы можем выполнить выборку каждого из 16 тактовых импульсов E1 с тактовой частотой 34,368 МГц и сохранить результаты в 16-битном регистре (один бит на тактовый сигнал E1).Затем мы можем использовать алгоритм для обнаружения переходов от низкого к высокому на тактовых частотах E1, создать разрешающий сигнал для каждого из сигналов данных E1 и зарегистрировать данные (с тактовой частотой 34,368 МГц) в следующем цикле.
Чтобы добиться успеха, необходимо заранее знать взаимосвязь часов и данных, чтобы гарантировать, что мы не будем производить выборку данных в то время, когда они могут изменяться, как показано на рисунке 6. Обратите внимание, что используются два триггера. на первом этапе в схеме выборки тактовых импульсов, чтобы допустить метастабильность (подробнее об этом позже).Также обратите внимание, что данные должны задерживаться на то же количество тактов, что и часы.
Рисунок 6: Передискретизация тактовой частоты в мультиплексоре
Мы успешно сократили мультиплексор до одной тактовой частоты. Можно ли что-то подобное сделать на стороне демультиплексора? Входная синхронизация для демультиплексора E3 должна быть внешним входом. Это связано с тем, что то же устройство вне кристалла, которое управляет входными данными E3, создает эти часы. Поскольку демультиплексор E3 знает, когда он отправляет данные на демультиплексоры E2, он может создавать разрешающие сигналы для каждого из них, и все четыре демультиплексора E2 могут работать на тех же главных часах, что и мультиплексор E3.Подобным образом мультиплексоры E2 могут создавать разрешающие сигналы для отдельных потоков E1.
Если мы предположим, что микросхема линейного интерфейса может принимать тактовые импульсы с промежутками (многие из них могут), нам нужно только посылать тактовый импульс на линейный интерфейс всякий раз, когда подан сигнал разрешения E1. Однако проще просто послать сам сигнал разрешения на микросхему интерфейса, не беспокоясь о создании новых часов. Поскольку данные, отправляемые в интерфейс, будут изменяться по спадающему фронту сигнала включения (см. Рисунок 5), нам необходимо убедиться, что интерфейс будет производить выборку по переднему фронту тактового сигнала.Поскольку разрешающий сигнал используется в качестве тактового сигнала только на микросхеме линейного интерфейса, а не внутри FPGA, нет необходимости направлять его на ресурс с малым перекосом. Обратите внимание, что это работает только тогда, когда вы знаете, что у вас никогда не будет случая, когда вы захотите отправлять данные в один и тот же трибутарный поток на последовательных импульсах главных часов.
Тактовую частоту SPI 1 МГц нелегко устранить, но теперь мы сократили наше первоначальное требование в 40 тактов до трех, используя разрешающие сигналы и методы передискретизации тактовой частоты.Теперь мы можем реализовать наш дизайн на гораздо более широком спектре устройств.
Асинхронность
Перед созданием какой-либо логики с асинхронной синхронизацией вы должны исчерпывающе рассмотреть другую альтернативу. Комбинирование логических этапов с асинхронными часами является основным источником проблем. Опять же, когда ограничения времени установки и удержания триггера нарушаются, выходной сигнал становится непредсказуемым на короткое время и в конечном итоге устанавливается на «1» или «0». В каком состоянии он осядет, предсказать невозможно.
В выпусках журнала Embedded Systems Programming за июль и август 2001 г., Джек Ганссл написал пару столбцов об асинхронности и метастабильности, которые должны быть обязательными к прочтению для любого разработчика логики. Пожалуйста, обратитесь к этим статьям для более глубокого изучения метастабильности.
К счастью, есть некоторые решения проблем метастабильности. Решение, проиллюстрированное на Рисунке 6, — это метод двойной регистрации. Данные, поступающие в первый триггер, асинхронны с часами, поэтому первый триггер почти наверняка станет метастабильным.Однако второй триггер никогда не станет метастабильным, пока длина метастабильности меньше, чем период часов. (К сожалению, производители ПЛИС редко публикуют время метастабильности, хотя обычно оно меньше суммы времени установки и удержания триггера.)
Если часы не слишком быстрые, чтобы соответствовать нормальным временным ограничениям, это вероятно, не будет распространяться метастабильные состояния в схеме, такой как рис. 6. Хотя выход первого триггера можно использовать, пока все выходы идут к триггерам, синхронизируемым одними и теми же часами, обычно это Хорошая практика — использовать схему, подобную показанной на рисунке 6, для изоляции метастабильности до одной короткой линии.Таким образом, маловероятно, что при будущих изменениях схемы будет непреднамеренно использована метастабильная линия в не синхронизированной логике.
Если считываемые данные являются счетчиками, такими как адреса чтения или записи из асинхронного FIFO, следует принять во внимание следующее предостережение. Традиционный 3-битный счетчик может иметь один, два или три бита, изменяющихся между состояниями. Например, если чтение происходит в тот момент, когда счетчик меняется с «011» на «100», то состояние всех трех битов неизвестно, и считанное значение может быть любым из восьми возможных состояний.
Таблица 1: 3-битный код серого
000
001
011
010
110
111
101
100
Если счетчик построен с использованием кода Грея, например, в таблице 1, то только один бит может переходить из одного состояния в другое. Если чтение происходит в момент изменения счетчика, тогда будет рассматриваться только один бит, и существует только два возможных результата операции чтения. Кроме того, двумя возможными значениями будут значение счетчика непосредственно перед чтением и значение счетчика сразу после чтения.Поскольку чтение произошло в то время, когда счетчик находился в переходном состоянии, невозможно с уверенностью сказать, что одно значение верное, а другое — нет. Другими словами, любое значение следует считать действительным.
Другой способ избежать проблем с асинхронными часами — игнорировать более медленные часы и производить выборку данных с более высокими часами (если вы знаете, какие из них быстрее). Для этого требуется, чтобы данные имели специальные символы кадрирования (например, преамбулу) для определения границы данных.Это обычная практика, и ее можно найти почти во всех встроенных системах в виде UART. Очень быстрые часы, скажем, в 16 раз превышающие скорость передачи символов данных, будут производить выборку, пока не будут найдены 15 последовательных начальных символов. Затем проект объявляет, что следующие 16 (или около того) бит соответствуют первому отправленному биту, следующие 16 (или около того) бит являются битом n ext и так далее.
Обратный отсчет
По мере увеличения плотности и доступности ПЛИС количество встраиваемых продуктов, которые мы видим с использованием ПЛИС, будет продолжать быстро расти.По мере того, как эти конструкции становятся более сложными, обязательно возникнет множество проблем, связанных с несколькими часами. Уделение особого внимания максимальной тактовой частоте, количеству тактовых импульсов и асинхронным тактовым частотам на начальном этапе проектирования может облегчить многие проблемы. Эти же факторы можно затем использовать для выбора ПЛИС, отвечающей всем требованиям проекта. esp
Тим Бен работает во встраиваемых системах почти десять лет. Он имеет степень бакалавра естественных наук Техасского университета A&M и степень MSCE Университета Хьюстона в Клир-Лейк.Тим в настоящее время является менеджером по программному обеспечению и обработке сигналов в Microwave Networks. Вы можете связаться с ним по адресу [email protected].
Примечание
Тим благодарит Тома Кассаро за его вклад в эту статью.
Схемы атомных часов — Большая химическая энциклопедия
Эта глава организована следующим образом. Во-первых, будет обоснована необходимость дальнейшего повышения точности измерения времени, и будет подробно описана концепция атомных часов и их свойства. Затем свойства, необходимые для такой атомной системы, подходящие для метрологии времени и частоты, будут разработаны, а также условия, необходимые для их достижения, по схемам, включающим либо ионы, либо нейтральные атомы.Для использования ионов в атомных часах используется хорошо известный метод захвата ионов. Следующая часть обсуждения будет посвящена обеим панорамным видам используемых геометрий ионных ловушек … [Pg.328]Все атомные часы основаны на одной и той же схеме серво-петли (рисунок 11.1). Внутренний атомный осциллятор на cOai используется для синхронизации внешнего или местного атомного осциллятора на частоте (Dq- Локальный осциллятор используется для проверки атомного перехода на (0, и … [Pg.330]
В этом разделе, мы кратко опишем самые последние проекты атомных часов с участием / на основе ионных ловушек, как описано выше.Первая часть касается микроволновых часов, а следующая будет посвящена оптическим частотным часам. Характеристики атомных эталонов можно оценить только путем сравнения (биений частоты) с другими приборами. Когда можно предположить, что новый атомарный стандарт превосходит нормы, его можно оценить только путем сравнения со второй системой, которая должна быть построена аналогичным образом. Стоит отметить, что характеристики каждой схемы зависят от гетеродина: кварцевого (в конечном итоге криогенного) генератора для микроволнового диапазона и лазера для оптического.[Pg.352]
Концепция этого метода проиллюстрирована на схеме 3.1, где часовая реакция (UR) представляет собой мономолекулярную радикальную перегруппировку с известной константой скорости (r) — константа скорости отрыва атома H от RsSiH посредством первичный алкильный радикал U может быть получен при условии, что найдены условия, при которых не перегруппированный радикал U распределяется между двумя реакционными каналами, то есть реакция с RsSiH и перегруппировка до R. В конце реакции выходы нереаранжированные (UH) и реаранжированные (RH) продукты могут быть определены с помощью анализа GC или ЯМР.В условиях псевдопервого порядка концентрации силана выполняется следующее соотношение: UH / RH = (A H / A r) [R3SiH]. В ряде обзоров подробно описан радикальный часовой подход [3,4]. [Стр.32]
ft-расщепление первого порядка ферф-бутоксирадикала является одной из старейших радикальных часовых реакций и уже более 50 лет используется для измерения относительных скоростей отрыва водорода от органических соединений ( AH) в растворе (схема 10.14). При низких конверсиях, когда концентрация AH существенно не изменилась, соотношение констант скорости отрыва атома водорода, kAH> и / 3-разрыва, kp, может быть определено просто путем анализа образования ацетона и фер-бутилового спирта в Реакция.Это наиболее удобно достигается с помощью газовой хроматографии … [Pg.277]
В 2008 году Джин и Ньюкомб подтвердили выводы об активации воды как донора атомов водорода с помощью Cp2TiCl и, используя часы радикалов, определили константу скорости для перенос Н-атома от аквакомплекса Ti (III) к вторичным радикалам (схема 31) [78]. [Стр.113]
На рисунке 3 показан простой случай часовой реакции, конкурирующей с переносом атома водорода от гидрида олова.Если кто-то желает определить, например, скорость присоединения первичного алкильного радикала к активированному алкену, такому как акрилат, то реакцию можно проводить при низких концентрациях гидрида олова, так что и часы радикала, и продукт его перегруппировки вступают в реакцию. преимущественно с алкеном. Продукты реакции присоединения акрилата дезактивируются по отношению к присоединению к другой молекуле акрилата, и можно было контролировать концентрации так, чтобы эти аддукты реагировали в первую очередь с гидридом олова (схема 3).В этом случае можно было бы проанализировать продукты присоединения акрилата нереаранжированных и перегруппированных радикалов. |
.
Интерактивные часы | аналоговые часы | цифровой | движимое | учебные часы
Введение
Часы для изучения времени имеют подвижные стрелки. Имеет три основных режима: первый демонстрирует, как определить время с помощью аналоговых часов. Второй режим использует стрелки часов как способ изучения углов. В третьем режиме часы используются для понимания дробей. Часы можно изменить, чтобы изменить цвет и общий стиль. Обратите внимание, что в этом упражнении показаны различные элементы управления в зависимости от текущий режим
Общие элементы управления
Элементы управления над переключателем режима: всегда отображается.Вверху вы увидите цифровые часы, внизу — три кнопки. Нажмите кнопку 12, чтобы отображение в обычном 12-часовом формате с AM / PM. Нажмите 24 нажмите кнопку, чтобы перейти в 24-часовой формат. Часто ты не хочешь отображать время вообще, выключить и цифровые часы исчезнут.
Часы можно использовать для отображения текущего времени (на основе часов компьютера, который вы используете). Щелкните по настоящему время переключить эту функцию. Это полезно, поскольку дети могут наблюдать как часы меняются в течение дня.Для случайных проблем со временем нажмите кнопку случайного выбора и стрелки часов будет вращаться, чтобы произвести случайное время. Так что это отлично подходит для множества быстрых пожарные вопросы.
Когда часы не показывают фактическое реальное время, тогда маленький ручки появляются на концах рук, эти и перетаскиваются в позиция.
Элементы управления временным режимом.
Первый выбор временного режима, ниже представлен набор контроль. Их можно использовать в задачах времени или для просмотра того, сколько времени истекло при отображении фактического реального времени.Первый отображает прошли часы. Второй — минуты, которые прошли. Под кнопкой сброса оба обнуляются.
Итак, краткий пример того, как их использовать, — это случайный щелчок время. Теперь спросите, в каком классе будет время, скажем, 1 час 25. минут. Чтобы продемонстрировать этот сброс, нажмите и минуты, и часы равны нулю. Теперь перетащите стрелку часов вперед, пока часы — 1, а минуты — 25. Теперь часы показывают ответ на исходную проблему.
Режим углов
Часы всегда были полезным способом научить нас углам. Эти часы имеет встроенные угловые измерения. Сначала установите режим к углам, чтобы получить набор управления.
В режиме углов вы увидите транспортир. нажмите кнопку, чтобы переключить отображение транспортира. Далее идет кнопка автоматического переключения, нажмите, чтобы повернуть ее включен, и вы заметите, что транспортир автоматически поднимается до измерить угол. Переместите стрелки часов, и транспортир следовать.Под кнопкой транспортира находится ползунок используйте это, чтобы изменить размер транспортира. При измерении углов большие стрелки часов можно сделать тонкими для большей точности, нажав тонкий. Чтобы отобразить угол, щелкните Ang и выберите Arc. для отображения угловой дуги. При перетаскивании минутной стрелки в данный момент привязки к ближайшей минуте, отключите эту функцию, щелкнув привязку. Наконец, тип угла может быть изменено с помощью элемента управления выбора. Так вы можете выбрать угол между часовой и минутной стрелками, обе по часовой стрелке и против часовой стрелки.Или измерьте угол секундной стрелки с 12 часов. Это очень хорошо работает с реальным временем установка, поскольку дети могут видеть полный угол 360 °, повернутый каждые минута. Это помогает запоминать ключевые углы, такие как 0 °, 90 °, 270 ° и т. Д. Также преобразования, такие как 30 секунд * 6 = 180 °
Режим дробей
Выберите дробь на элементе управления режимом, чтобы использовать часы, чтобы научить дроби. Заявления о времени, такие как «четверть Прошлое, половина прошедшего и четверть до, очевидно, связаны с дробью.
В режиме дроби сектор круга закрашивается от 12 часов до минуты. положение рук. Отображаются две большие дроби, дробь часа показывает неупрощенное доля минутà · 60. Упрощенный дробь — это та же дробь, которая по возможности сокращена.
Простая кнопка переключает удаление часовая и секундная стрелки для упрощенного просмотра. Вы также можете нажмите тонкий, чтобы переключить более тонкие часы Руки. Часы разделены по делителю линии контроля.Настройка по умолчанию — авто, это делит часы. в соответствии с отображаемой дробью. По сути, часы разделены в зависимости от упрощенной дроби. Однако вы можете отключить авто режим и разделите часы в соответствии с выбранным числом.
Проценты также можно отобразить, щелкнув для переключения отображения процентов.
Стиль часов
Выберите режим стиля для доступа к элементам управления. Так, например, чтобы изменить цвет чисел, нажмите числа, за которыми следует цвет из колорпикер.Чтобы полностью удалить числа, нажмите «X» в палитре цветов. Вы можете сделать это и с другими частями часов, которые очевидно, может затруднить чтение часов.
Сопутствующие виды деятельности
Дальнейшие уроки по определению времени включают сравнение двух разных времен. работа двух часов превосходна в этом отношении и также может генерировать вопросы о времени.
Чтобы расширить углы, попробуйте Основные углы который можно использовать для изучения таких углов, как острый, тупой и рефлекторный.Его также можно использовать для создания множества различных типов задач со случайным углом.
Увидев в этом упражнении круговую фракцию, интерактивная фракция wall также можно использовать для дальнейшего обучения дробям.
.