Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

Глава 4. Микроконтроллеры АVR на практике 71 ливать на выводы SCK, MOSI и MISO соответствующих портов в случае, если они используются для программирования и подключены к программирующему разъему ISP (см. главу 5). Обязательно их устанавливать также по выводам внешних преры­ ваний INTO- INТ2 и PCINТ, если они задействованы. Если эти выводы при выполне­ нии названных функций не «подтягивать» к напряжению питания дополнительны­ ми резисторами (пусть это и не оговорено в технической документации), то не ис­ ключены ложные срабатывания внешних прерываний, перезапуски системы, а при очень мощных помехах - даже порча программы в памяти программ. С другой стороны, когда выводы программирования служат в качестве обычных портов, сконфигурированных на выход, а в устройстве применяются режимы энергосбере­ жения, наличие «подтягивающих» резисторов может привести к лишнему потреб­ лению тока (при установке вывода в логический ноль через резистор потечет ток от источника питания на вход МК). Так что если реализован один из режимов энерго­ сбережения, нужно тщательно проанализировать схему, чтобы исключить ситуа­ ции, при котором через эти резисторы протекает ток. Также всегда следует устанавливать внешние резисторы при работе выводов МК на общую шину, как в интерфейсе I 2 c, или просто при подсоединении входа МК к вы­ ходу другого устройства с открытым коллектором - например, к выходу монито­ ров питания (см. главу 2). Сопротивление встроенного резистора в таких случаях слишком велико для того, чтобы электромагнитные помехи («наводки») на нем эф­ фективно «садились», а в случае 1 2 С при большой емкости шины (т. е . если она дос­ таточно длинная) могут недопустимо затягиваться фронты импульсов. При этом еще раз повторим, что каждый дополнительный «подтягивающий» резистор увели­ чивает потребление схемы, и в случае экономичных режимов их установку стоит продумывать отдельно - возможно, иногда от них целесообразно и отказаться . Корпуса МК и их установка на плату Примеры некоторых типов корпусов, в которых выпускаются микросхемы АVR, приведены на рис. 4 . 1 . Более подробную информацию на эту тему можно найти в прwюжении 2 и в технической документации на контроллеры. Для любительских целей при ручной пайке плат пригодна фактически только одна разновидность корпуса (см. рис. 4 . 1 ) - это DIP или, иначе, РDIР-корпус (буква «Р» впереди просто означает, что корпус из пластика, а не керамический). Такой тип корпуса обозначается буквой «Р» после значения частоты (например, ATmega8- 1 6PU) - и он одинаково удобен и для запайки в плату «наглухо», и для установки на панельку. Именно в таком корпусе устанавливается контроллер в плату Arduino Uno, поэтому его можно оттуда извлекать и использовать плату и контроллер от­ дельно друг от друга. Надо только учитывать, что DIР-корпуса с более чем 40 кон­ тактами не встречаются, поэтому не все старшие модели ATmega удобны для ра­ диолюбительской практики (см. табл. П2 .2 в приложении 2) . Ранее, когда внутрисхемного программирования не существовало, были популярны корпуса типа PLCC с подпружиненными контактами (обозначаются буквой «J»). Вместе с обязательно необходимой в этом случае панелькой они занимают на плате

RkJQdWJsaXNoZXIy MTExODQxMg==