Расширяю переферию на классике 8031

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
vbvb
Родился
Сообщения: 12
Зарегистрирован: Пн июн 11, 2012 17:19:40
Откуда: MSK

Расширяю переферию на классике 8031

Сообщение vbvb »

Задача. Не меняя набор возможностей на плате с 8031 во главе и не слишком трогая плату, расширить доступ к 5- 6 дополнительным регистрам. Первоначальная программа уже расковырена и не вызывает проблем ее модернизации с учетом новых регистров ввода вывода. Выбор на расширение пал на рилтаймклок RTC VT82885(DS18887 и др) . На его место в панельку встанет модуль расширения с установленным туда же RTC. На RTC приходит шина данных,CS(83xxh),ALE, RD,WR.
Адресация внутренних регистров RTC, как помнится с 0 по 127 (8300...837f h) А все что выше 8380h хочу забрать для адресации дополнительных регистров.
Набросал схемку расширения адресации регистров.(буфер шины не указан и пока не знаю нужен ли)
Вопрос. Ничего не упустил? :)
Вложения
RTC.jpg
(81.17 КБ) 402 скачивания
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Расширяю переферию на классике 8031

Сообщение BOB51 »

Это вроде решил в готовой схеме микруху выдернуть, на её место "отсебятику" поставить?
:roll:
vbvb
Родился
Сообщения: 12
Зарегистрирован: Пн июн 11, 2012 17:19:40
Откуда: MSK

Re: Расширяю переферию на классике 8031

Сообщение vbvb »

BOB51
Как то так :) ,нужно расширить функциональность
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Расширяю переферию на классике 8031

Сообщение BOB51 »

А не смущает, что у MCS51 существует 2 типа movx - с Ri и DPTR в качестве указателя адреса? 8)
Ведь исходя из типа применяемых команд и работа дешифратора адреса/выборки кристалла отличаться будет... да и чем наборчик из сдвиговых регистров не устраивает - там всего-то 3 вывода надобно...
:tea:
vbvb
Родился
Сообщения: 12
Зарегистрирован: Пн июн 11, 2012 17:19:40
Откуда: MSK

Re: Расширяю переферию на классике 8031

Сообщение vbvb »

Даже если и использовать movx c Ri, то это только на первые 256 байт , что никак не скажется на адресах 83хх. Поэтому доступ только c DPTR. Кстати не помню, что фиксируется в P2 при movx c Ri? То что было до команды movx? То есть достаточно mov P2,#83h до и movx @Ri,A сработает?
Переделка под другие типы, конечно, возможна, но приведет еще и к переделке модуля этих регистров. Честно говоря, этот модуль уже практически готов и переделка его не стоит планах.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Расширяю переферию на классике 8031

Сообщение BOB51 »

А надо бы помнить - при movx @ri,a\movx a,@ri - Р2 НЕ ИСПОЛЬЗУЕТСЯ! (сохраняются предыдущие значения) :))
Отсюда и возможные ошибки - при ВПД в 256 байт разработчик вероятнее всего воспользуется "короткими" командами, тем более, что там больше возможностей обмена с РПД.
А Р2 будет использован для максимум "хитрого выбора" (ибо все равно содержит адрес ВПП это ведь 8031, а не машина со встроенным флеш-блоком пограммной памяти).
Кстати, самой первой ступенью подобной "модернизации" была бы замена МК на AT89S52... или чего подобного с встроенной памятью программ. :roll:
vbvb
Родился
Сообщения: 12
Зарегистрирован: Пн июн 11, 2012 17:19:40
Откуда: MSK

Re: Расширяю переферию на классике 8031

Сообщение vbvb »

Ну это уже про детские ошибки :))
Когда, к примеру, в прерываниях начинают работать c Movx @Ri забыв про порт 2
спасибо что напомнили: повторение -мать учения :)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Расширяю переферию на классике 8031

Сообщение BOB51 »

Есть ошибки программиста, есть ошибки схемотехника не ведающего особенностей как самого МК, так и его периферийных модулей.
А есть и суммарный результат для любителя самоделок... 8)
vbvb
Родился
Сообщения: 12
Зарегистрирован: Пн июн 11, 2012 17:19:40
Откуда: MSK

Re: Расширяю переферию на классике 8031

Сообщение vbvb »

А по моему у меня ошибка.
Что будет на шине данных при чтении из дополнительного регистра, если и RTC "подумает", что к нему обращение? Нужно посмотреть, что выдаст RTC на шину при адресации несуществующего регистра -выше 127.
Тогда уж придется формировать CS для RTC иначе
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Расширяю переферию на классике 8031

Сообщение BOB51 »

Дак сначала хош с даташитом на RTC ознакомьтесь - там половина необходимой периферии ИНТЕГРИРОВАНА в самой ИС, а при замене/эквиваленте это все внешней "рассыпухой" городить прийдется. :tea:
vbvb
Родился
Сообщения: 12
Зарегистрирован: Пн июн 11, 2012 17:19:40
Откуда: MSK

Re: Расширяю переферию на классике 8031

Сообщение vbvb »

Все верно, просмотрю и даташит еще раз. Но CS он и в Африке CS.
Это по моему более надежно CS= CS(83xxh) +А7, если учесть сколько подобных версий RTC было сделано
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Расширяю переферию на классике 8031

Сообщение BOB51 »

Одна и та же область адресов используется как дешифратором, так и RTC, при условии наличия раздельных шин адреса... а тут как посмотреть - кусочек схемы (и скорее быстронабросанный скан) - не показатель. 8)
vbvb
Родился
Сообщения: 12
Зарегистрирован: Пн июн 11, 2012 17:19:40
Откуда: MSK

Re: Расширяю переферию на классике 8031

Сообщение vbvb »

CS= CS(83xxh) +А7 вычеркиваем, потому как работать не будет (или ставить 373 регистр)
Проще кинуть еще один адрес CS(84xxh)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Расширяю переферию на классике 8031

Сообщение BOB51 »

Проще сделать "комбик" - повесить на одном адресе сдвиговый регистр (или 3-4регистра), загоняя на них последовательно необходимые битовые комбинации. А те входы/выходы регистров уже использовать в собственных целях. Тихоходное конечно сооружение, зато надежно и с широкими возможностями - практически второй параллельный интерфейс для МК видимый как программный SPI.
:tea:
Ответить

Вернуться в «Периферия»