«Что позволено Юпитеру...», или
Почему одни микроконтроллеры надежнее других
В статье автор рассматривает некоторые аспекты, на которые разработчикам следует обратить внимание при выборе микроконтроллера для применений, отвечающих высоким требованиям надежности и безопасности.
Геннадий ГОРЮНОВ
По роду своей профессиональной деятельности в дистрибьюторской компании ООО «ЭЛТЕХ» автору приходится обсуждать проблемы разработки устройств со многими отечественными производителями электроники. В ходе этих обсуждений выясняется, что российские разработчики используют для решения своих задач микроконтроллеры всех производителей, представленных на электронном рынке. Для некоторых производителей вполне подходят микроконтроллеры так называемого «коммерческого» исполнения. Но есть производители, для которых одним из важнейших критериев выбора электронного компонента является его надежность. Прежде всего, это специалисты, работающие в области производства медицинской техники, лифтового оборудования, автомобильной электроники.
Эксперимент
В 2006 году в нашу фирму обратился Михаил Черепанов — разработчик компании «Свей» («Свей» — российский производитель промышленной электроники). Вот текст его письма:
«История началась с того, что от заказчиков поступили жалобы на то, что наши цифровые преобразователи (построенные на MSP430F148IPM) периодически «зависают» и не отвечают на запросы до тех пор, пока не
будут перезагружены путем снятия и повторной подачи напряжения питания.
Были предположения, что «зависание» происходит из-за наличия импульсных помех (на электрических подстанциях это обычное явление). Чтобы воспроизвести ситуацию, я изготовил генератор помех (рис. 1).
В результате испытаний наши преобразователи были доработаны следующим образом:
1) Вместо кварцевого резонатора установлен кварцевый генератор.
2) Установлен внешний сторожевой таймер, так как вМБР430Р148 он работает от того же кварца и так же оказывается неэффективным.
После чего сбои больше не происходили. Позже наша продукция успешно прошла испытания (для изделий, подлежащих обязательному декларированию соответствия) на ЭМС по:
• ГОСТ Р 51317.4.2.
• ГОСТ Р 51317.4.3.
• ГОСТ Р 51317.4.4.
• ГОСТ Р 51317.4.11.
Для себя я определил минимальные требования для используемого микроконтроллера:
1) Испытания генератором помех.
2) Если используется внутренний сторожевой таймер, то он должен работать сразу после включения микроконтроллера и тактироваться собственным генератором.
3)Документация должна быть «дружественная», с примерами конфигурирования периферии.
4)Наличие доступных отладочных средств (в пределах $200).
5) Если требуется USB, Ethernet, TCP, то должна быть соответствующая готовая библиотека, а лучше RTOS с поддержкой оных». Итак, наш клиент просил помочь подобрать ему микроконтроллер, устойчивый к сильным электромагнитным полям. Мы предложили устройства NEC, зная, что эти микроконтроллеры находят широкое применение в автоэлектронике, где электромагнитная обстановка очень сложная.
Было представлено несколько оценочных комплектов. Тогда заказчик сказал, что он хочет проверить их искровым генератором. Честно говоря, мы немного волновались, как пройдут эти испытания, однако такие условия вполне соответствуют реальным автомобильным ситуациям, когда происходит пробой высоковольтного провода. При этом электроника должна продолжать исправно работать.
Данный метод проверки был достаточно грубым, ведь оценочные комплекты не предназначены для таких испытаний. Мы понимали, что в этом эксперименте есть известный риск, и, возможно, наши «оценочники» даже могут выйти из строя после подобного испытания. Но, имея достаточный опыт работы с этими устройствами и учитывая опыт наших заказчиков, мы решили, что они выполнены надлежащим образом и будут работать так, как положено.
Мы предоставили два оценочных комплекта:
• Low Pin Count — Do it!, построенный на основе 8-разрядного UPD78F9222;
• EB-V850ES/HG2-EE, построенный на основе 32-разрядного UPD70F3707.
Искровой разряд производился в непосредственной близости с оценочными комплектами.
Схематично процесс тестирования изображен на рис. 2.
-220
0
HER307
10 мкФ 300 В
___
1 TTI220V/1V 1 (трансформатор 1—2 Вт)
АЛА_______________________
РЭП36-11 УХЛ4
Длина проводов от клемм реле 2 и 5 до трансформатора TTI220V около 70 см
Рис. 1. Генератор помех
Оба оценочных комплекта работали без сбоев, даже когда искра приближалась на расстояние порядка 5 см. Заказчик сообщил, что подобным образом он проверил более 10 различных оценочных комплектов. Мы попросили его предоставить результаты этих экспериментов. Далее они будут приведены без комментариев, «как есть».
Через некоторое время заказчик провел еще один, можно сказать, более «варварский» эксперимент. Однако его результаты также интересны. Он рукой касался выводов работающего кварцевого генератора. В таких условиях из всех перечисленных микроконтроллеров, тактируемых от внешнего генератора, работал только один — иРБ70Р3707 (ЫЕС). Однако, справедливости ради, следует заметить, что при прикосновении демонстрационная программа заметно замедляла скорость своего выполнения. Причина такого «поведения» микроконтроллера иРБ70Р3707 будет объяснена далее.
Давайте попытаемся понять, благодаря чему семейство У850Е8/ИС2 (к которому принадлежит микроконтроллер иРБ70Р3707) оказалось столь «живучим». Если внимательно рассмотреть некоторые периферийные узлы, то все постепенно становится на свои места.
Сторожевой таймер и тактовые генераторы
Проблемы, с которыми столкнулся наш клиент, были вызваны тем, что при воздействии сильных электромагнитных помех возможен срыв генерации кварцевого генератора, а так как в микроконтроллере М8Р430Р148 сторожевой таймер тактируется от того же самого опорного генератора, то при остановленном опорном генераторе сторожевой таймер уже не может «разбудить» микроконтроллер [1]. Для того чтобы предотвратить эту ситуацию, во всех микроконтроллерах ЫЕС сторожевой таймер тактируется от отдельного внутреннего кольцевого генератора. Кольцевой генератор представляет собой нечетное число инверторов, соединенных в коль-
цо так, что выход одного инвертора идет на вход следующего. Срыв генерации кольцевого генератора практически невозможен. Следует отметить, что во всех микроконтроллерах семейства V850 от NEC запуск процессорного ядра происходит от дополнительного встроенного кольцевого генератора, и только убедившись в том, что кварцевый генератор запустился, вы можете переключить тактирование на «кварц».
Монитор тактовой частоты (Clock Monitor)
Монитор тактовой частоты следит за наличием генерации тактового генератора, использующего внешний кварцевый резонатор. В случае если генерация пропадает, генерируется внутренний сигнал сброса RESCLM и устанавливается флаг RESF.CLMRF [2]. После выхода из режима сброса микроконтроллер анализирует этот флаг и «понимает», что возникли проблемы с внешним тактовым генератором, после чего ядро запускается от одного из внутренних тактовых генераторов. В зависимости от семейства может быть 1 или 2 генератора, однако их частота, как правило, всегда меньше, чем частота генератора, использующего внешний резонатор.
Именно поэтому после прикосновения пальцем микроконтроллер uPD70F3707 продолжал работать, но уже значительно «медленнее», что и констатировал Михаил Черепанов из компании «Свей».
Интересно, что в той или иной степени это устройство реализовано и в других микроконтроллерах. Однако, если используемый тактовый генератор задается при программировании FLASH и не может быть изменен программно, то сценарий запуска от альтернативного внутреннего генератора, описанный выше, реализовать уже невозможно.
Кроме семейства V850ES/Hx2, этот узел имеют также семейства, специально разработанные для приложений управления элект-
родвигателями (V850E/IA3, IA4, IF3, IG3; V850ES/IK1, IE2), для автомобильных приборных панелей (V850E/Dx3), для бортовой электроники с CAN-интерфейсом (V850ES/Sx2, Sx2-H, Sx3, Fx2, Fx3, Fx3-L), а также V850ES/Kx1+, Jx2, Jx3, Jx3-L, Hx2 и Hx3.
Следует отметить, что в некоторых других микроконтроллерах (как правило, в 8- и 16-разрядных) инженеры NEC вместо монитора тактовой частоты используют оконный сторожевой таймер. Он имеет совершенно иной принцип работы, однако это периферийное устройство можно использовать с той же целью, что и монитор тактовой частоты, то есть он может отслеживать факт исчезновения тактовых импульсов «внешнего» опорного генератора и позволяет микроконтроллеру переключиться на внутренний генератор.
Разделение шин питания
Все 32-разрядные микроконтроллеры NEC, упоминавшиеся ранее, и многие 8-разрядные имеют раздельные шины питания для внутренних периферийных устройств, процессорного ядра и цепей портов ввода/вывода. На рис. 3, 4 схематично показано такое разделение.
При правильной развязке шины питания ядра и портов ввода/вывода помехи, наведенные на портах ввода/вывода, не попадают в цепи питания периферийных устройств и ядра и повышают электромагнитную устойчивость (EMS).
Так, например, в оба списка (табл. 1, 2) попали микроконтроллеры с ядром АРМ.
Без сбоев работали микроконтроллеры ADUC7026BSTZ62, в то время как в «черный список» попали микроконтроллеры с ядром АРМ от NXP (LPC2148). Если исследовать цепи питания ядра, периферийных устройств и портов ввода/вывода, можно отметить, что микроконтроллер от Analog Devices, также «устоявший» против искры [3], имеет структуру питания, аналогичную V850ES/Hx2
REPO <• AVssC
FLMD0Note1 С VDd С REGCNote2 С VSS< X1 С
___X2C
RESET С XT1 с XT2 С
P0O/TIP31/TOP31 С Р01/Т1РЗО/ТОРЗОС P02NMI С P03/INTP0/ADTRG С P04/INTP1 С
тгтт
да
62 61 60 59 58 57 56 55 54 53 52 51 50 49
_______Аналоговое
питание
Q
Питание
ядра
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
ШШШАШШ.
OOOr-i-^-O*— СЧ^О й 8 u g z О О О О О О
2|22s:ig^e
)PDL1
DPDL0
DPCM1/CLK0UT )РСМ0 3P915/INTP6 3 P914/INTP5 3 P913/INTP4/PCL 3 P99/SCKB1 5 P98/SOB1
3 P97/SIB1/TIP20/TOP20 3 P96/TIP21/TOP21 3 P91/KR7/RXDA1 3 P90/KR6/TXDA1 3 P55/KR5/DMS ^ P54/KR4/DCK 3EVnr
DD
Питание портов ВВ
Рис. 4. Раздельные выводы для питания ядра, портов ввода/вывода и аналоговой части микроконтроллера семейства V850ES/Hx2
Таблица 1. Оценочные комплекты при проверке работали без сбоев
Название Описание
uPD78F9222 оценочный комплект Low Pin Count - Do it!, 2-слойная плата, проверена с кварцем и внешним генератором от NEC Electronics
uPD70F3707 оценочный комплект EB-V850ES/HG2-EE от NEC Electronics
TMS320F2806 2-слойная плата, с внешним генератором
ADUC7026BSTZ62 макетная плата, с кварцем
ATMEGA32-16PU навесной монтаж на ножках микросхемы, с кварцем
AT89C51-24PI 2-слойная плата, с кварцем
Z8F2421AN020EC 2-слойная плата, с кварцем
EZ80F91AZ050SC отладочный комплект eZ80F910200ZCO, 4-слойная плата, с кварцем
MC56F8322VFB60 отладочный комплект MC56F8300DSK, 2-слойная плата, видимо, с внутренним RC-генератором
MC9S12NE64 отладочный комплект DEMO9S12NE64
CY8C21x34 Cypress; отладочный набор CY3212 — CapSense, 2-слойная плата, внутренний RC-генератор
Таблица 2. Оценочные комплекты, которые при проверке имели сбои тестовой программы
Название Описание
C8051F064 Silicon Labs; 2-слойная плата, работа от кварца
MSP430F148IPM 2-слойная плата, с кварцем 8 МГц
LPC2129 отладочная плата
LPC2148FBD64 2-слойная плата, с внешним генератором
LPC2148 отладочный комплект от Olimex, на 2-слойной плате, с кварцем
TMS470R1A256 KickStart Development Board от IAR на TMS470R1A256, c кварцем
AT91SAM7S128 отладочный комплект от Olimex
от ЫЕС. А именно развязанные шины питания ядра и портов ввода/вывода (рис. 5, 6).
Инженеры ЫХР при создании ЬРС2148РБ064 [4] ограничились только разделением аналоговых и цифровых цепей питания (рис. 7).
Даже в микроконтроллерах, анонсированных как предназначенные для автомобильного применения, таких как АТ90САЮ2/64/128; АТmega164P/324P/644P и АТmega32M1/64M1/ 32С1/64С1, разделение шин питания портов
ввода/вывода и шин питания ядра не предусмотрено. В результате возрастает возможность отказа из-за помех, наведенных по цепям ввода/вывода в ответственных применениях.
Рис. 5. Шины питания портов ввода/вывода микроконтроллера ADuC7026
Рис. 6. Шины питания ядра микроконтроллера ADuC7026
P0.21/PWM5/AD1.6/CAP1.3 [Т P0.22/AD1.7/CAP0.0/MAT0.0 [Т RTCX1 НЕ P1.19/TRACEPKT3 IX RTCX2IX Vssff VddaIZ Р1.18/ШАСЕРКТ2 IX PO.25/ADO.4/AOUT [X D+QO
d-QT
P1.17/TRACEPKT1 [12 P0.28/ADO. 1 /САР0.2/МАТ0.2 [13 P0.29/AD0.2/CAP0.3/МАТ0.3 [14 P0.30/AD0.3/EINT3/CAP0.0 [15 P1.16/TRACEPKT0Q6
о
Q
< - ,
I4* LL —I —I
OJ ш < <
S > >< >< i ">* £ I! |s||s||s||s||g||5||g||K||a||s||s||a||a||s||g||s|
м ш ст> о o> ю о t_
5 *1 И 1 ^ ^ Q w <
г- О О О Q</3DQ
Cl 0.0. Q-0->>>
О
I I Питание аналоговой части
I I Питание цифровой части
I I Питание часов
LPC2144/2146/2148
Щ P1.20/TRACESYNC
47] P0.17/CAP1.2/SCK1/MAT1.2
46] P0.16/EINT0/MAT0.2/CAP0.2
45] P0.15/RI1/EINT2/AD1.5
44] P1.21/PIPESTAT0
M]VDD
42] Vgg
4Ц P0.14/DCD1/EINT1/SDA1 40] P1.22/PIPESTAT1 39] P0.13/DTR1/MAT1.1/AD1.4 Ц] P0.12/DSR1 /MAT1.0/AD1.3 37] P0.11/CTS1/CAP1.1/SCL1 36] P1.23/PIPESTAT2 35] P0.10/RTS1/CAP1.0/AD1.2 34] P0.9/RXD1/PWM6/EINT3 33] P0.8/TXD1/PWM4/AD1.1
>gl
Рис. 7. У микроконтроллера LPC2148FBD нет «развязки» питания между ядром и портами ввода/вывода
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 7 ’2008
2,5 В 3,3 В
PIC24FJ64GA
^DD
DISVREG
^ddcore/^cap
VSS
Рис. 8. Цепи питания ядра и портов ввода/вывода у микроконтроллера PIC24FJ64GA не имеют развязки по общему проводу
Глубина модуляции 3% Модуляции нет Период модуляции: 13—27 кГц
Рис. 9. а) Гармонический сигнал; б) сигнал SSCG
Микроконтроллер MSP430F148, который был использован в разработке, описанной Михаилом, также не имеет разделения шин питания ядра и портов ввода/вывода.
Можно также вспомнить еще одного очень популярного производителя микросхем — компанию Microchip. Исследования с микроконтроллерами данного производителя не проводились, однако, если посмотреть на них с точки зрения разделения шин питания, то в определенном смысле концепция развязки портов ввода/вывода и периферийных устройств реализована в семействе PIC24FJ64GA/ 128GA/256GA. На рис. 8 видно, что цепи питания ядра VDDCORE и портов ввода/вывода VDD разделены. Однако общий провод VSS остался гальванически не развязанным для этих двух цепей питания. По предварительным оценкам, помехозащищенность этих микроконтроллеров будет ниже, чем у ADUC7026 от ADI или V850 от NEC.
Тактовый генератор с расширенным спектром (SSCG)
Следует обратить внимание и на возможность использования тактового генератора с расширенным спектром. Такой генератор имеет частотно-модулированные колебания. «Пик» АЧХ, характерный для генератора гармонических колебаний, под воздействием частотной модуляции «размазывается» и превращается в «полку». Глубину и период час-
тотной модуляции сигнала генератора SSCG можно изменять. Таким генератором наделены микроконтроллеры семейств V850E/ME2, Dx3, V850ES/Hx3, Fx3, V850E2/ME3 от ОТС Его применение позволяет уменьшить более чем на 10 дБ электромагнитную эмиссию (EME), излучаемую генератором, и, следовательно, уменьшить чувствительность к внешним электромагнитным помехам (EMS) на частотах работы тактового генератора (рис. 9).
Применение цепи ФАПЧ
Еще одним способом уменьшения EMS является применение синтезатора частоты на основе петли ФАПЧ (PLL). Нарис. 10 видно, что паразитные высокочастотные сигналы, наведенные на выводах кварцевого резонатора, фильтруются при прохождении через ФНЧ петли ФАПЧ. На рис. 11 приведены данные, позволяющие оценить, насколько улучшается EMS микроконтроллера при использовании ФАПЧ.
Напряжение питания
Можно показать, что чем выше напряжение питания, тем выше помехоустойчивость микропроцессорной схемы. Верно и то, что чем меньше напряжение питания, тем меньше микроконтроллер будет «шуметь». Так, LPC2129 [5] от NXP и AT91SAM7S128 [6] от Atmel, попавшие в «черный список», имеют необходимую развязку шины питания ядра
и шин питания портов ввода/вывода. Однако слишком малое напряжение питания ядра (1,8 В) отрицательно сказывается на помехоустойчивости этого микроконтроллера.
Иногда бывает необходимо «связать» 3- и 5-вольтовую логику. При этом очень кстати может оказаться толерантность портов ввода/вывода к различным уровням логических сигналов, то есть возможность поддержки микроконтроллером различных напряжений портов ввода/вывода при неизменном напряжении питания ядра микроконтроллера и периферийных устройств [7] (рис. 12).
Поддержка фирмы, изготовителя микросхем, может включать такие ресурсы, как рекомендации по трассировке печатной платы, анализ производителем микросхем участка печатной платы, связанной с трассировкой микроконтроллера, и дополнительных компонентов с предложениями по улучшению электромагнитной совместимости (EMC) (рис. 13), материалы по электромагнитному излучению (EME) микроконтроллеров [8] (предоставляются после запроса у дистрибьютора). На рис. 14 представлена лаборатория NEC по проведению исследований на EMC [8]. Ее особенность в том, что она должна находиться высоко в горах, вдали от источников электромагнитного излучения.
Поддержка дистрибьютора включает предоставление образцов и оценочных комплектов для тестирования, техническую поддержку и другой сервис. В некоторых случаях, как было показано выше, дистрибьютор идет на
Генератор, управляемый напряжением
Фазовый
компаратор
Генератор
ГІН
ФНЧ
ГУН
L
Делитель
К ЦПУ и другим устройствам
ВЧ-шум отфильтровывается, проходя через ФАПЧ
J
Рис. 10. При использовании ФАПЧ фильтруются ВЧ-помехи
Потенциал сигнала 0 кВ 1,0 кВ 2,0 кВ или выше
помехи і і і
V850ES/KJ1
Микроконтроллеры V850 ' (без синтезатора с ФАПЧ) -
V850ES/KJ1 (с FLASH) Более ранние семейства У850
VDd=5B У0о=5В
Резонатор: 4 МГц Резонатор: 16 МГц
Включен синтезатор с ФАПЧ внутренняя частота: 16 МГц Частота, формируемая внешними цепями: 16 МГц
Рис. 11. Повышение устойчивости к помехам при применении ФАПЧ
Рис. 12. Структура питания микроконтроллеров семейства V850ES/Fx2
Таблица 3. Параметры, влияющие на надежность некоторых семейств микроконтроллеров ИЕС Е!ес1готсз
78K0/Kx1+ - 10 МГц 2,0-5,5 - A, A2 - - - - Есть Есть
78K0/Kx2 - 20 МГц 2,7-5,5 Есть A, A2 - - - Есть Есть Есть
78K0/Fx2 20 МГц 1,8-5,5 Есть A, A2 - - - Есть Есть Есть
V850ES/Fx3 1, 2, 4, 5 95 MIPS (48 МГц) 3,3-5,5 Есть A, A1, A2 Есть Есть Есть - Есть Есть Есть Есть Есть
V850ES/Fx3-L 43 MIPS (20 МГц) 3,3-5,5 Есть A, A1, A2 Есть - Есть - Есть Есть
V850ES/Sx3 1, 2 69 MIPS (32 МГц) 2,8-3,6 Есть A Есть - Есть - Есть Есть
V850E/Dx3 1, 2, 3 95 MIPS (48 МГц) 4,0-5,5 Есть A Есть Есть Есть - Есть Есть
Рис. 13. Через дистрибьютора можно запросить рекомендации по улучшению ЕМС для вашего дизайна печатной платы
риск, чтобы проект начал развиваться. Более «плотная» работа с дистрибьютором, как правило, всегда бывает выгодна конечному разработчику и производителю.
В таблице 3 приведены данные некоторых семейств микроконтроллеров МЕС, рекомендованных для применения в приложениях с повышенными требованиями к надежности, и некоторые характеристики, позволяющие оценить, насколько надежным может получиться устройство, построенное на этих микроконтроллерах.
Заключение
Рассмотрены основные аспекты, связанные с выбором микроконтроллеров для ответственных применений. Испытания, проведенные по довольно «суровой» методике, приведенной в статье, позволяют читателю решить задачу с выбором микроконтроллера для своего применения, с учетом требований к надежности разрабатываемого устройства, а также сервиса, получаемого как при разработке, так и на всех последующих стадиях производства.
В одной из своих новых разработок фирма «Свей» применила 8-разрядный микроконтроллер иР078Р92120К производства МЕС Е1еСтошс8. ■
Литература
1. http://focus.ti.com/lit/ds/symlink/msp430f148.pdf
2. http://www.eu.necel.com/_pdf/ U17718EJ2V0UD00.PDF
3. http://www.analog.com/static/imported-files/ data_sheets/ADUC7019_7020_7021_7022_7024_ 7025_7026_7027_7028.pdf
4. http://www.nxp.com/acrobat_download/ datasheetsZLPC2141_42_44_46_48_3.pdf
5. http://www.nxp.com/acrobat_download /datasheets/LPC2109_2119_2129_6.pdf
6. http://www.atmel.com/dyn/resources/ prod_documentsMoc6175.pdf
7. http://www.eu.necel.com/_pdf/ U17830EE1V0UM00.PDF
8. Материалы, предоставляемые МЕС Екйгошся (www.necel.com) по запросу.