вряд-ли кто из начинающих практиков сегодня будет начинать изучение транзистора с физики P-N перехода и теории 4-х полюсника хотя все через этот этап проходили
[QUOTE=makakus;231506]...Я считаю, что человек может программировать контроллеры, только получив ДО ТОГО понимание о принципах работы электронных узлов..., потом основы алгебры Буля, потом основы теории цифровых автоматов, потом основы программирования (уровни языков, "ассембляция"/компиляция/интерпретация текста в код). ...[/QUOTE] Без базиса, без фундамента - ни-ку-да... Полностью согласен!
если начинать "с нуля" то никак самоделки на К155ИП3 не миновать... да и всех видов триггеров ... и полностью "рассыпуху" просмотреть, хотя-бы бегло... только вот на практике это весьма редко встречается - нужен компромис между обзорными данными и деталировкой по принципу - сперва беглый обзор общих принципов, затем, для желающих, деталировка каждой темы моя литература: 1. Тищенко В.Г.,Тищенко Г.В. Микро-ЭВМ своими руками" К.:Рад.шк.,1989 2. Токхейм Р. Основы цифровой электроники: Пер. с англ. -М.: Мир,1988 3. Рафикузаман М. Микропроцессоры и машинное проектирование микропроцессорных систем : В 2-х кн. .... Пер. с англ.-М.: Мир, 1988 4. Янсен Й. Курс цифровой электроники: В 4-х т........Пер. с голланд.-М.: Мир,1987 5. Потемкин И.С. Функциональные узлы цифровой автоматики.-М.:Энергоатомиздат,1988 6. Сопряжение датчиков и устройств ввода данных с компьютерами IBM PC: Пер.с англ./ Под ред. У. Томпкинса,Дж. Уэбстера.-М.:Мир, 1992 7. Хоровиц П., Хилл У. Искусство схемотехники: В 2-х т. .... Пер.с англ.- Изд.3-е, стереотип.-М.: Мир,1986 А в качестве "интересно почитать" чтобы понять чего кому надо(какой фирме) и "откуда ноги ростут" в идеологии разработки и/или ремонта оборудования с коммерческой точки зрения: Канингхем К., Кокс В. Методы обеспечения ремонтопригодности: Пер. с англ. Под ред. О.Ф.Пославского.-М.: Сов. радио,1978
Большая часть из того, что вы в своей книге заложили уже написана в просто шикарнейшей книге Стюарт Болл “Аналоговые интерфейсы микроконтроллеров” Этакий упрощенный ХИХ с более простым и понятным изложением и закосом на подключение к МК всякой всячины.
А теперь по теме универсального курса на все времена. Я сам о таком думал и вот ряд моих соображений.
Во первых надо четко понять целевую аудиторию. Она у нас тройная:
1 Программисты Им нужна хотя бы основа электроники. Понимание как запитать любой контроллер, как управлять релюшками, диодиками, как подключать периферию. Как сделать БП и так далее. Также многим программерам надо дать понять в какой среде они работают. Т.е. это ограничение по ресурсам, быстродействию, размеру кода. Понимание того, что можно делать, а от чего лучше избавляться. Чего следует бояться при написании кода. (тот же volatile как часто используется в прикладном приложении на PC?) Хорошо бы ассемблер показать, но если человек в совершенстве знает си, то достаточно обзорного материала и КМБ по специфики писания на сях под МК в спартанских условиях, можно с примерами под конкретные архитектуры. К примеру, у Пиков нет полноценного стека, поэтому множественные вложенные функции вызывают лишние телодвижения. Их надо или инлайнить или избегать. Концепцию отвязки от железа через HAL прослойку и написание кода таким образом, чтобы для переноса на другую архитектуру делался путем правки десятка дефайнов в конкретном файле, а не лазаньем по всему исходнику.
2 Железячники Тут как раз нехватка программистких навыков. Сначала можно дать асм, дабы было понимание в деталях основных концепций прерываний, процедур, ветвлений. Стековая работа, понятие указателя в свете косвенной адресации. Потом вводная в Си с отсылками к первоисточнику К&R, дабы не повторяться. Опять же с разьяснением различий в стиле программинга под большие компы и под мк. Циклы условия и прочие массивы с указателями можно вынести ссылкой на первоисточник. Разве что про указатели на примере ассемблера показать как работает. Очень уж наглядно получается. Также крайне важно (и чего я не видел ни в одной обучалке кроме своей ) дать описание того как надо строить программу. Как организовать параллельность выполнения процессов, минимизировать время выполнения кода, грамотно использовать ресурсы и прерывания. Дать примеры работы на конечных автоматах. А то я один раз наблюдал жуткую вещь - человек спаял на плате дополнительный генератор на 555 таймере, чтобы тот дергал INT и создавал еще одно прерывание по таймеру. Когда же я обьяснил как все его задачи можно сделать на ОДНОМ лишь таймере, применив конечный автомат, то это был прям как откровение.
3 Все с нуля 1+2
О языках программирования
Тут однозначно СИ и ничего другого. Причем Си наиболее близкий к стандарту (всякие извраты вроде PORTC.7=1 ф топку. Не умеет си так!) . Да, под AVR или PIC есть совершенно замечательные паскали и васики. А также такая экзотика как АБ. Там все просто понятно и наглядно. Но у нас то речь идет не о конкретных МК, а о МК В принципе. А найдите мне хороший компилятор Бейсика под ARM Cortex M3 или под ST7? А под PSOC3 или HC08? А Сишные компилеры под эти архитектуры делаются сразу же. И мне, например, когда я сел осваивать Cortex, не составило ни малейшего труда перетащить туда ряд своих сишных проектов, практически с минимальными правками.
замечание для всех авторов: никто из Вас не порял, что я Хочу Написать АЗБУКУ
Для ДиХалт: Если бы мне в начале попались Ваши уроки, то я бы даже не понял, что такое стек и проч - на хватало базиса вот этот минимальный уровень простыми словами я и стремлюсь дать... Никого не хочу обидить, но (слова с Казус.ру): почему-то мэтры программирования забыли, какие вопосы они задавали в САМОМ НАЧАЛЕ, в роли новичка, делающего первые шаги
я не стремлюсь дать курс электроники, алгоритмизации и прочего в 200-300 страницах, я стремлюсь сдвинуть дело с мертвой точки...
ps всем удачи и прохлады: вон Майл.ру сообщает о мега-жаре, которой не было ажно тыщу лет И как они, интересно, это узнали?
Последний раз редактировалось aleksandr-zh Вт авг 10, 2010 07:25:30, всего редактировалось 1 раз.
уже написана в просто шикарнейшей книге Стюарт Болл “Аналоговые интерфейсы микроконтроллеров”
специально открыл эту книгу... Ну, и где тут для новичка? где рассказано о том, что такие интерфейс и его подуровнях? и тд, и тп?
DIHALT писал(а):
Во первых надо четко понять целевую аудиторию
а вот это - Золотые Слова! я пишу для самого сложного контингента: для самых первых шагов нужна азбука, но не справочник с сухим языком... и так писать, чтобы написаное не сздавало вопросов, и чтобы не было как рассказывала моя тетя - учитель начальных классов: Букварь. Нарисованы кит и кот Она: дети! кто такой кот? Дети: Это животное! Она: Правильно, дети! а кто такой кит? Дети: это РЫБА! Она: (в панике) Нет, дети. Это тоже животное! Ведь кит - живородящее Дети: а что такое "живородящие"
вопрос: какой дебил писал Букварь? ведь для детей кит - это рыба: ведь она плавает в воде!!!
т.е., неверно показанный пример создал проблему. И не одну проблему! вот поэтому и пишу столь медленно: чтобы не задеть "ненужную" в Текущий Момент тему
я пишу для самого сложного контингента: для самых первых шагов нужна азбука, но не справочник с сухим языком... и так писать, чтобы написаное не сздавало вопросов
примерно в таком ключе?
Цитата:
Прежде всего, попробуем на понятном всем чайникам языке описать принцип устройства и работы микроконтроллера, для чего используем аналогию небольшой фирмы. Микроконтроллер – микросхема, содержащая внутри себя функциональные блоки, выполняющие различные функции: от математических вычислений, до аналогово-цифровых и цифроаналоговых преобразований. Эти функциональные блоки называются периферийными устройствами микроконтроллера, или просто периферией. Представьте себе микроконтроллер как некоего достаточно ограниченного в смысле умственных способностей, но очень исполнительного руководящего работника (старшего офис-менеджера), сидящего в окружении аналогичных по интеллекту и исполнительности «узких специалистов». Этот «офис» и есть полная аналогия микроконтроллера – руководитель есть центральное арифметико-логическое устройство (АЛУ), а все прочие – это периферия. В любой уважающей себя конторе должен быть архив для хранения результатов предыдущей и планов будущей работы – это есть аналогия запоминающего устройства микроконтроллера (ОЗУ и ПЗУ). Роль курьеров выполняет системная шина (или несколько), связывающая отца-командира (АЛУ) с архивом и исполнителями (периферией) и вспомогательные Управляющие – регистры управления периферией. Все без исключения работники очень шустрые – могу выполнять свое задание с огромной скоростью (миллионы действий в секунду!). В общем, вырисовывается, по-моему, весьма понятная картина. Как же это все функционирует? Босс (это не наш старший офис-менеджер, это вы, уважаемый электрочайник!), спускает в офис задание, например, «с частотой 10 Гц мигать светодиодом». Задание, как и положено, попадает в архив, откуда по мере надобности извлекается старшим в офисе – чтобы посильнее вас запутать, будем иной раз звать его фамильярно Старшой, а иной раз – по имени-отчеству АЛУ. Старшой разбирает задание (о том, как оно составлено, разговор отдельный – не забывайте, что Старшой-то у нас далеко не интеллектуал!), и в меру своих способностей распределяет его по исполнителям: Таймеру поручает следить за интервалами времени и уведомлять его о том, что пора включить или выключить светодиод; получив такое уведомление, снова поручает Порту установить нужный уровень на Выводе и т.д. Все эти команды и уведомления циркулируют по офису при помощи курьеров, но эти тонкости нас уже не волнуют в принципе. Как видите, роль Старшого и его исполнителей минимальна – тупо исполнять команды-указания. Поэтому роль Босса велика – он должен дать задание в таком виде, чтобы эта толпа даунов смогла его выполнить. Босс должен помнить, что его работнички исполнят задание буква в букву: если он заставит их биться башкой об пол, то неминуемо пол будет пробит – никаких сомнений! Босс, таким образом, должен предусмотреть все-все-все нюансы, которые могут возникнуть в процессе работы его офиса, чтобы заранее дать Старшому решение любой проблемы, иначе вся работа встанет колом (как говорится, контроллер зависнет) или результат будет немножко не тот (пол пробит). Задание не должно быть слишком большим, иначе возможностей архива просто не хватит для его хранения.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
оригинально, но я уважаю своих Читателей. Поэтому до этого стиля не могу опуститься...
вот так я пишу: Введение. Что такое контроллер? Современная техника пронизана электроникой. Но сами по себе электронные устройства — набор деталей. Они превращаются в единое устройство лишь благодаря системе управления, которая и управляет всеми узлами. По сути, система управления является контроллером (англ. «control» — управлять). Рассмотрим такой пример. Стиральная машина имеет несколько датчиков: закрытия дверцы барабана, уровня воды, температуры, а также несколько исполнительных устройств: клапан подачи воды, реле включения нагревателя, электромагнитный замок дверцы бака и реле изменения направления вращения барабана. Всем этим управляет контроллер стиральной машины. Управление осуществляется с применением кнопок или переключателя барабанного типа, многие модели стиральных машин имеют индикаторы, отображающих различную информацию: ход выполнения программы стирки, температуру, время работы и окончания стирки.
или
Классификация устройств памяти. ОЗУ и ПЗУ. Память — место, где какое-то время может храниться информация. В памяти информация может храниться кратковременно — при отключении источника питания загруженное в ячейки памяти значение не сохраняется, или долговременно — независимо от наличия напряжения питания. Память первого типа называют «энергозависимой». Она используется для хранения промежуточных данных, используемых при выполнении различных операций. Поэтому ее так и называют: «оперативная память», а устройство на ее основе называют ОЗУ — «оперативное запоминающее устройство». В иностранной литературе используется термин RAM (от англ. «random access memory» — память со случайным доступом). Память второго типа называют «энергонезависимой», «долговременной» или «постоянной». Она чаще всего используется для хранения программ. Типов долговременной памяти несколько: однократно программируемая память, память с электрическим стиранием и память, стираемая ультрафиолетовым (или рентгеновским) излучением.
На все не ответишь. Хороший курс должен давать не столько ответы, сколько дать возможность сформулировать правильные вопросы. Которые легко нагуглить или спросить где. И уже ответы на эти вопросы дадут четкую логическую картину.
так, Новости: 1. практически все детали закуплены и получены 2. печатная плата разведена, сейчас я её вылизываю и готовлю к передаче заказа на завод Фото печатной платы тут: http://pic-avr.narod.ru/start-board.htm
посмотрел я на ваше тварениее круто получается весьма классная вещь. обтидно ток шо она для AVR дкмаю лубители PIC будут опечалины.
_________________ Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
посмотрел я на ваше тварениее круто получается весьма классная вещь. обтидно ток шо она для AVR дкмаю лубители PIC будут опечалины.
в свете последних событий могу сделать версию под PIC Могу предложить такую же начинку, только с установленным PIC микроконтроллером Уроки будут в PicSimulator - дешевый продукт, да и лекарство есть Советую взять pic16F877 - проверено временем, да и Михаил Семенов 123 нам поможет их купить задешево Мы ему на платах рекламу сделаем, а он нам скидку!
Если есть желающие получить такое же устройство, но под ПИК - пишите, пишите! Плату смогу развести за 2 дня. Заказ - еще три дня, получим через 2-3 недели Для пробы могу заказать 5-10 плат
так, два заказа на платы с АВР уже есть... Жду печатные платы с завода... А, как я понял, любителей PIC тут нет? Только Батарейкус хотел такое изделие себе?... Мда. Хорошо, что с PIC не заказал...
вычкажусь про плату Я уже достаточно опытный програмист пиков. учюсь по Карабельникову,выучил PIC 16 почти полность, с нового года буду учить PIC 18 или прис ALTERA пока неопределился. я высказывался про пики в целях избежании дискриминации пик любителей, но раз вы (aleksandr-zh) заверили , что проблем с этим нету, спокоен , демократия не страдает. Чтото и вправду любителей пик маловато надо почаще их рекламировать. хорошие МК. А насчёт энной суммы вы раскажите поподробней, просто для меня это неожидонно я думал наше провительство наоборот стремится убить все начинания молодых людей, пытаются сделать из нас потребителей жителей банановой риспублики. (думаю ненужно обьяснять почиму я пришол к этому выводу просто надо включить телевизор и пасмотреть его повнимательней даже то что вам неправится особенно что вам ненравится, а этоже показывают) надеюсь вас политики необманут Удачи вам в вашем труде!
_________________ Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 155
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения