реклама на сайте
подробности

 
 
> CPLD Clock, вопросы по разработке
skkap
сообщение Oct 29 2009, 19:35
Сообщение #1


Участник
*

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



Вечер добрый!

Возникла задача сделать часы на программируемой логике, по количеству входов выбрал CPLD от Altera - EPM3032.
Понимаю что задача совсем не для CPLD/FPGA, а для простенького МК, но такое уж задание (учебное).

Итак, время вопросов. Первый вопрос возник по тактированию.
Мы имеем 2 входа: GCLK1 и GCLK2, в моей задаче нужен всего один вход тактирования, возьмем GCLK1.
Как показал поиск по форуму - в основном используют кварцевые генераторы, но таковых на 32,768кГц не нашлось. Зато нашлись резонаторы.
Внимание вопрос: корректно ли будет работать EPM3032 затактированная столь мало частотой?
Если да, то какую схему подключения CLK вы бы посоветовали?
В данный момент пытаюсь собрать что-то из этого: http://cxem.net/beginner/beginner26.php (внизу станицы) на макетке, но часовой кварц не заводится, наверное из-за не точного соответствия номиналов деталек(просто не все нужные номиналы в наличии), или из за того что микросхема TTL а не CMOS (скоро попробую и КМОП, пока нету нужной).

Заранее спасибо за советы!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
skkap
сообщение Nov 15 2009, 09:49
Сообщение #2


Участник
*

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



Цитата
Просто необходимо. Этот параметр напрямую вроде не документируется ("input rise/fall time" в даташите в <=40 нс относится не к клоку, а к любому фронту входного сигнала вообще). Я бы оценил его как "Minimum global clock period", поделенный на 3..4, т.е. для спидгрейда "-10" где-то 2.5 нс.
Ставьте 74LVC1G14, гарантировано решит все проблемы.


Спасибо!:)

Цитата
Есть у Вас в проекте асинхронные ("gated") клоки.
Например, в триггере для ALARM., cnt6bit, cnt5bit....
Лучше сделать с помощью триггеров с разрешением (DFFE), и все затактировать нужной частотой.
Будет полностью синхронный проект, что есть гуд.


Хм.. Поясните плз, я похоже совсем в клоках не соображаю.
Как это асинхронные клоки? Асинхронные от чего?
Как изменить cnt5bit и cnt6bit? Они ведь затактированны от предыдущих элементов (минуты от секунд, часы от минут)?
Это сама логика часов, или я чего-то не понимаю?
Поясните пожалуйста!
Go to the top of the page
 
+Quote Post
sazh
сообщение Nov 15 2009, 11:09
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(skkap @ Nov 15 2009, 12:49) *
Спасибо!:)
Как изменить cnt5bit и cnt6bit? Они ведь затактированны от предыдущих элементов (минуты от секунд, часы от минут)?


имеется ввиду, что можно работать на одноклоковой синхронизации, т.е анализировать весь временной интервал работы в разах периода секунд.
Посмотрите предупреждения при раводке проекта. (F1) Посмотрите анализ клоков во временном анализаторе.
Во пример, посмотрите в RTL просмотрщике, промоделируйте. Предупреждения исследуйте.
Код
module ct_r
(
input  clk,
output out_clk_a, out_clk_b
);


reg [1:0] cnt;
reg          del_2a, del_2b;

always @(posedge clk)
begin
cnt <= cnt + 1'b1;
if (cnt == 2'b11)    del_2a <= ~del_2a;
end

always @(posedge cnt[1])
begin
del_2b <= ~del_2b;
end

assign out_clk_a = del_2a,
       out_clk_b = del_2b;

endmodule
Go to the top of the page
 
+Quote Post
skkap
сообщение Nov 15 2009, 11:52
Сообщение #4


Участник
*

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



Цитата(sazh @ Nov 15 2009, 17:09) *
имеется ввиду, что можно работать на одноклоковой синхронизации, т.е анализировать весь временной интервал работы в разах периода секунд.
Посмотрите предупреждения при раводке проекта. (F1) Посмотрите анализ клоков во временном анализаторе.
Во пример, посмотрите в RTL просмотрщике, промоделируйте. Предупреждения исследуйте.
Код
module ct_r
(
input  clk,
output out_clk_a, out_clk_b
);


reg [1:0] cnt;
reg          del_2a, del_2b;

always @(posedge clk)
begin
cnt <= cnt + 1'b1;
if (cnt == 2'b11)    del_2a <= ~del_2a;
end

always @(posedge cnt[1])
begin
del_2b <= ~del_2b;
end

assign out_clk_a = del_2a,
       out_clk_b = del_2b;

endmodule


Т.е. будет лучше, если счетчик минут будет считать секунды и счетчик часов будет считать секунды (3600)? Это я так понимаю сожрет еще макроячеек, а какой будет выигрыш? я так и не понялsmile.gif
И какое отношение к этому имеет триггер на alarm?
Go to the top of the page
 
+Quote Post
Victor®
сообщение Nov 15 2009, 16:46
Сообщение #5


Lazy
******

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



Цитата(skkap @ Nov 15 2009, 15:52) *
Т.е. будет лучше, если счетчик минут будет считать секунды и счетчик часов будет считать секунды (3600)? Это я так понимаю сожрет еще макроячеек, а какой будет выигрыш? я так и не понялsmile.gif


Имеем тактовую частоту 1 Hz - clk_1hz, подаем ее на счетчик секунд (sec_cnt по модулю 60).
Формируем сигнал munute_ena, равный "1" при значении счетчика 59.
Этот сигнал подаем на вход разрешения счета следующего счетчика (minute_cnt, также по модулю 60).
Тактируется minute_cnt также сигналом clk_1hz.

Делаем сигнал разрешения hour_ena аналогичный minute_ena и подаем его на последний счетчик (hour_cnt - по модулю 24),
который тактируется clk_1hz
Получаем полностью синхронный проект.

Цитата(skkap @ Nov 15 2009, 15:52) *
И какое отношение к этому имеет триггер на alarm?


Он тактируется "gated clock", как и остальные части в проекте.
Кстати, а индикацию сделали-бы динамическую - сэкономили-бы на пинах (11 против 28)


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- skkap   CPLD Clock   Oct 29 2009, 19:35
- - sazh   Цитата(skkap @ Oct 29 2009, 22:35) Вечер ...   Oct 29 2009, 19:41
|- - skkap   Цитата(sazh @ Oct 30 2009, 01:41) Если уч...   Oct 29 2009, 20:13
|- - sazh   Цитата(skkap @ Oct 29 2009, 23:13) Вот ка...   Oct 29 2009, 20:30
- - Shtirlits   Цитата(skkap @ Oct 29 2009, 22:35) Понима...   Oct 29 2009, 20:18
- - skkap   Т.е. схему по типу этой Нельзя использовать? Не...   Oct 29 2009, 20:42
|- - aaarrr   Цитата(skkap @ Oct 29 2009, 23:42) Т.е. с...   Oct 29 2009, 21:07
||- - alevnew   Цитата(aaarrr @ Oct 30 2009, 03:07) Для т...   Oct 30 2009, 04:03
|- - Shtirlits   Недавно была тема про генератор http://electronix....   Oct 29 2009, 21:18
|- - andrey_s   Часы с питанием от сети или от батарейки? Если пер...   Oct 29 2009, 22:55
- - rv3dll(lex)   даю код vhdl правда я не отлаживал - только напис...   Oct 30 2009, 09:10
- - skkap   Всм большое спасибо за ответы! Итак, по порядк...   Oct 30 2009, 18:47
|- - aaarrr   Цитата(skkap @ Oct 30 2009, 21:47) Такие ...   Oct 30 2009, 19:53
|- - Джеймс   Цитата(skkap @ Oct 30 2009, 22:47) Такие ...   Oct 30 2009, 19:55
- - SLDM   Кварцованые генераторы на рассыпухе(равно как и на...   Oct 30 2009, 20:11
|- - Victor®   Цитата(SLDM @ Oct 30 2009, 23:11) Кварцов...   Oct 31 2009, 13:12
|- - aaarrr   Цитата(Victor® @ Oct 31 2009, 16:12) И то...   Oct 31 2009, 17:11
|- - Victor®   Цитата(aaarrr @ Oct 31 2009, 21:11) А Вы ...   Oct 31 2009, 17:39
|- - aaarrr   Цитата(Victor® @ Oct 31 2009, 20:39) Поче...   Oct 31 2009, 18:00
|- - Victor®   Цитата(aaarrr @ Oct 31 2009, 21:00) Счита...   Oct 31 2009, 20:39
|- - aaarrr   Цитата(Victor® @ Oct 31 2009, 23:39) 1-го...   Oct 31 2009, 21:08
- - Евгений Николаев   ЦитатаПитание от сети, а в случае отсутствия - от ...   Oct 31 2009, 06:14
- - skkap   Всем спасибо за ответы! ЦитатаНедолго же прож...   Oct 31 2009, 21:12
|- - aaarrr   Цитата(skkap @ Nov 1 2009, 00:12) Имеет л...   Oct 31 2009, 21:34
|- - Victor®   Цитата(skkap @ Nov 1 2009, 00:12) Имеет л...   Nov 1 2009, 10:24
- - rv3dll(lex)   а забыл написать - проект уместился в 72 сплд кса...   Nov 2 2009, 07:15
- - skkap   Цитата(aaarrr @ Nov 1 2009, 03:34) Имеет....   Nov 2 2009, 14:21
|- - Victor®   Цитата(skkap @ Nov 2 2009, 17:21) Спасибо...   Nov 2 2009, 14:55
- - skkap   ЦитатаВот подумал, что подозрительно громадное зна...   Nov 2 2009, 18:34
|- - Victor®   Цитата(skkap @ Nov 2 2009, 21:34) Попробо...   Nov 2 2009, 18:43
- - skkap   ЦитатаУменьшите R2 до нескольких кил - думаю быстр...   Nov 2 2009, 19:03
|- - Victor®   Цитата(skkap @ Nov 2 2009, 23:03) А про н...   Nov 2 2009, 20:05
- - skkap   Всем снова привет! Появилась новая "пробл...   Nov 14 2009, 08:32
|- - sazh   Цитата(skkap @ Nov 14 2009, 11:32) Создал...   Nov 14 2009, 08:48
|- - skkap   Цитата(sazh @ Nov 14 2009, 14:48) А куда ...   Nov 14 2009, 09:28
- - skkap   Вроде сделал прошивку для CPLD! Прошу указать...   Nov 14 2009, 20:36
|- - Victor®   Цитата(skkap @ Nov 15 2009, 00:36) Вроде ...   Nov 15 2009, 09:12
- - SM   Что-то просматривая все ответы, не заметил главног...   Nov 14 2009, 20:52
|- - skkap   Цитата(SM @ Nov 15 2009, 02:52) Что-то пр...   Nov 14 2009, 21:20
|- - SM   Цитата(skkap @ Nov 15 2009, 00:20) У меня...   Nov 14 2009, 21:49
||- - skkap   Цитата(Victor® @ Nov 15 2009, 22:46) Имее...   Nov 15 2009, 17:52
||- - sazh   Цитата(skkap @ Nov 15 2009, 20:52) Ведь с...   Nov 15 2009, 19:37
||- - Victor®   Цитата(skkap @ Nov 15 2009, 20:52) Очень ...   Nov 15 2009, 19:49
||- - SM   Цитата(skkap @ Nov 15 2009, 20:52) Значит...   Nov 15 2009, 20:07
|- - SM   Цитата(skkap @ Nov 15 2009, 12:49) Спасиб...   Nov 15 2009, 11:25
- - dvladim   Цитата(SM @ Nov 16 2009, 00:07) Для ПЛИС ...   Nov 15 2009, 20:30


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01471 секунд с 7
ELECTRONIX ©2004-2016