Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Клавиатура PS2 с Pic
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=15255
Страница 1 от 2

Автор:  max's [ Пон Май 15, 2017 4:35 am ]
Заглавие:  Клавиатура PS2 с Pic

Отскоро използвам Proton 2.1.3 и се опитвам да направя връзка между Pic16F877 и стандартна клавиатура PS2 за PC.Искам с клавиатурата да се изписват символи на LCD128x64.Ако някой работи с Proton-a, да ви помоля за малко помощ как да запиша интерфеиса между клавиатурата и Pic-a.На платката изпoлзвам PortB.0 - Clock , PortB.1 - Data.Първо ми кажете дали това е възможно, защото по другите сайтове казват, че трудно се прави.

Автор:  stoyanoff [ Пон Май 15, 2017 9:14 am ]
Заглавие:  Re: Клавиатура PS2 с Pic

Аз не използвам готови платки, но до колкото разбирам от поста ти, си свързал клавиатурата към UART или USART. Изпълнимо е. Виждал съм каси в магазини да работят така. Не съм го правил. Трябва да прегледаш точно протокола на PS2 и да си настроиш твоя интерфейс. По памет мисля, че PS2 е със синхронно предаване. Не мога да ти кажа дали го правя чисто хардуерно(дали използват на готово UART в хинхронен режим) или направо го изграждат софтуерно.
Поздрави!

Автор:  Cekins [ Вто Май 16, 2017 4:13 pm ]
Заглавие:  Re: Клавиатура PS2 с Pic

Аз ползвам Протон, ама клавиатура не съм закачал. Значи първо си намери някакъв не толкова античен Протон - актуалната версия е 3.5.9.6. Свободна е за ползване с прилично количество 16-ки, 18-ки и 24-ки. Има и крак обаче с крака спира да работи за 24-ки и дспик. Изтегли си и Library Manager. Готова библиотека за работа с клавиатура обаче няма. Поогледай какво има тука http://www.protonbasic.co.uk/content.php и има един руски форум дето има писано това онова (picbasic.ru). По принцип тука Бейсик-а не е много на почит и едва ли ще намериш адекватна помощ.

Автор:  max's [ Вто Май 16, 2017 11:55 pm ]
Заглавие:  Re: Клавиатура PS2 с Pic

Да наистина може да се свъже клавиатура, видях го в нета наравено с AVR, но с Pic нищо не мога да намеря.Поне някой от вас дали знае интерфейса дали е синхронен на PS2 клавиатурата,...пък да почна от някъде.В нета намирам само протоколите на PS2, друг стандарт не този на EU.

Proton-a ми найстина е стар.Намерих 3-ка IDE но неработеща.Ако някой има 3-ка работеща нека посне един линк.Благодаря предварително.

Автор:  ToHu [ Сря Май 17, 2017 3:57 am ]
Заглавие:  Re: Клавиатура PS2 с Pic

Не виждам калво не е ясно, ето тук е описано http://pcbheaven.com/wikipages/The_PS2_protocol/
Сигирно има още куп линкове. Комумикацията е елементарна. Аз бих използвал spi интерфейса но може са стане и само софтуерно. Серийния порт не е най-добрата опция но пък ако си нямаш работа защо не.

Автор:  kombainer [ Сря Май 17, 2017 7:44 am ]
Заглавие:  Re: Клавиатура PS2 с Pic

max's написа:
Ако някой има 3-ка работеща нека посне един линк.

Тука има 3.5.9.5 с лекарство. http://www.picbasic.ru/forum/5-1302-10

Автор:  ToHu [ Сря Май 17, 2017 9:01 am ]
Заглавие:  Re: Клавиатура PS2 с Pic

Не се наказвай с тоя протон, по добре сложи някой С компилатора. А конкретно за твоя проблем не ти трябва библиотека, няколко реда код е.

Автор:  max's [ Сря Май 17, 2017 2:15 pm ]
Заглавие:  Re: Клавиатура PS2 с Pic

тони... при мен програмирането е все още хаос от различни кодове и езици за програмиране.Спирам се на Protona-а защото е компилатор за начинаещи.За теб може да е няколко реда КОД, но ако може, посни нещо да видя как изгледа този интерфейс PS2/PIC при теб.

Автор:  ToHu [ Сря Май 17, 2017 4:19 pm ]
Заглавие:  Re: Клавиатура PS2 с Pic

Ще се опитам да ти драсна нещо. Сега като се замислих с кой процесор работиш, може да с еокаже че серийният порт е по-удачен, тъй като там по SPI nне можеш да правиш много неща, той е съвсем прост. От друга страна релано на хардуерно ниво, е много по-близо до RS232, с тази разлика че имаш клок. Реално да ти кажа,най-лесно ще стане ако го правиш софтуерно май :) На серийният порт на този контролер, проблема е че няма ауто бауд рейт, а битрейта от клавиатурата не е фиксиран, според линка горе някъде между 19200 и 32400 ако го обърнем в стандартни скорости.
Тук основния проблем за серийният порт е да му наместиш честотата. Разбира се може да става първоначално, но ралзични клавиатури ще имат различна скорост, може да се влияе доста и от температурата. Аз затова писах SPI, ама мен в главата ми са малко по-сложни и умни SPI ... не се сетих че на 877 не е хич умен, но и серийният му не е. Та или просто си сетваш скорост на серийният подходяща за твоята клавиатура, ако е една конкретна, или прави възможност за настройка. Не е никак невъзможно да се настройваш в реално време на база продължителност на стартовият импулс.
Друг вариант е да си е изцяло софтуерно, имаш клок, изпозлваш го като тригер, т.е. бучкаш го на едно прекъсване, при всяко прекъсване четеш датата и си готов. Ако не ти е зор, може вдруги ден да ти го драсна, имам един смотан полет с 5 часа престой в шанхай, тъкмо да си запълня времето, но ще е С.

Автор:  ike [ Сря Май 17, 2017 5:45 pm ]
Заглавие:  Re: Клавиатура PS2 с Pic

max's написа:
За теб може да е няколко реда КОД, но ако може, посни нещо да видя как изгледа този интерфейс PS2/PIC при теб.

С Гугъл не излизат ли никакви примерни проекти с PIC и PS/2?

Автор:  pechkov [ Сря Май 17, 2017 6:09 pm ]
Заглавие:  Re: Клавиатура PS2 с Pic

max's написа:
тони... при мен програмирането е все още хаос от различни кодове и езици за програмиране...


Тогава отдели 20-30 мин и разгледай развойната среда на Mikroelektronika. Имат компилатори на Basic, C и Pascal. Оделно за всеки от езиците са компилатори за PIC, AVR, ARM и т.н. щуротии. Имат си помощна документация, много добре написана, с примери и схеми на свързване. Има и готова библиотека за PS2.

Компилаторите им работят свободно за малки проекти до 2000 програмни думи, и искат заплащане за по-големи проекти. Някъде в нета намирах и "лекарство", но за версия MikroBasic 6.4 или нещо такова, а актуалната е 7.1.

Прикачвам ти снимка на помощната документация за PS2 библиотеката, само за информация.

Прикачени файлове:
ManualCapture_2017.05.17_18.07.05.jpg
ManualCapture_2017.05.17_18.07.05.jpg [ 441.45 KiB | Прегледано 6532 пъти ]

Автор:  ToHu [ Чет Май 18, 2017 3:39 am ]
Заглавие:  Re: Клавиатура PS2 с Pic

Като гледам сетват на 19200 което да и предаваш е ок но за четене не знам, дават доста по-голям диапазон на клока.

Автор:  pechkov [ Чет Май 18, 2017 1:50 pm ]
Заглавие:  Re: Клавиатура PS2 с Pic

ToHu написа:
Като гледам сетват на 19200 ...


Ако имаш предвид примера от Mikroelektronika - тези 19200 са за UART-а през който се предава към нещо друго. UART-а на този процесор се намира на пинове 25 и 26, но връзките не са начертани на тази схема. Четенето на PS2 се прави със софтуерна библиотека, което е съвсем в реда на нещата, понеже чиповете нямат хардуерно декодиране на такъв сигнал.

Прилагам снимка на друга част от помощната документация, която показва свързване на UART.

Edit:
Добавям и записан сигнал от PS2 клавиатура - натискане и отпускане на клавиш "A". Декодирането на такъв сигнал с UART-а според мен ще си е приключение, и ще отнеме доста повече програмни думи, отколкото готовата библиотека, която може да се използва към произволни пинове на процесора, така че хардуерния UART да остане за други цели на проекта.

Прикачени файлове:
ManualCapture_2017.05.18_15.25.36.jpg
ManualCapture_2017.05.18_15.25.36.jpg [ 71.2 KiB | Прегледано 6446 пъти ]
ManualCapture_2017.05.18_15.24.08.jpg
ManualCapture_2017.05.18_15.24.08.jpg [ 70.33 KiB | Прегледано 6446 пъти ]
ManualCapture_2017.05.18_13.48.56.jpg
ManualCapture_2017.05.18_13.48.56.jpg [ 482.75 KiB | Прегледано 6460 пъти ]

Автор:  kombainer [ Чет Май 18, 2017 4:51 pm ]
Заглавие:  Re: Клавиатура PS2 с Pic

Има една малка подробност, която в горния пример срамежливо са я пропуснали - за да работи читаво функцията, трябва да се забранят прекъсванията.

Прикачени файлове:
AreaCapture.jpg
AreaCapture.jpg [ 52.55 KiB | Прегледано 6436 пъти ]

Автор:  ToHu [ Пет Май 19, 2017 12:25 am ]
Заглавие:  Re: Клавиатура PS2 с Pic

Като гледам какво е логнато идва около 0.9 мс за пакет, или горе долу около 9600bps. Това обаче май излиза извън рейнджа от линка, линка може би не е миродавен, но така или иначе е още по неопределено като скорост. Софтуерно ще е най-просто, но и време отнемащо. Естествено не като в микроелектроника а, точно обратното, ще се реализира с едно от прекъсванията. Ако беше със силабс там spi ако не ме лъже памета може лесно да се излъже да работи така, ама не си. Ще пусна по-късно нещо.

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/