Да как же его понять, насколько он нормальный... Да, проблема в самом конвертере. Я соединил через него два РС - такая же ерунда. В Гипертерминале нажимаешь клавиши, на другом компьютере эти буквы печатаются. Но файлы не передаются. Надо сначала добиться нормальной работы на РС, если это возможно ( ). Я сейчас в командировке, пока эксперименты приостановлены.
Вот такие https://www.chipdip.ru/product/vscom-usb-com-mini у меня работает без проблем. По крайне мере до 115200, выше не проверял из за особенностей HX сервера. И вот почти такой https://www.chipdip.ru/product/usb2-8com-m-cbl (только у меня 16-ти портовка) - тоже без проблем до 115200. И ещё один, то же на основе чипа FTDI, купленный на али - тоже без проблем до 115200. Но насчёт китайских поделок, как я понимаю - как свезёт.
This.
А вообще если про скорости выше 57600 для -065-й это вообще как?
Я на своей СЭМЗ-овой запарился (учитывая скиллы паяльника) подтягивать и опускать ее (-065-й) ноги для выставления 57600 для загрузки через HХ. На этой скорости кстати ну в-принципе окей работает.
Конвертер USB-RS232 (не то чтобы прям обычный, не знаю какой из них обычный). FTDI что-то там.
Провод с замыканиями "на себя" контрольных сигналов.
В -65й есть возможность тактировать внешней произвольной частотой. Соответственно скорость либо выбирается из стандартного ряда, либо определяется произвольной частотой.
У -65й есть флаги(2 шт. На вход и выход, подключать либо на RTS+CTS, либо на DTR+DSR), кои работают аппаратно, в отличии от 35-й, в итоге -65я может с ними работать, своеобразно правда,
то 35-я обладает только одним(на вход)... И его можно использовать только лишь на определение того(в случае пары 35-й), воткнут ли кабель или входной однобитный порт
Аппаратные особенности -65й вытягиваются за счёт протокола программного обмена. Видел обмен не только с PC, но и с компьютерами ЯМР-спектрографов BRUKER. Причём эти компьютеры(благо диски были по тем временам большими) могли работать в качестве серверов для загрузки ДВК. Файлы изначально между разными системами вполне таскались сначала Кермитом, но это было медленно ... Потом написали свои программы.
Ну вот это уже шаманство какое-то
На всякий случай продублирую программку которая ЯКОБЫ должна менять скорость последовательного интерфейса в УКНЦ (программно!).
Сразу скажу - добиться желаемого программно либо не удалось. Либо удалось - но мой FTDI не понял изменений скорости "на лету". Либо кабель не тот (либо еще чего).
Пробовал ее со всякими изменениями - самое интересное что что-то происходит! То-есть вроде даже что-то меняется, но надо было сидеть видимо с прибором и мерять напряжения/частоты на выводах КР1801ВП1-065 в зависимости от того как периферийный процессор пишет в ячейки 177704 177700 (они в периферийном процессоре вроде как "резерв" описаны)
Тем не менее кто-то эту программу писал и явно оно когда-то работало!
Изменение скорости RS232 на УКНЦ программно
Код:.Title rs232 test .ident /v01.00/ .mcall .ttyin .ttyout .exit .print .scca jsw = 44 exchr = 3 reptch = 5 speedc = 11 nrept = 100. int = ^b1000000 ready = ^b10000000 ovf = ^b1000000000000 err = ^b1000000000000000 break = ^b1 test = ^b001 rxrs = 176570 rxrd = rxrs+2 rxvec = 370 txrs = rxrd+2 txrd = txrs+2 txvec = rxvec+4 .macro mput adrmp jsr r2,mput$ .word adrmp .endm rsk2 = 176674 rdk2 = rsk2+2 start: .print #prom1 .scca #area,#adrsc bis #10100,@#jsw mov @#rxvec,oldrxV mov @#txvec,oldtxV mov #rxloc,@#rxvec bis #int,@#rxrs ; br . 1$: mov #1,r1 .ttyin cmpb r0,#speedc bne 11$ call setspd br 1$ 11$: cmpb r0,#exchr beq exit$ cmpb r0,#reptch bne 2$ .ttyout #64. movb #reptch,r0 mov #nrept,r1 2$: tstb @#txrs bpl .-4 movb r0,@#txrd sob r1,2$ cmpb r0,#reptch bne 1$ .ttyout #65. .ttyout #12 .ttyout #15 br 1$ exit$: mov oldrxv,@#rxvec mov oldtxv,@#txvec bic #int,@#rxrs .print #ex.ok .exit rxloc: bit #ready,@#rxrs beq 10$ movb @#rxrd,r0 cmpb r0,#reptch beq rxloc cmpb r0,#exchr beq exit$ .ttyout bit #ovf,@#rxrs beq 1$ .ttyout #177 inc errovf 1$: bit #err,@#rxrs beq 10$ .ttyout #177 inc errpar br rxloc 10$: rti ; Подпрограмма перемещения в К2 адреса МП mput$: call 5$ ; Подождем готовности К2 1$: call 4$ ; Вытолкнем в К2 первые 2 байта адреса cmp r2,#2$ ; Байты завершения переданы ? beq 3$ ; ..да - перейдем к проверке ответа clrb @-(r2) ; Очистим байт ответа jsr r2,1$ ; Передадим 2 байта завершения 377 .word -1 ; Байты завершения 2$: tstb @(r2)+ ; Проверим ответ 3$: rts r2 ; Выйдем в основную программу (или на 2$) 4$: mov pc,-(sp) ; Обеспечим повторный вход movb (r2)+,@#rdk2 ; Передача байта в К2 5$: tstb @#rsk2 ; Ожидание готовности К2 bpl 5$ return ; выход [ 20 слов ] SETSPD: .print #lspd .ttyin sub #'A,r0 bmi retbad cmp r0,#12. bgt retbad movb valspd(r0),spd.pm mov r0,r1 mul #14.,r1 add #sspd,r1 mov #10.,r2 mov #str.pm+1,r0 movb (r1)+,(r0)+ sob r2,.-2 mput mp.put mput mp.exe .print #clrstr return retbad: .ttyout #7 .print #clrstr return ;spd.pm: .word 0 pp.beg: spd.pm = .+2 mov #0,@#177704 bis #400,@#177700 bic #400,@#177700 mov pc,r0 add #str.pm-.,r0 mov r0,xxx emt 52 xxx: .word 0 return str.pm: .byte 1. .blkb 10. .byte 0 .even pp.end: mp.put: .byte 0,20,32,0 .word 1100 .word pp.beg,<pp.end-pp.beg>/2 mp.exe: .byte 0,30,32,0 .word 1100 .word 111111 errpar: .word 0 errovf: .word 0 area: .blkw 2 adrsc: .word 0 oldrxv: .blkw 1 oldtxv: .blkw 1 prom1: .ascii / ╙╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣ё/<15><12><33><'K> .ascii / ╥ rs232 test started ╥/<15><12> .ascii / ╥ ^C - Exit ╥/<15><12><33><'K> .ascii / ╥ ^E - move 100. chars to C2 ╥/<15><12><33><'K> .ascii / ╥ <tab> - set speed ╥/<15><12><33><'K> .ascii / ╕╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╧/<15><12><33><'K> .byte 200 ex.ok: .ascii <15><12>/Exit OK/ .byte 33,'K,0 clrstr: .byte 15,33,'K,200 lspd: .byte 12, 15 sspd: .ascii / A - 50 /<15><12><33><'K> .ascii / B - 75 /<15><12><33><'K> .ascii / C - 100 /<15><12><33><'K> .ascii / D - 150 /<15><12><33><'K> .ascii / E - 200 /<15><12><33><'K> .ascii / F - 300 /<15><12><33><'K> .ascii / G - 600 /<15><12><33><'K> .ascii / H - 1200 /<15><12><33><'K> .ascii / I - 2400 /<15><12><33><'K> .ascii / J - 4800 /<15><12><33><'K> .ascii / K - 9600 /<15><12><33><'K> .ascii / L - 19200/<15><12><33><'K> .ascii / M - 57600/<33><'K><15><12> .ascii /Установите скорость : /<33><'K><200> valspd: .byte 5,4,7,6,1,0,3,2,15,14,17,16,11 .end start[свернуть]
Собственно интересный момент вот тут, который выполняется в периферийном процессоре УКНЦ (остальное это обвязка в ЦП и пересылка куска кода в ПП)
Ну и до кучи ссылка на пост с описанием КР1801ВП1-065 чтобы кто-нибудь долго не искал как поставить нужную скорость.Код:pp.beg: spd.pm = .+2 mov #0,@#177704 bis #400,@#177700 bic #400,@#177700
https://zx-pk.ru/threads/12945-tekh-...065/page2.html
Последний раз редактировалось BlaireCas; 24.06.2022 в 10:44.
Не шаманство, штатно предусмотренный режим работы разработчиками
Но вот конкретно реализации не знаю ни одной
Хорошо, что Vslav произвёл вскрытие -65й.
Эту странность работы с флагами - знать бы тогда ...
Точнее догадки были, что там что-то не так, но это были гнусные домыслы и измышления, да ещё не исключался тупо брак...
И в однотомнике(первое издание) было прописано FR3-0, что при каком-то сочетании помеченной Vslav, как "Останов" использовался внешний источник тактовой частоты, который и задавал произвольную скорость обмена.
Но возможно, что это была ошибка в книге(скорее всего добросовестное заблуждение, такие данные дали), я Vslav более верю
По поводу установки скорости, в программе закомментированно:
;spd.pm: .word 0
Да и в инструкции на УКНЦ не заявлено изменение скоростей...
Вообще - надо схему смотреть... Чтобы понять куды там FR0-3 подведены....
Последний раз редактировалось Alex; 24.06.2022 в 14:29.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)