Например TDA7294

Форум РадиоКот • Просмотр темы - In vino veritas
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс ноя 23, 2025 11:07:52

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 1081 ]    , 2, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Пн дек 09, 2013 21:22:57 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 2
Вроде как поспокойнее на работе стало...
Можно и за мудрствование над продолжением темы взяться.
Итак
P I C 16
(PIC16F876A в частности) и прежняя задача.
Хоша несколько более "издевистая" - 40 лапого ПИКа меня взять ЖАБО удавило, а вот для 28-лапого
варианта пришлось заложить в схему тетрадный обмен с индикатором... НЕЧЕСТНО... :(

Собственно несколько мыслей по 16-серии ПИКачу.
МК акумуляторного типа с "ограниченным" количеством команд. Действия над данными могут производиться
как с участием акумулятора (здесь его называют W), так и без него. Доступ к ячейкам ОЗУ,
а также и к ячейкам РСФ возможен равноценно всеми командами.
Область ОЗУ секционирована на банки, что и не всегда удобно и наоборот бывает полезно.
Практически всегда имеется небольшой участок банка0, который доступен при обращении в других банках
(отображение поля адресов текущего банка на регистры банка0).
А вот с доступом к таблицам в ПЗУ мягко говоря "не очень".
Но в более поздних вариантах это компенсируется механизмом
чтения(иногда и записи) ПЗУ с помощью регистров обработки EEPROM.
Взамен имеется прямой доступ к младшему байту счетчика программы и, через PCLATH, к старшему байту.
Весьма неплохая традиция выпускать более усовершенствованные модели МК в одинаковом
с предшественниками корпусировании.
По потребляемой мощности среди вышеприведенных МК ПИК вне конкуренции... :cry:

Не очень приятное...
Мнемоники системы команд... БЫРРР!!! :shock:
Иногда складывается впечатление, что каждый производитель делает все, чтобы пользователь его продукции
с как можно большим трудом мог освоить чего-небудь другого, и не дай боже еще проанализировать
ключевые свойства изделия на уровне ядра и особенностей машинных команд (под ассемблером)!!!
Т.Е. "подсаживает на "иглу"" так, чтоб не то, чтоб "спрыгнуть", а даже по сторонам глянуть тошно было...
Туда же и "вывернутое" состояние флага CY при вычитании...
Однако путем длительного садомазохизма народились вот эти "шпоры"
это по ПИКам (pic10/12/16):
Вложение:
шпора_PIC10_12_16.pdf [51.79 KiB]
Скачиваний: 695

это по авэркам:
Вложение:
шпора avr.pdf [60.25 KiB]
Скачиваний: 660

(прошу пардон, по АВРкам ранее не выложил - но тут он КОТЕ на то
была когда-то отдельная тема: viewtopic.php?f=20&t=68985 )

Далее в минор...
УЖАСТНЫЙ аппаратный СТЕК (аналогично MCS48) - всего 8 уровней вложения при полнейшей
программной недоступности содержимого. НО... вот тут как раз и прийдется над алгоритмами помозговать,
уверен есть весьма симпатяшные решения и в данном варианте.
ЕДИНЫЙ ВЕКТОР для всех источников прерываний... Это только за счет "быстроходности" скомпенсировать можно,
да и аппаратная начинка разными "примочками" позволяет сделать значительную разгрузку программы.
А вот насчет той самой "быстроходности" в типовых изделиях... АВРки значительно "пошустрее" будут.
Еще одна пакость мелкощипа - ЕРРАТЫ...
Мало того, что их весьма много и надо отдельно "вылавливать", дак еще надо конкретную версию
самого прикупленного МК суметь считать, и определить к каким ЕРРАТАМ он отношение иметь может...
А вот и сама схемка макетки (еще раз, только уже с контрольным светиком):
Вложение:
pics876a.pdf [101.47 KiB]
Скачиваний: 428

Прийдется снова в "поблочном" режиме программку сочинять - по готовности выкладывать буду.
:write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Пт дек 20, 2013 13:07:10 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
Итак... ПиКачу...среднемладшенький... :facepalm:
Для начала вспомнить, чего в моей программулине задано.
Имеем два независимо вертящихся секунд-генератора для главных часов и для секундомера/таймера
обратного отсчета, модуль обслуживания дисплея и таблично-векторный селектор задач,
объединенный со сканером клавиатуры.
Два подходящих таймера в данной модели (PIC16F876A) имеются, да вот с прерываниями, особо
вложенными повоевать прийдется довольно конкретно... Стек... ммдааа... не более 7 подпрограмм,
включая перерывания... итого разрешено всего 4 вложенных блока (уменьшаю несколько для подстраховки)... Ладно, как-нибудь вывернусь.
Самое больное место - невозможность выполнения фокуса "возврат из прерывания с
подстановкой целевого адреса", так как содержимое стека программно недоступно. Это создает
существенные трудности в планировке обработчиков прерываний по сравнению с классическими вариантами
на MCS51 и AVR... Да и сам адрес точки "разрыва" основной (или на момент вызова прерывания исполняемой)
программы остается неизвестным (весьма нужная иногда информация). :kill:
Табличные кодер-декодеры возможны, но "жруть" память программ весьма неэффективно.
Таблично - векторный селектор... надобно помудрить с "новинкой" - прямой загрузкой счетчика комнд
и ее вариациями, да и непосредственное чтение памяти программ вполне можно использовать, особо,
ежли данные вписываются в формат 2*7бит.
Частота кварцевого резонатора максимальная для данного МК 20МГц, что дает базовую частоту ядра
5МГц (0,0000002S), да еще конвеер предвыборки... Должно полностью хавтить. Интересно с режимом
относительной адресации поиграться.
Чем удобен mplabий ассемблре - так своими заголовочными файлами, я подобное решение
применил и в заголовках под MCS51/AVR с некоторыми соответствующими особенностям семейств,
изменениями. Результат весьма приятный получился. :hunger:
... недельку мудрил-мутил... наверное прийдется все-ж таки от двух таймеров отказаться... :roll:
Запасец адресов возврата в аппаратном стеке минимален, да и от версии условного возврата из
прерываний подстановкой адреса возврата уж наверняка прийдется уходить - этот "фокус" не для среднемдадших PICов (как выше
уже указано аппаратный стек программно недоступен). Наворот для анализа источника прерываний и
программный стек я наверное поставлю - некоторый задел на "попрактиковаться",
а вот структура обработчика стремиться к максимально "линейным" участкам
(приходит понимание вынужденных структур Корабельникова, так нервирующее Сишников и работающих с другими
семействами МК :) ). Примение тактирования от единого таймера конечно снизит качество работы
секундомера/таймера для "суммирующих" применений, однако для однократного пуска/останова точность
вполне удобоваримая, плюс возможность использования базового генератора RTC с кварцем 32768Гц
"про запас", ну и "линейный" обработчик счетчиков (трох-тибидох!!! :kill: :kill: ) . Вобщем... программа скорее всего будет иметь весьма значительные изменения...
Вспоминается MCS48... весьма тесновато и неуютно... :cry:
Надеюсь до новогоднего чегось понарисую... :write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Пн янв 27, 2014 09:20:50 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
Мррыммм... прохладненько.... Нервотрепненько... И никакушного вдохновения... :sleep:
Мож попробовать подойти с другого боку к организации структуры программы? :dont_know:
ПИК базируется на акумулятор...
Только в отличии от АВР и 51-й результат операции может быть размещен или в акумуляторе или в регистре РПД...
А что будет, ежли "вывернуть" наизнанку W и F? т.е. базировать операции не относительно W (стереотип) а относительно F, получив таким образом поле псевдоакумуляторов размером в РПД?... Единственно непосредственной загрузки там не будет (за исключением сброса в 0 и 0xFF плюс инкременто/декременто и произвлольная установка одиночных битов)... Или комбинированный вариант... Надо помыслить... :roll:
Относительно подпрограмм напрашивается однозначно программный стек, дополнительно усложненный потребностью отслеживать PCLATH - итогом значительное количество "лишних" служебных команд... :cry:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Пт мар 07, 2014 15:42:26 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
По текущим надобностям пришлось поплотнее глянуть на ATmega8/8a, ATmega48/88/168...
По глупости прикупил 8-ю (48 с древних времен валялись) да соорудил панельку на поньку...
http://img.radiokot.ru/files/20529/a718o16gj.JPG
http://img.radiokot.ru/files/20529/a71932ef6.JPG
http://img.radiokot.ru/files/20529/a7198dzjb.JPG
И глубоко огорчился после внимательного прочтения распечатанных даташитиков
(http://img.radiokot.ru/files/20529/a7199in9s.JPG ) - с такими ерратами... :shock: :kill:
Лысинка дыбом станет... Ну да ладно - бачили очi що купували - iжте, хоч повилазьте... Денюжки всежж.... весьма жжаббкоо, лучше б чего другого прикупил... :cry:
Прилагается шаблон-заготовка для асмодеева проекта
Вложение:
shaps_m8_8aprj.asm [7.41 KiB]
Скачиваний: 574
:roll:
Теперь о проекте под 16-й пик.
Пока выкладываю заготовочки-черновички макросов и объявленных регистров (чтоб макросы понятнее были)
Вложение:
defn_t7d.txt [8.63 KiB]
Скачиваний: 367

Вложение:
macros_t7d.txt [6.34 KiB]
Скачиваний: 363

мож у кого чего насчет тех макросов возникнет идея по названиям или по сути...
там проба на тему программного стека для всеобщего осуждения.
:write:


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб апр 19, 2014 17:13:59 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
Давненько не залазил...
по существу из обновлений только блок макросов (
Вложение:
macros_t7d.txt [12.61 KiB]
Скачиваний: 363
), с вдохновением пока провал.
Да еще было " отвлечение внимания" на viewtopic.php?f=58&t=101752 - заинтересовало как вариант практически используемого решения для оправданного применения мелколапых. Нарисовал и статейку,да уж довгенько она рецензируется, а выключалка неплохая получилась. По сему размещаю аналог в данном "монологе".
----------

Маски-шоу и вредные 8-лапки под трехкнопочным выключателем.

Основой к написанию сего послужила тема
viewtopic.php?f=58&t=101752
Первично теоретический набросок выключателя на основе PIC12F508 ( viewtopic.php?f=58&t=101752&start=20 ) захотелось все же проверить макеткой.
После некоторых раскопок ящичков со «златом» и имеющихся в наличии «кубиков» ранее изготовленных «тестилок» был сооружен данный макет
схемка
http://img.radiokot.ru/files/20529/bii7a37pk.JPG
фотки монтажа
http://img.radiokot.ru/files/20529/bih6dl5ra.jpg вид сверху
http://img.radiokot.ru/files/20529/bih6k0exm.jpg вид с дорожек
http://img.radiokot.ru/files/20529/bii6fpr6k.jpg комплект с кнопами
При прошивке PIC12F508 с помощью winpic800 выявилась пакостная особенность (и ранее замечаемая,но не сильно уважаемая из-за редкого использования мелколапых пиков). Мк спокойненько прошивается и сразу же переходит к исполнению прошитой программы. Повторное стирание и/или перепрошивка уже недоступны/некорректно выполняются. Поэтому «вычухать» интервалы для более приемлемого по скорости реакции режима чувствительности кнопок на конструкции с PIC12F508 не удалось. Имеющаяся программа дает как одиночные нажатия, так и одновременное удержание группы кнопок, но с некоторой задержкой при нажатии кнопки. Сие можно счесть несколько неудобным для работы, да и режима запоминания состояния для последующего «холодного старта» у этой конструкции нету (как и EEPROM в PIC12F508).

После некоторой досадки по полученному ранее результату было решено поиграться с переключателем на основе той же схемы (макетки), но с применением PIC12F629 и режимом
сохранения статуса текущей комбинации состояния выходных линий в качестве начального для следующего «холодного старта»... Т.е. с памятью.
Для генератора тайм-маркеров был выбран Т0 (хоша как позднее выяснилось не слишком верное решение).
Правила работы для кнопок — нажатие как индивидуальное, так и групповое приводит к инверсии состояния соответствующих нажатым кнопкам выходных линий. Если кнопка (группа кнопок) будут удержаны на время (неспешно посчитать про себя от1 до 6) то данная комбинация выхода будет занесена в EEPROM в качестве начального состояния при последующей подаче питания на схему. Ежли продолжать удерживать нажатие примерно 20-30 секунд схема переведет выходы в пассивное состояние («все отключено») согласно выбранного перед компиляцией активного уровня (active_outlevel в файле defn_key3_629.txt).
При этом при последующем включении с разблокированной клавиатурой будет выдано состояние, соответствующее комбинации ЛВК при возникновении «зажатия».
Дополнительно надо сначала прочитать из МК содержимое константы автокалибровки и поместить его в const_OSCCAL в файле defn_key3_629.txt после чего перекомпилировать проект для заливки текущего МК. Можно конечно и вручную скорректировать значение байта в программаторе, но то кому как удобнее.
После загрузки прошивки программатор ( winpic800 ) выдаст сообщение об ошибке верификации последнего байта — это нормальная ситуация ибо МК уже перешел к выполнению записанной программы (вывод сброса переключен на внутреннюю схему и программатор корректно может выполнить только «общее стирание») - теперь его можно снять с программатора и переставить в макетку (целевое устройство).
Сразу после прошивки макетка при подаче питания перейдет в состояние «все выходы выключены» - далее все зависит от управления кнопками.

Макет показал и отрицательную сторону устройства — при напряжении от1 до 0 вольт при процессах включения/отключения питания (медленное наростание/медленный спад) наблюдается некорректная работа системы сброса (или зависание программы). Система перестает реагировать на кнопки до полного снижения питания до 0 и пребывания в таком состоянии порядка 15-20 секунд. При последующей подаче питания работоспособность восстанавливается. Однако было бы желательно использоват WDT для гарантированного выхода из подобных ситуаций. НО — тогда базовый тактовый генератор надо переводить на Т1, а WDT использовать с предделителем (или Т0 с дополнительным счетным регистром при счете непосредственно частоты МК). Кому интересно — может самостоятельно потренироваться над исходником.
В программе также заложена возможность смены текущей ячейки EEPROM при израсходовании ее ресурса/отказе-ошибке самой программой. Однако пока только в качестве задела по ресурсам, сам алгоритм не выполнялся.
Особенностью программы является использование масок, сформированных из текущего состояния входных линий порта и контрольных данных предыдущего состояния.
Поскольку у среднемладших ПИКов отсутствует команда прямой инверсии состояния выбранного бита, а для классического табличного селектора требуется приличный объём ПЗУ, не оправданный для данной задачи. Количество кноп/выходных линий может быть увеличено до 4х (стандартная «ширина»выходного порта в 8 бит).
Такое решение позволяет также применить дополнительно метод селекции по времени удержания клавиатурной комбинации для выполнения дополнительных/альтернативных функций (аналогично режиму записи в память), а не только ограничиваться простейшей функцией выключателя с энергонезависимой памятью.
----------
А вот и архивчик с проектом:
Вложение:
key3_629.rar [26.15 KiB]
Скачиваний: 425

кушаньки,кому понравится!
:beer:

Эта работа выложена как оправдание по поводу "зависания" основной темы в незавершенном состоянии... :oops:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб май 31, 2014 09:53:21 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
Появился модуль для дополнительной мозголомки.
(А заодно вспомнить прошлописание ибо уже времени много убегло.)
Датчик температуры с возможностью автономного управления регулятором термостата и интерфейсом I2C. Одно ху... энергонезависимой памяти у LM75A нетуть - при каждом включении питания надо заново конфигурацию выполнить... :cry:
Буду помыслить как это вражеское чудо к имеющимся макетам приспособить для поиграться.
Еще один капля дегтю - считает датчик в "условных енотах" - для получения числовой формы данных те условные еноты надобно будет перемножить на соответствующий коэффициент в самом МК.
Схемуля модуля:
http://img.radiokot.ru/files/20529/crhe0q5fa.GIF
фотка:
http://img.radiokot.ru/files/20529/crhe2ukl2.jpg
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 07, 2014 12:14:26 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
После раздумий и "перетасовок" несколько изменил схемку разъёма модуля для совместимости с дополнительными возможными "приблудами":
http://img.radiokot.ru/files/20529/thum ... 8uckpp.GIF
чуток позже сброшу видоизмененные схемки с фотками базовых макеток с ответной частью разъёма.
И прикупил на разведение интерфейсных модулей комплектик ИК безделушек:
http://img.radiokot.ru/files/20529/d0b8znz9j.jpg
Приделаю еще по парочке модулей расширения, для начала в железе.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 07, 2014 12:39:17 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 24566
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
BOB51 писал(а):
Макет показал и отрицательную сторону устройства — при напряжении от1 до 0 вольт при процессах включения/отключения питания (медленное наростание/медленный спад) наблюдается некорректная работа системы сброса (или зависание программы). Система перестает реагировать на кнопки до полного снижения питания до 0 и пребывания в таком состоянии порядка 15-20 секунд. При последующей подаче питания работоспособность восстанавливается. Однако было бы желательно использоват WDT для гарантированного выхода из подобных ситуаций.

Для разруливания подобных ситуаций есть ДВА инструмента:
Brown-Out-Reset
Power-up-Timer
При включении оных в конфигурации МК при падении питания ниже порога срабатывания Браун-Ресета контроллер будет аппаратно сброшен и удержан в состоянии этого сброса до переполнения Пауэр-Таймера, сиречь несколько десятков миллисекунд.
Это гарантирует МК от зависаний связанных с плохим питанием.
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 07, 2014 13:03:40 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
Просто не нужно "переусердствовать" с величиной емкости конденсатора в питании. 8)
Там,где 1uF достаточно стояла почти 1000 (это для Пика-то :))) )
А цеплять WDT и Brown-Out-Reset - то уж по конкретной доработке, ежли кого этот вид девайса заинтересует (там еще много чего для полноценной системы дорабатывать надо)...
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 07, 2014 13:13:48 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 24566
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
BOR и PWRT нужно включать ВСЕГДА.
Ну или почти всегда.
Это не доработка, а НЕДОРАБОТКА...
Что касается вачдога, то вот его то можно и не включать.
Он создан не для латания дыр, а для ОБЪЕКТИВНЫХ потребностей алгоритма.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 07, 2014 13:34:51 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
У 508го насчет BOD:
__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC
а у 629го :
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
но вот BODне включал - ибо конденсатор большой емкости не допускает быстрых просадок питания (при том, что ПИК потребляет), о выходе на остаточном заряде в пределах 1 вольта +/-0,25вольт в рабочей целевой схеме оценка результата проводилась по действующему макету "по хамски" - всего лишь отчет о результатах (а не доработка) ибо пока мне влом... Там главная задача открутить несколько специфичный механизм масочного фильтра - она выполнена. Остальное по мере потребности, да и не для данной темы.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: ARM или не-ARM
СообщениеДобавлено: Сб июн 21, 2014 09:59:05 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Пока в округе идет дурдом, чуть было не проглядел вкусненький концепт от Микрощипа… :oops:
Речь пойдет о МК «улучшенной» серии из среднемладшеньких – всем известные с 4х- значной маркировкой.
Однако на стандартно-дремучей базе не так уж и много из этой серии попользовать можно.
Для IDE MPLAB v8.92 доступно некоторое количество, НО… их же чем-то простецким еще заливать надобно… А из программных оболочек такое добро токмо winpicpgm_1.7.8.0 поддерживает.
Возможно или LPM проггером или AN589 с соответственно подогнанным напряжением программирования.
Вобщем из удобосовместимых из «улучшенки» остаются в таком случае только:
PIC12F(LF)1822/PIC16F(LF)1823 и PIC12F1840.
Осталось токмо найти их «в натуральном виде». :cry:
Теперь несколько слов об основных новинках ядра (периферию трогать не буду – это добро всегда особнячком натыкивается).
Добавлен ряд новых команд, в том числе в арифметике, управлении/переходах и сдвигах.
Стек увеличен до 16 ячеек с возможностью программного доступа к содержимому верхушки стека (через TOSH:TOSL) и дополнительных фичах по конфигурации – программно выбираемых режимах работы: то-ли «кольцо» , то-ли фиксация переполнения (+ аппаратный сброс).
Система обслуживания прерываний имеет аппаратные регистры «быстрого хранения» - как в 18-й серии, но в отличии от оной эти шадов-регистры у среднемладших улучшенных программно-доступны и запись/чтение в них проводится абсолютно во всех случаях работы с прерываниями.
Организация памяти как в стандартном режиме, так и в «линейном» при попадании в эту линейную область и расширенного ОЗУ и ПЗУ (доступ с помощью двух двухбайтовых FSR).
Команды BRA (“короткий переход») и BRW («прыжок по вектору с вычисляемым указателем») не дергают содержимого PCH из PCLATH – используется текущее значение PC+константа (знаковая -256/+255) или PC+ W.
Вобщем прийдется копнуть поглубже и «шпору» подправить с учетом новых веяний…
:write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Пт июн 27, 2014 19:48:43 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Чертежики/фотки взамен "самозатертых" по предыдущему материалу и несколько подкорректировано "по факту"
в формате splan:
Вложение:
splan.rar [54.93 KiB]
Скачиваний: 340

и в *.pdf
Вложение:
mcs51_AT89S52.pdf [139.86 KiB]
Скачиваний: 378

Вложение:
AVR_mega8515.pdf [124.57 KiB]
Скачиваний: 355

Вложение:
PIC_midl_rng_pic16F876a.pdf [114.62 KiB]
Скачиваний: 324

Вложение:
kubiks.pdf [251.24 KiB]
Скачиваний: 312

в графическом разделе:
http://img.radiokot.ru/files/20529/dmpfddfqn.gif общий вид дисплея
http://img.radiokot.ru/files/20529/dmpd9es01.jpg кнопки вблизи и их соответствие схеме
http://img.radiokot.ru/files/20529/dmpfh9yxj.gif общий вид модуля кнопок
http://img.radiokot.ru/files/20529/dmpe8sbfk.jpg модуль RS232
По мере необходимости добавляться/обновляться будут.

Забыл ещё один нюанс по модернизированным среднемладшим - отныне у них, как и у 18-й регистр W входит в состав РСФ и доступен для всех типов команд как регистр РСФ.
:write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 28, 2014 21:00:47 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Полностью откорректированная с учетом всех последних "хвостов" схемка для mcs51:
Вложение:
mcs51_oll.pdf [139.05 KiB]
Скачиваний: 328

http://img.radiokot.ru/files/20529/dnrujy6lt.jpg
http://img.radiokot.ru/files/20529/dnrutr5iy.jpg
перфорации шлейфа кнопок
http://img.radiokot.ru/files/20529/dnrrxopbh.jpg
монтажки АВР
http://img.radiokot.ru/files/20529/dnry0y2vc.jpg
http://img.radiokot.ru/files/20529/dnry94a7m.jpg
и ПИКа876-го
http://img.radiokot.ru/files/20529/dnry8xada.jpg
http://img.radiokot.ru/files/20529/dnrynkhqz.jpg
Помутарился собрать еще одну версию ИК генератора с приемником. Ранее была игрушка на основе ATtiny13A + TSOP48
( старый "монстро" на тиньке
Вложение:
IRmodul_v1.pdf [244.03 KiB]
Скачиваний: 308

http://img.radiokot.ru/files/20529/dns4yutsk.jpg )
теперь соорудилась на КР1006ВИ1 + BRM1020 + К561ЛА7.
Вложение:
IRmodul_v2.pdf [84.05 KiB]
Скачиваний: 313

http://img.radiokot.ru/files/20529/dns5ggdj3.jpg
http://img.radiokot.ru/files/20529/dns54za80.jpg
Подкупило выходным каскадом самого таймера - можно пару светиков напрямую подвесить - зато... в количестве "обвязки" проигрыш...
Схема таймера управляется по выводу 4 (сброс/reset) - чего бы добру пропадать - хоша такое решение весьма редко в справочниках встречается. Цепочка заряд-разряда RC обеспечена на VT1-VD1 (равноценные половинки) и подстраивается подстроечником R10 по длительности периода (на осциллографе) 26микросекунд.
Вобщем простенько... Только вот интересная особенность во время пыток сего устройства (и ранее сделанной схемы) выползла:
1. ежли подать непрерывную во времени последовательность излучения 38КГц на TSOP48 на выходе оного будет присутствовать 0 непрерывно до тех пор, пока излучатель не выключить;
2. ежли то же самое сделать с BRM1020 то по истечении где-то от 1 секунды в состоянии 0 его выход перекинется в устойчивую 1 с краткими хаотичными импульсами 0 до момента отключения излучателя. При последующем включении картинка снова повторится.
Получается ежли нужен простой "барьер" (ИК выключатель) светик для TSOP48 может светить непрерывно с простой детекцией события, а вот светик для BRM1020 должен давать некоторую импульсную последовательность и приемник должен быть немножко с "мозгами"...
При штатном применении (связь, дистанционка) эти особенности практически не столь и важны.
Да и чувствительность BRM1020 по сравнению с TSOP48 гораздо повыше (особо для рядом расположенного светогенератора и приемника следует учитывать).
Теперь можно и к программам вернуться.
:write:
"затертые" фотки макета электронных кнопок с памятью:
http://img.radiokot.ru/files/20529/dnuz5edy1.jpg
http://img.radiokot.ru/files/20529/dnuzaxxm3.jpg


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Пт июл 04, 2014 20:17:29 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Поднадоело однако каждый раз заново время и прочие параметры вводить... Посему появился в комплекте съёмный модуль хранения...
Вложение:
ext_rtc.pdf [90.87 KiB]
Скачиваний: 315

http://img.radiokot.ru/files/20529/dtg3kkk1v.jpg
http://img.radiokot.ru/files/20529/dtg3s5koa.jpg
фотки немного с искажениями мобилка+"хитрый глаз".
Основная RTC = DS1307 и/или ее замена по выводам (и спасибо перемычке) PCF8583 - но та без резервной батареи, больше "на поиздеваться". :solder:
Теперь засяду за писанину...
:write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Пн июл 07, 2014 20:34:43 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
Обещаная новая редакция шпоргалок по среднемладшему стандартному семейству ПИКов:
Вложение:
ШПОРА_PIC10_12_16.pdf [771.85 KiB]
Скачиваний: 360

и по "энхансед" - расширенной версии:
Вложение:
ШПОРА_PIC10_12_16_enhansed.pdf [953.42 KiB]
Скачиваний: 366

запаковано в *.pdf программой doPDF v7 с разрешающей 1200 точек - допускает прямую печать без дополнительных "фокусов" с настройками принтера.
Оригинал набран в Splan70 (и подогнан к печати посредством виртуального принтера doPDF v7):
Вложение:
shpors_orig_maket.rar [33.81 KiB]
Скачиваний: 333

:roll:

При проверке в MPLAB 8.92 на основе PIC12F1822 выявилась пакостная ошибка в p12lf1822.inc - в разделах CONFIG1 Options/ CONFIG2 Options значения флагов-опций указаны как 16-разрядные величины ( для примера - H'FFFF' вместо 14-разрядных значений H'3FFF'- как полагается)...
После правки - компилятор прекрасно сработал. Однако не исключаются еще какие "накладки" в текстах *.ini шек... :cry:
Далi буде... :write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс авг 17, 2014 11:08:21 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Тяжко с таким электроснабжением... Капутер жабко - возможность непредвиденных отключений задалбывает...
Как-то нудновато с тем ПИКом…
Одначе…
Всякое ограничение есть полезная для мозгов тренировка. Для общего применения и новинки макросов сгодятся, и программный стек для самостоятельных модулей и набросок для обработчика вложенных прерываний.
Вложение:
pic16f876a prj_m.rar [31.34 KiB]
Скачиваний: 297

«Бункер» работает независимо от программного стека, посему при некотором увеличении занятых кодом ячеек получаем относительную свободу действий с FSR (INDF).
Хотя даже дебаггером пока сии наброски не проверял… Только оттранслировал – то электричества нету, то компа под лапой – тренируюсь на бумажных листиках.
:write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб окт 18, 2014 23:02:18 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Надоело каждый раз при включении питания заново все параметры
выставлять... Лень когтями шевелить, да и очередная порция
макетных "кубиков" зряшно пролёживает. :roll:
Отсюда появилась новая версия прошивки пока для AT89S52.
Вложение:
at89s52prj.rar [102.64 KiB]
Скачиваний: 300

А вот так сей изврат в сборе выглядит:
http://img.radiokot.ru/files/20529/h3fz7kosr.JPG
Добавлена начальная инициализация RTC при замкнутой до подачи питания
перемычке JP1 (однократно при первой инициализации RTC).
После появления звука сигнала перемычку надо снять с JP1 и установить
на контакты подключение батареи RTC.
При подаче питания и разомкнутом JP1:
автоматическое восстановление текущего времени из RTC;
автоматическое восстановление значения будильников;
автоматическое восстановление константы досчета генератора секунды.
Сохранение параметров часов и бодунов происходит автоматически при
их изменении в соответствующих менюшках.
Добавлено окно календаря - при субменюшке "КАЛЕНДАРЬ /мод./"
кнопа "вверх" в позиции пиктограммы "?" проводит запись значений
с дисплея в область календаря RTC (кнопа "вниз" - выход в исходное
меню без внесения изменеоий/закрытие окна просмотра).
Формат данных на дисплее календаря
"? N-dd-mm-20ee " где N - день недели 1/7, dd - число 1/30/31/29/28,
mm - месяц 1/12, ee - год 00/99. При первичной инициализации
выставляется "? 1-01-01-2014 ".
Возможна запись/чтение одной уставки таймера обратного отсчета
в область ОЗУ DS1307 по отдельной кнопопиктограмме "М" добавленной
в субменюшке " Т. ввод уставки" ввода параметров уставки таймера
(кнопа "вверх" в позиции
пиктограммы "М" выполняет запись значений с дисплея, кнопа "вниз"
в позиции пиктограммы "М" выполняет чтение уставки из области ОЗУ
RTC на дисплей).
! Значения ячеек уставки таймера обратного отсчета в RTC первичную
инициализацию не проходят - их необходимо выполнить записью 00:00:00
в субменюшке " Т. ввод уставки" вручную после первого запуска системы!
(Если такого не сделать при первом чтении там выведется "абракадабра").
Остальные функции устройства без изменений.
Собственно разъём подключения RTC (X4:1) переехал на порт Р1,
а к прежнему разъёму (X3:1) планируется подключение последующих приблуд.
http://img.radiokot.ru/files/20529/h3fz6pqie.JPG
Общее потребление порядка 12,5-13,5мА для обычной работы и порядка
35-40мА при включенном зуммере (одна из версий KEPO KPMB-G2306L).
Возможно как-нить набросаю печатку для прикладного "вычуханного"
окультуренного варианта (просили кухоннотаймеро).
Версия программы Т8 (файлы прошивки t8.hex или t8.bin в архиве).
Исходники несколько переработаны и отредактированы от очепяток,
однако еще не совсем доработаны в области обработчиков ошибок и
оптимизации резервных "дырок" нерационального использования ПЗУ.
В планах добавить датчик DS18B20 с алгоритмом управления счетом
секундомера/таймера обратного отсчета и собственным МК предобработки
данных (два прерывания + микроLAN в основном МК явно "поцарапаются")...
Иль еще чегоо... :roll:
К сожалению исходник имеет несколько необоснованное злоупотребление DPTR1
которого нету в AT89C52 - прийдется помыслить над поправками под старое железо...
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Ср окт 22, 2014 23:45:27 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Исправлено под AT89C52/AT89S52 и добавлены платки (только свежеиспеченные, в железе еще не делались):
Вложение:
at89s52prj.zip [198.99 KiB]
Скачиваний: 281

:facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Пн окт 27, 2014 10:12:09 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Ещё пакетик с платками к ранее выложенным схемкам периферийки (опять же начерченный, но не проверявшийся изготовлением):
Вложение:
платки-расширителй.rar [95.83 KiB]
Скачиваний: 310

:beer:
Пока работаю над очередной группой расширителей вроде внешнего удаленного дисплейчика (с возможностью неограниченного увеличения габаритов индикаторов) и с какими-нибудь датчиками...
:roll:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 1081 ]    , 2, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y