#31, M1S: сопроцессор PIC



Подробности
Tibbit #31 построен на микроконтроллере PIC16F1824 и использует богатый набор периферии этого PIC. Интерфейс I²C служит для связи с главным процессором платы-хозяина TPP (Tibbo Project PCB), а также для обновления прошивки PIC. Четыре линии ввода-вывода микроконтроллера работают как линии IO1 ~ 4 Tibbit #31:
- Три линии поддерживают ШИМ
- Все четыре линии могут работать как входы АЦП
- Две линии могут работать как TX и RX модуля UART микроконтроллера PIC
- Каждая линия может также работать как обычный вход или выход
Три канала ШИМ выведены на линии IO1 ~ IO3. Для каждого канала можно независимо задать частоту и ширину импульса (скважность). Частота определяется делителем и значением периода.
Делитель выбирает базовую частоту канала ШИМ: 32MHz, 8MHz, 2MHz или 500KHz. Период выходного сигнала ШИМ можно запрограммировать равным 4~1,024 периодов базовой частоты с шагом в 4 периода (то есть 4, 8, 12 ... 1,020, 1,024). Так выходная частота перекрывает диапазон от 8MHz до 488Hz.
Ширину импульса ШИМ можно запрограммировать равной 1~1,024 периодов базовой частоты с шагом в 1 период (1, 2, 3 ... 1,023, 1,024).
Аналого-цифровой преобразователь имеет разрешение 10 бит и входной диапазон 0~5V.
UART обладает стандартными возможностями, включая программируемую скорость (бод), бит чётности и выбор 8- или 9-битного режима.
Tibbit #31 сочетается с #20 (девять клеммных колодок) или #19 (разъём DB9M). Использовать последний для подключения проводов к этому модулю можно, но это редкость. Tibbit #21 (четыре клеммные колодки) тоже подходит, но землю придётся брать из другого места: у #21 нет собственной линии земли, а линии ШИМ выдают напряжения относительно системной земли.
Светодиоды
Установлены два красных, один жёлтый и один зелёный светодиод. Первый красный светодиод подключён к линии SCL интерфейса I²C, второй - к линии -RST микроконтроллера PIC. Жёлтый светодиод подключён к линии SDA интерфейса I²C. Зелёный светодиод сидит на линии -INT.
Микроконтроллер PIC и прошивка GRA
Tibbit #31 поставляется с прошивкой GRA (general register access, доступ к регистрам общего назначения), которая даёт доступ к внутренним регистрам и памяти PIC через интерфейс I²C. Прошивка реализует очень простой протокол обмена, по сути из двух основных команд - address read и address write. Они служат для записи во внутреннюю RAM и регистры PIC и чтения из них, что обеспечивает простой и гибкий доступ ко всем ресурсам микроконтроллера. Поверх прошивки GRA работает библиотека Tibbo BASIC, которая по этому протоколу управляет микроконтроллером.
Прошивка GRA не содержит никакой «умной» логики, а вся настройка по сути записана сценарием на Tibbo BASIC, поэтому поведение PIC можно менять, не трогая его прошивку.
Прошивку GRA можно обновить или заменить с помощью проекта Tibbo BASIC update_pic_firmware (см. ниже). Так что вы можете создавать и запускать приложения для PIC, которые заметно выходят за рамки простого доступа к регистрам и памяти.
Пример проекта
Работу с Tibbit #31 иллюстрирует тестовый проект на Tibbo BASIC. Найти его можно здесь: https://github.com/tibbotech/CA-Test-Tibbits-16-17-31.