Работа в Eagle CAD. Часть 3. Автоматическая трассировка плат

Ленивый я стал, раньше все разводил ручками. А сейчас, делая плату с тремя микрухами логики и одним мелким проциком, понял, что одним слоем я никак не обойдусь. А раз так, то гулять так гулять. В Eagle есть автотрассировщик который довольно шустро разводит по двум слоям и при этом имеет много настроек, постараюсь дать их описание, а также общие рекомендации по трассировке.

Расставляем компоненты
Один из главных недостатков Eagle CAD — отсутствие авторасстановщика компонентов. Это минус, т.к. от оптимальной расстановки зависит очень много. Но не беда, расстановку можно делать и вручную, главное делать это сразу же, по мере добавления деталей на схему. Словно мы хотим развести все вручную. Если сначала нарисовать схему, а потом пытаться расставить, то получится такая каша, что понять что то там будет совсем нереально. А так мы сожрем этого слона по кусочкам, сильно облегчив автороутеру жизнь.

Был у меня вот такая схема:

зазырить в полный рост

Не бог весть какая сложная, но тем не менее в ней хватает дискретной логики, а логику разводить всегда мерзко. Врукопашную на нее ушел бы весь вечер, не меньше.
(далее…)

Read More »

ARM. Учебный Курс. Вводная

Intro
Потихонечку, дабы не выпадать из модных течений, решил я запилить обучалку по ARM контроллерам.

Сразу говорю, относиться к ней надо критично, ибо я эти контроллеры не знаю, а все что буду описывать — продукт лично проделанного эксперимента, не более того. Так что будут и неточности, ляпы и прочие радости первопроходцев. Все же постараюсь быть последовательным. Ну и, разумеется, грабли на которые наступил флажками обозначать буду. Кто больше шарит не стесняйтесь поправлять и уточнять.

Disclaimer
Информация будет не столько для тех кто начал с нуля, а тех кто уже наигрался с 8ми битными контроллерами и решил полезть выше.
И я буду отталкиваться от этого уровня, не сильно упираясь в разжевывание подробностей и мелочей (т.к. сам их еще не знаю ;) ), а действуя по индийской методике, где часто доказательство теоремы выглядит в виде одного слова «смотри».

Также, по дефолту, буду считать, что читатель, раз освоился на PIC/AVR/C51, умеет читать даташиты и ковырять инфу сам.
Это не значит, что я не буду отвечать на вопросы в комментариях. Буду, но знайте, что для этого мне придется вместо вас лезть в даташит и разбираться. Я могу это делать — знаете как быстро в таком режиме идет самообразование! Метод «Я гуру и вам щас все вжую» пинает круче любой сессии, т.к. в отличии от сессии не кончается никогдааа :) А могу не делать. В зависимости от моего свободного времени и желания общаться :) Да, у меня есть преимущество — освоив несколько разных архитектур я уже задницей чую где и что надо искать в даташите, но свою голову никто не отменял :)
(далее…)

Read More »

Работа с портами ввода-вывода микроконтроллеров на Си++

При разработке программ для микроконтроллеров (МК) работа с внутренний и внешней периферией является очень важной частью (а иногда и единственной) программы. Это своего рода фундамент, на котором основывается более высокоуровневая логика программы. От эффективности взаимодействия с периферией напрямую зависит эффективность программы в целом. Под эффективностью здесь следует понимать не только скорость выполнения и минимальный размер кода, но и эффективность написания и сопровождения кода.
Многие внешние устройства подключаются к МК через порты ввода-вывода общего назначения (GPIO). Эффективность взаимодействия с этими устройствами во многом зависит от способа работы с портами ввода-вывода.

Тут возникают два, на первый взгляд, противоречивых требования:

  • 1)Драйвера внешней периферии хочется писать максимально абстрагировавшись от конкретного способа подключения к микроконтроллеру, а ещё лучше независимо от типа микроконтроллера. Переписывать «библиотечный» код для каждого проекта не очень хорошо.
  • 2)Скорость и размер кода в большинстве случаев имеют большое значение.

(далее…)

Read More »

Простейший индикатор расхода топлива на инжекторный двигатель

Сразу же после покупки автомобиля (Mitsubishi Lancer, 2003) озадачился установкой индикатора расхода топлива. Японцы сильно сэкономили на этом авто и не установили некоторые полезные функции — пришлось исправлять ситуацию.
Первой мыслью было или покупка готового — существуют множество промышленных устройств, в том числе заточенных под Lancer 9, или самостоятельная сборка какой-нибуть любительской конструкции — и таких немало. Поизучав немного тему выяснил, что все предложенные девайсы обладают избыточностью функций — а мне-то всего навсего нужен расходомер. Поэтому и было решено делать самому. Единственное место на панели куда-бы приборчик вписывался — на место штатных часов, поэтому хочешь-не хочешь он должен и время показывать. Ну и так как при применении 2-х строчного ЖК в этом случае остается незаполненный угол — значит и туда надо что-нибуть более-менее полезное вставить, например индикацию температуры. Кстати говоря, поначалу задумывалась индикация и некоторых других параметров — зарядка аккумулятора, расход на 100 км, мгновенный расход в цифрах и т.д. уже и не припомню — и почти все задумки были реализованы в первой версии индикатора.

(далее…)

Read More »

Кибермашинки VIAC уже в Челябинске

Судя по трэкингу, они сейчас где то в районе Труда/Васенко. А завтра, если я правильно понял сообщение из блога, будет презентация/демонстрация. Где пока неизвестно. Обещали сообщить.

Челябинцы, айда туда толпой! =) Скоординироваться можно тут. Я сильно постараюсь добраться до них и поглядеть на эти автобусы. Заодно можете оставлять заявки на то, что сфоткать подробней.

О чем это я? (далее…)

Read More »

Работа в Eagle Cad. Часть 2

Помнится в первой части закончили мы на том, что забодяжили плату, залили все полигоном и раскидали шелкографию, чтобы не налезало.

Теперь возьмемся за редактор компонентов. Т.к. библиотеки хоть и обширные, но нельзя обьять необьятное. Так что рано или поздно попадется тебе такая деталька которой нет в библиотеках. Либо библиотечная не понравится. И придется рисовать свою. Что до меня, так я постоянно то готовые правлю, то новые создаю.

Создание своего компонента в Eagle cad
Когда я впервые сел за орла, мне это покзалось очень запутанным и сложным, но на деле, если отбросить мишуру, все будет очень и очень просто. Давайте-ка создадим, для примера, что нибудь несложное. Например линейный стабилизатор LM-1117-3.3 в разных корпусах. Его я не нашел в библиотеках.

Итак, вначале даташит на LM1117

Задача ясна, будем творить. Открывай главное окно Орла и в меню выбирай File—New—Library
(далее…)

Read More »