|
|
  |
Разработка цифрового устройства на ПЛИС. Помощь выбора. |
|
|
|
May 11 2015, 11:24
|
Группа: Участник
Сообщений: 6
Регистрация: 11-05-15
Пользователь №: 86 615

|
Здравствуйте, уважаемые эксперты. Передо мной стоит задача разработать цифровое устройства генерации пачки импульсов заданного периода (0-999мс), скважности(0-99%) и самого числа импульсов(0-9) на основе ПЛИС. Суть, вкратце, такова: на устройстве будет 13 кнопок: для увеличения или уменьшения сотен/десятков/единиц каждой из величин, а так же кнопка старт, по которой начнется формирование импульсов по принятой информации. Эти данные после обработки в ПЛИС высвечиваются на семисегментниках (посредством динамической индикации, реализованной на ПЛИС). Собственно, после нажатия кнопок на ПЛИС так же реализовано подавление дребезга контактов, затем при нажатии на какую либо кнопку, происходит увеличение либо уменьшение определенного счетчика (всего их 12), затем, после счетчиков, данные поступают на логику формирования импульсов (реализована посредством ШИМ), ну и эта пачка импульсов должна высвечиваться на каком - то выходном каскаде. Напряжение питания 5В, максимальный выходной ток 100мА. Логику ПЛИС, то есть обработку нажатия кнопок, счетчики, формирования сигнала, я уже реализовал в VHDL. Теперь нужно сделать схему электрическую принципиальную. И вот тут - то я сразу потерялся. Во - первых, не знаю, как подобрать вообще ПЛИС под мое устройство. Искал долго и упорно, разнообразных вариантов куча, но так и не понял, что мне больше подойдет. Поэтому прошу помочь с подбором ПЛИСины, а так же, если не сложно, прямо на ее принципиальной схеме объяснить, что и куда нужно подавать и откуда брать мой выходной сигнал. Заранее спасибо!
|
|
|
|
|
May 11 2015, 12:09
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Vitaliy @ May 11 2015, 14:24)  Теперь нужно сделать схему электрическую принципиальную. И вот тут - то я сразу потерялся. Во - первых, не знаю, как подобрать вообще ПЛИС под мое устройство. Искал долго и упорно, разнообразных вариантов куча, но так и не понял, что мне больше подойдет. Поэтому прошу помочь с подбором ПЛИСины, а так же, если не сложно, прямо на ее принципиальной схеме объяснить, что и куда нужно подавать и откуда брать мой выходной сигнал. Заранее спасибо! После того, как проект скомпилился, будет видно, сколько логики и памяти задействовано. Выбираете производителя микросхем. Выбираете тип - CPLD или FPGA. По ресурсам выбираете серию и саму микросхему так, чтобы она была загружена на 50-70% для FPGA... После этого ищите стартовый набор на эти же микросхемы и оттуда передираете схему включения... Это что будет? Курсовик? Диплом или что-то другое?
--------------------
www.iosifk.narod.ru
|
|
|
|
|
May 11 2015, 12:16
|
Группа: Участник
Сообщений: 6
Регистрация: 11-05-15
Пользователь №: 86 615

|
Цитата(Lmx2315 @ May 11 2015, 13:01)  ..такой вопрос: "Передо мной стоит задача разработать цифровое устройства генерации пачки импульсов заданного периода (0-999мс)". С каким шагом? если 1 мс это одно, а если 1 нс, то сильно другое. Шаг 1 мс, то есть от 0мс до 999мс. Цитата(iosifk @ May 11 2015, 13:09)  После того, как проект скомпилился, будет видно, сколько логики и памяти задействовано. Выбираете производителя микросхем. Выбираете тип - CPLD или FPGA. По ресурсам выбираете серию и саму микросхему так, чтобы она была загружена на 50-70% для FPGA... После этого ищите стартовый набор на эти же микросхемы и оттуда передираете схему включения... Это что будет? Курсовик? Диплом или что-то другое? Это всего лишь домашнее задание) А все это в Active HDL возможно сделать? Вообще, по сути, мне не принципиально, чтобы какой-либо процент был загружен, либо еще какие-то тонкости. Главное, чтобы было похоже на правду, чтобы не было большого количества незадействованных контактов на схеме, тк в разработку на предприятие, естественно, никто не будет отправлять его)
Сообщение отредактировал Vitaliy - May 11 2015, 12:17
|
|
|
|
|
May 11 2015, 12:19
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Vitaliy @ May 11 2015, 15:16)  А все это в Active HDL возможно сделать? Вообще, по сути, мне не принципиально, чтобы какой-либо процент был загружен, либо еще какие-то тонкости. Главное, чтобы было похоже на правду, чтобы не было большого количества незадействованных контактов на схеме, тк в разработку на предприятие, естественно, никто не будет отправлять его) В "чем" делать - мне все равно, это дело Ваше... После компиляции выбираете микросхему или ищите в меню пункт "выбрать автоматически", наверняка он должен быть...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
May 11 2015, 12:40
|
Группа: Участник
Сообщений: 6
Регистрация: 11-05-15
Пользователь №: 86 615

|
Цитата(iosifk @ May 11 2015, 13:19)  В "чем" делать - мне все равно, это дело Ваше... После компиляции выбираете микросхему или ищите в меню пункт "выбрать автоматически", наверняка он должен быть... Ну в Active HDL я не нашел такой функции.. А где можно сделать это?
|
|
|
|
|
May 12 2015, 05:26
|
Частый гость
 
Группа: Участник
Сообщений: 156
Регистрация: 15-04-10
Пользователь №: 56 673

|
Цитата(Vitaliy @ May 11 2015, 14:24)  Теперь нужно сделать схему электрическую принципиальную. В интернете есть куча готовых отладочных плат на FPGA со схемами. Осталось только скачать. Например http://www.starterkit.ru/html/doc/SK-XC6SLX9_1A.pdf
Сообщение отредактировал likeasm - May 12 2015, 05:35
|
|
|
|
|
May 12 2015, 13:29
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(Vitaliy @ May 11 2015, 15:40)  Ну в Active HDL я не нашел такой функции.. А где можно сделать это? Сдается мне, что ваше - Цитата Логику ПЛИС, то есть обработку нажатия кнопок, счетчики, формирования сигнала, я уже реализовал в VHDL. придется делать еще раз, т.к. FPGA это не процессор общего назначения, и для нее нужно не программу писать, а аппаратуру описывать. Судя по вашему вопросу 'где это в Active HDL' вы не в курсе этого Буду рад, если я ошибаюсь
|
|
|
|
|
May 13 2015, 06:16
|
Частый гость
 
Группа: Участник
Сообщений: 136
Регистрация: 3-09-09
Пользователь №: 52 178

|
Цитата(Vitaliy @ May 11 2015, 14:24)  Здравствуйте, уважаемые эксперты. Передо мной стоит задача разработать цифровое устройства генерации пачки импульсов заданного периода (0-999мс), скважности(0-99%) и самого числа импульсов(0-9) на основе ПЛИС. Суть, вкратце, такова: на устройстве будет 13 кнопок: для увеличения или уменьшения сотен/десятков/единиц каждой из величин, а так же кнопка старт, по которой начнется формирование импульсов по принятой информации. Эти данные после обработки в ПЛИС высвечиваются на семисегментниках (посредством динамической индикации, реализованной на ПЛИС). Собственно, после нажатия кнопок на ПЛИС так же реализовано подавление дребезга контактов, затем при нажатии на какую либо кнопку, происходит увеличение либо уменьшение определенного счетчика (всего их 12), затем, после счетчиков, данные поступают на логику формирования импульсов (реализована посредством ШИМ), ну и эта пачка импульсов должна высвечиваться на каком - то выходном каскаде. Напряжение питания 5В, максимальный выходной ток 100мА. Логику ПЛИС, то есть обработку нажатия кнопок, счетчики, формирования сигнала, я уже реализовал в VHDL. Теперь нужно сделать схему электрическую принципиальную. И вот тут - то я сразу потерялся. Во - первых, не знаю, как подобрать вообще ПЛИС под мое устройство. Искал долго и упорно, разнообразных вариантов куча, но так и не понял, что мне больше подойдет. Поэтому прошу помочь с подбором ПЛИСины, а так же, если не сложно, прямо на ее принципиальной схеме объяснить, что и куда нужно подавать и откуда брать мой выходной сигнал. Заранее спасибо! Если нужно что-то совсем простое и минимум головной боли - берите MAX10. Ему не нужна внешняя конфигурационная память + можно обойтись одним питанием + есть EQFP корпус. Есть недорогая отладка: https://www.altera.com/products/fpga/max-se...uation-kit.htmlМожно к ней приделать недостающую периферию (семисегментники и пр. шелуху) - и вот вам готовый прототип. Как возьметесь за свое железо - смотрите на схематику этой платы и делайте по образу и подобию. Ну и гайды от производителя по подключению ног читаете. Там все разжевано: https://www.altera.com/content/dam/altera-w...0/pcg-01018.pdf
|
|
|
|
|
May 18 2015, 11:44
|
Группа: Участник
Сообщений: 6
Регистрация: 11-05-15
Пользователь №: 86 615

|
Всем большое спасибо, вроде разобрался, конечно, не полностью, но разобрался. Хотел бы спросить, а куда мне, собственно, эти импульсы теперь выводить? То есть какое устройство для этого служит и как это изобразить на схеме?
|
|
|
|
|
May 18 2015, 12:10
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(Vitaliy @ May 18 2015, 14:44)  Всем большое спасибо, вроде разобрался, конечно, не полностью, но разобрался. Хотел бы спросить, а куда мне, собственно, эти импульсы теперь выводить? То есть какое устройство для этого служит и как это изобразить на схеме? сигналу однозначно можно присвоить пин ПЛИС в ucf (xilinx) или sdc (altera) файле можно присвоение делать через встроенные графические редакторы ...
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
May 18 2015, 12:18
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Так как вам нужно получить до 100ma на выходе, то 'выводить' придется в какой нибудь буферный повторитель. Например SN75372, TND314S ну или какого нибудь обычного логического буфера на 100ma (типа 74LVT244 - по 2 канала в параллель)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|