Расширить ШИМ (ПЛИС + МК)

Mon Sep 20 2004 18:47, Leha Bishletov wrote to All:

LB> From: "Leha Bishletov" snipped-for-privacy@rol.ru

LB> Привет!

LB> Появилась желание сделать многоразрядный ШИМ на большой частоте + еще LB> немного логических функций. Исходная частота для ШИМ > 40МГц. LB> Результирующая >20кГц. Еще надо будет сделать выход на два канала с LB> паузой для управления транзисторным мостом.

LB> PS: Желательно, что бы цена ПЛИС + внешний генератор (если нужно) LB> уложилась в $10.

16bit/40MHz PWM - TMS320LF2401, <$10

formatting link
PWM waveform generation Up to eight PWM waveforms (outputs) can be generated simultaneously by EVA: three independent pairs (six outputs) by the three full-compare units with programmable deadbands, and two independent PWMs by the GP-timer compares. ...

WBR, Юрий.

Reply to
Yuriy K
Loading thread data ...

Привет!

Появилась желание сделать многоразрядный ШИМ на большой частоте + еще немного логических функций. Исходная частота для ШИМ > 40МГц. Результирующая >20кГц. Еще надо будет сделать выход на два канала с паузой для управления транзисторным мостом. Как вариант решения кажется, что МК + ПЛИС оптимальная пара. У МК используется родной ШИМ, он подается на ПЛИС и еще четыре разряда в параллельном коде. Как это сделать на мелкой логике я представляю, но с ПЛИС ни когда дела не имел и у меня есть один большой вопрос: как сделать тактирование ПЛИС и МК, что бы они работали от одного генератора, т.е. синхронно? Идеально было бы, если бы у ПЛИС был встроенный генератор, к ней бы подключался кварц, выбирался коэффициент умножения, а с ее выхода брался бы тактовый сигнал для МК. Есть такие ПЛИС (из недорогих) или нет? И как обычно решаются задачи по синхронизации работы ПЛИС и МК? Как формируются десятки МГц для тактирования ПЛИС?

PS: Желательно, что бы цена ПЛИС + внешний генератор (если нужно) уложилась в $10.

Leha Bishletov. E-mail: snipped-for-privacy@rol.ru

Reply to
Leha Bishletov

Mon Sep 20 2004 18:47, Leha Bishletov wrote to All:

LB> Появилась желание сделать многоразрядный ШИМ на большой частоте + еще LB> немного логических функций. Исходная частота для ШИМ > 40МГц. LB> Результирующая >20кГц. Еще надо будет сделать выход на два канала с LB> паузой для управления транзисторным мостом.

TMS320LF2401

VLV

"Быть честным - лучший способ оставаться бедным" (c) Hаполеон Бонапарт

Reply to
Vladimir Vassilevsky

Мир Вашему дому, Vladimir!

Вторник Сентябрь 21 2004 00:03, Vladimir Vassilevsky писал(а) Leha Bishletov:

LB>> Появилась желание сделать многоразрядный ШИМ на большой частоте + еще LB>> немного логических функций. Исходная частота для ШИМ > 40МГц. LB>> Результирующая >20кГц. Еще надо будет сделать выход на два канала с LB>> паузой для управления транзисторным мостом. VV> TMS320LF2401

Ср-ва разработки (asm, FORTH, C) и программатор для него посоветуешь?

Удачи! Sergej Pipets ... Hикогда люди не вpут так много, как пеpед выбоpами, во вpемя войны и после охоты. (с) Бисмаpк

Reply to
Sergej Pipets

Tue Sep 21 2004 09:16, Sergej Pipets wrote to Vladimir Vassilevsky:

LB>>> Появилась желание сделать многоразрядный ШИМ на большой частоте + еще LB>>> немного логических функций. VV>> TMS320LF2401 SP> Ср-ва разработки (asm, FORTH, C) и программатор для него посоветуешь?

Купить eZDSP evaluation board. К ней прилагается CCS и куча утилит, в том числе ISP/бутлодер.

VLV

P.S. Ассемблер там такой, что любой пикоман ногу сломит. Форта, естественно, нет. С - очень приличный оптимизирующий компиллятор.

"Быть честным - лучший способ оставаться бедным" (c) Hаполеон Бонапарт

Reply to
Vladimir Vassilevsky

Hello Vladimir.

20 Sep 04 23:03, you wrote to Leha Bishletov:

VV> TMS320LF2401

А есть что-то аналогичное, но с 12-разрядным АЦП?

Alexey

Reply to
Alexey Boyko

Leha, ты ещё здесь сидишь?

Понедельник Сентябрь 20 2004 18:47, Leha Bishletov wrote to All:

LB> Появилась желание сделать многоразрядный ШИМ

Сколькоименноразрядный?

LB> на большой частоте + еще немного логических функций. Исходная частота LB> для ШИМ > 40МГц. Результирующая >20кГц.

40 МГц / 20 кГц = 2000. Разрядности в 11 бит хватит? Тогда тактовая для ШИМ будет выше 20 кГц * 2048 = 40,96 МГц. Если разрядности не хватает - придётся ещё большую тактовую подавать...

LB> Еще надо будет сделать выход на два канала с паузой для управления LB> транзисторным мостом. Как вариант решения кажется, что МК + ПЛИС LB> оптимальная пара. У МК используется родной ШИМ, он подается на ПЛИС и LB> еще четыре разряда в параллельном коде.

Ой! Как совмещать "лесенку" собираешься?

LB> Как это сделать на мелкой логике я представляю, но с ПЛИС ни когда LB> дела не имел и у меня есть один большой вопрос: как сделать LB> тактирование ПЛИС и МК, что бы они работали от одного генератора, LB> т.е. синхронно?

Завести тактовую с одного чипа на другой ;)

Георгий

Reply to
George Shepelev

Tue Sep 21 2004 10:57, Alexey Boyko wrote to Vladimir Vassilevsky:

VV>> TMS320LF2401 AB> А есть что-то аналогичное, но с 12-разрядным АЦП? Есть TMS320C28xx, у которых нечто похожее на 12-разрядный АЦП. Если устраивает разрешение, а не точность.

VLV

"Быть честным - лучший способ оставаться бедным" (c) Hаполеон Бонапарт

Reply to
Vladimir Vassilevsky

"Leha Bishletov" snipped-for-privacy@rol.ru сообщил/сообщила в новостях следующее: news:cimqgq$d3q$ snipped-for-privacy@news.rol.ru...

skip

\ cy8c26443-24PI - 3.3$ Максимальная частота опоры 48М от внутреннего генератора и никакой обвески. Цитата из даташита: Features and Overview

8- and 16-bit general purpose pulse width modulator (PWM) with 8-bit dead band generator, two or three PSoC blocks, respectively Phase1 and Phase2 under-lapped outputs track the frequency of the generated PWM signal Programmable duty cycle Programmable dead time Dead Band Kill input drives Phase1 and Phase2 outputs low Counter clocking up to 48 MHz Interrupt option triggered on rising edge of the PWM generated signal or counter terminal count The 8- and 16-bit PWMDB User Modules are pulse width modulators combined with an 8-bit dead band generator. The pulse width modulator provides a programmable period and pulse width input signal to the dead band generator. The dead band generator outputs two under-lapped signals, with programmable dead time at the same frequency as the input signal. When asserted, the Dead Band Kill input will drive the Phase1 and Phase2 output signals low. The clock and enable signals can be selected from several sources. The Phase1 and Phase2 output signals can be routed to the external pin ports or to the global output buses for internal use by other user modules. An interrupt can be programmed to effectively trigger on both edges of the pulse width modulator output.

ЗЫ Не те мк ВЫ используете...

Reply to
Sergey Korobkin

"Vladimir Vassilevsky" snipped-for-privacy@fullnet.net сообщил/сообщила в новостях следующее: news: snipped-for-privacy@p2.f.n5020.z2.ftn...

Я слышал, что софт к этим board работает только с этими board ? Т.е. если я захочу запрограммировать мс в своем устройстве, ничего не получится. Или я ошибаюсь ?

Reply to
Konstantin Morozov

Привет!

LB>> Появилась желание сделать многоразрядный ШИМ на большой частоте + LB>> еще немного логических функций. Исходная частота для ШИМ > 40МГц. LB>> Результирующая >20кГц. Еще надо будет сделать выход на два канала LB>> с паузой для управления транзисторным мостом. YK> 16bit/40MHz PWM - TMS320LF2401, <$10

С TI я раньше не работал. Нашел аналогичное по возможностям среди PIC, с которыми работал. Но у всех Fmax=40МГц. А хочется еще больше :). Чем больше получится частота, тем меньше будет фильтр на выходе. Поэтому и смотрю в сторону ПЛИС+МК, да и надо хотя бы что-то сделать на ПЛИС, для общего развития.

Leha Bishletov. E-mail: snipped-for-privacy@rol.ru

Reply to
Leha Bishletov

Привет!

LB>> Появилась желание сделать многоразрядный ШИМ на большой частоте + LB>> еще немного логических функций. Исходная частота для ШИМ > 40МГц. LB>> Результирующая >20кГц. Еще надо будет сделать выход на два канала LB>> с паузой для управления транзисторным мостом.

VV> TMS320LF2401

С этим я не знаком, но у него есть аналоги (для моей задачи) среди PIC. Хочется попробовать именно связку ПЛИС+МК и получить разрешение в ШИМ около 10нс.

Leha Bishletov. E-mail: snipped-for-privacy@rol.ru

Reply to
Leha Bishletov

Привет!

LB>> Появилась желание сделать многоразрядный ШИМ GS> Сколькоименноразрядный?

Не менее 11.

LB>> на большой частоте + еще немного логических функций. Исходная LB>> частота для ШИМ > 40МГц. Результирующая >20кГц. GS> 40 МГц / 20 кГц = 2000. Разрядности в 11 бит хватит? Тогда GS> тактовая для ШИМ будет выше 20 кГц * 2048 = 40,96 МГц. Если GS> разрядности не хватает - придётся ещё большую тактовую подавать...

Хочется еще больше тактовую ШИМ, в идеале около 100МГц. Чем больше получится тактовая ШИМ тем меньше будет фильтр на выходе.

LB>> Еще надо будет сделать выход на два канала с паузой для управления LB>> транзисторным мостом. Как вариант решения кажется, что МК + ПЛИС LB>> оптимальная пара. У МК используется родной ШИМ, он подается на LB>> ПЛИС и еще четыре разряда в параллельном коде. GS> Ой! Как совмещать "лесенку" собираешься?

Нарисовать схему на мелкой логике, реализующую это, я могу.

LB>> Как это сделать на мелкой логике я представляю, но с ПЛИС ни когда LB>> дела не имел и у меня есть один большой вопрос: как сделать LB>> тактирование ПЛИС и МК, что бы они работали от одного генератора, LB>> т.е. синхронно? GS> Завести тактовую с одного чипа на другой ;)

Это понятно, не понятно, где взять исходную тактовую (100МГц)

Leha Bishletov. E-mail: snipped-for-privacy@rol.ru

Reply to
Leha Bishletov

Привет!

??>> Появилась желание сделать многоразрядный ШИМ на большой частоте + ??>> еще немного логических функций. Исходная частота для ШИМ > 40МГц. Результирующая >>> 20кГц. Еще надо будет сделать выход на два канала с ??>> паузой для управления транзисторным мостом. Как вариант решения ??>> кажется, что МК + ПЛИС оптимальная пара. У МК используется родной ??>> ШИМ, он SK> skip ??>> PS: Желательно, что бы цена ПЛИС + внешний генератор (если нужно) ??>> уложилась в $10.

SK> cy8c26443-24PI - 3.3$ SK> Максимальная частота опоры 48М от внутреннего генератора и никакой

С таким не работал. По моим потребностям есть аналогичные МК среди PIC, с которыми работал. А хочется получить тактовую ШИМ около 100МГц и, заодно, научиться работать с ПЛИС.

Leha Bishletov. E-mail: snipped-for-privacy@rol.ru

Reply to
Leha Bishletov

Wed Sep 22 2004 08:26, Konstantin Morozov wrote to Vladimir Vassilevsky:

Просто CCS не запускается, если board не подключена к компу. То есть board служит ключом для софта. В остальном софт вполне функционален.

VLV

"Быть честным - лучший способ оставаться бедным" (c) Hаполеон Бонапарт

Reply to
Vladimir Vassilevsky

Wed Sep 22 2004 09:45, Leha Bishletov wrote to Vladimir Vassilevsky:

LB>>> Появилась желание сделать многоразрядный ШИМ на большой частоте + LB>>> еще немного логических функций. Исходная частота для ШИМ > 40МГц. LB>>> Результирующая >20кГц. Еще надо будет сделать выход на два канала LB>>> с паузой для управления транзисторным мостом. VV>> TMS320LF2401 LB> С этим я не знаком, но у него есть аналоги (для моей задачи) среди PIC. LB> Хочется попробовать именно связку ПЛИС+МК и получить разрешение в ШИМ LB> около 10нс. Тогда TMS320C28xx. Тактовая до 150MHz.

VLV

"Быть честным - лучший способ оставаться бедным" (c) Hаполеон Бонапарт

Reply to
Vladimir Vassilevsky

Tue, 21 Sep 2004 19:07:57 +0600 Sergey Korobkin wrote to Leha Bishletov:

Это уже второе сообщение на тему. Первое я пропустил, не стал развивать. Сейчас, каюсь, не сдержался.

[...]

SK> \ SK> cy8c26443-24PI - 3.3$ SK> Максимальная частота опоры 48М от внутреннего генератора и никакой обвески. SK> Цитата из даташита: SK> Features and Overview SK> 8- and 16-bit general purpose pulse width modulator (PWM) with 8-bit dead

[...]

SK> modules. An interrupt can be programmed to effectively trigger on both SK> edges of the pulse width modulator output.

SK> ЗЫ SK> Hе те мк ВЫ используете...

Очень сомнительное утверждение. Беглый взгляд на означенный МК (хотя это, видимо, не МК, бо как МК очень слаб - не зря же они сами его PSoC обзывают) выявляет:

[1] Малое количество ОЗУ - 256 байт максимум. [2] _ОЧЕHЬ_ медленное ядро процессора. [3] Отнюдь не чемпионское потребление.

Сочетание последних двух пунктов просто удручает. В даташите указано 5 (8 макс.) мА при 3 МГц. И учитывая, что за 1 цикл там не выполняется _HИЧЕГО_ - даже NOP, и тот 4 цикла, а другие команды 5,6,7..13 циклов. Вызов подпрограммы CALL - 11 циклов. LCALL - 13 циклов. Переходы - 5 циклов. Арифметика, где аккумулятор не является операндом, занимают 6-10 тактов. И это все при 8-битных операндах. Т.е. на своей максимальной скорости 24 МГц реальная производительность, приведенная к тому же PIC18 будет соответствовать где-то МИПСам трем упомянутого PIC'а. А кушать оно на этих 24 МГц будет (прямых данных нет, но будет считать, что потребление растет пропорционально скорости, хотя скромное молчание на эту тему вызывает некоторое сомнения) 5mA@3MHz ->

40mA@24MHz. Hе впечатляет.

И глядя на это, я отчасти понимаю, почему некоторые PIC считают быстрым контроллером - по сравнению с этим кипарисом PIC, действительно, быстр, как ветер! :)

Что касается его крутых блоков, то и тут сомнения берут. Да, оно умеет неплохо реализовывать предопределенные функции вроде ШИМ, таймеров или коммуникаций в виде UART/SPI и какого-то CRC. Hо как быть, когда надо что-то другое? Hапример, I2C. Или надо данные в Манчестер перекодировать и гнать на радиотрансивер? Или состыковаться с девайсом, у которого немного другой интерфейс (у меня была именно такая задача - надо было данные гнать через модем MT9172, у которого последовательный порт не стыкуется ни с одним из упомянутых, хотя похож на SPI)? Словом, задач много и все они не вмещаются в рамки того, что могут эти блоки. Поэтому гораздо более продвинутым и гибким решением будет использование того же FPSLIC, хотя и более дорогим.

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

И последнее. Сложилось устойчивое впечатление, что девайсина эта ориентирована на вполне конкретные применения. Основную работу делают именно конфигурируемые блоки, а ядро процессора там в основном для того, чтобы конфигурировать эти блоки. Потому как вычислительная мощь процессора соответствующая.

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

И по поводу первого сообщения. Вот оно:

=========Beginning of the citation============== Fri, 17 Sep 2004 19:42:51 +0600 Sergey Korobkin wrote to Harry Zhurov:

[...]

HZ>>>> которые более для этого подходят - ПЛИС. SK> Извиняюсь, я пропустил начало расклада. SK> Я по поводу экзотичности 2.5 МБода от UART'а, я уже 3 года сижу на SK> 8-битных мк от кипарисов (сейчас они стоят 3.3$), так там UART реально SK> работает на скорости 6 МБод, какая уж тут экзотика ? =========The end of the citation================

И чем ты собрался обрабатывать поток данных в 6 МБод? Этим процессором? Сомнительно, что он будет успевать выгребать байты на такой скорости.

И по поводу экзотики - сам по себе этот PSoC самая что ни на есть экзотика. Гораздо экзотичнее, чем другие SoC, которые предлагают Атмел, Трайсенд, Альтера и Зайлинкс.

Reply to
Harry Zhurov

Wed, 22 Sep 2004 07:26:11 +0600 Konstantin Morozov wrote to Vladimir Vassilevsky:

[...]

SP>>> Ср-ва разработки (asm, FORTH, C) и программатор для него посоветуешь?

KM> Я слышал, что софт к этим board работает только с этими board ? Т.е. если я KM> захочу запрограммировать мс в своем устройстве, ничего не получится. Или я KM> ошибаюсь ?

Все получится. Пакет этот включает полноценные ассемблер, компилятор и линкер. Т.ч. исполняемый файл ты получишь без проблем. Далее, как его заливать в МК. Это можно делать с помощью бутлоадера (утилита есть отдельная) или с помощью эмулятора. Вот эмулятор к этому софту так сразу не подключается - оно работает с эмулятором, встроенным в кит. Может и можно как-то подрихтовать конфигурацию, не пробовал. Можно скачать вообще полный пакет. Ссылки регулярно мелькают на Телесистемах в конфе по DSP.

Reply to
Harry Zhurov

Wed, 22 Sep 2004 08:45:03 +0600 Leha Bishletov wrote to George Shepelev:

[...]

LB>>> на большой частоте + еще немного логических функций. Исходная LB>>> частота для ШИМ > 40МГц. Результирующая >20кГц. GS>> 40 МГц / 20 кГц = 2000. Разрядности в 11 бит хватит? Тогда GS>> тактовая для ШИМ будет выше 20 кГц * 2048 = 40,96 МГц. Если GS>> разрядности не хватает - придётся ещё большую тактовую подавать...

LB> Хочется еще больше тактовую ШИМ, в идеале около 100МГц. Чем больше LB> получится тактовая ШИМ тем меньше будет фильтр на выходе.

[...]

LB> Это понятно, не понятно, где взять исходную тактовую (100МГц)

Самое простое: взять пакет от Альтеры Max+PLUS II или Quartus II. Почему от Альтеры? Да потому, что проще с ними начинать, дружественнее они к юзеру, все в одном флаконе. Где взять? Можно скачать с фтп Альтеры. С лекарствами тоже нет проблем.

Далее берешь и рисуешь свою схему в графическом редакторе. Hа чем рисовать - вопрос вкуса, опыта. Можно хоть на вентилях. А можно прямо параметризованные модули использовать (предпочтительнее, т.к. весьма экономит силы и время). Hадо только помнить, что схема, которую ты рисуешь, внутри ПЛИС такой же схемой не станет. Схема твоя - это не более, чем логическое описание. А реализация будет другой, такой, какая ложится на выбранную архитектуру. Hо проблем это не составляет, просто при этом начинаешь сразу задумываться - а на хрена эта схема? И приходишь постепенно к тому, что на языке все это быстрее и гибче можно описать. Hо это уже следующий шаг. :)

Дальше выбираешь целевую ПЛИС. Возьми для начала EP1K10 (ACEX1K). Можешь проект попробовать на разных семействах, оценить разницу.

Дальше моделируешь все это хозяйство в симуляторе.

Дальше останется только залить все это в ПЛИС. Способов масса и зависят они от кучи факторов.

С тебя пока хватит этого. :) Когда на симуляторе уже заработает, как надо, тогда уже и понимания будет прилично, дальше проще. Т.ч. двигай в этом направлении.

Reply to
Harry Zhurov

Привет!

LB>> Хочется еще больше тактовую ШИМ, в идеале около 100МГц. Чем LB>> больше получится тактовая ШИМ тем меньше будет фильтр на выходе. HZ> [...] LB>> Это понятно, не понятно, где взять исходную тактовую (100МГц) HZ> Самое простое: взять пакет от Альтеры Max+PLUS II или Quartus

[skip ...]

Спасибо за подробный ответ. Но все же, откуда потом надо будет брать тактовую частоту? Как поступают опытные люди, если им надо тактировать работу ПЛИС от 100МГц? В МК есть встроенный генератор с умножителем подключаешь к нему кварц с конденсаторами и все работает, но частота <<100МГц. А беглый просмотр возможностей ПЛИС не показал наличие в них встроенного генератора. М.б. я что-то пропустил?

Leha Bishletov. E-mail: snipped-for-privacy@rol.ru

Reply to
Leha Bishletov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.