Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > MAXQ

реклама

 




Мероприятия:




Передача и прием данных модулем 1-Wire

Все передаваемые и принимаемые мастером 1-Wire данные проходят через буфер принимаемых/передаваемых данных (адрес внутреннего регистра A2:A0 = 001b), показанный ниже.

7             0  
                Буфер передатчика/приемника 1-Wire (1-Wire Transmit / Receive Buffer) (OWA = 001b)
0 0 0 0 0 0 0 0 Сброс при включении питания и системный сброс
rw rw rw rw rw rw rw rw Доступен для чтения (r), записи (w) или специальный (s) доступ
Регистры T0H и T0L используются для загрузки и считывания соответствующих байтов 16- разрядного Таймера 0
                 
Все передаваемые и принимаемые мастером 1-Wire данные проходят через буфер принимаемых/передаваемых данных. Буфер данных является двойным, имея отдельные буферы принятых и переданных данных. Двойная буферизация буфера передатчика и буфера приемника не работает когда активен режим ускоренного поиска ПЗУ (SRA). Запись в буфер подключает к шине данных буфер передатчика, а считывание подключает к шине данных буфер приемника.

Объединенный буфер при передаче состоит из буфера передатчика и регистра сдвига передатчика. Каждый из этих регистров имеет флаг, который может использоваться как источник прерывания. Флаг Transmit Buffer Empty (TBE) устанавливается, когда буфер передатчика пуст и готов принять новый байт данных. Как только байт данных записывают в буфер передатчика, бит TBE очищается. Флаг Transmit Shift Register Empty (TEMT) устанавливается, когда регистр сдвига не содержит никаких данных и готов загрузить новый байт данных от буфера передатчика. После загрузки байта передаваемых данных в регистр сдвига передатчика, бит TEMT сбрасывается, а бит TBE устанавливается.

Чтобы посылать байт данных по шине 1-Wire пользователь записывает его в буфер передатчика. После этого данные переносятся в регистр сдвига передатчика, из которого последовательно сдвигаются на шину 1-Wire, начиная с младшего значащего бита. После очистки регистра сдвига передатчика в него, если доступны, загружаются новые данные из буфера передатчика и процесс повторяется. Обратите внимание, что протокол 1-Wire требует сброса перед любым обменом данных по шине.

При приеме объединенный буфер состоит из буфера приемника и регистра сдвига приемника. Эти регистры также могут формировать прерывания. Флаг Receive Shift Register Full (RSRF) устанавливается при начале сдвига в него новых данных и очищается когда регистр приемника пуст. Флаг Receive Buffer Full (RBF) устанавливаются после передачи данных из регистра сдвига приемника в буфер приемника и очищается после считывания буфера приемника. Если RBF установлен и получен другой байт данных в регистр сдвига приемника, то регистр сдвига приемника будет содержать новый байт и ожидать, пока пользователь не считает буфер приемника, очистив, таким образом, флаг RBF. Таким образом, если и RSRF и RBF установлены, то по шине 1-Wire не должны выполняться никакие другие передачи данных. В противном случае, данные могут быть потеряны, поскольку будут записаны в регистр сдвига приемника поверх имеющихся данных.

Чтобы принять данные от подчиненного прибора, мастер шины должен быть сначала готов послать данные в зависимости от команды в регистре команд. Восстановление принимаемых данных аналогично операции записи. Вычислительное ядро начинает операцию считывания, записывая FFh в буфер передатчика. Данные, которые будут смещены в регистр сдвига приемника будут представлять собой объединение по "И" записанных данных (FFh) и данных, передаваемых ведомым прибором. После заполнения регистра сдвига приемника, данные пересылаются в буфер приемника (если RBF = 0), откуда вычислительное ядро уже может их считать.

Дополнительные байты могут быть приняты после новой посылки FFh. Если ведомый прибор не готов передавать данные, то будет принят байт, состоящий из одних единиц (FFh).



<-- Предыдущая страница Оглавление Следующая страница -->





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники