Страница 12 из 55
Re: In vino veritas
Добавлено: Сб мар 04, 2017 19:49:08
BOB51
Итак... несмотря на зубовну боль и весеннюю ЗЕЛЕНУ ЖАБУ с абсолютной ленью в придачу...
Тест проверки устройства таки испекся и был проверен макетом.
Итог...
Данная теоретическая идея с автопереключением "на лету" вывода /EA/Vpp при помощи одной из лапок МК (в данном случае выводом Т1(Р3.5)) вполне подтвердилась. Работоспособность от кварца 11, 0592МГц при имеющемся "свинстве" в смысле разводки монтажа и разъёмного соединения платок также вполне удовлетворительная.
Так что можно монтировать всю конструкцию на изолирующую площадку и продолжать работы в прикладном применении.
Тест-прожка прилагается:

Re: In vino veritas
Добавлено: Пн мар 20, 2017 12:57:40
BOB51
Попалась на глаза ссыль на книжу:
"Авторы: Бабешко Е.В., Желтухин А.В., Куланов В.А., Мазуренко А.В.,
Мпандо П., Орехов А.А., Харченко В.С., Яновский М.Э. Проектирование
встроенных систем на микроконтроллерах STMicroelectronics / Под
ред. Харченко В.С., Орехова А.А. - Министерство образования и науки Ук-
раины, Национальный аэрокосмический университет им. Н.Е. Жуковского
«ХАИ», 2007. – 197 с.
ISBN 978-966-2982-32-9
..."
http://mexalib.com/download/2885
правда посвящена еще ST7, зато в предисловии ясно указано на весьма внушительную лоббистскую атаку со стороны "команды поддержки распространения" на начальном этапе захвата рынка.

Re: In vino veritas
Добавлено: Вт мар 28, 2017 12:27:20
BOB51
На просторах инета попалась мощная подборка для любителей ардуино:
http://elektromehanika.org/load/serii_t ... 0-1-0-1874
Материал весьма обширный (размер архива 2,35Gb) и качественный.

Re: In vino veritas
Добавлено: Вс апр 16, 2017 11:10:04
BOB51
Для ранее собранной макетки появилось более реалистичное прикладное добавление (аппаратные добавки):
http://img.radiokot.ru/files/20529/18zbhk8kgj.GIF - собственно платка командного примитива (без кнопо-лампочек как-то тоскновато, протокол синхронизации придумывать лееень...)
и
http://img.radiokot.ru/files/20529/18zbhrguo2.GIF схемка под которую следуюшший прожкин тест делаться будет...

Re: In vino veritas
Добавлено: Вс май 14, 2017 08:16:38
BOB51
Продолжение мудрствований на тему прототипа моего «котуино»...
За базу схемотехники взят "достаточный минимум" по внешней обвязке приближенный к ат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» (
http://radiokot.ru/forum/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 KC, repeat loading!
Неизвестный тип записи-
ERROR unknown type record, repeat loading!
Несоответствие кодов обрамления записи-
ERROR desequencing controlling codes,
repeat loading!
И загрузчик автоматически перезапустится /если работа была из РПП/
Иначе прийдется отключать и затем снова включать питание – ошибки в программах пользователя и при затирании части кодов в ВПП/ВПД автоматически не устраняются).
Однако… теперь уже загрузчик сидит резидентом во внешнем ОЗУ ВПД/ВПП и МК работает в режиме с внешней памятью программ/данных.
Можно повторить загрузку прошивки – поскольку u51b.hex идентичен используемому то сбоев не предвидится. Однако с иными файлами могут быть нюансы… как по занимаемому пространству, так и по точке запуска и режимам ВПД.
Исходный загрузчик в состоянии заменить/загрузить весь объём ОЗУ в 64 килобайта за исключением области 0xFFF0-0xFFFF и то… только потому, что исполнитель переключения самозагружается именно туда, затирая содержимое этих 16 байт.
Вторая особенность – если загружаемая программа имеет адрес первого байта не равный 0x0000 то работа переключателя режима РПП/ВПП блокируется (ессно такая прожка должна быть за пределами адресов РПП МК по крайней мере касательно программной части кода). Такой режим удобен для передачи строк, содержащих команды и/или оперативной подгрузки очередной порции программы «на лету» в возможных будущих версиях (модификация применения загрузчика).
Возможно далее пройдут дополнительные модификации базовой платформы (или кто еще самостоятельно сможет соорудить добавки для такой версии «котуино»).
..."
и собственно архивчик проекта со схемками, исходниками и прошивками в виде u51b.hex u51b.bin файликами.
Дальше по мере продвижения...
Тута мнеу доехали-таки наконец китаячи STC15F204EA "на поиграмс" и кое-чего из ардуинки для освоения... Возможно в результате "гибридизации и генной прерсадки" вскоре еще чего интересного в новеньких проектах появится...

Re: In vino veritas
Добавлено: Вс май 14, 2017 18:40:12
salang
идея варианта ардуины на MCS51- правильная. Однотактовых для аналогичной производительности должно хватить с запасом, а 12Т - думаю, что нет.
Что-то похожее.
Нужны такие же примеры на русском
Re: In vino veritas
Добавлено: Вс май 14, 2017 19:04:26
BOB51
Фокус более в том, что не все "продвинутые" новые модели поддерживают переключаемый режим РПП/ВПД - ВПП/ВПД тем более работу с совмещенным ВПП/ВПД...
Да и для более высокоскоростного ВПП/ВПД требуется профессионально изготовленная корректно разведенная монтажка печатной платки.
Пока испытано на 11,0592 мегагерцевом кварце и с наиболее "тяжелой" с точки зрения влияния помех топологией разводки дорожек ОЗУ. Ежли бы не привязка к RS232 как начальному загрузчику вполне реально поставить кварц на 12 МГц. Дальнейшее требует корректировки топологии разводки печатной платки и испытаний. Помимо прочего в случае таких изменений будут сложности с применением стандартных внешних ПЗУ для размещения начального загрузчика/минимального функционала БИОС...(МК типа 8031 без РПП).
Самое вкусное - работа с оперативной подкачкой исполняемого кода - пока только "в заоблачных мечтаниях".

Относительно СИ - пока с тем не разбираюсь, да и сам подход к организации ядра системы оставлен на будущее.
На сегодня основной задачей ставилась организация минимальной аппаратной платформы "с запасом" и возможностью начального "оживления" модуля с применением общедоступного ПО в качестве консоли пользователя в ПК.
Дальнейшее развитие весьма многообразно - как вариант даже примитив-ПК "черепаховой скорости".
Но более актуально - самоделки-поделки на основе единого аппаратного блока со сменной периферией и программным обеспечением привязанные к ПК. Обмен на основе текстовых файлов построенных по образцу intel hex8 при загрузке кода и произвольных текстовых строк в процессе работы устройства.

Re: In vino veritas
Добавлено: Вс май 14, 2017 20:54:20
salang
Мне кажется, что внешнее ПЗУ- перебор и лишние траты на производство ДПП и разработку. Даже ВЕ31 давно не попадалось в хламе (не говоря про 8031), а представить что кто-то будет специально покупать- не могу. Вообще лучше по максимуму использовать имеющееся в кристалле. И загрузку основную лучше сделать через USB (пусть и через конвертор, если в МК нет нативного), т.к. MB c соm-портом уже давно нет. Может достаточно будет универсальной платы для 89S52/89С4051
типа такой?
Re: In vino veritas
Добавлено: Пн май 15, 2017 07:46:54
musor
думаю как основа лучще всего серийная плата АОН на 40 ногом DIP (44 ногом SMD PLCC) там есть все что надо даже лищнее-гравиЦАПане хватает тока АЦП
кварцы там от 10 до 24 так что разводка позволяет...память стоит стоит 27ххх заменить флехами 28ххх 29ххх 49ххх(луче PLCC32) для оперативной перешивки в самой схеме(думаю это возможно если загрузчик будет в мелком чипе 25хх или загружать его по порту в озу а а адаптеров USB на пролифике2303 за 100р как гавна -можно навещать тока рещить куда -бонусом индикатор LED можно выводить или выход инфы или отладочные коды своего рода "онбордпосткард"
Re: In vino veritas
Добавлено: Пн май 15, 2017 08:23:26
BOB51
[uquote="salang",url="/forum/viewtopic.php?p=3105603#p3105603"]Мне кажется, что внешнее ПЗУ- перебор и лишние траты на производство ДПП и разработку. Даже ВЕ31 давно не попадалось в хламе (не говоря про 8031), а представить что кто-то будет специально покупать- не могу. Вообще лучше по максимуму использовать имеющееся в кристалле. И загрузку основную лучше сделать через USB (пусть и через конвертор, если в МК нет нативного), т.к. MB c соm-портом уже давно нет. Может достаточно будет универсальной платы для 89S52/89С4051
типа такой?[/uquote]
В принципе всегда в достатке микросхем и готовых конверторов USB-COM с весьма стабильно и надежно работающими в различных ОС дровами для ПК - зачем изобретать лишнее?
Тем более, что за основу связной/загрузочной консоли выбрана уже готовая свободно-гуляющая прожка "terminal" и/или подобный ей софт. Одна из задач - избежать написания прожки для ПК и сопровождающего "трах-тибидоха" с драйверами.
Я ж не говорю именно о базировании на 8031 - НО...
конструкция изначально должна предусматривать ВСЕ варианты расширений.
Еще одно существенно замечание -
проработка делалась только для загрузчика КОДА ПРОГРАММЫ В ВИДЕ *.hex файла
на каком исходном языке прожка будет создаваться (ассемблер, СИ, бейсик или чего иного) и каким компилятором тот *.hex файл будет создан - АБСОЛЮТНО БЕЗРАЗЛИЧНО.
Далее...
для конструкции с совмещенной ВПП/ВПД на основе ОЗУ доступны давно подзабытые приемы работы с ПО синклероподобных персоналок в типовых МК с фиксированным кодом в РПД не применимые.
Отдельный вопрос о применении (непосредственно в той же платке pin-to-pin) атмелевских МК с внешней памятью данных ATmega8515/ATmega162... Однако там потребуется корректно написанный интерпритатор... что само - по - себе есть отдельное направление, также как и блоки-расширители с I2C еепромкой "на борту", содержащей дополнительное подгружаемое ПО утилит для работы с данными устройствами.
Платки АОН... вряд-ли специализированное изделие имело режим "совмещенная ВПД/ВПП" (см. назначение верхнего элемента микросхемки D2 на схемке основного модуля, обеспечивающую выходной сигнал /memr).
При любой перепрошивке в схеме это все же ПЗУ, а не ОЗУ по весьма специфичным нюансам работы системы команд.
Хотя - вариантов у конкретного владельца платки также достаточно. Одно НО - прийдется инициализацию UART под конкретный кварц скорректировать и на больших массивах данных затем перепровеерить... Ибо там уже ошибка не нулевая будет, а *.hex файлы защиты вида CRC не имеют.

Re: In vino veritas
Добавлено: Пн май 15, 2017 09:27:02
musor
не совсем понял зачем нам внутреняя память кристала(если она есть в 8031-отсутствует) ну а пихать вместо них 89с51(плюнуть на память внутри)думаю внешних озу и ROM должно хватить вроде максимум проц адресует 64к?
даже у меги такого нет
Добавлено after 7 minutes 19 seconds:
последннее время попадали супер микро АОНЫ где нет рамы как таковой под не заюзана часть зоны 24c[[[ осталная хранит настройки-энерго независима от сети в отличие от натуралной паралелной RAM апаратного I2C nfv нету и как он эмулируется непонятно просто платка такая от аона есть 1 такая но разрисовать ее не хватило терпелы она 4 слойка и маленькая совсем все в SMD те что с озу -в интернете схем полнон
Re: In vino veritas
Добавлено: Пн май 15, 2017 10:30:53
BOB51
Насчет "вторсырья" из попавших под лапу готовых устройств трудно чего сказать - надо их схемку как минимум видеть.
Принцип системы основан на полном использовании объема внешней памяти программ/данных прикладной программой (той, которую начальный загрузчик с компа вытягивает). Однако сам загрузчик имеет некоторый объем плюс начальная инициализация железа и служебные кусочки...
В конечном результате этот стартовый участок не требуется.
Вот чтобы место сэкономить и используется особенность mcs51 - кусок программы на внутреннем ПЗУ.
Пока на выводе /ЕА уровень единицы будет исполнятся программа из резидентного (внутреннего) ПЗУ.
Затем, или по исчерпании диапазона адресов РПП или при установке /ЕА=0 выполнение кодов программы будет производится уже из внешней памяти программ - а она в данном случае аппаратно объединена с внешней памятью данных по сигналам чтения
(/rd ИЛИ /psen).
Дабы исключить появление РПП в диапазоне младших адресов используется флаг-переключатель KEY_EA (P3.5), который определенным образом сбрасывается при завершении работы загрузчика (область ВПП/ВПД 0xFFF0-0xFFFF). Далее имеем "полную свободу" работы уже только с внешним ОЗУ как с объединенной памятью программ/данных.
Подобный трюк можно и с внешней ПЗУ провернуть - только вот там тогда монтажа/дорожек лишних весьма поприбавится.

Re: In vino veritas
Добавлено: Пн май 15, 2017 11:40:10
salang
[uquote="BOB51",url="/forum/viewtopic.php?p=3105928#p3105928"]Подобный трюк можно и с внешней ПЗУ провернуть - только вот там тогда монтажа/дорожек лишних весьма поприбавится.

[/uquote]
Зачем городить такую сложную плату (она точно будет ДПП и, как минимум, 3-го класса), когда во всех
новых 51 (а только такие будут покупать, а не 89С51) встроенная память доступна (почти вся) через IAP, ISP итд. Смысл есть сделать только разводку для LQFP -просто потому что они дешевле DIP40. Хотя переходник проще
Re: In vino veritas
Добавлено: Пн май 15, 2017 11:52:50
BOB51
Это на случай "дремучей древности" - для работ с "самопрячущимся" загрузчиком вполне в достатке и имеющихся АТ89С5хх/S5xx.
Кроме прочего как вариант - расширенная периферия использующая параллельную шину данных.
Как вариант давняя задумка "вернуть к жизни" мой старый комплект самодельного оборудования...
http://img.radiokot.ru/files/20529/kfszljxrt.gif
с вот таким распределением памяти
http://img.radiokot.ru/files/20529/kft9glhpo.gif

Re: In vino veritas
Добавлено: Пн май 15, 2017 13:22:58
musor
да програмирование паралелных чипов на USB only PCB moterboard еще та задачка ....
тоже все порываюсь TL866 заказать на али но жаба давит да и боююсь не дойдет... isp и spi/i2c приехали так что....
беда в том что не все мск 51 866 подерживает -писал авторам про добавку ch- и holtek и в ответ ТИШИНА походу тоже бросили подержку срубив бабла...
Re: In vino veritas
Добавлено: Пн май 15, 2017 14:58:46
BOB51
У меня на том программаторе собственное прожкино содержимое с даташитов считанное и на практике проверенное.
Работало железко под 98 виндовсом - консолька на бейсике, а протокол ногодрыжкин через LPT с побитовой синхронизацией был...
Правда сразу же закладывался и возможный COM интерфейс, однако писать программу для компа... да еще защиту от ошибок цеплять... Вот и положил "у ящичек" до лучших времен.
Тут как раз и вспомниться... возможно...

Re: In vino veritas
Добавлено: Пн май 15, 2017 15:43:19
salang
самое смешное, что
есть проекты программатора 51 на ардуино

, но они только ISP . Прямо как во времена ZX80- для сборки
программатора нужен
другой программатор.
Re: In vino veritas
Добавлено: Пн май 15, 2017 16:18:51
musor
так это вечная проблема яиц-курицы... 1 чиповые рещения прогеров на мегах требуют их прошива! перед этим -другим прогером
вот тут и рулит вариант на... FT232 PL2303
Re: In vino veritas
Добавлено: Пн май 15, 2017 17:24:55
oleg110592
[uquote="musor",url="/forum/viewtopic.php?p=3106245#p3106245"]1 чиповые рещения прогеров на мегах требуют их прошива! перед этим -другим прогером[/uquote]
некоторые меги,типа AT90USB162, ныне можно и по USB прошить
Re: In vino veritas
Добавлено: Пн май 15, 2017 18:10:19
salang
такой загрузчик есть во всех новых x51, причем не только с аппаратным USB
to musor- ни один из 3-х предложенных вариантов программатора не подходит?