Итак... несмотря на зубовну боль и весеннюю ЗЕЛЕНУ ЖАБУ с абсолютной ленью в придачу... Тест проверки устройства таки испекся и был проверен макетом. Итог... Данная теоретическая идея с автопереключением "на лету" вывода /EA/Vpp при помощи одной из лапок МК (в данном случае выводом Т1(Р3.5)) вполне подтвердилась. Работоспособность от кварца 11, 0592МГц при имеющемся "свинстве" в смысле разводки монтажа и разъёмного соединения платок также вполне удовлетворительная. Так что можно монтировать всю конструкцию на изолирующую площадку и продолжать работы в прикладном применении. Тест-прожка прилагается:
"Авторы: Бабешко Е.В., Желтухин А.В., Куланов В.А., Мазуренко А.В., Мпандо П., Орехов А.А., Харченко В.С., Яновский М.Э. Проектирование встроенных систем на микроконтроллерах STMicroelectronics / Под ред. Харченко В.С., Орехова А.А. - Министерство образования и науки Ук- раины, Национальный аэрокосмический университет им. Н.Е. Жуковского «ХАИ», 2007. – 197 с. ISBN 978-966-2982-32-9 ..."
правда посвящена еще ST7, зато в предисловии ясно указано на весьма внушительную лоббистскую атаку со стороны "команды поддержки распространения" на начальном этапе захвата рынка.
Продолжение мудрствований на тему прототипа моего «котуино»... За базу схемотехники взят "достаточный минимум" по внешней обвязке приближенный к ат89с2051/4051 - полностью свободен для пользователя порт Р1 и часть линий Р3. http://img.radiokot.ru/files/20529/17ffamnvek.GIF К этому блочку добавлена платка управления/индикации для использования RS232 http://img.radiokot.ru/files/20529/18zbhk8kgj.GIF и платка собственно преобразователя уровней ТТЛ-RS232 по типовой схемке (на общей схемке тест-проекта) http://img.radiokot.ru/files/20529/19t1fv2p4r.GIF В качестве программного обеспечения со стороны ПК использовался ранее указанный «terminal» (download/file.php?id=278165) и еще одна прожка - «wTerm» (
). Собственно идея такого решения "с длинной бородой" с времен "имитатора ПЗУ". Одначе... Старые конструкции основывались на довольно специфичном программном обеспечении, "ушедшем в былое" вместе с win98... Да и преобразование файлов там присутствовало... МНДЯааа. Основа текущего проекта в закладке общедоступных универсальных консолек в ПК и "весьма ширпотребной" элементной базы в прикладном модуле. Итак... О самой прожке загрузчика и как с ней работать от "очмурнела кота": "...
Представляется сыросваренный загрузчик программок в формате intel hex8 (для варианта mcs51 – только типы строк с данными и завершения файла! Типы 03 и 04 пока не реализованы.). Прожка предназначена для работы с вот этакой схемкой http://img.radiokot.ru/files/20529/19t1fv2p4r.GIF И общедоступными программами – оболочками типа «terminal» и «wTerm» (см. ссыли выше) СпойлерДля диалога-загрузки с ПК. Собственно ничего особо нового… Присоединить СОМ-порт перекрестным кабелем, установить режим обмена 9600 8 бит данных, без паритета, 1 (2 при хреновом кабле более 2 метров длины) стоп-бита… Выберем соответствующий порт… Тыкаем «connect» Включаем платку… Светик HL4 мило мигнет три раза Затем мигнет HL3(на время обмена по Rx/Tx) и засветится HL4 А на вкладке терминала появится следующее сообщение: “ loader in Resident Memory of the Programs
U51b INTEL hex8 format loader for synchronizing to press RED button “ нажимаем «красну кнопу» ( S )
подмигивает и гаснет HL4 а на вкладке терминала появится следующее: “ after HL4(ELL) OFF start transmission of the file from terminal PC “ теперь жмем кнопу send file вкладки transmit и в выпавшем окошке терминала выбираем нужный нам файл (для теста возьмем тот же файл прошивки платки u51b.hex – ибо отдельных тестов у мня пока настроения сочинять не имелось)
засветятся оба индикатора, затем погаснут и на вкладке терминала пробежит эхо-дамп переданного файла с заключительнвм сообщением:
loading successfully completed!
loader in External Memory of the Programs
U51b INTEL hex8 format loader for synchronizing to press RED button
а индикаторы сначала погаснут, а затем повторят комбинацию аналогично включению питания… (Или соответствующие сообщения об обнаруженных ошибках:
Неизвестный тип записи- ERROR unknown type record, repeat loading!
Несоответствие кодов обрамления записи- ERROR desequencing controlling codes, repeat loading! И загрузчик автоматически перезапустится /если работа была из РПП/ Иначе прийдется отключать и затем снова включать питание – ошибки в программах пользователя и при затирании части кодов в ВПП/ВПД автоматически не устраняются).
Однако… теперь уже загрузчик сидит резидентом во внешнем ОЗУ ВПД/ВПП и МК работает в режиме с внешней памятью программ/данных.
Можно повторить загрузку прошивки – поскольку u51b.hex идентичен используемому то сбоев не предвидится. Однако с иными файлами могут быть нюансы… как по занимаемому пространству, так и по точке запуска и режимам ВПД. Исходный загрузчик в состоянии заменить/загрузить весь объём ОЗУ в 64 килобайта за исключением области 0xFFF0-0xFFFF и то… только потому, что исполнитель переключения самозагружается именно туда, затирая содержимое этих 16 байт.
Вторая особенность – если загружаемая программа имеет адрес первого байта не равный 0x0000 то работа переключателя режима РПП/ВПП блокируется (ессно такая прожка должна быть за пределами адресов РПП МК по крайней мере касательно программной части кода). Такой режим удобен для передачи строк, содержащих команды и/или оперативной подгрузки очередной порции программы «на лету» в возможных будущих версиях (модификация применения загрузчика).
Возможно далее пройдут дополнительные модификации базовой платформы (или кто еще самостоятельно сможет соорудить добавки для такой версии «котуино»). ..." и собственно архивчик проекта со схемками, исходниками и прошивками в виде u51b.hex u51b.bin файликами.
Дальше по мере продвижения... Тута мнеу доехали-таки наконец китаячи STC15F204EA "на поиграмс" и кое-чего из ардуинки для освоения... Возможно в результате "гибридизации и генной прерсадки" вскоре еще чего интересного в новеньких проектах появится...
идея варианта ардуины на MCS51- правильная. Однотактовых для аналогичной производительности должно хватить с запасом, а 12Т - думаю, что нет. Что-то похожее. Нужнытакиежепримерына русском
Фокус более в том, что не все "продвинутые" новые модели поддерживают переключаемый режим РПП/ВПД - ВПП/ВПД тем более работу с совмещенным ВПП/ВПД... Да и для более высокоскоростного ВПП/ВПД требуется профессионально изготовленная корректно разведенная монтажка печатной платки. Пока испытано на 11,0592 мегагерцевом кварце и с наиболее "тяжелой" с точки зрения влияния помех топологией разводки дорожек ОЗУ. Ежли бы не привязка к RS232 как начальному загрузчику вполне реально поставить кварц на 12 МГц. Дальнейшее требует корректировки топологии разводки печатной платки и испытаний. Помимо прочего в случае таких изменений будут сложности с применением стандартных внешних ПЗУ для размещения начального загрузчика/минимального функционала БИОС...(МК типа 8031 без РПП). Самое вкусное - работа с оперативной подкачкой исполняемого кода - пока только "в заоблачных мечтаниях". Относительно СИ - пока с тем не разбираюсь, да и сам подход к организации ядра системы оставлен на будущее. На сегодня основной задачей ставилась организация минимальной аппаратной платформы "с запасом" и возможностью начального "оживления" модуля с применением общедоступного ПО в качестве консоли пользователя в ПК. Дальнейшее развитие весьма многообразно - как вариант даже примитив-ПК "черепаховой скорости". Но более актуально - самоделки-поделки на основе единого аппаратного блока со сменной периферией и программным обеспечением привязанные к ПК. Обмен на основе текстовых файлов построенных по образцу intel hex8 при загрузке кода и произвольных текстовых строк в процессе работы устройства.
Мне кажется, что внешнее ПЗУ- перебор и лишние траты на производство ДПП и разработку. Даже ВЕ31 давно не попадалось в хламе (не говоря про 8031), а представить что кто-то будет специально покупать- не могу. Вообще лучше по максимуму использовать имеющееся в кристалле. И загрузку основную лучше сделать через USB (пусть и через конвертор, если в МК нет нативного), т.к. MB c соm-портом уже давно нет. Может достаточно будет универсальной платы для 89S52/89С4051 типатакой?
думаю как основа лучще всего серийная плата АОН на 40 ногом DIP (44 ногом SMD PLCC) там есть все что надо даже лищнее-гравиЦАПане хватает тока АЦП кварцы там от 10 до 24 так что разводка позволяет...память стоит стоит 27ххх заменить флехами 28ххх 29ххх 49ххх(луче PLCC32) для оперативной перешивки в самой схеме(думаю это возможно если загрузчик будет в мелком чипе 25хх или загружать его по порту в озу а а адаптеров USB на пролифике2303 за 100р как гавна -можно навещать тока рещить куда -бонусом индикатор LED можно выводить или выход инфы или отладочные коды своего рода "онбордпосткард"
_________________ ZМудрость(Опыт и выдержка) приходит с годами. Все Ваши беды и проблемы, от недостатка знаний. Умный и у дурака научится, а дураку и .. Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Мне кажется, что внешнее ПЗУ- перебор и лишние траты на производство ДПП и разработку. Даже ВЕ31 давно не попадалось в хламе (не говоря про 8031), а представить что кто-то будет специально покупать- не могу. Вообще лучше по максимуму использовать имеющееся в кристалле. И загрузку основную лучше сделать через USB (пусть и через конвертор, если в МК нет нативного), т.к. MB c соm-портом уже давно нет. Может достаточно будет универсальной платы для 89S52/89С4051 типатакой?
В принципе всегда в достатке микросхем и готовых конверторов USB-COM с весьма стабильно и надежно работающими в различных ОС дровами для ПК - зачем изобретать лишнее? Тем более, что за основу связной/загрузочной консоли выбрана уже готовая свободно-гуляющая прожка "terminal" и/или подобный ей софт. Одна из задач - избежать написания прожки для ПК и сопровождающего "трах-тибидоха" с драйверами. Я ж не говорю именно о базировании на 8031 - НО... конструкция изначально должна предусматривать ВСЕ варианты расширений. Еще одно существенно замечание - проработка делалась только для загрузчика КОДА ПРОГРАММЫ В ВИДЕ *.hex файла на каком исходном языке прожка будет создаваться (ассемблер, СИ, бейсик или чего иного) и каким компилятором тот *.hex файл будет создан - АБСОЛЮТНО БЕЗРАЗЛИЧНО. Далее... для конструкции с совмещенной ВПП/ВПД на основе ОЗУ доступны давно подзабытые приемы работы с ПО синклероподобных персоналок в типовых МК с фиксированным кодом в РПД не применимые. Отдельный вопрос о применении (непосредственно в той же платке pin-to-pin) атмелевских МК с внешней памятью данных ATmega8515/ATmega162... Однако там потребуется корректно написанный интерпритатор... что само - по - себе есть отдельное направление, также как и блоки-расширители с I2C еепромкой "на борту", содержащей дополнительное подгружаемое ПО утилит для работы с данными устройствами. Платки АОН... вряд-ли специализированное изделие имело режим "совмещенная ВПД/ВПП" (см. назначение верхнего элемента микросхемки D2 на схемке основного модуля, обеспечивающую выходной сигнал /memr). При любой перепрошивке в схеме это все же ПЗУ, а не ОЗУ по весьма специфичным нюансам работы системы команд. Хотя - вариантов у конкретного владельца платки также достаточно. Одно НО - прийдется инициализацию UART под конкретный кварц скорректировать и на больших массивах данных затем перепровеерить... Ибо там уже ошибка не нулевая будет, а *.hex файлы защиты вида CRC не имеют.
не совсем понял зачем нам внутреняя память кристала(если она есть в 8031-отсутствует) ну а пихать вместо них 89с51(плюнуть на память внутри)думаю внешних озу и ROM должно хватить вроде максимум проц адресует 64к? даже у меги такого нет
Добавлено after 7 minutes 19 seconds: последннее время попадали супер микро АОНЫ где нет рамы как таковой под не заюзана часть зоны 24c[[[ осталная хранит настройки-энерго независима от сети в отличие от натуралной паралелной RAM апаратного I2C nfv нету и как он эмулируется непонятно просто платка такая от аона есть 1 такая но разрисовать ее не хватило терпелы она 4 слойка и маленькая совсем все в SMD те что с озу -в интернете схем полнон
_________________ ZМудрость(Опыт и выдержка) приходит с годами. Все Ваши беды и проблемы, от недостатка знаний. Умный и у дурака научится, а дураку и .. Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Насчет "вторсырья" из попавших под лапу готовых устройств трудно чего сказать - надо их схемку как минимум видеть. Принцип системы основан на полном использовании объема внешней памяти программ/данных прикладной программой (той, которую начальный загрузчик с компа вытягивает). Однако сам загрузчик имеет некоторый объем плюс начальная инициализация железа и служебные кусочки... В конечном результате этот стартовый участок не требуется. Вот чтобы место сэкономить и используется особенность mcs51 - кусок программы на внутреннем ПЗУ. Пока на выводе /ЕА уровень единицы будет исполнятся программа из резидентного (внутреннего) ПЗУ. Затем, или по исчерпании диапазона адресов РПП или при установке /ЕА=0 выполнение кодов программы будет производится уже из внешней памяти программ - а она в данном случае аппаратно объединена с внешней памятью данных по сигналам чтения (/rd ИЛИ /psen). Дабы исключить появление РПП в диапазоне младших адресов используется флаг-переключатель KEY_EA (P3.5), который определенным образом сбрасывается при завершении работы загрузчика (область ВПП/ВПД 0xFFF0-0xFFFF). Далее имеем "полную свободу" работы уже только с внешним ОЗУ как с объединенной памятью программ/данных. Подобный трюк можно и с внешней ПЗУ провернуть - только вот там тогда монтажа/дорожек лишних весьма поприбавится.
Подобный трюк можно и с внешней ПЗУ провернуть - только вот там тогда монтажа/дорожек лишних весьма поприбавится.
Зачем городить такую сложную плату (она точно будет ДПП и, как минимум, 3-го класса), когда во всех новых 51 (а только такие будут покупать, а не 89С51) встроенная память доступна (почти вся) через IAP, ISP итд. Смысл есть сделать только разводку для LQFP -просто потому что они дешевле DIP40. Хотя переходник проще
Последний раз редактировалось salang Пн май 15, 2017 11:56:52, всего редактировалось 2 раз(а).
Это на случай "дремучей древности" - для работ с "самопрячущимся" загрузчиком вполне в достатке и имеющихся АТ89С5хх/S5xx. Кроме прочего как вариант - расширенная периферия использующая параллельную шину данных. Как вариант давняя задумка "вернуть к жизни" мой старый комплект самодельного оборудования... http://img.radiokot.ru/files/20529/kfszljxrt.gif с вот таким распределением памяти http://img.radiokot.ru/files/20529/kft9glhpo.gif
да програмирование паралелных чипов на USB only PCB moterboard еще та задачка .... тоже все порываюсь TL866 заказать на али но жаба давит да и боююсь не дойдет... isp и spi/i2c приехали так что.... беда в том что не все мск 51 866 подерживает -писал авторам про добавку ch- и holtek и в ответ ТИШИНА походу тоже бросили подержку срубив бабла...
_________________ ZМудрость(Опыт и выдержка) приходит с годами. Все Ваши беды и проблемы, от недостатка знаний. Умный и у дурака научится, а дураку и .. Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
У меня на том программаторе собственное прожкино содержимое с даташитов считанное и на практике проверенное. Работало железко под 98 виндовсом - консолька на бейсике, а протокол ногодрыжкин через LPT с побитовой синхронизацией был... Правда сразу же закладывался и возможный COM интерфейс, однако писать программу для компа... да еще защиту от ошибок цеплять... Вот и положил "у ящичек" до лучших времен. Тут как раз и вспомниться... возможно...
так это вечная проблема яиц-курицы... 1 чиповые рещения прогеров на мегах требуют их прошива! перед этим -другим прогером вот тут и рулит вариант на... FT232 PL2303
_________________ ZМудрость(Опыт и выдержка) приходит с годами. Все Ваши беды и проблемы, от недостатка знаний. Умный и у дурака научится, а дураку и .. Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения