Перейти к содержанию
    

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

 

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

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

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Стоит задача выбора 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

 

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

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

...

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

...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

c29f1ca1e8e8.jpg

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

c29f1ca1e8e8.jpg

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

Изменено пользователем gitzzz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...