72 lines
5.7 KiB
Markdown
72 lines
5.7 KiB
Markdown
# 8. Устройство управления контроллером ШИМ.
|
||
|
||
## Описание
|
||
|
||
### Устройство представляет из себя I2C ведущее устройство.
|
||
|
||
### Управляет устройством из задания 7. Имеет 6 кнопок:
|
||
|
||
- #### Включить ШИМ.
|
||
- #### Выключить ШИМ.
|
||
- #### Увеличить частоту на 25% от текущего.
|
||
- #### Уменьшить частоту на 20% от текущего.
|
||
- #### Увеличить скважность.
|
||
- #### Уменьшить скважность.
|
||
|
||
### Пояснения к заданию
|
||
|
||
- #### Состояние ШИМ брать с Master устройста и передавать на Slave устройство.
|
||
|
||
- #### Отправляемые команды - 16 бит, число с фиксированной запятой (12 бит целое, 4 - дробная часть).
|
||
|
||
### Набор команд
|
||
|
||
| Команда | Описание |
|
||
|:--------|:--------------------------------------|
|
||
| TODO: | Включить ШИМ. |
|
||
| TODO: | Выключить ШИМ. |
|
||
| TODO: | Увеличить частоту на 25% от текущего. |
|
||
| TODO: | Уменьшить частоту на 20% от текущего. |
|
||
| TODO: | Увеличить скважность. |
|
||
| TODO: | Уменьшить скважность. |
|
||
|
||
### Описание регистров для I2C
|
||
|
||
| Регистр | Описание |
|
||
|:--------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||
| TWBR | Отвечает за задание битрейта передачи данных. Его значение вычисляется по следующей формуле: ((F_CPU / I2C_FREQ) - 16) / 2. Формула производит округление результата. |
|
||
| TWCR | Регистр управления. Содержит в себе биты управления. |
|
||
| TWDR | Отвечает за передаваемые или принимаемые данные. В этом регистре хранится один байт данных в памяти. |
|
||
| TWAR | Cодержит адрес устройства, по которому микроконтроллер может быть доступен в сети I2C. |
|
||
| TODO: | N/A |
|
||
|
||
### Описание флагов
|
||
|
||
| Флаг | Описание |
|
||
|:------|:---------------------------------------------------------------------------------|
|
||
| TWINT | Флаг TWINT (TWI Interrupt Flag), показывающий, что операция TWI была выполнена. |
|
||
| TWEN | флаг TWEN (TWI Enable), включающий работу TWI интерфейса. |
|
||
| TWEA | флаг TWEA (TWI Enable Acknowledge), чтобы включить ответное подтверждение (ACK). |
|
||
| TODO: | N/A |
|
||
|
||
### Иформация по TW
|
||
|
||
**TWI (Two-Wire Interface)** - это двухпроводный последовательный интерфейс для обмена данными, основанный на
|
||
коммуникационном стандарте I2C (Inter-Integrated Circuit). TWI был разработан компанией Atmel (теперь Microchip
|
||
Technology) и является улучшенной версией I2C.
|
||
|
||
TWI обеспечивает ориентированную на сообщения линию связи с возможностью мастер-ведомый обмен. Обычно в TWI существует
|
||
одно устройство, которое устанавливает шину (master), и одно или несколько устройств, которые подключаются к шине в
|
||
качестве активных (ved) узлов.
|
||
|
||
TWI работает со скоростями передачи данных от 100 кбит/с до 400 кбит/с, хотя некоторые устройства могут поддерживать
|
||
скорость в 1 Мбит/с.
|
||
|
||
Принцип работы TWI основан на использовании двух проводов - SDA (Serial Data) и SCL (Serial Clock). SDA - это линия для
|
||
передачи данных, а SCL - это линия для синхронизации передачи данных. Модулем TWI можно передавать данные и исполнять
|
||
команды чтения/записи, после чего мастер подтверждает успешность операции.
|
||
|
||
TWI нашел широкое применение во многих устройствах, таких как датчики, LCD-экраны, термометры, акселерометры, сенсорные
|
||
панели, электронные блоки питания и т.д.
|
||
|