Forum Index

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages    Log inLog in 

ПЛИС Cyclone 4 как mapper для Dendy картриджа

 
Post new topic   Reply to topic     Forum Index -> Самостоятельная сборка
View previous topic :: View next topic  
Author Message
mindstation



Joined: 29 Jan 2013
Posts: 22
Location: Russia, Ekaterinburg

PostPosted: Sat Feb 18, 2017 6:04 pm    Post subject: ПЛИС Cyclone 4 как mapper для Dendy картриджа Reply with quote

Решил попробовать собрать свой картридж для Dendy. Mapper реализовывать буду на Cyclone 4 EP4CE10F17C0N. Много ног. Много вентилей. Но 3,3В максимум для логики.
Начинаю с UNROM так как имею опыт повторения его на стандартной логике.
В качестве ПЗУ - AM29F010B. ОЗУ - HM6264LP-12.
Соответственно возникает проблема согласования логических уровней. Нашел статью "Согласование логических уровней 5В и 3.3В устройств"
http://we.easyelectronics.ru/Shematech/soglasovanie-logicheskih-urovney-5v-i-33v-ustroystv.html
Остановился на варианте с буферной микросхемой LVC244A. Выходы со слота картриджа буду заводить на ПЛИС через нее. Но вопрос: можно ли напрямую заводить выводы ПЛИС на адресные линии ПЗУ картриджа? Ведь получается что часть адресной шины ПЗУ будет управляться с приставки 5В сигналом, а часть с ПЛИС 3,3В сигналом.
Более общий вопрос: можно ли смешивать различные способы согласования в одной схеме? То есть на шину данных поставить трансивер, а на прочие выводы - буферную микросхему.
Back to top
View user's profile Send private message
admin
Site Admin


Joined: 23 Nov 2010
Posts: 567
Location: Novosibirsk

PostPosted: Mon Feb 20, 2017 9:53 am    Post subject: Re: ПЛИС Cyclone 4 как mapper для Dendy картриджа Reply with quote

mindstation wrote:
Решил попробовать собрать свой картридж для Dendy. Mapper реализовывать буду на Cyclone 4 EP4CE10F17C0N. Много ног. Много вентилей. Но 3,3В максимум для логики.
Начинаю с UNROM так как имею опыт повторения его на стандартной логике.
В качестве ПЗУ - AM29F010B. ОЗУ - HM6264LP-12.
Соответственно возникает проблема согласования логических уровней. Нашел статью "Согласование логических уровней 5В и 3.3В устройств"
http://we.easyelectronics.ru/Shematech/soglasovanie-logicheskih-urovney-5v-i-33v-ustroystv.html
Остановился на варианте с буферной микросхемой LVC244A. Выходы со слота картриджа буду заводить на ПЛИС через нее. Но вопрос: можно ли напрямую заводить выводы ПЛИС на адресные линии ПЗУ картриджа? Ведь получается что часть адресной шины ПЗУ будет управляться с приставки 5В сигналом, а часть с ПЛИС 3,3В сигналом.
Более общий вопрос: можно ли смешивать различные способы согласования в одной схеме? То есть на шину данных поставить трансивер, а на прочие выводы - буферную микросхему.


А что такое: EP4CE10F17C0N, это вроде как цифра обозначающая задержку распространения сигнала "pin to pin" внутри FPGA...

Quote:
можно ли напрямую заводить выводы ПЛИС на адресные линии ПЗУ картриджа?

...зачем? Не проще ли взять ФЛЭШЬ 3-x вольтовую, да и SRAM тож на 3в.? ...и весь огород поставить после согласования уровней? ...и поподробнее почитайте про LVC244A... например вот это:
SN74LVC244A Octal Buffer or Driver With 3-State Outputs
1-ая страничка мануала...:
These octal bus buffers are designed for 1.65-V to
3.6-V
VCC operation...

Quote:
То есть на шину данных поставить трансивер, а на прочие выводы - буферную микросхему.

Это как? Shocked ...трансивер?

А вообще можно разделить шины резисторами, только подтянуть с каждой стороны резисторами соотв. к 3-м и 5-ти вольтам, при этом в программируемой логике назначить на эти пины Open Drain (если они подразумеваются как I/O или как Output, а если только как Input, то достаточно будет только резисторов, для HOMEBREW поделки такое норм.).
Back to top
View user's profile Send private message Send e-mail
mindstation



Joined: 29 Jan 2013
Posts: 22
Location: Russia, Ekaterinburg

PostPosted: Sun Feb 26, 2017 8:03 pm    Post subject: Reply with quote

Quote:
А что такое: EP4CE10F17C0N...


Моя ошибка. Конечно же EP4CE10F17C8N. Не разглядел восьмерку.

Quote:
...зачем? Не проще ли взять ФЛЭШЬ 3-x вольтовую, да и SRAM тож на 3в.? ...и весь огород поставить после согласования уровней?


5В флеш и ОЗУ у меня уже есть, а 3-х вольтовые придется докупать. С 3В получится аккуратнее, но и количество выводов требующих согласования резко увеличится. А сейчас - это не более 11 ног.

Quote:
почитайте про LVC244A...


Запитывать буду от стабилизатора ПЛИС (об этом ниже).
Главное что "Inputs Accept Voltages to 5.5 V".
Спасибо за предупреждение. Один раз я уже на этом обжегся.

Quote:
Это как? Shocked ...трансивер?


Конечно же транслятор. TXB0108.
Я нуб и еще и в наименованиях путаюсь. Embarassed

Quote:
А вообще можно разделить шины резисторами...


С выходом типа "Открытый сток" разобрался. Quartus предлагает имитировать его посредством Z-состояния.
Ну и так как по даташиту на ПЗУ максимальный ток на ее вход указан как 1мА, то расчетное значение подтягивающего резистора получится 5В/0,001А = 5 000 Ом.
Ближайший номинал - 5,1 кОм.
А вот как подтяжкой к питанию можно согласовать 3В вход с 5В выходом? Не понял.
Из статьи вынес только вариант с последовательным резистором, при котором нужно еще включать clamping диоды на входе ПЛИС (это PCI I/O стандарт, как я понял).

На данный момент нарисовал такую схему, с буфером на вход ПЛИС и подтяжкой на ее выходах к ПЗУ.
Коммутация - гребенки.

Вход с картриджа на ПЛИС.
https://yadi.sk/i/LCtReDWe3EdVAv

Выход с ПЛИС на ПЗУ.
https://yadi.sk/i/EoDwJUf43EdVAX

Добавлю еще деталей к своей задачке.
Я использую не голую ПЛИС, а китайскую плату CoreEP4CE10 от Waveshare. На ebay, aliexpress их хватает.
На гребенку у нее выведен 5В вход питания и 3,3В выход. 3,3В для питания согласующих цепей я буду брать с этой платы. Оно обеспечивается стабилизатором AMS1117-3.3.
Соединять плату с картриджем я буду шлейфами с гнездами под 2мм и 2,54мм гребенку. Согласование собираю на отдельной макетке.
То есть у меня еще нет схемы (платы), да что там, даже планов по созданию универсального картриджа. Сейчас мне важно отработать сам принцип создания мапперов на ПЛИС.

Как минимум я собираюсь реализовать следующие мапперы: UNROM, MMC1 и MMC3. Последние два для меня в диковинку,
в смысле своего устройства. Код UNROM и MMC1 на Verilog уже набросал.
ПЛИС на 10к вентилей я выбрал потому что надеюсь попробовать на ней не только мапперы.
К тому же у меня завалялся STM32L-Discovery, у которого совсем не много 5В ног. А пара идей на счет его сопряжения с 5В логикой имеется.
Поэтому навыки согласования логических уровней мне также пригодятся.
Back to top
View user's profile Send private message
admin
Site Admin


Joined: 23 Nov 2010
Posts: 567
Location: Novosibirsk

PostPosted: Mon Feb 27, 2017 10:44 am    Post subject: Reply with quote

mindstation wrote:
Quote:
А что такое: EP4CE10F17C0N...


Моя ошибка. Конечно же EP4CE10F17C8N. Не разглядел восьмерку.

Quote:
...зачем? Не проще ли взять ФЛЭШЬ 3-x вольтовую, да и SRAM тож на 3в.? ...и весь огород поставить после согласования уровней?


5В флеш и ОЗУ у меня уже есть, а 3-х вольтовые придется докупать. С 3В получится аккуратнее, но и количество выводов требующих согласования резко увеличится. А сейчас - это не более 11 ног.

Quote:
почитайте про LVC244A...


Запитывать буду от стабилизатора ПЛИС (об этом ниже).
Главное что "Inputs Accept Voltages to 5.5 V".
Спасибо за предупреждение. Один раз я уже на этом обжегся.

Quote:
Это как? Shocked ...трансивер?


Конечно же транслятор. TXB0108.
Я нуб и еще и в наименованиях путаюсь. Embarassed

Quote:
А вообще можно разделить шины резисторами...


С выходом типа "Открытый сток" разобрался. Quartus предлагает имитировать его посредством Z-состояния.
Ну и так как по даташиту на ПЗУ максимальный ток на ее вход указан как 1мА, то расчетное значение подтягивающего резистора получится 5В/0,001А = 5 000 Ом.
Ближайший номинал - 5,1 кОм.
А вот как подтяжкой к питанию можно согласовать 3В вход с 5В выходом? Не понял.
Из статьи вынес только вариант с последовательным резистором, при котором нужно еще включать clamping диоды на входе ПЛИС (это PCI I/O стандарт, как я понял).

На данный момент нарисовал такую схему, с буфером на вход ПЛИС и подтяжкой на ее выходах к ПЗУ.
Коммутация - гребенки.

Вход с картриджа на ПЛИС.
https://yadi.sk/i/LCtReDWe3EdVAv

Выход с ПЛИС на ПЗУ.
https://yadi.sk/i/EoDwJUf43EdVAX

Добавлю еще деталей к своей задачке.
Я использую не голую ПЛИС, а китайскую плату CoreEP4CE10 от Waveshare. На ebay, aliexpress их хватает.
На гребенку у нее выведен 5В вход питания и 3,3В выход. 3,3В для питания согласующих цепей я буду брать с этой платы. Оно обеспечивается стабилизатором AMS1117-3.3.
Соединять плату с картриджем я буду шлейфами с гнездами под 2мм и 2,54мм гребенку. Согласование собираю на отдельной макетке.
То есть у меня еще нет схемы (платы), да что там, даже планов по созданию универсального картриджа. Сейчас мне важно отработать сам принцип создания мапперов на ПЛИС.

Как минимум я собираюсь реализовать следующие мапперы: UNROM, MMC1 и MMC3. Последние два для меня в диковинку,
в смысле своего устройства. Код UNROM и MMC1 на Verilog уже набросал.
ПЛИС на 10к вентилей я выбрал потому что надеюсь попробовать на ней не только мапперы.
К тому же у меня завалялся STM32L-Discovery, у которого совсем не много 5В ног. А пара идей на счет его сопряжения с 5В логикой имеется.
Поэтому навыки согласования логических уровней мне также пригодятся.


Если пользуешь 5В сигнал на 3-х вольтовую логику, нужно ограничить ток утекающий в выходной каскад 3-х вольтовой логики, в простейшем случае это делается резистором, обычно это 33-100 Ом. Но смысл в том что если "5-ти вольтовая сторона" не подтянута к +, состояние "высокого уровня" (1=Vih, 0=Vil) может "проваливаться" до низкого, и соответственно будут глюки, а так как мы договорились использовать выход с OK (Open Drain), то и 3-х вольтовый выход нужно подтянуть к +, нужно подтянуть его именно с 3-х вольтовой стороны чтобы передний фронт сигнала не был слишком завален:



Однако, ещё раз скажу, так делать не особо "хорошо"...
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Самостоятельная сборка All times are GMT + 7 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum