[Украина, Винница] Печатная плата для Поиска-2 (новодел) (Новодельная печатная плата для "Поиска-2". Заказывали 40шт, осталась одна лишняя.)

Всё, что относится к теме форума: старое железо, софт, периферия и т.д. Не забывайте указывать город, где Вы живете.
Аватара пользователя
Tronix
Advanced Member
Сообщения: 3634
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва
Поблагодарили: 1 раз

Вклад в сообщество

Сообщение Tronix » 23.08.2016,16:54

Ekb И еще в этом PIC есть заморочка с OSCCAL - это калибровочное значение для внутреннего 4MHz генератора, записывается на заводе в последнюю ячейку памяти. Его нельзя затереть при записи. Нормальные люди при покупке нового контроллера считывают его, записывают на бумажке и клеют его на брюхо. Я не знаю, как ты шил PIC, каким программатором. Как правило, нормальные программаторы сначала считывают это значение и потом при записи программы во флеш записывают его обратно. Но всякие китай-поделки могут этого и не делать. Так же в нормальных программаторах есть некий алгоритм, который может попытаться восстановить утраченное значение OSCCAL, например Willem так умеет.

Запись левого значения в эту ячейку грозит увеличением разброса точности встроенного генератора 4MHz с 1% до не предсказуемости, как в большую сторону, так и в меньшую. И проц может работать на меньшей частоте, например на 3MHz. И соответственно программа будет не успевать реагировать на декодинг клавиш.

Darko
Advanced Member
Сообщения: 1812
Зарегистрирован: 04.11.2015,07:55
Откуда: Питер

Вклад в сообщество

Сообщение Darko » 23.08.2016,21:55

Ekb, работоспособность переходника подтверждаю с любыми мамами-клавами с участием квм и без, если нужна хт-клава, то есть у меня.

Аватара пользователя
EJSanYo
Advanced Member
Сообщения: 423
Зарегистрирован: 27.12.2007,23:55

Вклад в сообщество

Сообщение EJSanYo » 23.08.2016,23:30

Tronix по поводу OSCCAL: http://www.minuszerodegrees.net/at2xtkb ... _value.htm Говоря по-русски, паршивка автора сама его зачем-то меняет на своё значение ещё в самом начале. Причём действительно непонятно, зачем? Когда там же далее упоминается, что высокая точность тактового генератора там как бы и не нужна. И я пожалуй с этим согласен: AT клава сама даёт клоки с частотой, какой считает нужным. Ядро PIC-а на 4 МГц работает с огромным запасом быстрее, чем протоколы обмена данными. А уж по клокам у клавы XT-шек, судя по данным из Сети, вообще допуск +/- километр!
PS пардон, пишет не своё, а и правда заводское, перепутал. Хотя может ли его значение оказывать какое-либо влияние на работу в данном случае - всё равно кажется маловероятным.
Хорошо иметь DOOM-ик в деревне!

i8088
Advanced Member
Сообщения: 4865
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан
Поблагодарили: 48 раз

Конкурсы

Вклад в сообщество

Сообщение i8088 » 24.08.2016,09:25

И там еще не используется reset для XT клавиатуры, я не понимаю
зачем автор взял контроллер с таким ограниченным количеством выводов...

gfeiw
Advanced Member
Сообщения: 328
Зарегистрирован: 20.02.2012,14:14

Сообщение gfeiw » 24.08.2016,10:46

По объяснениям автора устройства, поскольку оригинальная клавиатура XT не использует линию RESET, то и в переходнике она не нужна.

Фактически сброс XT-клавиатуры происходит за счет удержания сигнала CLK в лог. "0" в течение минимум 20 мс. Линия CLK - сигнал с открытым коллектором: перед выдачей синхросигнала клавиатура проверяет, не удерживается ли линия CLK в лог. "0" со стороны мат. платы. Если да, то происходит сброс микроконтроллера клавиатуры и выход на новый цикл.


Аватара пользователя
alecv
Advanced Member
Сообщения: 6995
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Поблагодарили: 2 раза
Контактная информация:

Вклад в сообщество

Сообщение alecv » 24.08.2016,11:38

Коллеги, а герберов этого контроллера AT2XTKBD не осталось ?
Или поменяю несколько плат на PIC-и, можно прошитые v0.9 или неофициальную v1.0.

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3634
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва
Поблагодарили: 1 раз

Вклад в сообщество

Сообщение Tronix » 24.08.2016,11:49

EJSanYo писал(а):Говоря по-русски, паршивка автора сама его зачем-то меняет на своё значение ещё в самом начале. Причём действительно непонятно, зачем?
Это не так. Инструкции

Код: Выделить всё

;	Calibrate the internal oscillator
 
	call	0x3ff			; get the calibration value
	movwf	OSCCAL			; calibrate oscillator
нужны, чтобы прочитать калибровочное значение с адреса 0x3ff (возвращается в регистр W) и записать его в регистр OSCCAL:

Изображение

где 0x34 - это опкод команды RETLW, а 8C - то самое калибровочное значение. Таким образом прыгнув на адрес 0x3FF выполнится команда RETLW, которая вернет в регистре W значение 0x8C. Далее с помощью команды MOVWF OSCCAL это значение запишется в регистр OSCCAL, тем самым откалибруя генератор на 4MHz ровно. Поэтому важно не затереть при записи прошивки заводское калибровочное значение в последней ячейке.

Аватара пользователя
alecv
Advanced Member
Сообщения: 6995
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Поблагодарили: 2 раза
Контактная информация:

Вклад в сообщество

Сообщение alecv » 24.08.2016,12:38

Tronix Если значение потерялось, на сайте minuszerodegrees рекомендуют просто записать 3480.

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3634
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва
Поблагодарили: 1 раз

Вклад в сообщество

Сообщение Tronix » 24.08.2016,12:49

alecv Можно и так, но тайминги все равно поплывут. Потому как, на первый взгляд, для генерации XT клока используется таймер, для отслеживания и отсылки команд в AT так же используется таймер. Может будет работать, а может и нет, лень вникать в листинг.
Правильно - не потерять калибровочное значение изначально (считать с микроконтроллера и записать в блокнот/приклеить этикетку на пузо/etc). Если все-таки потерялось, многие программаторы умеют подбирать его методом перебора, например Willem так умеет. Ну а если совсем никак - тогда да, 3480.

i8088
Advanced Member
Сообщения: 4865
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан
Поблагодарили: 48 раз

Конкурсы

Вклад в сообщество

Сообщение i8088 » 24.08.2016,12:56

gfeiw писал(а):По объяснениям автора устройства, поскольку оригинальная клавиатура XT не использует линию RESET, то и в переходнике она не нужна.
Это понятно, но все же я бы сделал и использование RESET в том числе,
коль скоро он имеется.

Аватара пользователя
alecv
Advanced Member
Сообщения: 6995
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Поблагодарили: 2 раза
Контактная информация:

Вклад в сообщество

Сообщение alecv » 24.08.2016,13:11

Ну вот как раз для желающих сегодня бодрый итальянец запостил вариант конвертора на Ардуинке
http://www.vcfed.org/forum/showthread.p ... -converter

Закрыто