С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
не, я имел ввиду вот что - на операционники нам нужно подавать напряжение с ЦАПов, которое будет пропорционально входным данным, так? в описании на ЦАПы на 14стр. приведена схема включения ЦАПов в режиме Voltage Mode, и на ней же указывается, что изначально выводы предназначеные под выходы - используються как токовые. и в свою очередь на 3 стр. написано "Input voltage (voltage mode out A, out B to AGND) . . . . . . .–0.3 V to VDD + 0.3", в свою очередь VDD у нас 5В для совместимости с ТТЛ выходами. по схеме получается, что опорное напряжение подается на OUTA и OUTB, а выходы снимаются с выводов предназначеные под опорные напряжения. впринципе можно с операционниками не заморачиваться и оставить как есть - снимать звук с OUTA и OUTB, как в первоначальном варианте в 74 сообщении и развести разве что земли и подумать над выходными фильтрами - если мне память не изменяет в ковоксе низкие частоты нормально звучат, а вот с высокими проблема...
я конечно заинтересован в хорошем девайсе, и согласен что нужно всё предусмотреть проехали этот вопрос всё пойдет по плану, главное вопрос решить со свободным временем.нечего обижаться, я так же как и ты (надеюсь) заинтересован в том, чтоб получилось хорошее устройство, полезное многим, а не полуфабрикат-недоделка, как это часто бывает. Поэтому надо делать спокойно, последовательно и по плану. А по плану - именно сделать добротное устройство, в котором будет учтено всё, по максимуму и сразу, а не в релизе №ххх.
IORQGE я сделаю по формуле - /IORQGE = #F9 OR #DD; (у меня в прошиве каждый порт описывается отдельно и когда порт выбран из адресов А0-А7 (без /iorq и /WR и /DOSEN) активным уровнем будет единица)... потом при распределении на каналы подмешиваются и /iorq, /wr, /dosen... или в IORQGE подмешать еще /IORQ /WR /DOSEN, чтоб iorqge переходило в 1 при условии нужной комбинации iorq wr и dosen? т.е. /IORQGE = (#F9 OR #DD) & (NOT /IORQ & NOT /WR & /DOSEN).Значит так, IORQGE всёж надо сделать для портов x01 (это порты #01, #F9, #DD)
Profi must live!
Моё железо...
1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
Все укомплектованы:
Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive[свернуть]
Ссылка на Telegram-канал поддержки пользователей Profi.
нет, в IORQGE никогда IORQ не подмешивается - это принципиально!! Кроме того если ты смотрел обновлённую схеу, то там в ПЛМ заведён ещё /M1. Вот он в обязательном порядке подмешивается при формировании IORQGE - это тоже принципиально!! Сигналы /RD, /DOS&/IODOS - могут подмешиваться, но в нашем случае они не нужны.
IORQGE = /(/#79 & /#F9 & /#DD) & /M1, чипселекты имеют отрицательную логику, т.е. активны в нуле, при том, если выражение =0, то на выходе должно быть Z-cостояние. Адреса чипселектов даны из: http://zx.clan.su/forum/8-80-1 Если очень хоцца, можно запараллелить #79 с #F1, и #7B с #F3, но лично я бы #F1 и #F3 - забыл как страшный сон
---------- Post added at 13:48 ---------- Previous post was at 13:27 ----------
не, не надо, лучше токовый режим, типовая схема на 7 стр.
не, это уже обсуждали. Можно сделать на крайняк и Voltage Mode, но обязательно с повторителем.
Последний раз редактировалось Black_Cat; 20.03.2011 в 00:08.
у меня когда порт выбран (откуда у нас будет порт #01? если я его не делал?), значение равно =1 в плм, и в моём случае получается так: IORQGE = (#F9 OR #DD) & M1. я так понял, что /М1 мы считаем не активным, т.е. в "1".
а что за отрицательное опорное напряжение присутствует?не, не надо, лучше токовый режим, типовая схема на 7 стр.
ну ессно с повторителем и усилением по току...не, это уже обсуждали. Можно сделать в принципе и Voltage Mode, но обязательно с повторителем.
---------- Post added at 13:37 ---------- Previous post was at 13:23 ----------
ps: насчет Z-состояния - на выход /iorqge поставлю npn транзистор, как в zxmc2
Profi must live!
Моё железо...
1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
Все укомплектованы:
Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive[свернуть]
Ссылка на Telegram-канал поддержки пользователей Profi.
надеюсь это не на выходе ПЛМ?
IORQGE = (#F9 OR #DD) & /M1, /M1 - сигнал с отрицательной логикой, и записывать его нужно именно так, в противном случае - это будет инвертированный сигнал.
ты бы чтоль дал свою дешифрацию и разбивку по каналам, чтоб не гадать
там + / -, т.е. любое
---------- Post added at 14:42 ---------- Previous post was at 14:40 ----------
а что, в ПЛМ нельзя задать тип выхода? По любому, как в ZXMC-2 - не надо, там n-p-n в режиме эмиттерного повторителя, а правильно - p-n-p в ключевом режиме!
Последний раз редактировалось Black_Cat; 16.03.2011 в 14:49.
конечно нет внутри плм, а потом, когда я всё по каналам расписываю я получившееся значение инвертирую.
вобщем нам нужен /M1 не активный, т.е. в "1" так?IORQGE = (#F9 OR #DD) & /M1, /M1 - сигнал с отрицательной логикой, и записывать его нужно именно так, в противном случае - это будет инвертированный сигнал.
канал a = /(port_0f # port_f1); /* channel A */ты бы чтоль дал дешифрацию и разбивку по каналам, чтоб не гадать
канал b = /(port_1f # port_b3 # port_fb); /* channel B */
канал c = /(port_4f # port_f9); /* channel C */
канал d = /(port_5f # port_dd); /* channel D */
я пока не нашел как сделать Z-состояние, да и в любом случае надо ставить открытый коллектор по спецификации шины... ок, поставлю инверсию на выходе IORQGE и PNP транзистор в ключевом режиме.а что, в ПЛМ нельзя задать тип выхода? По любому, как в ZXMC-2 - не надо, там n-p-n в режиме эмиттерного повторителя, а правильно - p-n-p в ключевом режиме!
Profi must live!
Моё железо...
1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
Все укомплектованы:
Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive[свернуть]
Ссылка на Telegram-канал поддержки пользователей Profi.
так
спроси caro, он с ATF работал
если есть место в ПЛМ, то добавь и запараллель #79 c #F1
аналогично #7B c #F3. Надеюсь у #B3 не полная короткая дешифрация? Т.е. он откликается на #F3? А #FB что здесь делает? Его место на канале D..
Ну, и дешифрацию не мешало - бы тож выложить..
---------- Post added at 15:47 ---------- Previous post was at 15:16 ----------
по спецификации шины там как раз тристабильный выход : http://zx.clan.su/forum/11-82-1
..а транзистор - это его упрощённая эмуляция
Последний раз редактировалось Black_Cat; 20.03.2011 в 00:10.
а #01 и #03 это что за порты такие? эт по твоей схеме дешифрации на кп11? ни с чем там конфликтов не будет??? если место позволит, то добавлю.
нет, не откликается на #F3, а откликается на #B3. я сделал полную короткую дешифрацию по младшим 8 адресам.Надеюсь у #B3 не полная короткая дешифрация? Т.е. он откликается на #F3?
ну я его перенес в другой канал из-за того, что #FB по пентагону одноканальный и ему глубоко пофигу где играть, а вот в Sprinter 2000 #FB используется совместно с #4F как стерео ковокс. в старой схеме SounDrive стереоэффекта небыло из-за смеси последних в правый канал, благо на плм можно каналы перемешать, вот я #FB и вынес в левый канал.А #FB что здесь делает? Его место на канале D..
могу часть прошивы выложить, надо?Ну, и дешифрацию не мешало - бы тож выложить..
ну пока вроде никто не пострадал от такого упрощения, вроде все делают развязку на транзисторе для IORQGE... тут тоже не помешает отвязать выход плм от остальных карточек расширения.....а транзистор - это его упрощённая эмуляция
Profi must live!
Моё железо...
1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
Все укомплектованы:
Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive[свернуть]
Ссылка на Telegram-канал поддержки пользователей Profi.
это заменители портов #F0 и #F3, т.к. последние конфликтуют с портами eZ80
а зачем? чем оно тебе помешало, если бы откликалось?
Зачем, перетаскивать на Спектрум, проблемы компьютера, даже не являющегося клоном Спектрума? В Спринтер эту плату даже вставить невозможно! Пусть Спринтеровцы решают свои проблемы сами! Если им надо, чтоб их софт (коего всего-то и есть полторы штуки), работал на SounDrive - пусть прикрутят ещё два порта на левый канал, например #0F и #03, а на правом останутся #4F и #FB. Короче, проблемы Спринтера - это проблемы Спринтера, и нефиг перекладывать их с больной головы на здоровую! Это моё имхо. Конечно индивидуально себе можно сделать что угодно (и софт под это придётся тож ваять самому), но если это сделать всем, боюсь врядли кого это обрадует, если сторонний софт под SounDrive вдруг начнёт перепутывать каналы.
выкладывай
Последний раз редактировалось Black_Cat; 18.03.2011 в 11:47.
ну если я правильно понял идею порта #F3, просто в упрощенной схеме по другому не сделали бы, вот я и решил сделать нормальный #B3... в любом случае есть стандартные порты SounDrive, а остальные альтернативные сделаны для увеличения функционала и с попыткой объединить все существующие порты ковоксов в одно устройство...
опять-же нормальные порты soundrive остались на месте по каналам, а альтернативные можно и по другому расположить.Если им надо, чтоб их софт (коего всего-то и есть полторы штуки), работал на SounDrive - пусть прикрутят ещё два порта на левый канал, например #0F и #03, а на правом останутся #4F и #FB.
выкладывайСкрытый текст
/*
* Inputs...
*/
Pin 1 = a0;
Pin 2 = a1;
Pin 3 = a2;
Pin 4 = a3;
Pin 5 = a4;
Pin 6 = a5;
Pin 7 = a6;
Pin 8 = a7;
Pin 9 = iorq;
Pin 11 = dosen;
Pin 12 = wr;
Pin 13 = m1;
/*
* Outputs...
*
*/
Pin 14 = wrd;
Pin 15 = !iorqge;
Pin 16 = !chan_d;
Pin 17 = !chan_c;
Pin 18 = !chan_b;
Pin 19 = !chan_a;
/*
* Logic...
*/
fl = a0 & a1 & a2 & a3; /* 4 low bits of byte in HI*/
fh = a4 & a5 & a6 & a7; /* 4 high bits of byte in HI*/
blok = !iorq & !wr & dosen; /* Outputs enabled */
port_0f = !fh & fl; /* port 0F */
port_1f = !a7 & !a6 & !a5 & a4 & fl; /* port 1F */
port_4f = !a7 & a6 & !a5 & !a4 & fl; /* port 4F */
port_5f = !a7 & a6 & !a5 & a4 & fl; /* port 5F */
port_f1 = fh & !a3 & !a2 & !a1 & a0; /* port F1 */
port_b3 = a7 & !a6 & a5 & a4 & !a3 & !a2 & a1 & a0; /* port B3 - GS Covox*/
port_f9 = fh & a3 & !a2 & !a1 & a0; /* port F9 */
port_fb = fh & a3 & !a2 & a1 & a0; /* port FB - Pentagon or ATM Covox*/
port_dd = a7 & a6 & !a5 & a4 & a3 & a2 & !a1 & a0; /* port DD - Scorpion Covox*/
port_01 = !fh & !a3 & !a2 & !a1 & a0; /* port 01 */
port_03 = !fh & !a3 & !a2 & a1 & a0; /* port 03 */
chan_a = (port_0f # port_f1) & blok; /* channel A */
chan_b = (port_1f # port_b3 # port_fb) & blok; /* channel B */
chan_c = (port_4f # port_f9 # port_01) & blok; /* channel C */
chan_d = (port_5f # port_dd # port_03) & blok; /* channel D */
wrd = wr # iorq; /* WR for DAC`s */
iorqge = (port_01 # port_f9 # port_dd) & m1; /* IORQGE */
[свернуть]
где - ! - "НЕ";
# - "ИЛИ";
& - "И".
прошиву проверил в симуляторе - всё совпадает и блокировки работают. порты 01 и 03 получилось поставить только на каналы с и д, в других местах они вызывали переполнение элементов.
Последний раз редактировалось solegstar; 18.03.2011 в 12:29.
Profi must live!
Моё железо...
1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
Все укомплектованы:
Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive[свернуть]
Ссылка на Telegram-канал поддержки пользователей Profi.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)