Замена Z80SIO/2 на 580ВВ51

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: Замена Z80SIO/2 на 580ВВ51

Post by angry_troll »

А какая-нить SC16C2550 не вариант? 2канальный уарт.

...а переделка софта с работы на z80sio на работу на 8251 -- это не входит в понятние 'лопатить софт'? :)
привет засранцу лавру :)
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Замена Z80SIO/2 на 580ВВ51

Post by Lavr »

rw6hrm wrote:В SIO есть вывод INT, активно используемый программно. Вопрос: какой вывод в ВВ51 можно использовать вместо него?
...есть отрицательный опыт работы с СОМ-портом без прерываний (некоторые символы пропадают, плюс тут СР/М, которому прерывания нравятся)...
Я сам вопрос немного не понял: у "SIO есть вывод INT, активно используемый программно."
Т.е. он аппаратно не заведен на прерывания? А с ВВ51 нужен вывод, дающий аппаратное прерывание?
Если я правильно понял вопрос - могу подсказать, если нет - поясните вопрос.
ВВ51 можно использовать и по прерыванию, и по опросу, насколько я помню.

TxRDY (15) Готовность передатчика, RxRDY (14) Готовность приемника.
Уровень лог. "1" на этих выводах используется как запрос прерывания.
Но их же состояние можно прочитать через слово состояния БИС:
разряд D0=1 - TxRDY,
разряд D1=1 - RxRDY.
iLavr
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: Замена Z80SIO/2 на 580ВВ51

Post by angry_troll »

rw6hrm wrote:
angry_troll wrote:А какая-нить SC16C2550 не вариант? 2канальный уарт.
Планируется использовать только один СОМ-порт.
Тогда sc16c550 или аналог от техасских отвёрток! С фифо на 16 байт.
привет засранцу лавру :)
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: Замена Z80SIO/2 на 580ВВ51

Post by angry_troll »

Ну моё дело предложить, а там конечно делай как тебе сподручнее :-)

ps: в голову пришло только что: pic16f877 с его parallel slave port. DIP кстати.
привет засранцу лавру :)
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Замена Z80SIO/2 на 580ВВ51

Post by Lavr »

Ну я бы 8250 предложил - у меня "под столом" их парочка валяется... :wink:
Но у топикстартера, как я понимаю, этой "балаллайки под столом" тоже нет.
А есть у него 580ВВ51 - с ним он и "взыграет русскую народную песню". :lol:

Собственно, на мой взгляд, 580ВВ51 - не такой уж и "ублюдочный", я его
лично пробовал - нормально работает, хотя и по опросу; по прерываниям - не
делал... 8250 супротив 580ВВ51 в обслуживании проще.

Но и 580ВВ51, я полагаю, топикстартеру малины "шибко" не испортит...
Попадалось мне - на ZX.PK.RU его толпой запускали и все программные тонкости
разжевали: есть там один забавный момент с тремя нулями при инициализации... 8)
iLavr
aav8
Maniac
Posts: 287
Joined: 05 Nov 2008 19:47
Location: 81.28.208.238

Re: Замена Z80SIO/2 на 580ВВ51

Post by aav8 »

Прерывания от ВВ51 очень просто - готовности собираются через ИЛИ-НЕ и подаются на запрос прерывания
(активный низкий уровень). Я использовал какую-то ЛР
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Замена Z80SIO/2 на 580ВВ51

Post by Lavr »

rw6hrm wrote:Lavr, Вы, как всегда, правы ;), используем для поделок то, что есть в наличии.
Да я это считаю одним из правил нашего хобби - извернуться на том, что есть!
Мне лично порой это даже просто проффесионально интересно - поработать в
рамках искусственно созданных трудностей...
Ведь не серийное что-то конструируешь, а что-то своё, любимое, и надо реально
пустить в дело то, что "лежит под столом" - иначе зачем оно там лежит? :wink:
iLavr
User avatar
barsik
Doomed
Posts: 585
Joined: 19 Feb 2017 03:46
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь

Re: Замена Z80SIO/2 на 580ВВ51

Post by barsik »

rw6hrm wrote:насколько я знаю, этот адрес 0038 может использоваться некоторыми программами, в частности DDT или SID.
Это не довод.

Во первых, потому, что номер RST по прерыванию можно задавать не резисторами привязки на +5В, а целым регистром типа ИР22, которым можно выдавать на шину код любого RST.

Во-вторых, потому что изменение номера используемого RST в отладчике это работа на несколько минут. Производные от DDT (SID, ZSID, ZSID3) используют RST 38, а вот Z80 отладчики MONS, ZBUG и отладчик ИРИШИ использует RST 30.

Т.к я сам в DOS использую все RST (в т.числе и иногда RST 38), то мне пришлось решать обратную задачу - менять RST в отладчиках, где RST 30, на RST 38.

Всё изменение, нужное, чтобы сменить номер RST - в байте CF, который кладётся в стоп точку, вместо байта FF. И смена адреса RST, который инициализируется при директиве G перед уходом на прогон байтом C3 и адресом BREAK (заменить адреса 38 и 39,3A на 30 и 31,32).

Да и вообще, отладчик не нужен, если есть эмулятор, т.к отлаживать удобнее в нём.
rw6hrm wrote:Я бы с удовольствием применил 6850 вместо ублюдочного ВВ51, но поженить отродье Моторолы с последышем Интела не так-то просто.
Читал где-то, что 6850 программируется проще, чем ВВ51. А если речь о железе, то древняя 6850 из 1974 года без извратов и потому без проблем включаются в шину любого процессора. Интерфейс 6850 стал стандартом последовательного интерфейса для контроллеров. Кто-то на сайте ZX-PK.ru уже применил 6850 в ОРИОНЕ. 6850, якобы, лучше оттого, что более скоростной.
Last edited by barsik on 05 May 2018 16:56, edited 2 times in total.