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

Как проще сделать детерминированный бит-банг?

Или параллельная NAND-FLASH + счётчик на адресных линиях. Куда бюджетней.

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


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

Блэкфины, USB, FIFO.... И это для элементарной задачи!??

Надо выдать 8 параллельных цифровых сигналов заранее подготовленных?

Ещё в моей радиоэлектронной юности такое делалось элементарным чипом ПЗУ + счётчик на его адресных линиях.

Сейчас ещё проще: 2 чипа Flash с quad-SPI интерфейсом спасут отца русской демократии.

Спасибо, заинтриговали:) да, сигналы заранее подготовленны... А зачем два, простите за вопрос? в quad быстрее передача? (Полез параллельно гуглить)

 

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


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

Спасибо, заинтриговали:) да, сигналы заранее подготовленны... А зачем два, простите за вопрос? в quad быстрее передача? (Полез параллельно гуглить)

quad - 4 линии данных, а Вам вроде 8 надо?

Проще будет параллельная NAND-FLASH + счётчик (но больше ног). Так как не надо формировать команды чтения для SPI-чипов. Хотя вроде в некоторых из них можно задать режим непрерывного чтения без подачи команды чтения. Надо курить даташиты.

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


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

Да тут просто как обычно от передачи данных с компьютера и организации "пайплайна" всё скатилось в вывод на 8 битную шину заранее заготовленных данных на частоте 100МГц..... требования бы к проекту и задачу нормально описывали топикстартеры - было б проще жить и им и нам )

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


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

Да тут просто как обычно от передачи данных с компьютера и организации "пайплайна" всё скатилось в вывод на 8 битную шину заранее заготовленных данных на частоте 100МГц..... требования бы к проекту и задачу нормально описывали топикстартеры - было б проще жить и им и нам )

Ну если проигрываемый паттерн надо задавать с компа, то меняем Flash на RAM, добавляем МК, который эти данные будет медленно принимать из ПК и писать в RAM.

А когда надо включить проигрывание - этот МК разрешает подачу импульсов от генератора 100МГц на тактовый вход счётчика.

Вобщем примерно то же самое, но + МК. В качестве МК тогда удобно использовать CY7C68013A.

Возможно если использовать потомка CY7C68013A - чип EZ-USB FX3, то можно обойтись без чипа памяти и счётчика.

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


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

Кстати учтите, что USB вам скорее всего не будет гарантировать времянку.

Т.е. выполнить требование уповая только на USB у вас скорее всего не получится.

Спецификацию USB3 не читал, но в 2.0 все эти быстрые режимы реализуются по принципу "в среднем будет быстро" )))

у FT600 там фифо на 16кБ, так что усб там ничего не испортит.

 

Блэкфины, USB, FIFO.... И это для элементарной задачи!??

конечно можно и память 32Кх8 найти 10нс, подключить к любому МК чтобы по УАРТу/USB неспешно загружать, добавить счётчики опять же для адреса или же можно взять единственную микросхему, а то и готовую плату.

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


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

Да тут просто как обычно от передачи данных с компьютера и организации "пайплайна" всё скатилось в вывод на 8 битную шину заранее заготовленных данных на частоте 100МГц..... требования бы к проекту и задачу нормально описывали топикстартеры - было б проще жить и им и нам )

Ну, требования ведь не изменились. Комп читает длинный файл построчно, файл содержит массив сигналов. В любом случае связь с компом необходима, для генерации самого массива и его записи в память/FIFO.

 

Спасибо всем за интересные варианты.

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


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

решал с пол года назад ну очень похожую задачу, даже длины последовательностей и число битов те же, правда мне надо было не 100МГц а чуть побольше. Тупой способ - микросхема ФИФО а ей управлять с контроллера, а заливать с FTDI, но дешевле получается на плиске, можно, например, взять ICE40 серию Латиса и вписаться в 10 бакс, у нее как раз 128кбит внутренней памяти есть, чтобы 12кбайт сохранить. Я правда так и не понял у ТС всегда 8бит 100мгц сыпется или таки блоками по 12к с передышкой, если передышки нет, то причем тут 12к?

 

Хоть и была под рукой демо борда с ft600, но, честно говоря, на ней не осилил, если пойдете этим путем и таки осилите, вдруг будет не жалко поделиться как делали?

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


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

Я правда так и не понял у ТС всегда 8бит 100мгц сыпется или таки блоками по 12к с передышкой, если передышки нет, то причем тут 12к?

 

Хоть и была под рукой демо борда с ft600, но, честно говоря, на ней не осилил, если пойдете этим путем и таки осилите, вдруг будет не жалко поделиться как делали?

 

Все верно, блоками длиной в 12к и небольшими передышками между ними (в идеале эта передышка была бы в районе сотен мс). Просто если использовать UART для записи в память, эта передышка будет уж очень огромна...

Если получится, обязательно поделюсь. А с какими проблемами вы столкнулись?

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

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


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

Все верно, блоками длиной в 12к и небольшими передышками между ними (в идеале эта передышка была бы в районе сотен мс).

у меня все сейчас успешно работает, когда я тащю в плиску данные по SPI (16MBit/s), но у меня пакеты длиной 4-16к по 8 бит и передышка между пакетами получается около 10мс. Сам пакет с плиски у меня улетает на частоте 320МГц, по идее можно было и 480МГц, но не стал, ибо не было реальной необходимости.

 

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

 

А вот с ft600 я бодался пару недель и все равно многое было очень криво, поэтому оставил это занятие. Мне правда для другой задачи надобно было слать непрерывно или почти непрерывно, то есть использовать максимально большую достижимую по USB30 скорость передачи.

 

Ваши 100МГц потянет любая более-менее современная плиска, берите ту, что будет удобнее по разводке и остальным параметрам.

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


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

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

12Кб даже на уарте со скоростью 900кбит получается чуть больше 100мсек. А уж усб 2.0. - вообще не заметите, так что тут все нормально.

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


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

У меня такое чувство, что автор вопроса сам четко не представляет что конкретно ему нужно )

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


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

12Кб даже на уарте со скоростью 900кбит получается чуть больше 100мсек. А уж усб 2.0. - вообще не заметите, так что тут все нормально.

 

Каюсь. Я про выше 115200 uart и не подозревал... :(

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


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

uart бывает и 1мбит жалко что Windows такие высокие скорости не поддерживает. Я быстрее 128,000 bit/s не видал под вендой.

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


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

uart бывает и 1мбит жалко что Windows такие высокие скорости не поддерживает. Я быстрее 128,000 bit/s не видал под вендой.

921600 bps вполне себе нормально работало и под виндой.

ftdiные usb->serial по даташиту и 3МБита умеют.

 

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


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

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

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

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

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

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

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

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

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

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