Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
• Выводы микросхем: известный источник помех получается при неправильном подключении цифровых и аналоговых выводов. В цифровой схеме, неподключенный ввод может приводить к автоматическому смещению транзистора в активную область. К тому же эти неподключенные вводы также действуют как миниатюрные приемные антенны для помех. Такие выводы должны быть или подключены к напряжению источника (VDD) через резистор в 4.7 кОм или к земле (VSS). Резисторы можно легко приобрести в корпусах с односторонними (SIP) или двусторонними выводами (DIP), чтобы легко подключить неиспользуемые выводы порта контроллера. Кроме вводов порта, выводы аппаратного прерывания должны также быть аналогично подключены, если они не используются. Иначе, могут быть инициализированы
• Способы заземления: В любой встроенной системе управления, имеются множество точек схемы, требующих заземления. Считается, что «земля» — это эквипотенциальный проводник, напряжение на котором равно нулю.
Нетрудно представить себе проблемы, которые возникнут в схеме, если это не так. Следовательно, чрезвычайно важно гарантировать, что все эти различные точки схемы — действительно эквипотенциальны. Интуиция подсказывает нам, что проблему решает простое подключение всех заземляемых узлов на одну общую точку. Эта методика, которая названа заземлением в одной точке, хорошо работает при низких частотах. В качестве варианта можно предложить множество точек соединения к заземленной плоскости при высоких частотах. Реальным решением является совместное применение двух методов, называемых смешанным (гибридным) заземлением. Важно также отделить цифровые и аналоговые вводы, устройства ввода-вывода, и ключевые компоненты друг от друга на печатной плате. Комбинация методов заземления может затем использоваться для каждой подсистемы. Например, каждая подсистема может соединяться с заземлением источника питания в одной точке, а затем в подсистеме может использоваться комбинация многоточечных и смешанных заземлений.
• Защита от внешних помех: имеется ряд методов защиты встроенной системы управления от внешних помех. Как мы видели в примерах, рассмотренных ранее в настоящей главе, чтобы минимизировать чувствительность к внешним помехам может использоваться экранирование корпуса и кабелей с последующим заземлением этого экрана.
Для кабелей, проводящих низкочастотные сигналы, экран должен быть заземлен с одного конца. Для кабелей, проводящих высокочастотные сигналы, экран должен быть заземлен с обоих концов. Должен быть заземлен также корпус прибора. Тем самым контур, вызывающий помехи будет закорочен на землю.
• Бездребезговые ключи: В главе 5 мы обсуждали бездребезговые переключатели в качестве способа подключения. Их можно также рассматривать как метод снижения помех от переходных процессов. Мы говорили, что идеальный кнопочный переключатель обычно в нормальном состоянии имеет на своих контактах сигнал высокого логического уровня, который при нажатии превращается в сигнал низкого уровня. При переключении в реальных переключателях может возникать явление дребезга. То есть из-за неидеальных механических характеристик переключателя, переключатель производит несколько замыканий и размыканий контактов при переключении. Поскольку микросхема 68HC12 работает в мегагерцовом диапазоне, она обладает достаточным быстродействием, чтобы реагировать на дребезг переключателя как на ряд включений и выключений. Чтобы предотвратить эти явления, могут использоваться бездребезговые методы включения. Переключатели могут использовать противодребезговые аппаратные средства или программные методы. При программном обеспечении отсутствия дребезга, читается первый контакт переключателя, а затем вводится программное блокирование чтения сигнала на 100–200 мс.
В течение этой короткой задержки, дребезг не действует на микросхему. Эта методика подавления дребезга позволяет также уменьшить помехи от переходных процессов на вводах схемы. Аппаратные средства и программное обеспечение методов подавления дребезга были подробно обсуждены в разделе 5.5 главы 5.
• Создание условий на выводах: Входные и выходные сигналы платы должны быть защищены от помех. Чтобы предотвратить повреждение нагрузки статическим электричеством, необходимо включить дополнительный резистор последовательно с входным штырьком. Хорошим методом является также включение встроенного фильтра на входе. Это легко осуществить, пропустив входной провод через цепочку ферритовых ячеек, которая действует как фильтр для высокочастотных колебаний, возникающих при переключениях. Возможно вы считаете, что изготовить такие цепочки ячеек достаточно сложно. Однако на рынке имеются ферритовые «цепочки ячеек» в разнообразных конфигурациях, включая фильтры, которые могут быть закреплены на существующих ленточных кабелях или даже на одиночной линии. Имеются также ферритовые фильтры, которые могут быть установлены на печатной плате.
• Методы размещения монтажа на многослойной печатаной плате: Так как ваше изделие наиболее вероятно будет смонтировано на многослойной плате, важно понять, как расположить монтаж на плате, чтобы уменьшить помехи. Если используется многослойная плата, крайние
слои, должны состоять из дорожек источника питания и земли. Дорожки, проводящие сигналы, должны быть проведены на промежуточных уровнях, расположенных между между уровнями источника питания и уровнем заземления. Линии сигнала на смежных уровнях должны быть направленный перпендикулярно друг к другу. Неиспользуемое пространство (промежутки) на печатной плате должно быть покрыты заземленной металлизацией. В дополнение к этим методам, дорожки, передающие сигналы таймеров должны быть сгруппированы вблизи друг от друга. Следует избегать резких поворотов дорожек (под углом в 90°). Вместо этого, необходимо использовать плавные изменения направления. Должны быть удалены короткие ответвления от основных дорожек платы.Как мы упомянули ранее, все цепи цифровые, аналоговые, и т.д. должны быть отделены друг от друга. Кроме того, сигнальные дорожки должны быть расположены как можно дальше друг от друга, чтобы предотвратить возможную связь между параллельными дорожками.
6.4. Защитное программирование
В предыдущем разделе мы обсуждали метод «проб и ошибок» при проектировании, позволяющий снизить влияние помех. В этом разделе мы исследуем эффективные программные методы, чтобы снизить чувствительность к помехам. Эта информация адаптирована из статей по применению (Application Notes) фирмы Motorola/Freescale Semiconductor. Точная ссылка приведена в разделе «Что еще прочитать» в конце этой главы.
• Изменение назначения выводов порта: В многих применениях система микроконтроллера используется, чтобы принимать информацию с внешних вводов и затем генерировать соответствующие сигналы на выходе. При этом хорошей практикой, чтобы периодически изменять направление передачи данных в регистрах и выводах, связанных с этими портами.
• Опрос: В этой методике входной вывод опрашивается в течение некоторого периода времени, чтобы гарантировать, что зафиксирован входной сигнал, а не сигнал помехи. Ранее мы обсуждали противодребезговые методы переключения. Как было упомянуто, при одном из таких методов должен контролироваться входной сигнал, чтобы убедиться, что он не изменяется в заданном временном интервале.
• Эстафетная передача: Эта методика гарантирует, что ключевые части алгоритма выполняются в правильном порядке. Это осуществляется, путем расположения в памяти сайта эстафетной коллекции. Когда выполняется алгоритм, в сайт в порядке следования помещаются маркеры. После ввода каждого нового раздела программного обеспечения, исследуется эстафетный сайт коллекции, чтобы гарантировать, что предшествующие части программного обеспечения уже были выполнены в правильном порядке. Если какой-то маркер отсутствует, значит программное обеспечение достигло новой области неправильно. Допустим, например, что вы имеете восемь функций, вызываемых в определенной последовательности. Когда первая функция вызвана, маркер помещается на первое место в эстафетном сайте. Когда вызывается вторая функция, первый маркер проверяется, чтобы удостоверится, что он находится правильном на месте. Если это условие выполнено, помещается второй маркер, показывающий, что была инициализирована вторая функция. Эта процедура проводится для каждой последующей функции.
• Неиспользуемая память: микросхема B32 содержит 32 Кб флэш-памяти, для хранения программы. Было бы идеально записывать в эту память программы объемом точно в 32 Кб. Как эффективно использовать свободное пространство памяти? Хороший программный прием состоит в том, чтобы поместить несколько команд программного прерывания (SWI) на свободное пространство. Следовательно, если процессор неправильно закончит программу в этом пространстве, будет выдана команда программного прерывания. Это обеспечивает устранение сбоев в программе.
• Cторожевой таймер (COP — Computer operating properly): При работе встроенной микропроцессорной системы, необходимо, чтобы она продолжала функционировать правильно. В случае сбоя, процессор должен иметь возможность восстановиться. Одним из методов, который позволяет процессору выйти из режима «зависания» является введение в его состав сторожевого таймера COP. Этот таймер должен непрерывно сбрасываться при нормальном выполнении программы. Если счетчик сторожевого таймера COP переполняется, генерируется сброс COP. Чтобы сбросить таймер до переполнения на регистр сброса таймера COP (COPRST) должна быть послана последовательность команд $55 и $AA. Команды сброса могут быть посланы между командами для 68HC12 контроллера; однако, они должны посылаться через достаточно короткий интервал, чтобы предотвратить ожидание при нормальном выполнении программы. Несколько последовательностей команд $55 и $AA могут быть помещены в ключевые части программы. Если программа «зависает», COPRST не будет получать требуемую последовательность сбросов $55 и $AA. Тогда, контроллер получает команду сброса от таймера COP. Сброс может затем устранять дефект, который первоначально вызвал «зависание».