Юрий Ревич - Занимательная микроэлектроника
- Название:Занимательная микроэлектроника
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2007
- Город:Санкт-Петербург
- ISBN:978-5-9775-0080-7
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Юрий Ревич - Занимательная микроэлектроника краткое содержание
Для широкого круга радиолюбителей
Занимательная микроэлектроника - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Рис. 19.6. Формирователь входных импульсов для частотомера 0–4 МГц
Как я уже упоминал в главе 16 , последовательный порт USART может работать в режиме мультипроцессорного обмена. Однако реализован он довольно сложно и малопригоден для организации такого часто встречающегося варианта, когда есть главный компьютер и несколько равноправных систем на МК, с которым хочется организовать двустороннюю связь через единый COM-порт. Сейчас мы разберем одну из возможностей организации такого обмена.
Обмен такого рода не может обойтись без присвоения индивидуального адреса устройству, т. к. их надо как-то различать. Все подобные протоколы (I 2С хотя бы) различаются лишь способом доставки и форматом этого адреса. В нашем же случае придется еще придумать, как обеспечить «прозрачное» переключение каналов обмена во избежание конфликтов (в USART это достигается односторонностью обмена— по линии от главного МК к ведомым передается только 9-битовый адрес, а обратно— только 8-битовые данные, нам же нужен двусторонний обмен).
Для реализации такого варианта мы сконструируем специальную плату-коммутатор на основе отдельного МК (возьмем тот же AT90S2313). Идея состоит в том, что мы выделяем специальные команды-адреса, которые воспринимает только этот МК, и в соответствии с ними переключает канал обмена на нужное устройство. Если переключать с помощью мультиплексоров/демультиплексоров 561КП2 (см. рис. 8.8), то можно адресовать до восьми устройств. В качестве команд адресации удобно выбрать числа от 0 до 7, тогда они прямо будут соответствовать коду, который требуется подать на мультиплексоры.
Естественно, среди команд управления устройствами и передаваемых к устройству данных байты с таким значением должны полностью отсутствовать (например, установку часов напрямую таким способом не передашь), и это накладывает ограничения, но не очень серьезные. В каждом конкретном случае можно что-нибудь придумать: например, дополнять данные со значением меньше 8 старшим битом, равным единице, или еще что-то в этом роде (с похожими проблемами сталкиваются при передаче произвольных данных — вложений — по электронной почте, и ничего, как видите, справляются). Разумеется, можно задействовать и дополнительные линии СОМ-порта для адресации коммутирующего МК отдельно от остальных, или использовать девятибитовые посылки адреса (так, как это делается в USART), чтобы отличить их от данных и т. п. Здесь я приведу только самый простой вариант.
Схема такого коммутатора показана на рис. 19.7.
Рис. 19.7. Коммутатор UARTна 8 каналов
Выводы коммутатора, помеченные номером с буквой R, следует присоединить к выводам RxD устройств, а их выводы TxD (строго в том же порядке) следует соединить с выводами коммутатора, помеченными номером с буквой Т. Программа коммутатора (листинг 19.8) очень проста и даже не содержит таблицы векторов прерываний, поэтому я привожу ее целиком.
Листинг 19-8
;Тестовый коммутатор
;Кварц 4 МГц
.include <<2313def.inc»
;=======
.def temp = r16
;======= программа
ldi temp,low(RAMEND) ;загрузка указателя стека
out SPL,temp
ldi temp,(1< ;выкл. аналог, компаратор
out ACSR,temp
ldi temp, (1<<<<
out UCR,temp ;разрешение приема/передачи 8 бит
ldi temp,25
out UBRR,temp ;скорость передачи 9600
ldi temp,0b00000111 ;устанавливаем PB0-PB2 выходы
out DDRB,temp
clr temp
out PortB,temp ;по умолчанию адресуется устройство 0
G_cykle:
rcall in_com
cpi temp,9 ;если принятый байт больше или равен 9
brsh G_cykle ;то ничего не делаем
out PortB,temp ;иначе выводим его в порт В
rjmp G_cykle
in_com: ;прием байта в temp с ожид. готовности
sbis USR,RXC
rjmp in_com
in temp,UDR
ret
Больше ничего делать не требуется — «верхняя» программа всегда начинает с того, что посылает номер устройства n от 0 до 7, мультиплексор коммутирует выходы n R и n Т к выводам RxD и TxD устройства с номером и, и далее «общение» с ним происходит совершенно «прозрачно», как будто остальных устройств не существует.
ПРИЛОЖЕНИЯ
Приложение 1
Принятые условные обозначения
I— ток, ампер ( А );
U— напряжение, вольт ( В, V );
R— электрическое сопротивление, ом ( Ом, Ohm );
Е— энергия, джоуль ( Дж );
Р— электрическая мощность, ватт ( Вт, W );
W— тепловая мощность, ватт ( Вт, W );
С— электрическая емкость, микрофарад ( мкФ, μF );
Q— заряд, кулон ( Кл );
t— время, секунда ( с );
T,0— температура, градус Цельсия (° С );
L— длина, метр ( м );
S— площадь ( м 2);
ρ — удельное сопротивление ( ом∙м / мм 2).
Примечание
Все наименования единиц измерения, которые названы по фамилиям ученых, в сокращении пишутся с большой буквы (вольт — В, ом — Ом, ватт — Вт, ампер — А), а все остальные — с маленькой (секунда — с, метр — м).
В табл. П. 1.1 приведены приставки и множители для образования десятичных кратных и дольных единиц.
R— резистор;
С— конденсатор;
VT— транзистор;
VD— диод;
Н— цифровой индикатор;
К— тумблер, кнопка;
Р— реле;
DA— аналоговая микросхема;
DD— цифровая микросхема;
D— микросхема, содержащая аналоговые и цифровые узлы;
Q— кварцевый резонатор;
L— лампа (газоразрядная или накаливания).
В табл. П1.2 приведены символические обозначения в электрических схемах.

Символические обозначения мощности резисторов на схемах
В табл. П1.3 приведены символические обозначения мощности резисторов на схемах.
Приложение 2
Стандартные обозначения и размеры некоторых гальванических элементов
В табл. П2.1 приведены стандартные разновидности бытовых одноразовых электрохимических элементов питания. Элементы одного типоразмера взаимозаменяемы (а также заменяются на аналогичные типоразмеры аккумуляторов), однако могут различаться по энергоемкости. Щелочные (с буквой «L» или надписью «alcaline») элементы приблизительно в три раза превышают по емкости «обычные». Кроме указанных в таблице «пальчиковых» элементов, широко распространены «таблетки» — серебряно-цинковые или угольные малогабаритные элементы с напряжением питания обычно около 3 В, предназначенные для питания маломощных устройств.
Читать дальшеИнтервал:
Закладка: