Jump to content

    
Sign in to follow this  

Recommended Posts

Доброго времени суток.

 

Стоит задача выбора CPLD XILINX для реализации контроллера ISA 16 бит.

Примерное структурное описание:

Контроллер работает только в режиме ведомого устройства ISA.

Данные на вход поступают по параллельному интерфейсу (возможен вариант по SPI если линий GPIO не хватит), далее входные данные складируются в FIFO откуда и выдаются на шину ISA.

 

В данный момент мне необходимо лишь заложить конкретную ПЛИС в схему будущего устройства. Но для этого необходимо определиться с требуемой логической емкостью. В данный момент у меня небольшой опыт проектирования на плис (реализовано только чтение 8разрядного счетчика по ISA 8бит на XC9536), поэтому и нужна помощь сведующих в этом деле.

 

Буду благодарен любой конструктивной критике и рекомендациям. Остановился на серии XC9500XL, но что выбрать из XC9572XL, XC95144XL, XC95288XL?

Share this post


Link to post
Share on other sites
Доброго времени суток.

 

Стоит задача выбора CPLD XILINX для реализации контроллера ISA 16 бит.

Примерное структурное описание:

Контроллер работает только в режиме ведомого устройства ISA.

Данные на вход поступают по параллельному интерфейсу (возможен вариант по SPI если линий GPIO не хватит), далее входные данные складируются в FIFO откуда и выдаются на шину ISA.

 

В данный момент мне необходимо лишь заложить конкретную ПЛИС в схему будущего устройства. Но для этого необходимо определиться с требуемой логической емкостью. В данный момент у меня небольшой опыт проектирования на плис (реализовано только чтение 8разрядного счетчика по ISA 8бит на XC9536), поэтому и нужна помощь сведующих в этом деле.

 

Буду благодарен любой конструктивной критике и рекомендациям. Остановился на серии XC9500XL, но что выбрать из XC9572XL, XC95144XL, XC95288XL?

 

Добрый вечер.

Если без FIFO, то все остальное наверное поместится и в XC9572XL. Для реализации FIFO более-менее приемлемой глубины, лучше применить кристалл большей емкости.

Проще всего - создайте проект, нарисуйте схему (опишите его на verilog или VHDL), скомпилируйте и сами увидите, сколько Вам надо ресурсов.

Если Вы твердо намерены применять CPLD, рекомендую обратить внимание на CoolRunner XPLA3 CPLD.

Если FIFO надо побольше, можно взять что-то из младших Spartan3, там памяти будет достаточно. Однако это уже FPGA.

Удачи.

ds012.pdf

Share this post


Link to post
Share on other sites

Добавлю свои пять копеек. Помимо размера следует учитывать уровни i/o. Вроде в ISA 5 вольт? Не уверен, что Spartan3 это может... в любом случае это нужно проверить.

Share this post


Link to post
Share on other sites
Добавлю свои пять копеек. Помимо размера следует учитывать уровни i/o. Вроде в ISA 5 вольт? Не уверен, что Spartan3 это может... в любом случае это нужно проверить.

Про 5 вольт не подумал :laughing: И вообще, сигналы ISA лучше пропустить сквозь 244(245) буферы. Так будет надежнее.

Share this post


Link to post
Share on other sites

Сам делал периферийные устройства ISA на XPLA3 - они мне больше понравились, чем XC9500xx. Но сейчас уже вовсю продаётся Spartan-3AN - он тоже с Flash ROM на борту, но при его использовании, конечно, понадобится поставить внешние преобразователи уровней.

 

Если бы мне сейчас понадобилось делать ISA устройство, то с большой вероятностью я бы выбрал XC3SAN50-xTQ144x.

Share this post


Link to post
Share on other sites

Большое спасибо всем ответившим.

Как уже отметили тут CoolRunner не подходит именно по причине нетолерантности к 5В.

Boris_TS Спасибо за совет, сейчас посмотрю на XC3SAN50-xTQ144x. Тут наверное имелось ввиду XC3S50AN?

 

"Если без FIFO, то все остальное наверное поместится и в XC9572XL. Для реализации FIFO более-менее приемлемой глубины, лучше применить кристалл большей емкости."

Вопрос о глубине FIFO меня, признаюсь, тоже мучает - сколько реально может поместиться скажем в XC95144XL? С FPGA как то не хочется завязываться. Да и преобразователи уровней ставить - это дополнительное место на плате, у меня ограниченный размер.

"Проще всего - создайте проект, нарисуйте схему (опишите его на verilog или VHDL), скомпилируйте и сами увидите, сколько Вам надо ресурсов."

С этим трудно поспорить, но в данный момент ISA-шина и контроллер закладываются в схему "на перспективу", нужно как можно быстрее отдать ПП в производство, поэтому вопросами моделирования у меня нет совершенно времени заниматься:(

Share this post


Link to post
Share on other sites
"Если без FIFO, то все остальное наверное поместится и в XC9572XL. Для реализации FIFO более-менее приемлемой глубины, лучше применить кристалл большей емкости."

Вопрос о глубине FIFO меня, признаюсь, тоже мучает - сколько реально может поместиться скажем в XC95144XL? С FPGA как то не хочется завязываться. Да и преобразователи уровней ставить - это дополнительное место на плате, у меня ограниченный размер.

Глубина встроенного фифо для XC95144XL практически нулевая. Т.к. 1 бит памяти данных - это один триггер, а их всего 144 штуки. А ещё триггеры нужны для всего остального, например для счётчиков адреса, входных и выходных регистров.

 

Так что, если не хотите связываться с внешней FIFO-памятью, ставьте FPGA и буферы для согласования с 5V сигналами ISA.

Например в том же XC3S50AN имеется 6кБайт встроенной двухпортовой блочной памяти для реализации FIFO.

Share this post


Link to post
Share on other sites

VladimirB Спасибо вам за такой аргументированный ответ. Очень наглядно и убедительно.

Глянул даташит на XC3S50AN. Похоже программирование флеш реализовано через стандартный jtag, поправьте если ошибаюсь. Да, и еще сложилось ощущение, что это дефицит, но пока не искал вплотную где купить, пробежался только поиском по efind.

Share this post


Link to post
Share on other sites
VladimirB Спасибо вам за такой аргументированный ответ. Очень наглядно и убедительно.

Глянул даташит на XC3S50AN. Похоже программирование флеш реализовано через стандартный jtag, поправьте если ошибаюсь. Да, и еще сложилось ощущение, что это дефицит, но пока не искал вплотную где купить, пробежался только поиском по efind.

 

 

Да там программирование флешки через jtag делается как и у других FPGA и CPLD.

Конечно в "чип и дипе" XC3S50AN не купишь, как и большинство других FPGA.

Продукцию Xilinx мы обычно здесь берем - дешевле даже чем у офицального дилера получается. Вот например спартаны лежат http://www.abnuniversal.ru/catalog/details/47360593.htm по 9 баксов.

За 2-3 недели стабильно привозят, сроки поставки не разу не нарушали. Там же и 5V tolerant буфера закажите (например 74LCX245), тоже редкость для розницы.

Пока платы разводите - привезут.

Share this post


Link to post
Share on other sites
Как уже отметили тут CoolRunner не подходит именно по причине нетолерантности к 5В.

XPLA3 - как раз 5В толерантны... Выдать, конечно, смогут только 3.3В, так что выходы желательно пропустить через буфера.

CoolRunner 2 - не 5В толерантны.

 

сейчас посмотрю на XC3SAN50-xTQ144x. Тут наверное имелось ввиду XC3S50AN?

Да, опечатался. XC3S50AN-xTQ144x. Официальный дистрибьютор уже с пол года торгует ими в розницу - сами у них покупали.

Share this post


Link to post
Share on other sites
...

С FPGA как то не хочется завязываться. Да и преобразователи уровней ставить - это дополнительное место на плате, у меня ограниченный размер.

...

С этим трудно поспорить, но в данный момент ISA-шина и контроллер закладываются в схему "на перспективу", нужно как можно быстрее отдать ПП в производство, поэтому вопросами моделирования у меня нет совершенно времени заниматься:(

...

Если человек говорит "на перспективу", то это означает, что он ещё даже не имеет представления о том, сколько функций захочется добавить. :) В этом случае выбор девайса, в который хз влезет или нет то, что уже планируется, несколько неосмотрительно. Я бы на Вашем месте один раз помучавшись с дополнительными регистрами на плате, избавил бы себя от потенциального гемороя с переделкой девайса.

Share this post


Link to post
Share on other sites

Всем привет :)

Прошу помощи в поиске литературы, которая поможет с дипломной работой. Стоит задача разработать мультиплексор транспортных потоков DVB/MPEG-2. Нужно обосновать выбор конкретной ПЛИС под такие задачи:

- прием до 8 цифровых потоков со скоростью до 54Мбит/c

- формирование нового транспортного потока (возможно двух транспортных потоков) с выходной скоростью до 54Мбит/c.

Сейчас имеем примерно вот такую структурную схему:

c29f1ca1e8e8.jpg

Моя проблема в том, что всё свелось к ПЛИС неожиданно для меня, и теперь необходимо разобраться хотя бы в принципах, по которым эта самая ПЛИС выбирается.

Ну и прошу не кидать тяжестей в бедного студента :)

Share this post


Link to post
Share on other sites
Всем привет :)

Прошу помощи в поиске литературы, которая поможет с дипломной работой. Стоит задача разработать мультиплексор транспортных потоков DVB/MPEG-2. Нужно обосновать выбор конкретной ПЛИС под такие задачи:

- прием до 8 цифровых потоков со скоростью до 54Мбит/c

- формирование нового транспортного потока (возможно двух транспортных потоков) с выходной скоростью до 54Мбит/c.

Сейчас имеем примерно вот такую структурную схему:

c29f1ca1e8e8.jpg

Моя проблема в том, что всё свелось к ПЛИС неожиданно для меня, и теперь необходимо разобраться хотя бы в принципах, по которым эта самая ПЛИС выбирается.

Ну и прошу не кидать тяжестей в бедного студента :)

Расскажите плиз зачем микроконтролер и 2 тактовых генератора?

PS А лучше дайте полное описание структурной схемы

Share this post


Link to post
Share on other sites
Управление мультиплексором осуществляет микроконтроллер, получающий команды с пульта управления или через интерфейс RS-232/485 посредством приемо-передатчика.

При подаче на входы мультиплексора транспортных потоков в каждом из потоков осуществляется поиск синхробайта. Организованные внутри ПЛИС буферы накапливают транспортные пакеты и сбрасывают их во внешнее ОЗУ. Использование ОЗУ позволяет согласовать выходную и входную скорости потоков. Если во входных транспортных потоках содержатся одинаковые идентификаторы пакетов (PID), то происходит их переименование.

При поступлении на вход мультиплексора группового транспортного потока (TS_in), из которого можно изъять или добавить в него другие программы и сформировать, тем самым, новый групповой поток (TS_out), корректируется системная информация и метки времени.

При подаче на входы ЦТВ-МТП цифровых потоков, структура которых отличается от структуры транспортного потока, происходит поиск в них синхрослов. После их обнаружения происходит преобразование данных в формат транспортных пакетов и, как следствие, формирование транспортного потока.

Скорость выходного транспортного потока определяется частотой генератора.

Как-то вот так :)

зы: тут не описан генератор-1, если это принципиально - уточню у руководителей. Скорее всего для расстановки временных меток.

Edited by gitzzz

Share this post


Link to post
Share on other sites
Как-то вот так :)

зы: тут не описан генератор-1, если это принципиально - уточню у руководителей. Скорее всего для расстановки временных меток.

тогда, на мой взгляд, микроконтроллер не нужен - организовывается микропроцессор вместе с логикой в ПЛИС и в результате получается система на кристалле. ПЛИС какой фирмы Вы хотите altera или xilinx ?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this