|
|
  |
CPLD Clock, вопросы по разработке |
|
|
|
Oct 31 2009, 06:14
|

Знающий
   
Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402

|
Цитата Питание от сети, а в случае отсутствия - от батарейки. Недолго же проживёт эта схема при питании от батарейки... Очень недолго. В качестве индикаторов что - невыключаемые светодиодные 7сегменты? Ну-ну  Если по делу, то. Я, конечно, понимаю, что задача совершенно учебная и её основная цель - поделить до секунд, далее счётчик до 59 - инкримент для минут, ещё один такой же - для часов, счётчик до 23 - обнуление. Ну и дешифраторы от всего этого добра с выходом на индикаторы. Но предложите преподу и рассмотрите сами следующий подход: 1. Часовая микросхема с интерфейсом I2C и импульсным выходом 32.768кГц и/или 1Гц. 2. Питание для неё через максиселектор (сеть, батарейка. Есть "часы", которым внешние диоды не нужны) 3. CPLD 4. Индикаторы (ЖК или светодиодные - без разницы) 5. Кнопки 6. Питание для CPLD и индикаторов - только от сети --- Импульсный выход часовой микрухи используете для тактирования CPLD (32.768кГц для автомата I2C и генерации на ЖК, если индикаторы ЖК) Читаете время 1 раз в час, далее "ведёте время" по тактовому импульсу 1Гц (или от счетчика 32.768кГц), через час - корректируете. Не намного сложнее, зато красивое решение и никакого ге$%^оя с аналоговым тактированием - сплошная "цифра". Вообще, достаточно читать время только 1 раз - при включении, а потом считать импульсы (1Гц или 32.768кГц) - будет равноценно по точности. Но из соображений, что что-то может сбиваться из-за помех по питанию, периодически надо сверяться.
--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
|
|
|
|
|
Oct 31 2009, 13:12
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(SLDM @ Oct 30 2009, 23:11)  Кварцованые генераторы на рассыпухе(равно как и на CPLD) - вещь надежная только при грамотном расчете всех балансов. Как это сделать для таких схем, честно говоря не знаю. Делал схемы кварцевых генераторов на микросхеме КР1533ЛН1 (элемент -НЕ). Вроде все работало, но попадались экземпляры(в зависимости от партии ЛН1 или партии кварцев) которые либо не всегда запускались, либо иногда взвывали не на той гармонике кварца. Все решалось подбором емкостей или вводом дополнительной обратной связи. Тоже самое с CPLD. Если такая надежность устраивает, то в добрый путь. В противном случае рекомендую обратить внимание на микросхемы со встроенным RTC. У некоторых из них присутствует встроенный генератор и есть выход с 1 сек. импульсами. Похоже,что проблема у Вас возникала из-за кварца. Надо использовать кварцы на основной (fundamental mode) гармонике. Что, кстати, указывают практически все производители чипов, в которых предусмотрено подключение кварца. Кроме этого надо грамотно посчитать шунтирующие емкости. Обычно они одинаковы и их С1||C2 должно равняться Cload кварца. И тогда, наверняка.... :-) -- Успехов
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Oct 31 2009, 20:39
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(aaarrr @ Oct 31 2009, 21:00)  Считаю что - что две большие разницы? Потому что оно так и есть. Свежи еще воспоминания от запуска 32кГц генератора, собранного на обычном инверторе (ибо NC7S04SPU купить затруднительно). 1-го инвертора для этого недостаточно... смотрите, например на NXP 74LVC1GX04 или TI SN74LVC1GX04 Специально для этого сделана. Сейчас практически все можно купить через Digikey, Farnell и пр., хоть от одной штуки.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Oct 31 2009, 21:08
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Victor® @ Oct 31 2009, 23:39)  1-го инвертора для этого недостаточно... Ну, у меня был инвертор + триггер шмитта. Цитата(Victor® @ Oct 31 2009, 23:39)  Специально для этого сделана. Да, правильная микросхемка. Вот я и решил на будущее закладывать что-то подобное, чтобы у комплектовщиков-сборщиков не появлялось соблазна забить на некоторые буковки в наименовании.
|
|
|
|
|
Oct 31 2009, 21:12
|

Участник

Группа: Участник
Сообщений: 21
Регистрация: 29-10-09
Из: Томск
Пользователь №: 53 297

|
Всем спасибо за ответы! Цитата Недолго же проживёт эта схема при питании от батарейки... Очень недолго. В качестве индикаторов что - невыключаемые светодиодные 7сегменты? Ну-ну smile.gif Если по делу, то. Я, конечно, понимаю, что задача совершенно учебная и её основная цель - поделить до секунд, далее счётчик до 59 - инкримент для минут, ещё один такой же - для часов, счётчик до 23 - обнуление. Ну и дешифраторы от всего этого добра с выходом на индикаторы. Но предложите преподу и рассмотрите сами следующий подход: 1. Часовая микросхема с интерфейсом I2C и импульсным выходом 32.768кГц и/или 1Гц. 2. Питание для неё через максиселектор (сеть, батарейка. Есть "часы", которым внешние диоды не нужны) 3. CPLD 4. Индикаторы (ЖК или светодиодные - без разницы) 5. Кнопки 6. Питание для CPLD и индикаторов - только от сети --- Импульсный выход часовой микрухи используете для тактирования CPLD (32.768кГц для автомата I2C и генерации на ЖК, если индикаторы ЖК) Читаете время 1 раз в час, далее "ведёте время" по тактовому импульсу 1Гц (или от счетчика 32.768кГц), через час - корректируете. Не намного сложнее, зато красивое решение и никакого ге$%^оя с аналоговым тактированием - сплошная "цифра". Вообще, достаточно читать время только 1 раз - при включении, а потом считать импульсы (1Гц или 32.768кГц) - будет равноценно по точности. Но из соображений, что что-то может сбиваться из-за помех по питанию, периодически надо сверяться. Спасибо за советы, много нового узнал, особенно про "максиселектор", почитаю про такие, очень интересно, применю  Про часовую ИС, отказался ибо итак часы на непомерно дорогой для них CPLD (любая CPLD имхо дорогая для применения в часах), так еще и спец. ИС ставить... не хорошо. А теперь самое важное!:) У меня наконец получилось запустить кварц, после долгих пыток с заменой ИС, кондеров, резисторов. Привожу схему по которой все заработало:
Тут возник небольшой вопрос, имеет ли смысл поставить второй инвертор? Ведь по сути он для украшения сигнала? Вот осциллограммы сигнала до второго инвертора:
и после:
Имеет ли это смысл? Имеется еще вопрос, при включении питания частота устанавливается не сразу, а ч/з 10-15 секунд, сначала частота меньше (ок. 20кГц). Нормально ли это? Или продолжать пилить схему? Спасибо!
|
|
|
|
|
Oct 31 2009, 21:34
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(skkap @ Nov 1 2009, 00:12)  Имеет ли это смысл? Имеет. Цитата(skkap @ Nov 1 2009, 00:12)  Имеется еще вопрос, при включении питания частота устанавливается не сразу, а ч/з 10-15 секунд, сначала частота меньше (ок. 20кГц). Нормально ли это? Или продолжать пилить схему? Нет, это не нормально (долго очень), но и схему пилить дальше не советую. Возмите лучше микросхемку типа той, что Victor® предлагал чуть выше.
|
|
|
|
|
Nov 1 2009, 10:24
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(skkap @ Nov 1 2009, 00:12)  Имеет ли это смысл? Однозначно - имеет. И вот почему... Он нужен для увеличения скорости фронтов. Это хорошо видно по осциллограммам. И, кстати, незря они установлены в спец. ИМС, вроде как там 3 последовательных инвертора., каждый из них, т.с. "улучшает" сигнал. Кстати, какие-то кондеры у Вас громадные.... 130 пФ? Cl у кварцев обычно в пределах 10 -30 пФ. Вроде как 12.5 встречается наиболее часто. Попробуйте поставить по 20-30 pF. Вообще-то почитайте док на чипы TI, NXP, что я указывал. Насколько я помню - еще надо учитывать входную емкость.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Nov 2 2009, 14:21
|

Участник

Группа: Участник
Сообщений: 21
Регистрация: 29-10-09
Из: Томск
Пользователь №: 53 297

|
Цитата(aaarrr @ Nov 1 2009, 03:34)  Имеет. Цитата(Victor® @ Nov 1 2009, 16:24)  Однозначно - имеет. И вот почему... Он нужен для увеличения скорости фронтов. Это хорошо видно по осциллограммам. И, кстати, незря они установлены в спец. ИМС, вроде как там 3 последовательных инвертора., каждый из них, т.с. "улучшает" сигнал. Спасибо за пояснения! Значит имеет смысл включить все 5 свободных инверторов из 561ЛН2 в цепочку? Цитата Нет, это не нормально (долго очень), но и схему пилить дальше не советую. Возмите лучше микросхемку типа той, что Victor® предлагал чуть выше. Цитата Кстати, какие-то кондеры у Вас громадные.... 130 пФ? Cl у кварцев обычно в пределах 10 -30 пФ. Вроде как 12.5 встречается наиболее часто. Попробуйте поставить по 20-30 pF.
Вообще-то почитайте док на чипы TI, NXP, что я указывал. Насколько я помню - еще надо учитывать входную емкость. На счет спец. ИС - не нашел не одной такой в моем городе, мб плохо искал.. Заказывать всего одну ИС не хочется, к томуже почти вышло на простом инверторе. И вообще, почитал даташит,тот же инвертор и не чего более, мб посоветуете что почитать по этой теме? гдето должна разъясняться физика процесса - как завести кристалл, расчет емкостей и т.д. В часоых схемах и многих МК это же реализовано, значит должны быть какие-то образцы для реализации. Теперь на счет конденсаторов, большое спасибо за подсказку!:) Когда первый раз заработало (При замене кондеров 27пф на 130пф) подумал что просто надо большие кондеры, после вашей подсказки заменил обратно - перестало работать, потом заменил на другие 27пф - заработало! Один из кондеров сломался или бракованый, вобщем мультиметр не желает показывать его емкость. Теперь актуальная схема такова:
А время установки около двух секунд, наверное нормально  Цитата(rv3dll(lex) @ Nov 2 2009, 13:15)  а забыл написать - проект уместился в 72 сплд ксайлинкса может влезть в 3064 которая по размеру как 3032 Спасибо! меньше ног - легче рисовать схему  Сейчас обнаружил что при 27 пФ осциллограф показывает периодически (гдето раз в 10 сек) частоту 32,77  С 130пф частота стабильна.
|
|
|
|
|
Nov 2 2009, 14:55
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(skkap @ Nov 2 2009, 17:21)  Спасибо за пояснения! Значит имеет смысл включить все 5 свободных инверторов из 561ЛН2 в цепочку? На счет спец. ИС - не нашел не одной такой в моем городе, мб плохо искал.. Заказывать всего одну ИС не хочется, к томуже почти вышло на простом инверторе. И вообще, почитал даташит,тот же инвертор и не чего более, мб посоветуете что почитать по этой теме? гдето должна разъясняться физика процесса - как завести кристалл, расчет емкостей и т.д. В часоых схемах и многих МК это же реализовано, значит должны быть какие-то образцы для реализации. Теперь на счет конденсаторов, большое спасибо за подсказку!:) Когда первый раз заработало (При замене кондеров 27пф на 130пф) подумал что просто надо большие кондеры, после вашей подсказки заменил обратно - перестало работать, потом заменил на другие 27пф - заработало! Один из кондеров сломался или бракованый, вобщем мультиметр не желает показывать его емкость. Теперь актуальная схема такова:
А время установки около двух секунд, наверное нормально  Спасибо! меньше ног - легче рисовать схему  Сейчас обнаружил что при 27 пФ осциллограф показывает периодически (гдето раз в 10 сек) частоту 32,77  С 130пф частота стабильна. Вот подумал, что подозрительно громадное значение 10 MOhm в цепи ОС. попробуйте поставить что-то около 1MOhm, а второй вообще закоротить (но тогда есть риск спалить кварца.) Хотя, может это (10 мегов) и корректно. Вот посмотрите тут... http://www.fairchildsemi.com/an/AN/AN-340.pdf и тут http://www.icbase.com/pdf/add/ti/AN-101-00039en.pdfТам все написано... Еще для успешного запуска надо 1) Знать емкость кварца 2) Убедиться, что ЛН-ка в активном режиме (пол-питания на входе). Отцепите R2, меняя R1 добейтесь пол-питания. Вроде так. Ох, и давно я таким занимался :-) Может что и перепутал, но вроде все правильно
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Nov 2 2009, 18:34
|

Участник

Группа: Участник
Сообщений: 21
Регистрация: 29-10-09
Из: Томск
Пользователь №: 53 297

|
Цитата Вот подумал, что подозрительно громадное значение 10 MOhm в цепи ОС. попробуйте поставить что-то около 1MOhm, а второй вообще закоротить (но тогда есть риск спалить кварца.) Попробовал, при 1МОм и закоротка частота не устанавливается вообще, скочит от 20 до 40 КГц. Поставил 3.6МОм, работает хорошо, впрочем как и при 10. Цитата Хотя, может это (10 мегов) и корректно. Вот посмотрите тут... http://www.fairchildsemi.com/an/AN/AN-340.pdf и тут http://www.icbase.com/pdf/add/ti/AN-101-00039en.pdfТам все написано... Еще для успешного запуска надо 1) Знать емкость кварца 2) Убедиться, что ЛН-ка в активном режиме (пол-питания на входе). Отцепите R2, меняя R1 добейтесь пол-питания. Вроде так. Ох, и давно я таким занимался :-) Может что и перепутал, но вроде все правильно За доки огромное спасибо!! То что я искал, с пояснениями и графиками! По расчетам мне надо C1 и C2 около 60пФ, самое близкое что нашлось - 100пФ, поставил - запускается за секунду(к томуже возможно это цифровой осцил тормозит), частота стабильна! Пропустил через два инвертора и получил сигнал красивей некуда (скрин прилогается)
Всем спасибо, вроде первая проблема решена) Да, и чуть не забыл, итоговая схема (может быть не идеал, но работает  )
Сообщение отредактировал skkap - Nov 2 2009, 18:35
|
|
|
|
|
Nov 2 2009, 18:43
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(skkap @ Nov 2 2009, 21:34)  Попробовал, при 1МОм и закоротка частота не устанавливается вообще, скочит от 20 до 40 КГц. Поставил 3.6МОм, работает хорошо, впрочем как и при 10. За доки огромное спасибо!! То что я искал, с пояснениями и графиками! По расчетам мне надо C1 и C2 около 60пФ, самое близкое что нашлось - 100пФ, поставил - запускается за секунду(к томуже возможно это цифровой осцил тормозит), частота стабильна! Пропустил через два инвертора и получил сигнал красивей некуда (скрин прилогается)
Всем спасибо, вроде первая проблема решена) Да, и чуть не забыл, итоговая схема (может быть не идеал, но работает  )
Уменьшите R2 до нескольких кил - думаю быстрее будет запускаться :-) В рекомндациях он не настолько велик, кстати.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|