Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Реализация SPI расширителя
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Danis
Приветствую, коллеги!

Есть надобность сделать некий расширитель/преобразователь интерфейса SPI в цифровой интерфейс управления светодиодными драйверами TM1803.

Идея такая, что устройство на шустром микроконтроллере считывает блоки памяти по 30 kbytes c внешней SD карты. Дальше перегоняет эти данные по SPI на высокой скорости в расширитель на 10..16 портов, который уже параллельно будет выгружать эти данные со своих портов на низкой скорости, это 800 kbit/s по протаколу для TM1803. Т.е. к примеру, порт 1 - выгружает первые 3 килобайта, порт 2 - следующие 3 и т.д.
На микроконтроллере сделать это довольно просто для 2-3 х портов, но никак не для 10. Будет довольно сложно выдержать временные характеристики + еще заниматься другими рабочими делами.
На сколько в этой задаче может помочь ПЛИС?
DASM
На сколько помочь? На 100%.Вопрос только прямоты рук. Ну кеше можно своё ядрышко простое нарисовать, вроде pic или avr, если общение с СД лень писать.Хотя не знаю что Вам будет проще. Мне в FPGA не нравится надобность заливать конфиг и потребление, поэтому перехожу на SmartFusion, а в нем и так уже ядро процессора есть.
Danis
Цитата(DASM @ May 15 2013, 00:19) *
На сколько помочь? На 100%.Вопрос только прямоты рук. Ну кеше можно своё ядрышко простое нарисовать, вроде pic или avr, если общение с СД лень писать.Хотя не знаю что Вам будет проще. Мне в FPGA не нравится надобность заливать конфиг и потребление, поэтому перехожу на SmartFusion, а в нем и так уже ядро процессора есть.


Спасибо за отзыв! Общение с SD уже все написано и отлажено на ARM микроконтроллере, более того устройство уже имеет законченный вид. Теперь нужно сделать расширитель. Опыта работы с ПЛИС не имею вообще, мне сейчас понять нужно, реализуемо ли вообще и вопрос цены. Дальше искать буду в разделе работа специалиста плисовода.
DASM
Ну и напрасно. Такой расширитель написать самому на Verilog вопрос недели - двух (из которых 2/3 - разборка со средой проектировании и синтаксисом Verilog. Хотя Верилог - не догма- можно просто готовые логические элементы ставить. Но не очень советую так делать если ранее не имели опыта. Тем более с картой не надо заморачиваться - контроллер уже есть. А опыт в будущем будет дороже денег.
Danis
Цитата(DASM @ May 15 2013, 10:21) *
Ну и напрасно. Такой расширитель написать самому на Verilog вопрос недели - двух (из которых 2/3 - разборка со средой проектировании и синтаксисом Verilog. Хотя Верилог - не догма- можно просто готовые логические элементы ставить. Но не очень советую так делать если ранее не имели опыта. Тем более с картой не надо заморачиваться - контроллер уже есть. А опыт в будущем будет дороже денег.


Посоветуйте какую нить отладочную плату доступную под таковую задачу.
Если действительно вопрос не очень сложной, может быть и сам «вывезу».
DASM
http://www.ebay.com/itm/251067943099 - они будут у него в конце месяца, но есть и у других. Она слишком мощная для Вашей задачи, но для изучения самое то. Еще БайтБластер за 20 купить надо к ней. Или вариант проще (еще мощнее) DE0 Nano от Терасика, Диджикей продает их около 90 баксов + 40 будет доставка. А так судя по описанию подойдет какая нибудь флешовая EPM128 - ее не надо конфигурировать внешним чипом.
Dmitriyspb
Цитата(Danis @ May 15 2013, 10:29) *
Посоветуйте какую нить отладочную плату доступную под таковую задачу.
Если действительно вопрос не очень сложной, может быть и сам «вывезу».


Предлогаю определиться с производителем ПЛИС (как раз с вопросом цен определитесь). Кстати, фирмовые отладочные платы Xilinx не дешёвые.....про Altera точно не знаю, но тоже думаю денег попросят нормально. На китайском рынке есть уйма дешевых (даже с учетом доставки) отладочных плат.=))) А под вашу задачу скорей любая платка подойдет.
Простенькая платка
Программатор (отличный, сам пользуюсь)
Посложнее отладочная платка
Под эти платки САПР "ISE" доступен на сайте www.xilinx.com
DASM
Цитата(Dmitriyspb @ May 15 2013, 10:50) *
Предлогаю определиться с производителем ПЛИС (как раз с вопросом цен определитесь). Кстати, фирмовые отладочные платы Xilinx не дешёвые.....про Altera точно не знаю, но тоже думаю денег попросят нормально. На китайском рынке есть уйма дешевых (даже с учетом доставки) отладочных плат.=))) А под вашу задачу скорей любая платка подойдет.
Простенькая платка
Программатор (отличный, сам пользуюсь)
Посложнее отладочная платка
Под эти платки САПР "ISE" доступен на сайте www.xilinx.com

А у Вас есть эта плата на Xilinx 6 ? Цена заманчива, тем более с DDR2 - спасибо за ссылку, очень возможно что возьму именно ее.
DASM
Цитата(Dmitriyspb @ May 15 2013, 10:50) *
Предлогаю определиться с производителем ПЛИС (как раз с вопросом цен определитесь). Кстати, фирмовые отладочные платы Xilinx не дешёвые.....про Altera точно не знаю, но тоже думаю денег попросят нормально. На китайском рынке есть уйма дешевых (даже с учетом доставки) отладочных плат.=))) А под вашу задачу скорей любая платка подойдет.
Простенькая платка
Программатор (отличный, сам пользуюсь)
Посложнее отладочная платка
Под эти платки САПР "ISE" доступен на сайте www.xilinx.com

А у Вас есть эта плата на Xilinx 6 ? Цена заманчива, тем более с DDR2 - спасибо за ссылку, очень возможно что возьму именно ее.
Danis
Цитата(DASM @ May 15 2013, 10:32) *
http://www.ebay.com/itm/251067943099 - они будут у него в конце месяца, но есть и у других. Она слишком мощная для Вашей задачи, но для изучения самое то. Еще БайтБластер за 20 купить надо к ней. Или вариант проще (еще мощнее) DE0 Nano от Терасика, Диджикей продает их около 90 баксов + 40 будет доставка. А так судя по описанию подойдет какая нибудь флешовая EPM128 - ее не надо конфигурировать внешним чипом.


Посмотрите, пожста на этот набор, пойдет?

Плата

Загрузчик

Да, есть желание, чтоб конфигурировать не нужно было.
Программатор по ссылке, он же отладчик? или для плис нет такого понятия?
DASM
Да, этого набора достаточно. Blaster да - через него все операции - можно залить конфигурацию (по сути прошивку) прямо в чип, можно в EEPROM конфигурационную, можно отлаживать через SignalTap - смотреть состояние ног, внутренних регистров и тп. Вполне самодостаточный набор и легко начать. С ксайлинском имхо начинать сложнее. Думаю на этой плате стоит сделать всю нужную логику, а потом выбрать флешовый PLD от Альтеры, в который все влезет. Шьются они тем же Байтбластером.
ViKo
А почему бы не использовать набор регистров 74HC595, выстроенных в длинную цепочку? (это ответ на стартовое сообщение)
Dmitriyspb
Цитата(DASM @ May 15 2013, 11:03) *
А у Вас есть эта плата на Xilinx 6 ? Цена заманчива, тем более с DDR2 - спасибо за ссылку, очень возможно что возьму именно ее.

Именно этой платы у меня нет. Я заказывал на этом ресурсе простенькие модули на Spartan3E. Но Xilinx их уже не рекомендует к разработке. В 2018 г снимает с производства. Следущая Spartan6... Это самое дешевое из актуальных семейств Xilinx.
Думаю работать будет как и написано. У меня коллеги подобные платки брали....отзывы были нормальные. Сам кристалл FPGA он не дорогой (Китайцы штампуют эти платки тысячами,а может и сотнями тысяч=))) оборот большой -> цена поменьше). Ресурс, который ими торгует тоже нормальный.

Цитата(ViKo @ May 15 2013, 12:16) *
А почему бы не использовать набор регистров 74HC595, выстроенных в длинную цепочку?

biggrin.gif
DASM
Это ресурс посредника. Вы именно с ним (посредником) дело имели ? Китайцам я верю больше, чем русским.
Dmitriyspb
Цитата(DASM @ May 15 2013, 12:32) *
Это ресурс посредника. Вы именно с ним (посредником) дело имели ? Китайцам я верю больше, чем русским.

Я имел дело именно с "посредниками".Просто там принцип (наверное как и во многих организациях) - С утра деньги,вечероч стулья... Я заказал,оплатил,подождал месяцок и получил посылку.Все ровно.
Danis
Цитата(DASM @ May 15 2013, 10:50) *
Думаю на этой плате стоит сделать всю нужную логику, а потом выбрать флешовый PLD от Альтеры, в который все влезет.


С ПЛИС знаком несколько часов. Так что простите за глупый вопрос. Выбранная ПЛИС не флешовая? И в нее не влезет такой расширитель?




Цитата(ViKo @ May 15 2013, 11:16) *
А почему бы не использовать набор регистров 74HC595, выстроенных в длинную цепочку? (это ответ на стартовое сообщение)


Я пока вообще не представляю, как на сдвиговых регистрах организовать такой расширитель. Ведь в расширитель данные поступают по SPI на высокой скорости, а выходят совершенно по другому протоколу.
DASM
Она не флешовая, но при включении питания в нее автоматом заливается прошивка из внешней последовательной флэшки, на этой плате она есть. Большинство достаточно крупных ПЛИС так и работают, исключение — MicroSemi, но он более популярен у военных и космонавтов, чем в обычной среде. У Альтеры и Ксайлинкса есть флешовые , но они небольшого объема и на небольшое количество страний (пара сотен).Начинать с них сейчас я бы не стал. А потом кстати можете увлечься, на чипе в этом ките можно «собрать» штук пять 32 разрядных процессоров например. Да и чем ПЛИС от микроконтроллера отличается? Второе — частный случай первого. Поэтому сейчас уже куда более модно слово SoC , система на кристалле.

Вот посмотрите например я внимательно не глядел, но смысл ясен, ничего сложного, язык похож на С (поэтому я сразу с Верилог и начал, VHDL смутил несколько неочевидным мне синтаксисом.тут
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.