PDA

Просмотр полной версии : Компьютер "ZXM-Phoenix" - подключаем SD-Card



Keeper
25.09.2010, 15:37
Интерфейс SD-Card для ZXM-Phoenix по стандарту Z-Controller by KOE плюс интерфейс для программирования Flash (5V only) в системе (софта пока нет)

Отличия от оригинального Z-Controller:
1. Частота SPI - 14МГц
2. По чтению порта #77 всегда возвращается #FC (252) - SD карта вставлена, запись разрешена
3. Управление питанием SD карты не предусмотрено

Интефейс программирования Flash - порт #37
Чтение - 0ххххххх
По чтению возвращается #7F(D7 = 0) - определение наличия интерфейса
Запись - D0 - PR0G_ON

При записи "1" в разряд D0 (LD A,1; OUT (#37),A) включается режим "программирование Flash". При этом на контакте А13 ZX-BUS (IORQGE) устанавливается лог "1". В режиме "программирование Flash" запись в любой из портов ввода/вывода генерирует строб /RWE (/RWE = 0 при /IORQ = 0 и /WR = 0) Режим "программирование Flash" отключается при чтении из любого порта (/IORQ = 0 и /RD = 0). Для отключения режима "программирование Flash" рекомендуется выполниять чтение из порта #37. Для корректной работы интерфейса программирования Flash используемый разъем ZX-BUS должен иметь наивысший приоритет по IORQGE.

В архиве исходники прошивки CPLD и схема в формате PDF. На данный момент устройство собрано на макетной плате с использованием МГТФ :eek:

http://s41.radikal.ru/i093/1010/09/784cf775a1aft.jpg (http://radikal.ru/F/s41.radikal.ru/i093/1010/09/784cf775a1af.jpg.html)http://s58.radikal.ru/i160/1010/90/ec05803a7b0et.jpg (http://radikal.ru/F/s58.radikal.ru/i160/1010/90/ec05803a7b0e.jpg.html)

Black_Cat
28.09.2010, 19:04
Keeper, а почему именно к Фениксу? :) Конкретно к Фениксу было бы еслиб оно было в МЕГЕ :)
как понимаю, при программировании флешПЗУ оно захватывает адресное пространство портов Z80, а со старшими адресами как?

Keeper
28.09.2010, 19:37
Keeper, а почему именно к Фениксу?

Потому что мне нужно было для Феникса, к тому же поддержано програмно, ждать подвижек относительно меги думаю смысла уже нет. Просто винт уже сильно надоел: 1 - шумит, 2 - занимает кучу места, 3 - записывать на него с ПЦ геморно...


а со старшими адресами как?
Просмотрел несколько даташытов, вроде все ок, для команд адреса 16ти битные, а там будем посмотреть...

Black_Cat
28.09.2010, 20:17
Keeper, как понимаю, то что опубликовано - токо часть. А как комп будет читать всю флешПЗУ? Т.е. как банки менять планируется?

Keeper
28.09.2010, 20:29
Т.е. как банки менять планируется?

Что подразумевается под словом банки, т.е. какой объем подразумевается под банкой? А15 и А14 изменять можно как угодно, А16 и далее меня мало волнует, думаю что ROM Switcher для этого подойдет. Я А16 пока что переключаю перемычкой... Тут экспериментировать надо...

---------- Post added at 19:29 ---------- Previous post was at 19:27 ----------


как понимаю, то что опубликовано - токо часть.

Тоже не понял, а чего не хватает? :) Кроме софт для прошиватора...

Black_Cat
28.09.2010, 20:59
банка - это всё адресное пространство Z80, т.е. 64к, страница - это 16к :)

А16 и далее меня мало волнует
а тогда как ты видишь целевое назначение устройства?

breeze
29.09.2010, 01:04
банка - это всё адресное пространство Z80, т.е. 64к, страница - это 16к :)

да ты гонишь! :eek: всю жизнь банка это была 16к! и фраза "листать банками" именно отсюда и ростёт! :rolleyes:

Black_Cat
29.09.2010, 01:23
всю жизнь банка это была 16к! и фраза "листать банками" именно отсюда и ростёт! читай фирменные маны :)

Ewgeny7
29.09.2010, 08:18
всю жизнь банка это была 16к!
Я не БК, но вроде как он прав. Страницы памяти - по 16кб, банки - некие комплекты микросхем ОЗУ для заполнения адресного пространства процессора. У "Орион-256" например, 4 банки ОЗУ.

psb
29.09.2010, 08:24
вы путаете кодерские банки с некодерскими. не спорьте.

breeze
29.09.2010, 09:20
вы путаете кодерские банки с некодерскими. не спорьте.

минуточку, что значит кодерские и не кодерские ? :eek:

Давайте откроем педивикию — „Memory Bank (http://en.wikipedia.org/wiki/Memory_bank)”


Memory bank is a part of (cache) memory that is addressed consecutively in the total set of memory banks,…

или я не правильно понимаю слово PART ? :rolleyes:

вот ещё вариант — „Bank_switching (http://en.wikipedia.org/wiki/Bank_switching)”

не с потолка же взято ?

Ewgeny7
29.09.2010, 09:38
При обращении к ячейке памяти контроллер памяти задаёт номер банка, номер страницы в нём, номер строки и номер столбца
в рупедивикии (http://ru.wikipedia.org/wiki/DRAM#.D0.A5.D0.B0.D1.80.D0.B0.D0.BA.D1.82.D0.B5.D1 .80.D0.B8.D1.81.D1.82.D0.B8.D0.BA.D0.B8_.D0.BF.D0. B0.D0.BC.D1.8F.D1.82.D0.B8_DRAM)

---------- Post added at 09:31 ---------- Previous post was at 09:28 ----------


или я не правильно понимаю слово PART ?
Вроде как на раше эта фраза будет примерно так:
"memory bank - часть памяти, что адресуется как непрерывная, среди полного набора банков памяти"... понимай как хочешь.

---------- Post added at 09:38 ---------- Previous post was at 09:31 ----------

Кзтате. Память Спектрум-128 о 16 микросхемах РУ5, состоит из двух банков, 0 и 1. Которые в свою очередь разбиты по 8 страниц каждая.

Black_Cat
29.09.2010, 09:50
8 страниц каждая4

breeze
29.09.2010, 09:55
понимай как хочешь…

короче тема не о чём :eek:

---------- Post added at 08:55 ---------- Previous post was at 08:55 ----------


4

2!

кто меньше? :eek:

Ewgeny7
29.09.2010, 10:01
4
ага собственно :) чото я апсчетался.

Keeper
29.09.2010, 10:51
а тогда как ты видишь целевое назначение устройства?

Обновление текущей прошивки ПЗУ (банки - 64Кб). Чтоб пользователь мог откатиться к заведомо рабочей банке в случае глючности обновления и если есть возможность управлять старшими адресами ПЗУ (>A15) Именно мне нужно для отладки биоса, т.к. каждый раз дергать ПЗУ и вставлять в флешер неудобно...

От идеи руления банками со стороны спека я отказался, неудобно...

Даздравствует живительный флем! :)

Black_Cat
29.09.2010, 12:04
От идеи руления банками со стороны спека я отказался, неудобно...
а в чём неудобство?

Keeper
29.09.2010, 14:02
а в чём неудобство?

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

Keeper
01.10.2010, 22:54
Добавил фотки в первый пост.

Mick
04.10.2010, 21:13
Обновление текущей прошивки ПЗУ (банки - 64Кб). Чтоб пользователь мог откатиться к заведомо рабочей банке в случае глючности обновления и если есть возможность управлять старшими адресами ПЗУ (>A15) Именно мне нужно для отладки биоса, т.к. каждый раз дергать ПЗУ и вставлять в флешер неудобно...

От идеи руления банками со стороны спека я отказался, неудобно...


Что то я не догнал. Типа ты хочешь разместить загружаемую ПЗУху на флешку или как.
Тут у меня идея возникла, вернее уже озвучивалась. Там у тебя ножки смотрю свободные на CPLDшке остались. Может DMA микруху прикрутить. Кто хочет тот ставит, а кто не хочет тот сам буратино. Порты взять из DMA GEAR от Velesoft. Правда DMA микруха из Z80 серии не дешевая. Если не хватит CPLDшки, можно прикрутить 3064.

Keeper
04.10.2010, 21:26
Типа ты хочешь разместить загружаемую ПЗУху на флешку или как

Я хочу иметь возможность обновлять прошивку ПЗУ без привлечения Flasher`a, т.к. при отладке нужно часто перешивать ПЗУ, у меня уже в цанговой панельке некоторые контакты "плохо контачат" :)


Тут у меня идея возникла

На самом деле я постеснялся спросить, я вынашивал другую идею: SD Card+SAA1099+Z84C10 :) EPM3032 забита по завязку, так что нужно брать EPM3064. Но вот разводку платы я не потяну, там же получается аналоговая и цифровая части... TSFM у меня есть, поэтому и SAA1099 на борту. Но можно и без SAA1099, прошивку переделать не проблема, я уже прикидывал :)

Mick
04.10.2010, 21:53
На самом деле я постеснялся спросить, я вынашивал другую идею: SD Card+SAA1099+Z84C10 :) EPM3032 забита по завязку, так что нужно брать EPM3064. Но вот разводку платы я не потяну, там же получается аналоговая и цифровая части... TSFM у меня есть, поэтому и SAA1099 на борту. Но можно и без SAA1099, прошивку переделать не проблема, я уже прикидывал :)

А че стесняться то. Тут есть ньюанс. Если SAA1099 применять, то но нужно в CPLD больше. Ибо SAA1099 управляется портами FF и 1FF.
Если ее делать совместимой с ZXM-SoundCard, а именно управление частотой 8МГЦ, то еще анализировать надо порты AY.
Собственно все это решаемо. :)
Если, все еще желание останется, то можно будет попробовать сделать такую карточку.

Keeper
04.10.2010, 22:03
А как вы относитесь к корпусу TQFP100? Ничего если такой поставим?

---------- Post added at 21:03 ---------- Previous post was at 21:02 ----------


Если ее делать совместимой с ZXM-SoundCard

Это обязательно...

Mick
04.10.2010, 22:09
А как вы относитесь к корпусу TQFP100? Ничего если такой поставим?

Ну можно и без вы. А так одобрямс. Может еще что влезет :)

Keeper
05.10.2010, 00:30
А как вы относитесь к корпусу TQFP100?

Появился выбор :)
1. Использовать TQFP100+ЛН1
2. Использовать PLCC44+ЛА3+ЛН1 - вариант "почти все в ДИПах"

От ЛН1 можно избавиться если кто-нибудь расскажет как НЕМО получил 8МГц из 14МГц :)

Mick
05.10.2010, 07:00
От ЛН1 можно избавиться если кто-нибудь расскажет как НЕМО получил 8МГц из 14МГц :)

Лучше в звуке этого не делать, ибо там не чистые 8МГц(по крайней мере когда я такое делал) получаются. ЛН1 не такая уж и дифицитная микруха.

Keeper
05.10.2010, 21:08
Возможность прошивки Flash оставляем или убираем?

Mick
05.10.2010, 21:22
Возможность прошивки Flash оставляем или убираем?

Честно сказать я не совсем понял идею. Если можешь на пальцах объяснить как ты хочешь сделать.
В моем понимании - это поставить на эту плату типа 29С512.....На основной плате убрать штатную ПЗУшку и ее там и программить.
Если так, то можно оставить, только сразу можно заложится на более толстую типа 512кб. Ну это я так понял.

P.S. Если будет SAA1099, то можно еще soundrive запихать(это так бредомысли вслух).

Black_Cat
05.10.2010, 22:20
:) да уж .. мож не надо всёж смешивать бульдога с носорогом?

Keeper
05.10.2010, 22:52
P.S. Если будет SAA1099, то можно еще soundrive запихать(это так бредомысли вслух).

SAA1099 будет, давайте может сформируем список хотелок?

Mick
06.10.2010, 07:02
SAA1099 будет, давайте может сформируем список хотелок?

По мне, это:
1. SD карт
2. толстый ПЗУ(~512кб вместо штатной с возможностью пререшивать на ходу
3. DMA z84C10(Z8410)
3. SAA1099 - твое желание
4. Soundrive - так если есть SAA1099 и если особо не муторно по схеме

Где то так. В любом случае, кому что то не нужно, то и не впаивается.

Keeper
06.10.2010, 22:20
3. SAA1099 - твое желание

Что-то мне уже не очень нравится идея ставить туда SAA1099...


4. Soundrive - так если есть SAA1099 и если особо не муторно по схеме

По-этой схеме?
http://zxdn.narod.ru/hardware/sd151inf/pic1.gifhttp://zxdn.narod.ru/hardware/sd151inf/pic2.gif

Надо подумать, как бы упаковать 4ре ЦАПа покомпактнее...

Дмитрий
06.10.2010, 22:57
Keeper, epm240/570 + tda1543 думаю потянут ;)

Keeper
06.10.2010, 23:06
Keeper, epm240/570 + tda1543 думаю потянут

На TDA1543 я посмотрел в первую очередь :) Он 16ти битный, а значит надо масштабировать 8бит в 16, как по мне будет проблематично в рамках EPM3064. EPM240/EPM570 - любопытно, цена на EPM570 ~70грн... Спасибо за наводку!!!

Дмитрий
06.10.2010, 23:09
EPM240/EPM570 - любопытно, цена на EPM570 ~70грн... Спасибо за наводку!!!
Ага, достойная замена максу3000 по той же цене.

Mick
07.10.2010, 06:57
Что-то мне уже не очень нравится идея ставить туда SAA1099...


Ну если не хочется, тогда аналоговую часть вообще можно выкинуть вместе с соундрайвом. :)

Дмитрий
07.10.2010, 08:43
Mick, я за... а соунддрайв добавить на твою zxm-soundcard ;)

Black_Cat
09.10.2010, 20:32
Короче, у вас тут какие-то уже бредни пошли. Если так хочется куда-то прицепить SD с флешёй, то единственное место где это ещё не будет выглядеть бредово - это видеокарта. Либо выполнить это в виде дочки.. правда тут такие горе разработчики, что ни на одном контроллере кроме помоему ZXMC игольчатый разъём под дочку не предусмотрен.

Mick
09.10.2010, 20:54
Короче, у вас тут какие-то уже бредни пошли. Если так хочется куда-то прицепить SD с флешёй, то единственное место где это ещё не будет выглядеть бредово - это видеокарта. Либо выполнить это в виде дочки.. правда тут такие горе разработчики, что ни на одном контроллере кроме помоему ZXMC игольчатый разъём под дочку не предусмотрен.

Мы делаем то что нам интересно и этим все сказано. Кому не нравится, тот значит сам буратино.

Mick
18.11.2011, 21:00
Посколько что то Keeper куда то пропал, то идея все таки осталась нереализованная. Опять же, владельцы Фениксов 01 и 02 ревизии лишены встроенного SD слота, да и мне хочется пркирутить DMA от Velesoft

Посему для Фени планирую сделать ZXM-ProfCard. Пока с окончательной конструкцией не определился но вот что планирую, так сказать за основу разработку Keeper .

1. Считыватель SD карт, для ревизии 03 не устанавливаем конфигурационную перемычку
2. ПЗУ 512кб с возможностью перешивать на ходу, при этом штатная вынимается.
3. DMA z84C10(Z8410) по Velesoft http://velesoft.speccy.cz/data-gear.htm Единственное, откликаться DMA будет как по порту 0Bh, так и по 6Bh
4. чтение содержимого портов 1FFDh и 7FFDh, т.е. образы системных портов.
5. порт принтера

Теперь вот определится с портом управления страницами ПЗУ и собственно разрешением записи в нее.

Естественно потом все обсуждения будут в другой теме. Ваши мнения и предложения. В любом случае я себе после Нового года ее сделаю.
Так что, если кто то будет себе такую же делать, то вопросом покупки DMA начните заниматься уже сейчас. Я свою микросхему 3 месяца ждал :)

palsw
16.01.2012, 21:07
Mick, Не знаю в этой теме нужно спрашивать или в другой.
Вопрос как к разработчику Феникса :)
Проблема такая,Феникс рев 03 с распаянной и прошитой картой SD.Всё отлично работает как с SD так и с Немо-hdd и РАМ-диском.
Но это когда в слотах нет Soundrive или GS из темы "Новодел" http://zx.pk.ru/showthread.php?t=17696.
1.Soundrive - при работе с SD идет помеха в 1 канал звука Soundrive (если важно в какай могу прверить).Допустим,при копиравини TRD образа в одном канале звука каждую дорожку раздаеться щелчёк.и так 160 раз.так же при обновлении каталога.
2.General Sound -тут всё сложнее.так как плата только собранная и я не уверен в ее 100% работоспособности.Глюк проявляеться когда плата вставленная в 2 слот Феникса (в 1 слот не могу поставить так как плата Феникса уже собрана в корпусе) то считать образ TRD на диск или РАМ-диск не получаеться - копирование зависает каждый раз на разных дорожках.(копирую Фаталом зашитым в ПЗУ).Бывает при запуске Фатала он повисает на сканировании накопителей или запускаетьсz,но всместо каталога файлов каша.При копировании с Немо-HDD в это же время работает без проблем -копирование с Немо-hdd на дискету в РАМ-диск и на обычную дискету происходит без ошибок.
Сам General Sound жизни не подает - не видит свою память.Изучал прохождение сигналов осциллографом на плате GS и заметил страный глюк -при запуске Фатала активизируються сигналы выбора банков памяти на самом GS.Такое впечатление ,что карта GS отзываеться на запросы Фатала к SD карте .

На форуме я находил тему о нормальной работе GS на Фениксе,но я не знаю какой ревизии был Феникс -с картой SD или нет.( http://zx.pk.ru/showthread.php?t=16314 )
Нужно ли мне для Феникса делать доработку GS для Пентагона (исправление дешифрации) или это проблемма дешифрации SD карты ?

Mick
16.01.2012, 21:26
Ну надо не в этой теме точно это обсуждать, а как минимум в той ревизии какой Феникс у тебя. Карта NeoGS работает без проблем. А по обычный GS я тебе сказать ничего не могу.
Про щелчки в SoundDrive, думаю надо сравнивать как у тебя дешифрация сделана и может ли она пересекаться с 55h и 77h портами. На сколько я понял у ZEK с Keeper реализована полная дешифрация порта, т.е. 55h и 77h.

solegstar
16.01.2012, 21:28
про SounDrive отвечали уже раньше - http://zx-pk.ru/showthread.php?t=16327&page=42

palsw
16.01.2012, 21:43
Mick, В том то и дело что вопрос тогда нужно писать в 3х темах Феникс 03,SD-карта,Soundrive.Основное подозрение на дешифрацию GS ,будем разбираться.

savelij
25.03.2012, 18:30
Вопрос. Имеется EPM3032ALC44. Для нее прошивка из первого поста подойдет или надо пересобирать? И если надо пересобрать кто-то может это сделать?

Keeper
25.03.2012, 18:33
Имеется EPM3032ALC44. Для нее прошивка из первого поста подойдет

Да, подойдет. Если нужно пины переназначить могу сделать. Сейчас пины назначены в соответствии со схемой.

savelij
25.03.2012, 18:43
Да, подойдет. Если нужно пины переназначить могу сделать. Сейчас пины назначены в соответствии со схемой.

Пока и так сойдет. Потом видно будет.