![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 54555657585960 ... 159 Указанная последовательность операций проиллюстрирована и,, рис. 7.29; там же показана циклограмма формирования запроса цц прерывание (SSPIF). Б приведенной выше последовательности от с \ р. ствовали какие-либо упоминания прерываний, однако использоиц. ние прерываний возможно, при этом исключается необходимость программного опроса различных битов для контроля соответств\ ю-щих операци!!. Чтобы обеспечить прием данных от устройства, следует вынод. нить аналогнчнук! последовательность операций. Отличается лишь тем, что после пере* ылки одного или нескольких байтов а, ре-са модуль MSSP должен соо гветствуюгдим образом конфигурироп.пь-ся для приема данных: 1. Линии SDA/SCL нужно перевести в режим входов (то есть\гта-повить соответствующие биты регистра TRIS). 2. Требуется разрспнпь режим ТС модуля SSP. Это обеснечиииет-ся путем установки бита SSPEN регистра SSPCON и записи кода ОЬОЮОО в биты SSPM3 - SSPMO регистра SSPCON. 3. Следует инициировать стартовые условия путем установки бита SEN регистра SSPC0N2. После этого бит должен периодически опрашиваться вплоть до момента его сброса. 4. В регистр SSPBUF для передачи должен загружаться адрес того устройства, к которому планируется обеспечить доступ. Бит R/ W регистра SSPSTAT нужно установить в I. Он задает операцию чтения. В да-тьнейшем этот бит следует опрашивать вплоть до момента его сброса (что указывает на завершение операции чтения данных). 5. Бит АСК принимающего устройства должен контролироваться посредством считывания бита ACKDT регистра SSPC0N2. 6. В регистр SSPBUF требуется загрузить вторичный адрес, соспвет-ствующий ycrpoiicTBy, из которого планируется считать данные. 7. Если передается вторичный адрес, то следует проверять бит АСК, подтверждающий прием адреса устройством. Осущес i в.чя-ется это путем проверки бита ACKDT регистра SSPCON?. 8. Очередные стартовые условия могут инициироваться в иитер вале между передачей первого и второго байтов. Это обеспечИ вается путем установки бита SEN регистра SSPC0N2. В да-чьие" шем бит должен опрашиваться вплоть до момента его сбросе. 9. Для подтверждения или ненодтверждения приема да1И1Ь" микроконтроллером нужно установить бит ACKEN. ki •о Запись 1 в SSPC0N2 <0> (SEN = 1) инициирует посылку старт-условия (START) о J=- а 5 SDA . При приеме подтверждения "~ обнуляется бит ACKSTAT (SSPCON2<6>) SCL . SSPIF . (SSPSTAT<0>) SEN , PEN , r-SEN = 0 Передача служебного адреса R/W = 0 Бит ACSTAT = 1 (SSPCON2<6>) ACK = 0 Передача данных или второй половины 10-разрядного адреса в регистр SSPBUF записан 7-разрядный адрес и бит R/W, начинается передача данных lSj I Обнуляется программой ![]() - Запись в регистр SSPBUF - После старт-условия бит SEN обнуляется аппаратно -Обнуляется программой обслуживания прерывания от модуля SSP Запись в регистр SSPBUF осуществляется программным путем I Обнуляются программой R/W , 10. Бит RCEN регистра SSPC0N2 должен инициировать онерацщ приема байта данных. Бит BF регистра SSPSTAT периодически опрашивается вплоть до момента приема байта данных. 11. Операции, указанные в пунктах 9-10, должны повторяться до тех пор, пока не будут приняты все необходимые данные. 12. Условия останова инициируются путем установки бита PEN ре. гистра SSPC0N2. Этот бит в дальнейшем следует опрашивать до момента его сброса. На рис. 7.30 показаны временные диаграммы, иллюстрирующие процедуру приема данных. Модуль MSSP обеспечивает возможность передачи данных по интерфейсу Рс в режиме MULTI-MASTER (то есть с несколькими master-устройствами). В этом режиме при возникновении конфликтных ситуаций в процессе передачи данных инициируется прекращение передачи и формируется запрос на прерывание с указанием характера возникшей проблемы. Конфликтная ситуация на шине PC возникает в случае, если несколько устройств пытаются передать данные. Например, одно устройство вьвдает на линию данных (SDA) высокий уровень, а реально на ней оказывается низкий уровень. Эта ситуация проиллюстрирована на рис. 7.31. На возникновение конфликтной ситуации указывает бит WCOL регистра SSPCON. При возникновении конфликтных ситуаций программные средства, используемые схемой PC, обеспечивают формирование паузы перед проверкой наличия высокого уровня сигнала на линиях SDA и SCL, а затем инициирование «повторных стартовых условий». При этом восстанавливается режим передачи данных под управлением схемы PC, причем передача возобновляется с самого начала (даже в том случае, если к моменту возникновения конфликтной ситуации уже была передана большая часть информации). ВСТРОЕННЫЙ АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ Все PIC-микроконтроллеры, для которых предпоследний символ обозначения их типа равен 7, имеют встроенный аналого-цифрО вой преобразователь (АЦП), используемый для оцифровки уровней напряжения в диапазоне от О до Vdd. Прн этом результат измерения может представляться в 8- или 10-разрядном формате. Выводы порта PORTA Moiyr применяться как для ввода/вывода циф ровой информации, так и для ввода аналоговых сигналов. Реальная 0 ... 54555657585960 ... 159 |