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

 
 
> Странное поведение ПЛИС Cyclone EP2C5, помогите новичку
sysel
сообщение Jul 14 2008, 16:52
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Здравствуйте!
Делаю первый свой проект на ПЛИС. Для начала решил создать простенький ознакомительный проект.
Quartus 7.1
EP2C5Q208C8
Загрузочный кабель: ByteBlasterMV

По нажатию кнопки хочу чтобы загорался светодиод. Часть схемы прилагаю.
Питание ядра 1.25В (спецификация ПЛИС такое допускает)
Питание буферов 3.3В
Тактовый сигнал на ПЛИС не подаётся.

В Pin Planer-е "butt" назначаю на 104-ю ногу, "led" на 103-ю, "hi" - 5-я, "lo" - 11-я. Выбираю уровни 3.3 - LVTTL для всех этих ног.

В настройкай ассемблера ставлю галочку "Always enable input buffers".

1)После прошивки по JTAG-у SOF-файлом получаю такую картину:
- На подтягивающем резисторе кнопки (со стороны ПЛИС) уровень 3.3В.
- На светодиоде (со стороны ПЛИС) уровень 3.3В.
- На выходе "hi" уровень 3.3В
- На выходе "lo" уровень 0 В.

2)Нажимаю кнопку и держу, при этом:
- На подтягивающем резисторе кнопки (со стороны ПЛИС) уровень 0В.
- На светодиоде (со стороны ПЛИС) уровень 0В.
- На выходе "hi" уровень 3.3В
- На выходе "lo" уровень 0 В.

3)Отпускаю кнопку. После отпускания картна такая:
- На подтягивающем резисторе кнопки (со стороны ПЛИС) уровень 1.8В.
- На светодиоде (со стороны ПЛИС) уровень 1.8В.
- На выходе "hi" уровень 3.3В
- На выходе "lo" уровень 0 В.

При повторном нажатии кнопки наблюдается ситуация 2)
При отпускании ситуация 3)

Так всё и продолжает работать до повторной заливки прошивки в ПЛИС. После этого наблюдается ситуация 1)

Причем, уровень 1.8В - постояный (смотрел осцилографом на предмет наличия внутренней генерации колебаний - колебаний нет).

Есть предположение, что в ситуациях 2) и 3) не работают буфера входов-выходов (1.8 В = питание ядра + падение на внутреннем защитном диоде).

Как бороться с этой ситуацией ?


Текст проекта (VHDL):

library ieee;
use ieee.std_logic_1164.all;
entity buttled is
port
(
butt : in std_logic;
led : out std_logic;
hi : out std_logic;
lo : out std_logic
);
end buttled;

architecture rtl of buttled is
begin
led<=butt;
hi<='1';
lo<='0';
end rtl;


В догонку: хочется вместо 1.8 В иметь 3.3 (согласно логике проекта).
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dvladim
сообщение Jul 16 2008, 17:22
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(sysel @ Jul 15 2008, 23:37) *
А что может вызвать генерацию в данном проекте ? PLL ? Так вроде ж они по умолчанию отключены....

Нет, не PLL. Паразитная емкость между кнопкой и светодиодом, плохая земля и т.п.

Цитата(sysel @ Jul 15 2008, 23:37) *
Боюсь что уровень 1.8В вызван "отключкой" входных буферов. т.е. 1.8 = питание ядра+падения на внутреннем защитном диоде. Боюсь если напрямик подам 3.3В спалить внутренности...

Вот вы себе в схеме как представляете "отключку"? Дело не в этом.
Подайте на вход напряжение VCCIO этого банка (я так понял, у вас это +3.3 В)

Цитата(sazh @ Jul 15 2008, 23:56) *
Я обычно ставлю внешний драйвер для светодиода или буфер с открытым стоком. Такое включение как у Вас разве бывает в реальной жизни.

Если не использовать внешний драйвер, то это типичное включение светодиода.
Надо только смотреть, что бы ток по выводу не превышал максимальный и ток по земле этого банка не превышал максимальный.

Цитата(Евгений Николаев @ Jul 16 2008, 08:22) *
Пины LED и BUTT не коротят между собой? :-)

В схеме между ними буфер. Так что влиять не должно.

Цитата(sazh @ Jul 16 2008, 12:50) *
Тоже самое с вашим желанием цмклон2 на pci посадить. Скачайте kit. там между шиной pci и циклоном должны преобразователи уровней стоять.

Конечно +5 В на IO напрямую подавать нельзя. Но эти выводы толерантны при использовании внешнего резистора и включенного кламп диода.
Да и Clamp диоды не зря зачастую называют PCI Clamp диодами.
Хотя для новичка использовать такую схему с PCI шиной - это неоправданый риск. Лучше уж как в ките.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sysel   Странное поведение ПЛИС Cyclone EP2C5   Jul 14 2008, 16:52
- - Skywolf   VHDL не знаю, но вам рекомендую воспользоваться си...   Jul 14 2008, 19:41
|- - sysel   Цитата(Skywolf @ Jul 14 2008, 23:41) VHDL...   Jul 15 2008, 04:40
- - Sergei_Ilchenko   Попробуйте вот так http://slil.ru/25980659 Это то...   Jul 15 2008, 05:37
- - dvladim   И все таки, впечатление, что у вас генерация. Точ...   Jul 15 2008, 18:38
|- - sysel   Цитата(dvladim @ Jul 15 2008, 22:38) И вс...   Jul 15 2008, 19:37
- - sazh   Питание ядра наверно 1.2 Типы уровней выбираются в...   Jul 15 2008, 19:56
|- - sysel   Цитата(sazh @ Jul 15 2008, 23:56) Кнопкой...   Jul 16 2008, 04:58
|- - sazh   Цитата(sysel @ Jul 16 2008, 08:58) А в чё...   Jul 16 2008, 08:50
|- - DmitryR   Генерация стопудово. Выпаяйте конденсатор, что вам...   Jul 16 2008, 10:39
- - Евгений Николаев   Схема у вас самодельная или кит какой-нибудь? Вы п...   Jul 16 2008, 04:22
- - Skywolf   Попробуйте для теста в "Схематике" вход...   Jul 16 2008, 05:06
- - sysel   Частично разобрался с проблемой. Была генерация н...   Jul 16 2008, 20:07


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

 


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


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