nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 05:44



Reply to topic  [ 258 posts ]  Go to page Previous  1 ... 13, 14, 15, 16, 17, 18  Next
CGA и CF IDE адаптер на Altera MAX10 
Author Message
Doomed

Joined: 25 Aug 2009 07:02
Posts: 459
Location: Москва
Reply with quote
newold86 wrote:
Mixa64 wrote:
WE придерживаем до момента как появится READY. Подразумевается, что к появлению READY данные для записи уже есть. (название WRMEM - условное, единый строб для памяти, формируемый из требования процессора или DMA, смотря кто из них активен.)

Такое впечатление, что памяти глубоко наплевать на READY (если под этим подразумевается CHRDY) - как я уже писал, у меня не получается придержать момент записи в память байта с шины данных...

Да, IOCHRDY. Он расщепляется, попадает на READY процессора или READY DMA, в зависимости от текущего цикла. И WE на память не подается до тех пор, пока READY не появится. Иначе - нонсенс, DMA придержали, потому что IO еще не готово, а в память уже пишем.


12 Nov 2017 09:06
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
Mixa64 wrote:
И WE на память не подается до тех пор, пока READY не появится. Иначе - нонсенс, DMA придержали, потому что IO еще не готово, а в память уже пишем.

Кем именно не подается ? Да вся проблема у меня из-за того, что память не ждет и пишет в себя в тот момент, когда CHRDY в нуле и нужных данных на шине еще нет. Вот картинка (прошу прощения - на Retina дисплее Quartus фигово масштабирается):

Attachment:
memw.png
memw.png [ 1.36 MiB | Viewed 9722 times ]


В районе метки 224 SPI передает последний бит первого байта, и на шину данных выставляются правильные данные - 33h, после чего IORDY возвращается в 1. Тем не менее, в память записывается предыдущее значение с шины данных - FEh, потому что MEMWn идет в 0 в самом начале DMA цикла, и CAS, очевидно, поднимается еще до выставления правильных данных на ШД, не дожидаясь IORDY...


12 Nov 2017 09:29
Profile
Doomed

Joined: 25 Aug 2009 07:02
Posts: 459
Location: Москва
Reply with quote
Вот тот MEMWn, посередине которого 224, запускает цепочку сначала RAS, потом CAS, а WE идет не автоматически за/вместе с CAS или просто тупо как повторение MEMWn, а придерживается до момента, когда IODRY не появится, момент метки 224.

P.S. Это не то как оно в реальности происходит, а то, как хотелось бы, чтобы нонсенса не было. Если в реале DMA на мамке по IORDY задерживается, а сигналы на ОЗУ живут своей жизнью, то нафига тогда READY для DMA делать.


Last edited by Mixa64 on 12 Nov 2017 10:31, edited 1 time in total.



12 Nov 2017 10:24
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
Mixa64 wrote:
WE идет не автоматически за/вместе с CAS или просто тупо как повторение MEMWn, а придерживается до момента, когда IODRY не появится, момент метки 224.

И как тогда в память попадают старые данные ? Причем я даже пробовал придержать IORDY еще подольше - чтобы быть уверенным, что после появления данных на ШД проходит достаточно времени - картина не изменилась вообще никак...


12 Nov 2017 10:30
Profile
Doomed

Joined: 25 Aug 2009 07:02
Posts: 459
Location: Москва
Reply with quote
я там предыдущий пост поправил, см. P.S.


12 Nov 2017 10:31
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
Mixa64 wrote:
я там предыдущий пост поправил, см. P.S.

Небольшое такое уточнение :)
Именно этим вопросом я и задавался - нафига тогда CHRDY для DMA...


12 Nov 2017 10:34
Profile
Doomed

Joined: 25 Aug 2009 07:02
Posts: 459
Location: Москва
Reply with quote
newold86 wrote:
Именно этим вопросом я и задавался - нафига тогда CHRDY для DMA...

Ну вот и консенсус :)
Я не стал листать альбомы со схемами XT, влом. Посмотрел только в старой тетрадке, что осталось от моих записей на тему XT, когда делал свое программно-совместимое. И нету там у меня специального сигнала WE к памяти, RAS-CAS0..CAS2 формируются (три ряда РУ7 было), а WE нету! Неужели и вправду WE так и идет напрямую от шинного MEMWn ? Ну это косяк тогда, косяк.


12 Nov 2017 10:55
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
При DMA, сигнал WE идет напрямую от 8237. Это не было бы проблемой, если бы CAS задерживался по CHRDY. Причем, кстати, логика формарования RAS/CAS довольно сложная, и в ней присутствуют сигналы, имеющие отношение к DMA. Только вот сходу понять не могу - довольно сложно замешано :(


12 Nov 2017 11:12
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
Посмотрел чуть внимательнее - на времянки памяти сигнал CHRDY не влияет вообще никак. Все жестко начинается после опускания в 0 сигнала MEMW/R (причем не важно, кто их выдает - DMA или процессор), далее вообще все происходит через линию задержки, так что даже стало понятно, когда именно нужно выставить данные, чтобы они записались


12 Nov 2017 11:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Tronix wrote:
Я вешаю комп обычно так:
Code:
cli
hlt
А говорят, что под Вендой комп так не вешается... 8)

_________________
iLavr


23 Nov 2017 10:02
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Lavr wrote:
А говорят, что под Вендой комп так не вешается...

Правду говорят :)
Ежели win32 приложение - схлопочет #GP.
Ежели досовское - повесит только себя.


24 Nov 2017 00:37
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Vic3Dexe wrote:
Ежели досовское - повесит только себя.

и то не насмерть - диспетчером легко снимется

_________________
iLavr


24 Nov 2017 04:51
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
Упрощенный вариант предыдущей карты, теперь на MAX3128

Attachment:
SDM3.jpg
SDM3.jpg [ 270.17 KiB | Viewed 10402 times ]


25 Jan 2018 10:43
Profile
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Reply with quote
Отлично. Но надо бы взглянуть на код SPI модуля -) Тактируется от чего? CLK или OSC ?
А так - хорошо, но дорого для массового повторения, имхо.

_________________
https://t.me/tronix_blog


25 Jan 2018 23:29
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
Относительно большое количество ячеек даёт возможность использовать мою прошивку от предыдущих проектов.
Тактирование от OSC - только этот сигнал даёт уверенность в определённой частоте


25 Jan 2018 23:59
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 258 posts ]  Go to page Previous  1 ... 13, 14, 15, 16, 17, 18  Next

Who is online

Users browsing this forum: No registered users and 6 guests


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 post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.