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

 
 
> Назначение выводов EPM7128s
Elserpinum
сообщение Jan 8 2010, 22:55
Сообщение #1





Группа: Участник
Сообщений: 3
Регистрация: 3-06-09
Пользователь №: 49 912



Доброго времени суток!

Осваиваю EPM7128SLC84-10N. Имею самодельную платку с установленной ПЛИС. К ПЛИС подведено питание 5В и JTAG. Создал простейший проект в Quartus: 83-й (GCLK1) вывод ПЛИС через инвертор завел на 6-й вывод. Зашил проект в ПЛИС самодельным ByteBlasterMV без проблем. Физически 83-й вывод ПЛИС подключил к выходу микроконтроллера (INT0 на ADuC812). На МК работает программка, которая поочередно, с некоторой задержкой выставляет 0 и 1 на выводе INT0. Ожидаемый результат: когда на INT0 - 1, на 6-м выводе ПЛИС - 0, и наоборот. Результат не подтвердился sad.gif
Выводы ПЛИС - OE1, OE2, GCLRn пробовал физически соединять и с GND, и с VCC, и просто в воздухе оставлял. Наверняка делаю что-то не так, как надо. Люди тут грамотные, может кто-нибудь просветит, зачем нужны эти выводы и как их использовать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
at89c51ed2
сообщение Jan 9 2010, 10:00
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 14-10-09
Пользователь №: 52 943



Уважаемый Elserpinum.
Причин не работоспособности проекта, запускаемого не знающим человеком, может много и природа их разнообразна. В первую очередь это банальные ошибки. У Вас есть рапорт файл, на котором должна быть схема подключения. Необходимо тупо всё подключить, как там. Выводов питания и земли там несколько (по-моему не менее 4 пар). Вы создали простейший проект - инвертор. Но зачем Вы на вход комбинационного устройства подаёте сигнал через глобальный CLK? На сколько я помню у архитектуры MAX нет такой возможности - вывести глобальный CLK на внешний вывод, к тому же пропущенный через комбинациоонную часть ячейки. Сигнал этот предназначен только для тактирования триггеров и поступает он на вход С через внутренний мультиплексор (триггер ещё может тактироваться от выхода комбинационного блока). Внимательно посмотрите рапорт-файл, наверняка Вам было выдано предупреждение, а может быть компилятор и сам принудительно перенёс этот сигнал на другой вывод. Что бы ничего не перепаивать сделайте лучше простой делитель на 2, т.е. T - триггер. Вход его (в смысле вход С) подключите на 83, а выход триггера на 6. Посмотрите, какой тип выхода. Надо что бы не "открытый сток", а то придётся резистор подтягивающий вешать. Выводы ПЛИС - OE1, OE2, GCLRn - это глобальные сигналы разрешения (OE - output enable) и сброса (clear). Глобальные сигналы нельзя мешать с обычными переменными - т.е. если сигналы сброса и ОЕ участвуют в каких то термах (уравнениях, функциях), то их уже нельзя подавать на глобальные входы. Потому как глобальные сигналы не проходят через комбинационные блоки. Если хотите инвертор, то уберите все глобальные сигналы вообще, посмотрите куда будет заведён вход, туда и подавайте. Только зачем Вам для этого целый ADuM? К тому же используете вход прерываний для такой тривиальной задачи. Вы видите осциллографом эти импульсы, т.е. вы уверены, что правильно запрограммировали МК? Я бы вход инвертора подключил к "1", а потом тупо коротнул бы пинцетом в землю. А дальше, если инвертор "оживёт", тогда сделайте из Т2 генератор импульсов, а в ПЛИС счётчик. И в счётчике уже, Вы можете задействовать все глобальные сигналы - GCLK, OE, GCLRn. Удачи.
Go to the top of the page
 
+Quote Post
Elserpinum
сообщение Jan 9 2010, 17:47
Сообщение #3





Группа: Участник
Сообщений: 3
Регистрация: 3-06-09
Пользователь №: 49 912



Цитата(at89c51ed2 @ Jan 9 2010, 13:00) *
Уважаемый Elserpinum.
Причин не работоспособности проекта, запускаемого не знающим человеком, может много и природа их разнообразна. В первую очередь это банальные ошибки. У Вас есть рапорт файл, на котором должна быть схема подключения. Необходимо тупо всё подключить, как там. Выводов питания и земли там несколько (по-моему не менее 4 пар). Вы создали простейший проект - инвертор. Но зачем Вы на вход комбинационного устройства подаёте сигнал через глобальный CLK? На сколько я помню у архитектуры MAX нет такой возможности - вывести глобальный CLK на внешний вывод, к тому же пропущенный через комбинациоонную часть ячейки. Сигнал этот предназначен только для тактирования триггеров и поступает он на вход С через внутренний мультиплексор (триггер ещё может тактироваться от выхода комбинационного блока). Внимательно посмотрите рапорт-файл, наверняка Вам было выдано предупреждение, а может быть компилятор и сам принудительно перенёс этот сигнал на другой вывод. Что бы ничего не перепаивать сделайте лучше простой делитель на 2, т.е. T - триггер. Вход его (в смысле вход С) подключите на 83, а выход триггера на 6. Посмотрите, какой тип выхода. Надо что бы не "открытый сток", а то придётся резистор подтягивающий вешать. Выводы ПЛИС - OE1, OE2, GCLRn - это глобальные сигналы разрешения (OE - output enable) и сброса (clear). Глобальные сигналы нельзя мешать с обычными переменными - т.е. если сигналы сброса и ОЕ участвуют в каких то термах (уравнениях, функциях), то их уже нельзя подавать на глобальные входы. Потому как глобальные сигналы не проходят через комбинационные блоки. Если хотите инвертор, то уберите все глобальные сигналы вообще, посмотрите куда будет заведён вход, туда и подавайте. Только зачем Вам для этого целый ADuM? К тому же используете вход прерываний для такой тривиальной задачи. Вы видите осциллографом эти импульсы, т.е. вы уверены, что правильно запрограммировали МК? Я бы вход инвертора подключил к "1", а потом тупо коротнул бы пинцетом в землю. А дальше, если инвертор "оживёт", тогда сделайте из Т2 генератор импульсов, а в ПЛИС счётчик. И в счётчике уже, Вы можете задействовать все глобальные сигналы - GCLK, OE, GCLRn. Удачи.


Спасибо за советы smile.gif
Переделал проект в Quartus. Завел 4-й вывод на инвертор, выход с инвертора на 5-й вывод. Перепрошил. Вроде заработало, но меня смущают уровни сигналов на выходе: 1 - 3,5В. Кстати, не понял, что за "рапорт файл, на котором должна быть схема подключения" и где выставлять тип выхода?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th August 2025 - 11:02
Рейтинг@Mail.ru


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