Форум РадиоКот https://radiokot.ru/forum/ |
|
Расширяю переферию на классике 8031 https://radiokot.ru/forum/viewtopic.php?f=61&t=107031 |
Страница 1 из 1 |
Автор: | vbvb [ Пт авг 22, 2014 10:20:43 ] | ||
Заголовок сообщения: | Расширяю переферию на классике 8031 | ||
Задача. Не меняя набор возможностей на плате с 8031 во главе и не слишком трогая плату, расширить доступ к 5- 6 дополнительным регистрам. Первоначальная программа уже расковырена и не вызывает проблем ее модернизации с учетом новых регистров ввода вывода. Выбор на расширение пал на рилтаймклок RTC VT82885(DS18887 и др) . На его место в панельку встанет модуль расширения с установленным туда же RTC. На RTC приходит шина данных,CS(83xxh),ALE, RD,WR. Адресация внутренних регистров RTC, как помнится с 0 по 127 (8300...837f h) А все что выше 8380h хочу забрать для адресации дополнительных регистров. Набросал схемку расширения адресации регистров.(буфер шины не указан и пока не знаю нужен ли) Вопрос. Ничего не упустил? ![]()
|
Автор: | BOB51 [ Пт авг 22, 2014 17:43:37 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
Это вроде решил в готовой схеме микруху выдернуть, на её место "отсебятику" поставить? ![]() |
Автор: | vbvb [ Пт авг 22, 2014 18:07:02 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
BOB51 Как то так ![]() |
Автор: | BOB51 [ Пт авг 22, 2014 20:22:26 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
А не смущает, что у MCS51 существует 2 типа movx - с Ri и DPTR в качестве указателя адреса? ![]() Ведь исходя из типа применяемых команд и работа дешифратора адреса/выборки кристалла отличаться будет... да и чем наборчик из сдвиговых регистров не устраивает - там всего-то 3 вывода надобно... ![]() |
Автор: | vbvb [ Пт авг 22, 2014 20:54:31 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
Даже если и использовать movx c Ri, то это только на первые 256 байт , что никак не скажется на адресах 83хх. Поэтому доступ только c DPTR. Кстати не помню, что фиксируется в P2 при movx c Ri? То что было до команды movx? То есть достаточно mov P2,#83h до и movx @Ri,A сработает? Переделка под другие типы, конечно, возможна, но приведет еще и к переделке модуля этих регистров. Честно говоря, этот модуль уже практически готов и переделка его не стоит планах. |
Автор: | BOB51 [ Пт авг 22, 2014 21:20:30 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
А надо бы помнить - при movx @ri,a\movx a,@ri - Р2 НЕ ИСПОЛЬЗУЕТСЯ! (сохраняются предыдущие значения) ![]() Отсюда и возможные ошибки - при ВПД в 256 байт разработчик вероятнее всего воспользуется "короткими" командами, тем более, что там больше возможностей обмена с РПД. А Р2 будет использован для максимум "хитрого выбора" (ибо все равно содержит адрес ВПП это ведь 8031, а не машина со встроенным флеш-блоком пограммной памяти). Кстати, самой первой ступенью подобной "модернизации" была бы замена МК на AT89S52... или чего подобного с встроенной памятью программ. ![]() |
Автор: | vbvb [ Пт авг 22, 2014 21:25:10 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
Ну это уже про детские ошибки ![]() Когда, к примеру, в прерываниях начинают работать c Movx @Ri забыв про порт 2 спасибо что напомнили: повторение -мать учения ![]() |
Автор: | BOB51 [ Пт авг 22, 2014 21:31:38 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
Есть ошибки программиста, есть ошибки схемотехника не ведающего особенностей как самого МК, так и его периферийных модулей. А есть и суммарный результат для любителя самоделок... ![]() |
Автор: | vbvb [ Пт авг 22, 2014 21:48:10 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
А по моему у меня ошибка. Что будет на шине данных при чтении из дополнительного регистра, если и RTC "подумает", что к нему обращение? Нужно посмотреть, что выдаст RTC на шину при адресации несуществующего регистра -выше 127. Тогда уж придется формировать CS для RTC иначе |
Автор: | BOB51 [ Пт авг 22, 2014 21:57:49 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
Дак сначала хош с даташитом на RTC ознакомьтесь - там половина необходимой периферии ИНТЕГРИРОВАНА в самой ИС, а при замене/эквиваленте это все внешней "рассыпухой" городить прийдется. ![]() |
Автор: | vbvb [ Пт авг 22, 2014 22:08:33 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
Все верно, просмотрю и даташит еще раз. Но CS он и в Африке CS. Это по моему более надежно CS= CS(83xxh) +А7, если учесть сколько подобных версий RTC было сделано |
Автор: | BOB51 [ Пт авг 22, 2014 22:22:03 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
Одна и та же область адресов используется как дешифратором, так и RTC, при условии наличия раздельных шин адреса... а тут как посмотреть - кусочек схемы (и скорее быстронабросанный скан) - не показатель. ![]() |
Автор: | vbvb [ Пт авг 22, 2014 22:56:59 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
CS= CS(83xxh) +А7 вычеркиваем, потому как работать не будет (или ставить 373 регистр) Проще кинуть еще один адрес CS(84xxh) |
Автор: | BOB51 [ Сб авг 23, 2014 06:45:22 ] |
Заголовок сообщения: | Re: Расширяю переферию на классике 8031 |
Проще сделать "комбик" - повесить на одном адресе сдвиговый регистр (или 3-4регистра), загоняя на них последовательно необходимые битовые комбинации. А те входы/выходы регистров уже использовать в собственных целях. Тихоходное конечно сооружение, зато надежно и с широкими возможностями - практически второй параллельный интерфейс для МК видимый как программный SPI. ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |