Jump to content
    

Параллельный порт 8 бит и STM32

Использовать два порта, с одного читать, в другой записывать? Может, так проще?

 

Ну как проще.... Для стм - проще, а для шины данных все равно защелку ставить.

Share this post


Link to post
Share on other sites

Извращаясь:

Порт работает постоянно на ввод, по фронту /RD записывает IDR в память через DMA. С инкрементом или без, как надо.

В момент среза /WR в MODE по DMA из переменной в памяти записывается режим Выход. В момент фронта /WR по DMA из другой переменной в памяти записывается режим Вход. По одному из этих фронтов в ODR записываются нужные данные по DMA. С инкрементом или без.

Но гда взять столько каналов DMA?

Share this post


Link to post
Share on other sites

8 Mhz

и 4 такта на цикл - даже аврка справится

 

Использовать два портаывать?

лучше 8 spi

Share this post


Link to post
Share on other sites

лучше 8 spi

Или quad-SPI в Tiva, работающий вроде как до SCLK == 60 МГц.

Или 8 сериализаторов SGPIO в LPC43xx.

Или 8 сериализаторов McASP в TI-шных OMAP и DSP.

Вобщем - использовать что-то готовое и последовательное с полным аппаратным трактом FIFO+DMA.

 

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

Тут мельком прозвучали фразы "8-разрядная шина" и "USB", так может достаточно будет CY7C68013A ? :)

Share this post


Link to post
Share on other sites

я бы начал с вопроса а где вообще сегодня взять ису

Наверное, в каких-нибудь промышленных компьютерах. Пусть разъем не тот, что был в персоналках, но реализация та же. Называется "PC/104" ...

Share this post


Link to post
Share on other sites

Всем любителям DMA повторю (ибо, не раз уже обсуждали): DMA хорош для больших кусков данных, где не важны задержки, а важна средняя скорость.

Для перекидывания одного байта, но часто и с минимальными задержками DMA не подходит, т.к. от момента инициализации DMA-транзакции, до самой пересылки данных может пройти время, порядка 12 тактов.

 

PS. Я тоже очень сильно люблю DMA и очень часто его использую.

Share this post


Link to post
Share on other sites

Вопрос встает не тогда, когда нужно кого то там дергать, а когда тебя (микроконтроллер) дергают. А именно, когда пришел сигнал чтения /RD, перевести восемь ног из hi z в output, выдать на них байт и уйти по спаду /RD быстренько опять в hi-z. Желательно за детерминированное время, а не как получится. Потому что пару раз может получится, а третий - нет.

 

Вдруг пригодится. Писал в песочнице, но там благодарности не последовало :)

 

Настройки GPIOx семейства STM32F0xx

Если сконфигурировать ногу как выход open drain и подвесить к + питания, то функционирует и опрос ноги как входа,

например: GPIO_ReadInputDataBit(GPIOC, GPIO_PIN_1)

 

Это может пригодиться тем, кто хочет смастерить, к примеру, шину MicroLAN или i2c

Edited by =L.A.=

Share this post


Link to post
Share on other sites

Вдруг пригодится...

Копаюсь сейчас в закромах - нашел МК типа 80C42C.

Идеальное аппаратное решение для 8-битного слейва, правда, далеко не STM32, но какое-то 8-битное ядро содержит (скорее всего семейства MSC-48).

Share this post


Link to post
Share on other sites

Идеальное аппаратное решение для 8-битного слейва, правда, далеко не STM32, но какое-то 8-битное ядро содержит (скорее всего семейства MSC-48).

Идеальное решение: CY7C68013A

Share this post


Link to post
Share on other sites

А какая скорость шины параллельной? Делали набор регистров на параллельной шине, а STM32 забирал по ДМА. Можно было даже FIFO-шку 7202 поставить. Все равно 3.3 вольтовую шину STM надо согласовывать с 5 вольтовой параллельной шиной.

Кстати, такое извращение часто случается при модернизации древних приборов. К сожалению 5v-tolerant FPGA не осталось в природе и приходится заниматься мазохизмом. Вот недавно эмулятор Z80 на STM32 ваяли, но там параллеьная шина была ведущей со стороны STM32, так что было проще.

C одной очень скоростной шиной реализовали прием через DCMI- там скорости вообще запредельные для старого харда.

Share this post


Link to post
Share on other sites

Чем в итоге закончились поиски варианта стыковки с ISA шиной? Стоит таже задача. Может нашли более подходящий проц чем STM32?

Share this post


Link to post
Share on other sites

Чем в итоге закончились поиски варианта стыковки с ISA шиной? Стоит таже задача. Может нашли более подходящий проц чем STM32?

А чем Вас не устроили рекомендованные варианты?

 

что будет - 200 мгц стм против 2 мгц исы - порвет как тузик грелку

Или грелка тузика порвёт :biggrin:

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.

×
×
  • Create New...