5-Microstep Drive. Xilinx CPLD

boldive

Сэмплов не подкинули, пришлось накупить рассыпухи вместе с XC2C64A-7VQ44C. теперь надо плату под это дело ваять. Схему обвязки наверно надо брать вот отсюда. Она мне почему-то больше нравится. И у меня такое ощущение что она очень близка к реальной схеме драйвера G203V.

Марисс говорит что для связки IR2104 + IRF540N резисторы в цепи затвора не нужны, и если внимательно посмотреть на фотографию G250 на сайте geckodrives.com то там видно прямое соединение с затворами IRF540N. Кто что думает по этому поводу?

boldive

Все детали приехали. Можно строить драйвер. Осталось только плату развести, с моими темпами это получится не скоро.

Что-то никак не могу разобраться как в Xilinx ISE 10.1.03 программу скомпилировать и через JTAG записать в CPLD. Кто нибудь может просветить?

tumbzik

Для заливки отдельная тулза. Programmer чего-то там. Воопщем после компиляции нужно указать какие чипы есть в JTAG цепочке, задать для каждого чипа файл выхода и влить его, но перед тем еще нужно имплементировать то, что ты хочешь в этот чип и провести финальную симуляцию, уже на уровне кристалла, с проверкой выдерживания таймингов. Впринципе на сайте xilinx есть отличные мануалы, в частности по CPLD к родной отладке есть довольно увесистая книжечка в деталях описывающая процесс.

1 month later
kreitzz

Народ, приветик.
Вижу, многие мучаются с программированием Xilinx. Я в свое время тоже разбирался в этой проблеме, так что делюсь своим опытом. Просмотрите приложенный файл - это часть выполненного курсовика по Verilog, железо от Digilent - тестовая плата со Спартаном-3. Курсовик выполнен как пошаговая инструкция по программированию.

boldive
kreitzz:

Народ, приветик.
Просмотрите приложенный файл

Ну и куда смотреть? Где файл потерялся?

21 days later
boldive

CPLD Xilinx CoolrunnerII, XC2C64-7VQ44C

После компиляции проекта выходит два предупреждения:

[Warning]:INFO:Cpld - Inferring BUFG constraint for signal ‘CLK’ based upon the LOC constraint ‘P43’. It is recommended that you declare this BUFG explicitedly in your design. Note that for certain device families the output of a BUFG constraint can not drive a gated clock, and the BUFG constraint will be ignored.INFO:Cpld - Inferring BUFG constraint for signal ‘OSCA’ based upon the LOC constraint ‘P44’. It is recommended that you declare this BUFG explicitedly in your design. Note that for certain device families the output of a BUFG constraint can not drive a gated clock, and the BUFG constraint will be ignored.

[Warning]:Cpld:1239 - The global clock designation (BUFG) on signal ‘OSCA_IBUF’ is ignored. Most likely the signal is gated and therefore cannot be used as a global control signal.

Схема внешнего генератора простая:

Соответственно ноги в Floorplan IO

Строка в Verilog описывающая эту функцию: assign OSCB = ~OSCA;

Что это за BUFG constraint и где ее надо правильно описать?

mura

Пришли проект, попробую в Максе-Квартусе откомпилить.

Golum

А можно это в Алтеру перекомпилять ?

mura
Golum:

А можно это в Алтеру перекомпилять ?

ЛЕГКО!

ATLab
mura:

ЛЕГКО!

Насколько я помню, Марисс там активно использует выходы с открытым коллектором. В дешевых Альтерах они тоже есть?

P.S. Я то сам так и не сподобился двинуться дальше баловства, суета сует…

mura
ATLab:

Насколько я помню, Марисс там активно использует выходы с открытым коллектором. В дешевых Альтерах они тоже есть?

А кто мешает верхний транзистор закрыть ПОСТОЯННО?
Чего там нет, так это триггера шмидта по входу, но генераторы и на простых входах стабильно работают.

Golum
mura:

ЛЕГКО!

Пожалуйста. Просто Алтер на списанных\дохлых платах завались. а Ксилинков обыскался.

ATLab
mura:

А кто мешает верхний транзистор закрыть ПОСТОЯННО?
Чего там нет, так это триггера шмидта по входу, но генераторы и на простых входах стабильно работают.

Юрий, Вы на этом деле стаю собак уже съели 😃, а для меня это новость, что можно раздельно управлять плечами выходного каскада.

mura

Там есть даже “примитив” opndrn - сам все делает, но если есть желание то можно и по отдельности транзисторами “рулить”.

А вообще CoolRuner это классическая Альтеровская PLD-ха.
В 90-х Альтера продала свою технологию Филипсу, те ,надо отдать должное, здорово снизили потребление, но продукт массовости не получил.
Xilinx же PLD так и не научился делать( хотя с FPGA у него все нормально) просто перекупает все подразделение, и теперь делает нормальные PLD как и Альтера.

P.S. CoolRuner - Филипсовское название.

boldive

Примерно так. Осталось запаять пару перемычек и прошить CPLD. И можно тестировать.

mura

В лоб не прокомпилилась, там используется Ксайлинкоская либа, но у Альтеры есть аналогичная - попробую ее прикрутить.

boldive

Похоже дело в распиновке ног на OSCA, OSCB и CLK. Разместил ноги:
CLK - P1
OSCA - P42
OSCB - P2

Теперь ругается только на CLK и похоже требует чтобы я ей схему включения CLK нарисовал.
Cpld - Inferring BUFG constraint for signal ‘CLK’ based upon the LOC constraint ‘P1’. It is recommended that you declare this BUFG explicitedly in your design. Note that for certain device families the output of a BUFG constraint can not drive a gated clock, and the BUFG constraint will be ignored.

В общем дело в распиновке. Читаю документацию.

mura

Этот пип ПЛД требует подключения CLK на выделенный (по доке) пин - нуна назначить на него и подключить входной буффер.