nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 22 Nov 2019 01:57



Reply to topic  [ 2 posts ] 
AT_2_XT 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Меня вот этот проект давно интересовал... С тех пор, как murgatroid_79 о нём поведал...
Lavr wrote:
Ну в общем-то, чтобы не морочить себе голову, давно придумали люди простой переходник АТ-ХТ. :ewink:
Ну это, конечно, если религия позволяет заюзать "богомерзкий" PIC в "кошерной" схеме "тёплого, лампового"... :ebiggrin:

Image

На zx-pk.ru обсуждали, что схема эта работает без проблем...

На нашем форуме давали на этот материал ссылку:

Image
murgatroid_79 wrote:
архив в котором все необходимое для сборки адаптера xt-at
http://narod.ru/disk/32390970001/XTAT.rar.html


Ну а исходные все материалы - вот здесь: AT2XT keyboard converter

Но, то руки не доходили, то PIC12F629 мне не нравился (у меня такого нет)... Смущало также, что у одних он великолепно работает, а у других - категорически не работает...
И схема-то проще некуда, но для проверки нужен ей симулятор сигнала АТ-клавиатуры...

В общем, вчера меня интерес захлестнул, и всё срослось! 8)

Имитатор клавиатуры АТ я сделал вот из этого проекта на 8051: Имитируем работу клавиатуры.
Чтобы не шаманить с программой, я приделал генератор 5...10 Гц, который "нажимает" на кнопку и вызывает передачу
"клавиатурой АТ" кода 55Н - он хорошо виден на осциллограммах.
Чтобы всегда выдавался код 55Н, я чуть подпортил исходник программы для 8051, найти это можно.
В остальном проект на 8051 весьма путно имитирует "клавиатуру АТ". :lol:

В совокупности с PIC12F629 получилось вот что:

Image

I2C монитор там, чтобы отслеживать наличие сигнала. По коду он лажает.. да и годен ли он для такого I2C?

PIC12F629 нормально опознает код 55Н от "клавиатуры АТ", правильно преобразует его в код ХТ = 0DH,
а вот имитирует протокол ХТ клавиатуры он, на мой взгляд, херовенько. :(
От того и, видимо, он у одних работает, у других - нет.

На осциллограммах: верхняя пара - то, что выдает PIC12F629

Image

Нижняя пара - то, что передает 8051 в качестве "клавиатуры АТ" (масштаб сжат вдвое).

Видимо, для большей четкости передачи, надо код PIC12F629 чутка подработать, хотя авторы в комментах
пишут, что времянки все четко по стандарту реализованы.

Исходник проекта Протезус доступен вот здесь, если кто захочет "поиграть" с ним.

В исходнике - XTATKEY_094.HEX оригинальная прошивка от автора АТ2ХТ.
XTATKEY.ASM - оригинальный код, но я в нем кое что правил на свой взгляд, так что
оригинал исходника лучше брать с сайта http://www.vintage-computer.com/


Ну и мне сегодня удался очень приятный трюк, может кому пригодится... :wink:

При симуляции PIC в Протезусе надо вручную выставит биты конфигурации, хотя для прошивки они уже есть в НЕХ-файле.
__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT ;Internal osc.
В MPLAB есть встроенная утилита, которая этот код вычисляет наглядно, но у меня - только MPASM...
И я с этим кодом всегда вручную мучаюсь... :-?
Может я чего не знаю, и он тоже где-то может нужный код посчитать - я не нашел... :osad:

А порешал я проблему так: в свободном месте программы вставил следующее...

dw _MCLRE_OFF & _CP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT ;Internal osc.

Ну и при компиляции в листинге мне MPASM нужный код конфигурации PIC и сосчитал! :ebiggrin:

_________________
iLavr


26 Jan 2016 10:06
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Во всех заслуживающих доверие источниках в сети при сравнении интерфейсов АТ- и ХТ-клавиатур пишут примерно следующее:
Quote:
По электрическому интерфейсу клавиатуры XT и AT совпадают, за исключением того, что
двунаправленный интерфейс позволяет клавиатуре AT принимать команды от системной платы.
Однако по логическому интерфейсу они несовместимы.

Но диаграмму для ХТ-интерфейса найти уже трудновато, а ту, которую все-таки находишь, так сильно поджали, что почти не видно одного важного момента.
Я сделал копию этой диаграммы из первоисточника и цветным контуром выделил то, что действительно важно:
Attachment:
XTKBD_diagram.gif
XTKBD_diagram.gif [ 10.17 KiB | Viewed 1929 times ]
Увеличить

И в АТ- и в ХТ-интерфейсе каждый бит считывается по спаду на уровне такта.
Но в ХТ-интерфейсе начало посылки имеет некоторое отличие.

В следующем документе, на мой взгляд, это довольно верно описано на словах:
Attachment:
XTKBD_info.gif
XTKBD_info.gif [ 18.44 KiB | Viewed 1929 times ]

_________________
iLavr


28 Jan 2016 09:17
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 2 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.