Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить

Re: XILINX 9572 у чайника

Вс июн 19, 2016 16:11:33

Нет, я его не реализовал. В каком-то проекте был вывод двоичного числа, для тестовой отладки, но там я делал как по схеме с ПР7. Дигилентовский исходник можно найти тут или тут.

Re: XILINX 9572 у чайника

Пт июл 01, 2016 17:13:32

Эх, чую побьют меня Meteor с uldemirом :))
Ну да ладно....

Пока китайса упаковывают мои покупки и пытаются их доставить до моего дома, я на просторах интернета наткнулся ещё на одну книжку от Virtex-5. На шести сотнях страниц расписаны детальки в схематике. Очень интересно было полистать эту книжку. :tea:

http://www.xilinx.com/itp/xilinx10/book ... x5_scm.pdf

Далее решил поиграться в симуляторе с микросхемкой 74_168. Двоично-десятичный реверсивный счётчик.
Собрал на нём считалку от -200 до 999.
Картинку и файлик в протеусе прилагаю. :tea:

Изображение

Re: XILINX 9572 у чайника

Сб июл 16, 2016 18:36:57

Прислали мне друзья китайцы новые ПЛИСки, с 44 ногами. Собрал новую макетку. Кинул туда, по быстренькому, счётчик в виде cb4ce, быстренько всё это дело туда залил. Всё отлично, продавцу пятёрку в звёздочках поставил.

Изображение Изображение

Дальше решил попробовать повторить реверсивный счётчик в виде 74_192, в схематике, т.к. в книжках и в паутине описания в языках реверсивных счётчиков не обнаружил. Он зараза почему то занял целых 9 ячеек (готовый 74_168 всего то 4) и не захотел работать в железе :kill:

Изображение

Ну ладно, нашёл ошибки, подрисовал картинку, нажимаю кнопку стереть...... Снова выпадают ошибки 585, 583 :))) :facepalm:

Опять, плясал, пел песни, бил в бубны, долго расписывать не буду, но на одном форуме прочитал, что был похожий случай и проблема оказалась в плохой пропайке контактов программатора. :shock:
Подёргал проводочки (не легонько как раньше, а чуть чуть по сильнее :))) ) и действительно, в одном из положений всё замечательно работает. Пробежался по ним паяльником. Буду надеяться что это и есть вся причина, раз пять забивал прошивку, стирал, пока полёт нормальный. :beer:

Re: XILINX 9572 у чайника

Ср июл 20, 2016 14:35:33

Вот ну ни за что бы не подумал, а в готовых элементах для схематика, тоже бывают ошибки. :)))
Деталька под названием x74_168.sch, при счёте в обратную сторону, на следующий разряд, выдаёт импульс также как и при прямом счёте. В следствии чего сброс происходит не после перехода с 0-9, а на 9-8. Путь её, где обычно лежит C:\Xilinx92i\cpld\data\drawing
Кому будет интересно, исправил ошибку и прикрепил в архиве. :write:
Вложения
x74_168.rar
(7.39 KiB) Скачиваний: 460

Re: XILINX 9572 у чайника

Вт июл 26, 2016 14:36:33

Собрал свой первый частотомер на логике. Измеряет от 0,1кГц до 999,9кГц.
Правда своровал у uldemirа детальку bin2seg :oops:
Раз в ~0.5с, за период в 10mс производится подсчёт импульсов на входе. Точность завышается на единичку, по младшему разряду, меня в принципе устраивает всё, пока с этим не заморачивался.
При кварцевом генераторе в 10 МГц, действительно, много ресурсов съедается на делителях. :cry:

Изображение Изображение Изображение

Хочу попробовать собрать синтезатор частоты на XR2206, но для этого надо ещё один камень цеплять.

Изображение

Интересует вопрос с управлением. Как правильно подключить эти управляющие элементы (к базе транзистора, например, сам транзистор параллельно резисторам R2, R3) и с какой периодичностью производить сравнение в диапазоне ~10кГц-100кГц, с шагом в 100Гц :dont_know:

Re: XILINX 9572 у чайника

Вт июл 26, 2016 19:17:18

В журнале Радио на этих ПЛИС был опубликован частотомер с автоматическим выбором диапазона. Наверное, та статья меня и подвигнула заняться этими микросхемами. Вот с нахрапа, не скажу в каком году это было. Помню только, что статья была аж на два номера.

Re: XILINX 9572 у чайника

Вт июл 26, 2016 19:25:33

Если про одну и туже конструкцию говорим, то 2001г. :tea:

http://kai5.ru/platno/kss/id_035/200-20032011.jpg

Re: XILINX 9572 у чайника

Вт июл 26, 2016 19:57:00

Ыгы, это оно

Re: XILINX 9572 у чайника

Вт авг 02, 2016 00:54:44

Ну вроде как победил я этот синтезатор частоты. :tea:

Правда за клубком проводов, макетку практически не видно :)))

Изображение Изображение

Компаратор на x74_l85 съел много Pterms Used, пришлось его урезать.
Чтоб уместиться в одном камне и не делать ещё одну макетку, поставил декодер индикаторов внешний, отказался от индикации частоты. Кварц на 1843200, делил на 74нс393 до 7200Гц.
Погрешность сего устройства в пределах ± 100 Гц вроде как, более менее, держит. Единственное фильтр не знаю как правильно делать и расчитывать.

Изображение Изображение Изображение

Изображение Изображение Изображение

Re: XILINX 9572 у чайника

Чт дек 28, 2017 14:25:06

Думаю по играться с шаговыми двигателями и с трёхфазными двигателями. Ни кому не попадались подобные извращения на логике? :))
Как синус сделать мысли есть, а вот как сделать мёртвое время между переключениями транзисторов, чтоб оно было постоянным, не зависело от частоты переключений, пока не попадалось и сам не придумал.

Изображение Изображение

Re: XILINX 9572 у чайника

Чт дек 28, 2017 18:24:50

Управление шаговым мотором делал лет 10 назад на рассыпухе(правда блок силовых ключей был заимствован из графопостроителя). Сейчас есть готовые драйвера, но я не отслеживал их и существенно не подскажу(на коте были темы). Что касается силового управления с мертвым временем- то у себя используем вот такое.

Re: XILINX 9572 у чайника

Чт дек 28, 2017 19:15:19

А если сделать мёртвое время какой-то определённой величиной и от уменьшения частоты оно будет увеличиваться?
Например при уменьшения частоты с 50 Гц до 10, и это время увеличится, допустим, с 2х мкс до 10 ?
Такой вариант возможен в работе с ключами?
Шаговики пока не рассматривал. Разберу бардак на столе, подключу драйвера и посмотрю как они работают.

Re: XILINX 9572 у чайника

Чт дек 28, 2017 20:06:48

asvhmao писал(а):А если сделать мёртвое время какой-то определённой величиной и от уменьшения частоты оно будет увеличиваться?
Например при уменьшения частоты с 50 Гц до 10, и это время увеличится, допустим, с 2х мкс до 10 ?

Не очень понял сути вопроса. Мертвое время необходимо для гарантированного выключения одного транзистора, перед включением другого. Оно мало зависит от частоты переключения - больше от характеристик силовых ключей. Так что если уж на самой высокой частоте управления мертвого времени хватает, то с понижением частоты его увеличивать не стоит.

Re: XILINX 9572 у чайника

Чт дек 28, 2017 20:58:34

Просто было бы удобно привязать всю самоделку к одному генератору с крутилкой и не надо тогда усложнять схему, вешать отдельный генератор для паузы.

На TL494, например, пропорционально меняется мёртвое время с частотой.

Изображение Изображение

Re: XILINX 9572 у чайника

Чт дек 28, 2017 21:15:30

Такой же эффект вы получите если сделаете счетчик на N состояний и зададите несколько порогов: 0<x<a - включили нижний ключ, a<=x<b мертвое время, b<=x<c включили верхний ключ, c<=x<N мертвое время. При смене частоты самих импульсов у вас так же будет изменяться мертвое время.

Re: XILINX 9572 у чайника

Чт дек 28, 2017 21:48:54

Да, так наверное и сделаю для начала.
А по поводу синусоиды что можете сказать? Я думал забить таблицу и по ней читать, в какой момент времени, сколько должно быть импульсов. Какие есть ещё варианты?

Re: XILINX 9572 у чайника

Чт дек 28, 2017 22:48:35

А зачем таблица?
Если делать через пороги, то "правильно подобранные" точки сравнения, после фильтров в силовой части, и так дадут синусоиду. Это справедливо для случая когда формируется фиксированная частота.
Если будете генерировать сложный сигнал - то таблица станет лучшим вариантом.
Есть конечно еще cordic, но насколько он будет оправдан сказать не могу.

Re: XILINX 9572 у чайника

Чт дек 28, 2017 23:13:14

Есть задумка сделать частотный регулятор для трёхфазного двигателя. Мне кажется с таблицы проще и безопасней раскидать фазы на 120°.

Meteor писал(а):Если делать через пороги, то "правильно подобранные" точки сравнения, после фильтров в силовой части, и так дадут синусоиду. Это справедливо для случая когда формируется фиксированная частота

Что такое "через пороги"? Частота у задающего генератора будет плавать, соответственно и на выходе будет меняться частота синусоиды. Пока ещё не совсем курю многие термины :dont_know:

Про математические операции с синусами, косинусами на логике, не подскажите где можно почитать?

Re: XILINX 9572 у чайника

Пт дек 29, 2017 19:22:45

asvhmao писал(а):Что такое "через пороги"?

Ну давайте еще раз по порядку.
Поставлена задача сформировать шесть сигналов сдвинутых на 120 градусов в тройке и "инвертированных" попарно.
По сути все они представляются меандрами, но для исключения сквозных токов длительность импульса (1) должна быть короче паузы (0).
Возьмем в первом приближении счетчик на 768 состояний (256*3=768 или 128*6=768).
Для формирования меандров достаточно было бы переключать "сигналы фаз" через 384 состояния счетчика.
Допустим для формирования фазы А определим что если счетчик больше 0 и меньше или равен 384 - то сигнал 1, иначе - 0. В данном случае пороги равны >0 и <=384.
Для других фаз, надо сместить эти пороги на величину равную 120 градусам, или в пересчете на такты для фазы В 1 если счетчик от 256 до 640, а для фазы С 1 когда счетчик от 512 до 128.
Еще три меандра противоположны полученным.
Теперь что бы избавиться от угрозы сквозных токов достаточно сместить границы переходов из 0 в 1 на один-два такта в сторону увеличения, и аналогично поступить с переходами из 1 в 0, но в сторону уменьшения.
Допустим получим значения:
2< count <=382 А=1, иначе А=0; вкл нижний тр-р А
258<count<=638 B=1, иначе В=0;вкл нижний тр-р В
514<count<=126 C=1, иначе С=0; вкл нижний тр-р С
386<count<=766 invA =1, иначе 0; вкл верхнего тр-ра А
642<count<=254 invB=1, иначе 0; вкл верхнего тр-ра В
130<count<=510 invC=1, иначе 0; вкл верхнего тр-ра С.
Тогда при смене частоты тактирования счетчика будет выполнятся Ваше
asvhmao писал(а): Частота у задающего генератора будет плавать, соответственно и на выходе будет меняться частота синусоиды.

При этом нет никаких таблиц. Все определяется схемами сравнения текущего состояния счетчика с установленными границами переходов (они же пороги).

Если брать таблицу, то к ней надо еще делать адресацию, выбирать значения и т.д. Как на мой взгляд - жутко неудобно и абсолютно не нужно.

asvhmao писал(а):Про математические операции с синусами, косинусами на логике, не подскажите где можно почитать?

Вычисления тригонометрии адаптированное под двоичную математику является упомянутый алгоритм cordic.

Re: XILINX 9572 у чайника

Сб дек 30, 2017 04:53:00

Не удержался, в протеусе нарисовал схемку с табличными значениями. Получилась немного кривоватая и на 16 строчек всего. Для начала пойдёт. :))

Изображение

Дальше, при усложнении, протеус начинает тормозить, надо будет переходить на плиску и в живую уже играться.

Ну и шим ещё:

Изображение
Ответить