Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Глава 3. Периферийные устройства и прерывания 57 дартным величинам - рекомендуемое в документации отклонение составляет не более 0,2%, иначе за помехозащищенность линии фирма ответственности не несет. Существуют специальные кварцы для удобного формирования частот, кратных стандартным скоростям передачи RS-232 (например: 1 , 8432 МГц, 4,608 МГц и др.), к гут от орые позволяют сформировать скорости передачи с Нулевой. ошибкой. Они мо применяться там, где необходима исключительная стабильность и помехоза щ ны и х щ енность линии. Заметим, что в большинстве случаев в АVR точность встроен генераторов тактовой частоты при «умолчательной» частоте 1 МГц позволяет обеспечить более или менее нормальную работу порта UART лишь при скоростях 1 200 бит/с и менее (чем выше тактовая частота, тем выше может быть и это значе ние скорости) . Но пользоваться UART в таком режиме неудобно, помехоустойчи вость при нестабильном генераторе резко падает, потому UART мы всегда будем подключать только в режиме тактирования от внешнего кварца. UART удобен для обмена данными на сравнительно большие расстояния при связи между собой устройств разной природы. Большинство устройств в пределах одной платы или конструктива (память, датчики, внешние АЦП) имеют иные интерфейсы для обмена данными . Их мы сейчас и рассмотрим . Ин те . рфе й с SPI Идея передачи информации побитно с определенными интервалами времени лежит в основе всех последовательных интерфейсов, они различаются только способами синхронизации. В интерфейсе SPI (Serial Peripheral Interface, последовательный пе риферийный интерфейс) синхронизирующие импульсы передают по отдельной, специально выделенной линии. Это облегчает задачу синхронизации (не требуется специально задавать скорости обмена), но требует большего числа сигнальных проводов - не менее трех (см. врезку «Примечание» в предыдущем разделе) . В по давляющем большинстве случаев необходим еще один - четвертый - провод, который присутствует всегда при подключении более чем двух микросхем к одно му интерфейсу, но иногда требуется и при одиночном подключении. Сначала рассмотрим функции этого четвертого провода. Очевидно, что при под ключении более чем двух устройств к одной линии, им нужно как-то «разбираться» между собой, иначе может получиться невесть что, когда два или более устройства «захотят» вдруг одновременно что-то передать . Притом непонятно, кому именно передаваемая информация предназначается. Эта проблема решается по-разному: в самом общем случае каждому устройству присваивается индивидуальный адрес - так работает интерфейс I 2 c (о нем будет рассказано далее в этой главе), аналогично можно устроить многоканальный обмен по UART (его расширенный вариант USART специально приспособлен для такого обмена). В других случаях адрес заменяется выводом «выбор кристалла» (Chip Select, CS - как и в случае RESET , правильно обозначать его со значком инверсии, потому что выбор производится в отрицательной логике - при подаче низкого уровня) . Конечно, аппаратно реализовать этот способ проще, чем идентификацию многих битов адреса, потому он получил широкое распространение с давних времен, при-
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==