|
Непонятные глюки в проекте |
|
|
|
Sep 4 2012, 04:54
|
Частый гость
 
Группа: Участник
Сообщений: 96
Регистрация: 2-04-12
Из: Саратов
Пользователь №: 71 142

|
Здравствуйте. Есть проект задачей которого является обработка набока кнопок (антидребезг 30 ms, проверка на залипание 5 сек), выдача данных (информация от обработчика кнопок) во внешний контроллер биполярного кода по паралельной шине, прием данных из этого контроллера и выдача их на светодиоды. ПЛИС циклон 4. Сброс организован внутри ПЛИС на счетчике. Внешний генератор 25 МГц. Для обработки кнопок был сделан делитель частоты до 610 Гц и 2 Гц (предварительно 25 МГц на PLL поделены до 62,5 КГц). Проблема в следующем: проект заработал, но были неправильно выбраны значения счетчика для 5 сек проверки на залипание (признак залипания кнопки появлялся через 7 сек а не через 5). При смене значения счетчика при котором надо выставить признак залипания кнопки у меня ломалася не обработчик кнопок, а весь проект. Переставал обслуживаться контроллер биполярного кода, хотя его управление никаким образом не связано с обработчиком кнопок. Вторая проблема со схемой сброса. Сначала ее сделал от частоты генератора но значения счетчика на котором происходил сброс (65534) слишком большое и я решил попробовать перейти на частоту 62,5 КГц от PLL соответственно разрядность счетчика значительно уменьшилась, но возникла ситуация аналогичная предыдущей - ничего не работает! Сейчас оставил генератор сброса на частоте 25 МГц, а в обработчике кнопок залипание проверяю от частоты не 2 Гц а 610 Гц. Вроде заработало. В чем могла быть причина сбоя не понятно. Модель ничего не показывает. Инкрементная компиляция отключена. Проглядеть все цепочки сигнал тапом пока небыло возможности. Если у кого нибудь есть идеи по поводу причин данных сбоев пожалуйса напишите.
|
|
|
|
|
 |
Ответов
|
Sep 4 2012, 17:33
|
Частый гость
 
Группа: Участник
Сообщений: 96
Регистрация: 2-04-12
Из: Саратов
Пользователь №: 71 142

|
То есть после загрузки плис при указании в квартусе начального значения счетчика := 0 возможно что счетчик окажется не в нулевом значении? код сброса следующий: Код LIBRARY ieee; use IEEE.Std_logic_1164.all; use IEEE.Std_logic_unsigned.all; use IEEE.std_logic_arith.all; use IEEE.numeric_std.all; ENTITY Reset_gen IS PORT ( CLK_25_MHz : IN STD_LOGIC; Reset : out std_logic ); END Reset_gen;
ARCHITECTURE arhitektura OF Reset_gen IS
signal CLK_25_MHz_count : integer range 0 to 65535 := 0; signal reset_int : std_logic := '0'; BEGIN PROCESS (CLK_25_MHz, CLK_25_MHz_count) BEGIN if CLK_25_MHz'EVENT and CLK_25_MHz = '1' and CLK_25_MHz_count < 65534 THEN CLK_25_MHz_count <= CLK_25_MHz_count + 1; end if; END PROCESS; Reset <= '0' when CLK_25_MHz_count < 65534 else '1';
END arhitektura;
Сообщение отредактировал seldim - Sep 4 2012, 17:36
|
|
|
|
|
Sep 4 2012, 18:38
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 14-07-11
Пользователь №: 66 220

|
У вас сброс постоянно в лог 1 после отсчета счетчика(если это конечно не то что надо). Ну и подключать одновременно numeric_std и std_logic_arith + std_logic_unsigned не стоит. (проблемы с дополнительным кодом могут быть связаны с этим) Или numeric_std или std_logic_arith + std_logic_unsigned. Ну и в принципе шаблон счетчика с разрешением можно посмотреть в quartus.
Сообщение отредактировал Alexey K - Sep 4 2012, 18:59
|
|
|
|
Сообщений в этой теме
seldim Непонятные глюки в проекте Sep 4 2012, 04:54 vadimp61 Цитата(seldim @ Sep 4 2012, 08:54) Здравс... Sep 4 2012, 05:29 seldim PLL функция ведь от производителя и по моим поняти... Sep 4 2012, 05:51 troiden Цитата(seldim @ Sep 4 2012, 09:51) PLL фу... Sep 4 2012, 06:05 seldim В мегафункции делитель 400 при входной частоте 25 ... Sep 4 2012, 06:39 bogaev_roman Вы все частоты правильно прописали в sdc и временн... Sep 4 2012, 11:43 alexPec Цитата(bogaev_roman @ Sep 4 2012, 15:43) ... Sep 4 2012, 13:12 seldim По времянке могут быть вопросы, но работа контролл... Sep 4 2012, 16:23 bogaev_roman Цитата(seldim @ Sep 4 2012, 20:23) Если б... Sep 4 2012, 16:44 bogaev_roman Цитата(seldim @ Sep 4 2012, 21:33) То ест... Sep 6 2012, 18:10 seldim Да так должно быть сброс генерится 1 раз по включе... Sep 5 2012, 02:47 seldim Да действительно он без регистра этоя обязательно ... Sep 7 2012, 03:01 bogaev_roman Цитата(seldim @ Sep 7 2012, 07:01) Остает... Sep 7 2012, 11:18 seldim Контроллер работает под управление хоста (в моем с... Sep 9 2012, 14:20 Maverick Цитата(seldim @ Sep 9 2012, 17:20) Контро... Sep 9 2012, 18:05 seldim Вроде уже писал. Запись данных в контроллер синхро... Sep 10 2012, 05:48 XVR У вас получилась асинхронная схема (или синхронная... Sep 10 2012, 07:13 seldim Для исключения метастабильности используются разны... Sep 10 2012, 07:35 sazh Цитата(seldim @ Sep 10 2012, 10:35) Для и... Sep 10 2012, 07:58 bogaev_roman to seldim. Сброс на логику блока управления запись... Sep 10 2012, 12:35 seldim Насчет контроллера внутри ПЛИС с объвязкой из драй... Sep 10 2012, 17:46 sazh Цитата(seldim @ Sep 10 2012, 20:46) А с а... Sep 11 2012, 07:11 seldim Спасибо посмотрю.
Реализацию контроллеров аринга ... Sep 12 2012, 05:15 seldim Всем откликнувшимся хочу сказать огромное спасибо,... Sep 17 2012, 04:56
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|