вв51 i8251

8-битные микроконтроллеры и микропроцессоры от Intel и их клоны, а также компьютеры на них построенные

Moderator: Shaos

aav8
Maniac
Posts: 287
Joined: 06 Nov 2008 02:47
Location: 81.28.208.238

Re: вв51 i8251

Post by aav8 »

rw6hrm wrote:...дальше заменяем ВВ51 на 68В50 и продолжаем выжимать скорость до 1М (по даташиту).
и кому/кто с таким потоком будет справляться?
Andy6zx
Fanat
Posts: 54
Joined: 22 Apr 2015 13:56
Location: Киров

Re: вв51 i8251

Post by Andy6zx »

rw6hrm wrote: Единственная выгода ВВ51 - доступность, у нас, по крайней мере. Главное при использовании - соблюдать даташит и недокументированные особенности при старте, тогда он будет долго радовать своей неспешной работой.
Доступность это основной критерий, какой толк от микросхемы, если её негде взять? А можно пояснить, для общего развития, что за недокументированные особенности? Я вроде все по документации делал.
User avatar
Lavr
Supreme God
Posts: 16639
Joined: 21 Oct 2009 15:08
Location: Россия

Re: вв51 i8251

Post by Lavr »

rw6hrm wrote:Из документированных - первое чтение в null сразу после инициализации для очистки регистра RxRDY и снятия "единички" с одноимённого вывода. Однако обычно вывод сбрасывается после второго-третьего "пустого" чтения, у меня зависело от тактовой частоты процессора. У кого-то и с первого раза получается.
Недокументированное - желательная запись в регистр управления нуля хотя бы два-три раза, прежде чем инициализировать чип далее. Без предварительной записи некоторые отечественные ВВ51 после запуска ловят глюки.
Касаемо 8251 - недокументированная часть не нужна, а вот пустое чтение нужно, и оно опять же срабатывает в зависимости от тактовой процессора.
Есть ещё мелочи, но они касаются синхронной работы, посему неинтересны.
Будьте добры, выложите часть программы по эпизоду, выделенному красным.
В своё время, давно, с чем-то похожим я сталкивался и поборол.
Хочу сверить со своим вариантом. Потому что, когда мне позже попадалась собственная же
программа, один момент мне казался очень нелогичным, но комментария не было, а работать-
работало.
По коду у меня там как раз тройная запись, насколько я помню.
Код адаптировал из какого-то номера Радио, и тройная запись, видимо, тоже оттуда.
Но там комментария или пояснения в тексте вроде тоже не было.
iLavr
Xrust
Junior
Posts: 6
Joined: 06 Aug 2017 15:30

Re: вв51 i8251

Post by Xrust »

Lavr wrote: Будьте добры, выложите часть программы по эпизоду, выделенному красным.
Как-то так.

Code: Select all

initusart:	xra	a
	out	cusart
	out	cusart
	out	cusart
	mvi	a,ir	; Сброс
	out	cusart
	mvi	a,s9600
	out	cusart	; Установка режима порта
Эта процедура описана в "Soul of CP/M", как рекомендованная IMSAI
Кстати, мне довольно просто удалось разогнать КР580ВВ51А до скорости 57600 на тактовой 5МГц и синхре 0.9МГц. Работает как на прерываниях, так и на опросе в связке с Z80@10МГц. Правда, на больших массивах не успел еще проверить, но в режиме терминала ошибок нет.
Mildi
Novelist
Posts: 49
Joined: 25 Aug 2022 06:08

Re: вв51 i8251

Post by Mildi »

Никто не встречал UART как 8251, но с питанием наоборот, + на 4 ногу минус на 26 ногу?
Mondx
Doomed
Posts: 465
Joined: 10 Aug 2022 14:27

Re: вв51 i8251

Post by Mondx »

Xrust wrote: Кстати, мне довольно просто удалось разогнать КР580ВВ51А до скорости 57600 на тактовой 5МГц и синхре 0.9МГц. Работает как на прерываниях, так и на опросе в связке с Z80@10МГц. Правда, на больших массивах не успел еще проверить, но в режиме терминала ошибок нет.
А тут даже на 38400 не все хотят работать(. При 2 МГц и 615 КГц clock.
User avatar
Lavr
Supreme God
Posts: 16639
Joined: 21 Oct 2009 15:08
Location: Россия

Re: вв51 i8251

Post by Lavr »

aav8 wrote:Покрутил в Proteus-е модель 8251. Оказалась кривая.
Стандартно настраиваю на 8N1 делитель 1:16. Прием происходит правильно.
Передача происходит с задержкой на один символ, или нужно ждать несколько секунд для след.символа.
Если поставить делитель 1:1 передача происходит правильно.
Но ест-но прием с ошибками. Сунул в схему 2-е штуки: одна принимает, другая передает....
Что-то мне давно хотелось это покрутить-проверить...

Только занимательный факт имел место: в Proteus v7.7 SP2 пример использования i8251 есть,
хотя всего единственный вкупе с микропроцессором i8086 почему-то. :roll:
C:\Program Files\Labcenter Electronics\Proteus 7 Professional\SAMPLES\VSM for 8086\8086 Demo Board\DemoBoard.dsn

А вот в списке моделей USART 8251 почему-то и нет... :o
Позже на KAZUS.RU прочитал я, что "забыли" её изготовители внести в список моделей, хотя
их всех обслуживает 82xx.dll

В общем методом копи-паста вынул я i8251 из 8086 Demo Board и прицепил к нашему z80: :wink:

_8251-1.png
_8251-1.png (48.08 KiB) Viewed 1398 times

Покрутил всё это в выходные и, честно говоря, особых проблем и явных глюков не заметил.

У кого есть подобное желание - покрутить USART 8251 - ниже архив с проектом.

8251.zip
(580.66 KiB) Downloaded 40 times

В архиве также исходник, как программировать К580ВВ51 учил нас журнал Радио, а также
одна переведенная статья из интернета, где понятно объясняют, зачем в "железную" 8251
при старте записывать трижды 00Н.

Выходит с инициализацией 8251 трудности также были, и это не "родимое пятно" К580ВВ51.
iLavr
Mondx
Doomed
Posts: 465
Joined: 10 Aug 2022 14:27

Re: вв51 i8251

Post by Mondx »

В реале разница есть. Не все ВВ51А работают на 38400, в отличие от 8251А.
Люди утверждают что частота CLK к TXC/RXC должна быть 4,5:1. Некоторые даже 5:1. Тогда как даташит говорит, что "Frequency of CLK must be greater then 30 times the Receiver or Transmitter data bit rates". Кому верить?
User avatar
Lavr
Supreme God
Posts: 16639
Joined: 21 Oct 2009 15:08
Location: Россия

Re: вв51 i8251

Post by Lavr »

Mondx wrote:Кому верить?
Верить не надо никому. Ибо вера и электроника понятия несколько разные... :wink:
В электронике практика - критерий истины.

Ибо ещё, помнится, Рональд Рейган говаривал:"Доуверяй but проуверяй!" :lol:
iLavr
Mondx
Doomed
Posts: 465
Joined: 10 Aug 2022 14:27

Re: вв51 i8251

Post by Mondx »

Что то в терминал Протеуса у меня ничего не выводится? dll скопировал, сигналы на ногах есть. 8.15 SP1.
User avatar
Lavr
Supreme God
Posts: 16639
Joined: 21 Oct 2009 15:08
Location: Россия

Re: вв51 i8251

Post by Lavr »

Mondx wrote:Что то в терминал Протеуса у меня ничего не выводится?
А сам терминал настроили 8N1 ?

Z80_8251_0.PNG
Z80_8251_0.PNG (61.35 KiB) Viewed 1253 times

iLavr
Mondx
Doomed
Posts: 465
Joined: 10 Aug 2022 14:27

Re: вв51 i8251

Post by Mondx »

Так он уже настроен. Чудеса какие то. ls193 не работает. 192 тоже. А вот с ls93 всё хорошо - вывод на 2400 есть. Попозже поразбираюсь. Спасибо.
User avatar
Lavr
Supreme God
Posts: 16639
Joined: 21 Oct 2009 15:08
Location: Россия

Re: вв51 i8251

Post by Lavr »

Решил я попробовать на этой модели программно покомандовать сигналами /DTR и /RTS.

По мануалу от Intel - это "в натуре" 1-битные порты общего назначения. :wink:

DTR_RTS.png
DTR_RTS.png (35.65 KiB) Viewed 894 times

Но поведение этих линий у модели весьма странное: в "low" они выпадают без проблем.
А вот в "high" или "1" не возвращаются никакими способами... :roll:

Меня как-то очень озадачило, что в мануале везде упоминается сброс в zero :

DTR_CMD.png
DTR_CMD.png (33.84 KiB) Viewed 894 times

Но про возврат в "high" или "1" не написано нигде и ничего. :osad:

По программному сбросу в "high" эти линии не возвращаются.
Но и по аппаратному сбросу не спешат это сделать... :-?

Модель i8251 в Proteus глючная или я что-то не так делаю?

В архиве ниже - исходник, *.bin и *.hex.

_8251.zip
(1.91 KiB) Downloaded 17 times

iLavr
User avatar
Lavr
Supreme God
Posts: 16639
Joined: 21 Oct 2009 15:08
Location: Россия

Re: вв51 i8251

Post by Lavr »

Lavr wrote:Меня как-то очень озадачило, что в мануале везде упоминается сброс в zero :
The attachment DTR_CMD.png is no longer available
Хотя попадался мне по поиску в Интернет и вот такой вариант:

http://discipline.elcom.pub.ro/amp2/curs/8251.htm
http://discipline.elcom.pub.ro/amp2/curs/8251.htm
8251us6.png (26.9 KiB) Viewed 846 times

Собственно, и я ожидал от модели i8251 такого же поведения...

Но почему-то она работает не так. :-?
В "0" без проблем переключается, в "1" возвращаться не спешит.
iLavr
User avatar
Lavr
Supreme God
Posts: 16639
Joined: 21 Oct 2009 15:08
Location: Россия

Re: вв51 i8251

Post by Lavr »

Lavr wrote:
aav8 wrote:Покрутил в Proteus-е модель 8251. Оказалась кривая.
Стандартно настраиваю на 8N1 делитель 1:16. Прием происходит правильно.
Передача происходит с задержкой на один символ, или нужно ждать несколько секунд для след.символа.
Если поставить делитель 1:1 передача происходит правильно.

Но ест-но прием с ошибками. Сунул в схему 2-е штуки: одна принимает, другая передает....
Что-то мне давно хотелось это покрутить-проверить...
...
Покрутил всё это в выходные и, честно говоря, особых проблем и явных глюков не заметил.
Стал крутить более серьёзно, и глюки, похожие на то, что пишет цитируемый автор, обнаружились. :-?
Причем глюки весьма похожие... :roll:

Хотел я адаптировать через i8251 одну древнюю игрушку, восходящую ещё к Altair-8800.

HURKLE.png
HURKLE.png (9.03 KiB) Viewed 693 times

Действительно, приём и передача уверенно происходят на разных частотах.
На частоте выдачи символов глючит приём и наоборот.

При выдаче символов на терминал у меня происходит повторение предыдущего
выведенного символа.
Причём, если добиться устойчивой передачи, ввод начинает глючить... :(

В оригинале эта игра у меня функционирует под 6502 через ACIA 6850.
Grant Searle в своих поделиях цеплял ACIA 6850 в схему с процессором z80,
причем и рисунок схемы у него выполнен под Proteus, но у меня по его
схеме ACIA 6850 не заработала. Всё же её интерфейс расточен под 6502. :-?

Хотел адаптировать в схему i8251, но пока вот так безуспешно... :(
iLavr
Post Reply