92
© 2009 Гамма-Санкт-Петербург 32PER Особенности 16- и 32-разрядных микроконтроллеров. Новая периферия

5 32PER web - Microchip · © 2009 Гамма-Санкт-Петербург Особенности l Быстродействие16 MIPS @ 32 МГц l Памятьпрограмм

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

© 2009 Гамма-Санкт-Петербург

32PERОсобенности 16- и 32-разрядных микроконтроллеров.

Новая периферия

© 2009 Гамма-Санкт-Петербург

План лекции

l Семейство PIC24l Семейство PIC32l Мультиплексирование выводов. Функция

PPSl Обработка емкостных датчиков. Модуль

CTMUl Прямой доступ к памяти DMAl Параллельный порт PMPl Универсальная последовательная шина

USB On-The-Go

© 2009 Гамма-Санкт-Петербург

32bit

Следуя пожеланиямклиентов

Microchip Solutions

~500 типовмикроконтроллеров

Интеграция

PIC24H40 MIPS28 – 100 pinsUp to 256KB Flash

dsPIC3340 MIPS28 – 100 pinsUp to 256KB Flash

dsPIC30F30 MIPS18 – 80 pinsUp to 144KB Flash

PIC24F16 MIPS28 – 100 pinsUp to 256KB Flash

16bit

PIC1810 MIPS18 - 100 pinsUp to 128KB Flash

PIC128 pinsUp to 4KB Flash

PIC106 pinsUp to 1KB Flash

PIC1614 - 40 pinsUp to 16KB Flash

8bit

Более сложные программыОперационные системы>40 MIPS>256KBUSB, Ethernet, QVGA, etc.

Растущие требованиязаказчиков

Едина

я сред

а разр

аботки

MPLAB®

Производительность

© 2009 Гамма-Санкт-Петербург

PIC24

© 2009 Гамма-Санкт-Петербург

Пери

фери

йнаяшина

Семейство PIC24FJ64GA004

16-битное ядро 16 MIPS

16-бит АЛУ

17 x 17 MPY

JTAG & EMU

Адресныйгенератор

Сдвигатель

16 регистров

Шина данных

16…64 кБFLASH

4…8 кБSRAM

IRQ

Порты

общего

назн

ачения

Матри

цаподключен

ия

(PP

S)

UART2

SPI2

IC5

OC5

RTCC1

TMR5

COMP2

CRC1

WDT1

ADC1

PMP1

I2C™2

© 2009 Гамма-Санкт-Петербург

Свойстваl Быстродействие 16 MIPSl Память программ

l Самопрограммированиеl 16, 32, 48, и 64 KБ

l 4 KБ, 8 KБ ОЗУl Корпуса

l 44-pin TQFP, QFNl 28-pin SOIC, SSOP, SP,

QFNl Внутренний генераторl Функции энергосбереженияl JTAG граничное

сканирование ипрограммирование Flash

Периферияl 2 x UART с LIN и IrDA®

l 2 x I²C™l 2 x SPIl До 13к x 10-р АЦП (500 ksps)l 5 x 16-р таймер, 5 x IC, 5 x

OC/PWMl Peripheral Pin Select – до 26

выводовl Выбор периферии,

назначение на вывод MCUl 2 x компаратораl Аппаратный RTCCl Аппаратный CRCl Параллельный мастер-порт

Семейство PIC24FJ64GA004

© 2009 Гамма-Санкт-Петербург

l Огромная функциональность в маленьком корпусе

l Наибольший объем Flash и ОЗУ в 16-р MCU в 28-и выводном корпусеl До 64 KБ Flash и до 8 KБ ОЗУl Контроллеры в 28-и и 44-х выводных корпусах

содержат всю периферию 100-выводныхконтроллеров

l Новая разработка Microchip добавляющаягибкость разработке: Peripheral Pin Selectl Предоставляет разработчику оптимизировать выбор

необходимых периферийных устройствl Упрощает разработку, Уменьшает стоимость

Семейство PIC24FJ64GA004

© 2009 Гамма-Санкт-Петербург

l Расширение семейства PIC24FJxGA0l 12 новых контроллеров:

l От 128 до 256 кБ Flashl 16 кБ SRAMl 64, 80, 100 выводов

l Обновленная и новая периферияl PPSl CTMUl 4 UART, 3 I2C™, 3 SPI, 3 компаратораl Модули захвата, сравнения/ШИМ с индивидуальным

таймером (23 таймера на кристалле)

Семейство PIC24FJxGA1

© 2009 Гамма-Санкт-Петербург

Семейство PIC24FJxGA1

Пери

фери

йнаяшина

16-битное ядро 16 MIPS

16-бит АЛУ

17 x 17 MPY

JTAG & EMU

Адресныйгенератор

Сдвигатель

16 регистров

Шина данных

128…256 кБFLASH

16 кБSRAM

IRQ

Порты

общего

назн

ачения

Матри

цаподключен

ия

(PP

S)

UART4

SPI3

IC9

OC9

RTCC1

TMR5

COMP3

CRC1

WDT1ADC1

PMP1

I2C™3

CTMU1NEW

NEW

NEW

NEW

NEW

NEW

© 2009 Гамма-Санкт-Петербург

Особенностиl Быстродействие 16 MIPS @ 32 МГцl Память программ

l самопрограммирование Flash, поддержка эмуляции EEPROM

l 256, 192 и 128 KБl 10,000 циклов стирания/записи

l 16 KБ RAMl 100, 80, 64-и выв. TQFP корпусаl Внутренний генераторl Режимы энергосбереженияl JTAG граничное сканирование и

программирование Flashl Напряжение питания 3.3В

Периферияl 4 x UART с LIN и IrDA®

l 3 x I²C™l 3 x SPIl 16к x 10-р АЦП (500 ksps)l 3 x компаратораl 5 x 16-р таймеровl 9 x модулей захватаl 9 x модулей сравнения/ШИМl PPS – Peripheral Pin Selectl CTMU – Charge/Time Measurement

Unitl Аппаратный RTCCl Аппаратный CRCl Параллельный мастер-порт

Семейство PIC24FJxGA1

© 2009 Гамма-Санкт-Петербург

Семейство PIC24FJxGB1

l Расширение семейства PIC24FJxGA1l USB On-The-Go контроллер с трансиверомl Вся остальная периферия такая же

l 12 контроллеров:l От 64 до 256 кБ Flashl 16 кБ SRAMl 64, 80, 100 выводов

l USB 2.0 OTGl Реализация функции и упрощенного хостl Поддержка протокола определения ролейl 32 конечных точки

NEW

© 2009 Гамма-Санкт-Петербург

Семейство PIC24FJxGB1

Пери

фери

йнаяшина

16-битное ядро 16 MIPS

16-бит АЛУ

17 x 17 MPY

JTAG & EMU

Адресныйгенератор

Сдвигатель

16 регистров

Шина данных

128…256 кБFLASH

16 кБSRAM

IRQ

Порты

общего

назн

ачения

Матри

цаподключен

ия

(PP

S)

UART4

SPI3

IC9

OC9

RTCC1

TMR5

COMP3

CRC1

WDT1ADC1

PMP1

I2C™3

CTMU1

NEW

© 2009 Гамма-Санкт-Петербург

Особенностиl Быстродействие 16 MIPS @ 32 МГцl Память программ

l самопрограммирование Flash, поддержка эмуляции EEPROM

l 256, 192 и 128 KБl 10,000 циклов стирания/записи

l 16 KБ RAMl 100-, 80-, 64-и выв. корпуса TQFP l Внутренний генераторl Режимы энергосбереженияl JTAG граничное сканирование и

программирование Flashl Рабочее напряжение 3.3В

USB OTG (device, mini-host, OTG)l Интегрированная поддержка

повышающего стабилизатораl Отдельный 3.3В регуляторl Отдельная шина данных

Периферияl 4 x UART с LIN и IrDA® интерфейсомl 3 x I²C™l 3 x SPIl 16к. x 10-р АЦП (500 ksps)l 3 x компаратораl 5 x 16-р таймерыl 9 x модулей захватаl 9 x модулей сравнения/ШИМl PPS - Peripheral Pin Selectl CTMU – Charge/Time Measurement Unitl Аппаратный RTCC и Аппаратный CRCl Параллельный мастер-порт

Семейство PIC24FJxGB1

© 2009 Гамма-Санкт-Петербург

Пери

фери

йнаяшина

16-битное ядро 16 MIPS

16-бит АЛУ

17 x 17 MPY

JTAG & EMU

Адресныйгенератор

Сдвигатель

16 регистров

Шина данных

8…16 кБFLASH

1…1.5 кБSRAM

IRQ

Порты

общего

назн

ачения

UART2

SPI1

IC1

OC1

RTCC1

TMR3

COMP2

CRC1

WDT1

I2C™1

ADC1

512 БEEPROM

CTMU1

Семейство PIC24F16KA

NEW

NEW

© 2009 Гамма-Санкт-Петербург

Семейство PIC24F16KA

Особенностиl Быстродействие 16 MIPS l Диапазон напр. от 1.8 до 3.6Вl Память программ

l Самопрограммирование Flash l 8, 16 KБ

l 1 и 1.5 KБ RAMl 512 Байт EEPROMl Возможные корпуса

l 28-pin SOIC, DIP, QFNl 20-pin SOIC, SSOP, DIP

l Энергосбережение, 8 режимовl Deep Sleep, <200nAl Halt / Sleep, <1uAl IDD < 1mA / MIPS

l PLVD/PBORl Низкопотребляющий BOR

Периферияl Внутренний генератор

l От 31 кГц до 32 МГц

l 2 x UART с LIN и IrDA®

l 1 x I²C™l 1 x SPIl 9к x 10-р АЦП (500 ksps)l 3 x 16-р таймера, IC, OC/PWMl 2 x компаратораl Аппаратный RTCC

l Работа в Deep Sleep

l Аппаратный CRC l CTMU – Charge/Time Measurement Unit

Доступностьl Образцы – даl Производство – Да!

NEW

© 2009 Гамма-Санкт-Петербург

dsPIC33

© 2009 Гамма-Санкт-Петербург

Семейство dsPIC33F GP 28-40pin

l Больше памяти в 28-выводномкорпусе

l 13 новых ДСП: l 16-128 KB Flashl 2-8 KB RAMl 28/44 выводов

l Новая периферия:l Audio Stereo DACl 2x 20 ns Компараторl RTCC, PMP, CRCl PPS

l Другие возможностиl Интерфейс AC97/I2Sl DMA / Dual Port RAMl ECANl 10/12-bit АЦП

BOOT

SECURE

GENERAL

Загрузчик,идентификация

IP библиотеки

Основноеприложение

GodeGuard™ Security

l Защита прошивкиl Многопользовательское ПО

© 2009 Гамма-Санкт-Петербург

l 13 новых ДСП:l 16-128 KB Flashl 2-8 KB RAMl 28/44 выводов

l Новая периферияl 2 компаратораl 2 QEIsl RTCC, PMP, CRCl PPS

l Другие возможностиl DMA / Dual Port RAMl ECAN интерфейсl 10/12-р АЦП

Семейство dsPIC33F MC 28-40pin

Маловыводные контроллеры для управления двигателями

Gen #1

Gen #2

Gen #3

Gen #4

DT

DT

DT

DT

PW

M O

verride

2x FaultTime Base

Time Base

Trigger

Trigger

© 2009 Гамма-Санкт-Петербург

Семейство dsPIC33F GS

1 управляющий ЦАП--4 компаратора4 компаратора

3.3V, 40 MIPS, Low power5V, 30 MIPS

На 60% меньше потребление--

10-р АЦП 4 MSPS10-р АЦП 2 MSPS

Peripheral Pin Select--

4x2 PS PWM4x2 PS PWM

2K Bytes RAM512 Bytes RAM16 KB Flash12 KB Flash28- выводов28-выводов

33FJ16GS502 (Скоро)30F2020 (Сейчас)

Новое поколение SMPS контроллеров

NEW

© 2009 Гамма-Санкт-Петербург

PIC32

© 2009 Гамма-Санкт-Петербург

16-bit Core

16-bit ALU Register File 16 x 16

17 x 17 MPY AddressGeneration

Barrel Shifter

JTAG & Emu Interface

Memory Bus

64 - 128 KBFlash

8 KBRAM

Periph

eral Bu

sInterruptControl

16-bit Timers

Watchdog

A/D, 10-bit, 16 ch.

GP I/O

UART - 2

I2C™ - 2

SPI™ - 2

Cap/Com/PWM - 5

PMP

RTCC

PIC24F Family

Inst. Data

VREG POR BOR16-bit PMP

USB OTG

Bus Matrix

32 - 256 KBFlash

8-32 KBRAM

0-4 ChDMA

Prefetch

32-bit Core

32-bit ALUSingle Cycle MAC

VectoredInterrupt Ctlr

HardwareTrace

32 32-bitCore Registers

32 32-bitShadow

Registers

JTAG & Emu Interface

PIC32MX Family

© 2009 Гамма-Санкт-Петербург

MIPS32TM 32-bitexecution unit

32 coreregisters

Co-processor 2Interface

32 ShadowRegisters

MMU SRAM Interface

FMT

Mul/DivUnit

EJTAG On-chip Debugging

Power management

Ядро MIPS32® M4K®

Больше быстродействиеМеньше потреблениеМеньше размер кристаллаСовместимость средствразработкиРасширяемостьПрограммные наработки

© 2009 Гамма-Санкт-Петербург

l По выводам, периферии ибиблиотекам

l 64/100 TQFP корпусаl Захват / Сравнение / PWM (5/5/5)l Пять 16-bit таймера/счетчикаl SPI (2) / I2C (2) / UART (2)l 10-bit АЦП (16 каналов)l WDT, POR, BOR, RTCCl Множество источников тактирования

l 8MHz, 31KHz, внешн.l Аналоговый компараторl Встроенный регулятор напряжения

Совместимость с PIC24F

© 2009 Гамма-Санкт-Петербург

Особенности PIC32

© 2009 Гамма-Санкт-Петербург

Предвыборка команд и кэш

l Выборка четырех 32-битных командl Команда вызова для CPUl Позволяет выполнять команду линейногокода с за 1 цикл на частоте 80 МГц

l Кэш 256 байтl Может занести в кэш как команду, так иданные

l Только flash имеет кэш

© 2009 Гамма-Санкт-Петербург

Что такое кэш?

l Кэш – это промежуточный буфер сбыстрым доступом

l Один раз сохраненные в кэше данные вбудущем могут использоваться доступом ккэшированной копии

© 2009 Гамма-Санкт-Петербург

Как это работает в PIC32?

l Доступ к CPU 32-битный, к Flash памятипрограмм 128-битный.

l Это обеспечивает пропускнуюспособность CPU – по 32 бита за 4 циклачастоты

© 2009 Гамма-Санкт-Петербург

Cache 16x128bCPU Pre-fetch

Flash

(128b wide)

Addresses

32Bit

32Bit

32Bit

32Bit

Скоростьядра

80MHz

Скорость Flash

20MHz

Предвыборка и кэш

© 2009 Гамма-Санкт-Петербург

10 20 30 40 50 60 70 80 90

Частота процессора (МГц)

Производительность

Ideal

Cached

Non-Cached

Производительность

© 2009 Гамма-Санкт-Петербург

Высокая производительность Bus Matrix

l Bus Matrix обеспечивает многоканальность, чтоувеличивает общую производительностьсистемы

Bus MatrixBus Matrix

DMADMA

Instruction Data

512KFlash512KFlash

Prefetch Buffer/ Pico Cache

Prefetch Buffer/ Pico Cache 32K SRAM32K SRAM

USBUSBCPUCPU

UART (4)UART (4)

32K SRAM32K SRAM

© 2009 Гамма-Санкт-Петербург

l Встраиваемые приложения управляютсяпрерываниями

l PIC32 имеет мощную архитектуру прерыванийl Контроллер векторных прерываний

l Множество приоритетов с подприоритетамиl Организация совместимая с 16-битнойl 64 уникальных векторов для каждого прерыванияl Гибкое векторное пространствоl Отдельный векторный режим для RTOSs

l Быстрая реакция на прерывания:l Приоритет #7 прерывания использует все теневые регистрыl Предвыборка ISR в кэш

Высокопроизводительные прерывания

© 2009 Гамма-Санкт-Петербург

Bit mods with other MCUs Bit mods with PIC32

Быстрая побитная манипуляция

l Установка, сброс, инвертирование в регистрахl T1CONSET = 0x8000 //установка бита 15

1. Load SFR address in reg1

2. Load a mask value in reg2

3. Read current SFR value in reg3

4. AND/OR register (SFR) with mask

5. Write new SFR value

1. Load SFR address in reg1

2. Load a mask value in reg2

3. Write the mask to SFR

© 2009 Гамма-Санкт-Петербург

Элементарные побитовые операции с портами

Побитовые операции за 1 такт!

RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0PORTA

RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0PORTA SET

RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0PORTA CLR

RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0PORTA INVERT

© 2009 Гамма-Санкт-Петербург

Расширенная поддержка отладки

l Точки останова: 6 на инструкции, 2 на данныеl AND / OR / комбинационные точки останова

l Трассировкаl 5-и проводный интерфейсl MPLAB IDE поддерживает специальные команды

для отладки кода

l Традиционный 2-х проводный интерфейсl Отладка & программирование

l JTAG-отладка, программирование, и граничноесканирование

© 2009 Гамма-Санкт-Петербург

Невлияющий на работу процесс отладки

l Не требуется остановок в работе программы

RAM&

SFRs

CPU

Debug

© 2009 Гамма-Санкт-Петербург

Новая периферия.PPS

© 2009 Гамма-Санкт-Петербург

Peripheral Pin Selectl Что это такое…

l Мультиплексирование выводов, что позволяетсопоставить выводу контроллера ту или инуюпериферийную функцию

l Позволяет оптимально использовать перифериюконтроллера

l Позволяет программно изменять функции выводовl Позволяет уменьшить интерференцию сигналов,

улучшить ЭМС

l Чем не является…l Не является средством достижения совместимости

по выводамl Аналоговые и часть других выводов не меняют свои

функции (напр. PMP & I2C™)

© 2009 Гамма-Санкт-Петербург

Периферия с PPS

l Все порты SPI и UARTl Таймер и входы внешних прерыванийl Модули захвата и сравненияl Выходы аналогового компаратораl Входы Fault ШИМl Входы интерфейса квадратурного энкодераl Входы интерфейса кодекаl CAN

© 2009 Гамма-Санкт-Петербург

Реализация PPSl Любая функция может быть переназначена на любой RP

выводl Поддержка подключения нескольких функций на один вывод

l Входы и выходыl Входы назначают вывод контроллера на периферийное

устройствоl Выходы назначают периферию на выбранный вывод

контроллера

l Программное назначение выводовl Позволяет в ходе выполнения программы конфигурировать

назначение выводов (возможно однократноеконфигурирование)

© 2009 Гамма-Санкт-Петербург

Перенаправляемые входы

Конфигурируемыевыводы

Один из выводов можетмультиплексироваться на разную

периферию

Определите положениекаждой функции путеммодификации бита ххххRв регистре RPINRn

MU

X

RP0

RP1

RP2

RPn

UART2

SPI2

IC5

TMR5

EINT3

© 2009 Гамма-Санкт-Петербург

Перенаправляемые выходы

Конфигурируемыевыходы периферии

Определите функциюкаждого выхода путеммодификации битаRPnR в регистреRPORn

Одна выходная функция периферийногомодуля может мультиплексироваться на

разные выводы

MU

X

U1TX

U2TX

SDO1

OC5

RP0RP1

RP2RPn

© 2009 Гамма-Санкт-Петербург

Использование VDI

Цветовая закраска показываеткакие выводы использованы игде есть конфликты

© 2009 Гамма-Санкт-Петербург

l Аппаратная проверкаl Случайное изменение бита приведет к сбросу

l Блокирование измененийl Биты RPINRn/RPORn могут быть изменены только

пока OSCCON[IOLOCK] = 0; как только IOLOCK установлен, регистры не могут быть изменены

l Защита IOLOCKl Состояние бита IOLOCK может быть изменено с

помощью разблокирующей последовательностиl Защита выбирается в битах конфигурации

Защита регистров PPS

© 2009 Гамма-Санкт-Петербург

Приоритетыl Приоритеты периферии:

1) Аналоговые функции

2) PPS выходы

3) PPS входы

4) Фиксированные цифровыепериферийные выходы

5) Фиксированные цифровыепериферийные входы

ANx, VREF +/-

UxTX, SDO, OC

UxRX, SDI, IC

I2C, PMP

I2C, PMP

© 2009 Гамма-Санкт-Петербург

Инициализация PPS1. Требования дизайна: статическое или динамическое

назначение RPn?l установите бит IOL1WAY в конфигурации

2. Инициализируйте назначение вывода на выбранноепериферийное устройство путем установки RPn

l RPn вывод à вход периферииl Выход периферии à RPn выводl Зафиксируйте RPn регистры, используя «блокирующую»

последовательность

3. Сконфигурируйте периферию4. Разрешите прерывания (если необходимо)

© 2009 Гамма-Санкт-Петербург

Блокировка PPS

l Конфигурирование PPS впроцессе инициализацииØ IOL1WAY = 1

Ø PPS не может бытьразблокированпрограммно (можетбыть установлен 1 раз)

Ø IOL1WAY = 0Ø PPS может

модифицироватьсяпрограммно

Записать 46hOSCON<7:0>

Записать 57hOSCON<7:0>

СброситьIOLOCK

Модификация назначениявыводов

Записать 46hOSCON<7:0>

Записать 57hOSCON<7:0>

УстановитьIOLOCK

Сброс

Разблокировка

Блокировка

Для максимальной защиты установитебит IOL1WAY в конфигурации

© 2009 Гамма-Санкт-Петербург

«Нестандартное» использование

l Увеличение нагрузочной способности периферийного вывода путемобъединения выходов

MU

X

OC5 RP0

RP1

RP2

MU

XM

UX

MCU PCB

Монтажное«ИЛИ»Выход

периферии

© 2009 Гамма-Санкт-Петербург

«Нестандартное» использование

l Подключение одного входного сигнала к разнымпериферийным входам

MU

X

RP0 UART RX

MU

XINT1

MCUPCB

Входы периферии

© 2009 Гамма-Санкт-Петербург

«Нестандартное» использование

l Соединение одного периферийного выхода со входомдругого для тестирования

MU

X

RP0 SDI

MU

X SDO

MCUPCB

Вход периферии

Выход периферии

© 2009 Гамма-Санкт-Петербург

Пример примененияl Последовательная связь со множествомустройств по UART

l Стандартные решения:

UART1

UART2

UART3

UART4

DEV1

DEV2

DEV3

DEV4

MC

U

DEV1

DEV2

DEV3

DEV4

MU

X

UART1

MC

U

© 2009 Гамма-Санкт-Петербург

Пример применения

l Последовательная связь со множествомустройств по UART

l Динамическое переназначение:

DEV1

DEV2

DEV3PIC24F

UART

RP1

RP2

RP3

RP4 DEV4

© 2009 Гамма-Санкт-Петербург

Новая периферия.CTMU

© 2009 Гамма-Санкт-Петербург

Charge/Time Measurement Unit

l CTMU – модуль измеренияемкости/временных интервалов

l Основа модуля – прецизионный источниктока (0.55 мкА, 5.5 мкА и 55 мкА)

© 2009 Гамма-Санкт-Петербург

Схема CTMU

ВходыВходыимпульсовимпульсов

CTMUCONCTMUCON

CTMUICONCTMUICON

ЗахватЗахватимпульсаимпульса

Timer1Timer1

OC1OC1 ВыходВыход

УправлениеУправлениеCTMUCTMU

ЗапускЗапуск АЦПАЦП

УправлениеУправлениевыходомвыходом

ВыходВыходКомпаратораКомпаратора 22

ВходВходКомпаратораКомпаратора 22

ИсточникИсточник токатока

Current Current ControlControl

АЦПАЦП

© 2009 Гамма-Санкт-Петербург

Функционирование CTMU

на АЦП

CTMU

Источник тока

Вкл/Выклисточникатока

Разряд

Заряжает:Внутр. емкость АЦПВнешнюю измеряемую емкость

Три установленныхзначения: 0.55 мкА, 5.5 мкА и 55 мкА

© 2009 Гамма-Санкт-Петербург

Работа CTMU с АЦП

АЦП

Калибровка модуля

ИТЗапуск АЦП

CTMU

CCАЦПАЦП

RRкалкал

I = V/RCAL

COFFSET = (I⋅t)⁄V

COFFSET = CAD + CSTRAY

CAD = 4 пФ

© 2009 Гамма-Санкт-Петербург

Работа CTMU с АЦП

АЦП

Измерение емкости

ИТЗапуск АЦП

CTMU

CCАЦПАЦП

RRкалкал

CCИЗМИЗМ

CИЗМ = (I⋅t)⁄V - COFFSET

© 2009 Гамма-Санкт-Петербург

Работа CTMU с АЦП

АЦП

Опрос емкостной клавиатуры

ИТЗапуск АЦП

CTMU

Сенсор 0

CCАЦПАЦП

Сенсор 15

© 2009 Гамма-Санкт-Петербург

Работа CTMU с АЦП

АЦП

Измерение временного интервала

ИТCTMU

CCАЦПАЦП

ЗахватЗахватимпульсаимпульса

T = (CAD⁄I)⋅V

© 2009 Гамма-Санкт-Петербург

Работа CTMU с АЦПФормирование задержки

ИТCTMU

CCЗДРЗДР

ЗахватЗахватимпульсаимпульса

CVCVREFREF

УправлениеУправлениевыходомвыходом

© 2009 Гамма-Санкт-Петербург

Новая периферия.DMA

© 2009 Гамма-Санкт-Петербург

Direct Memory Access

l DMA – прямой доступ к памяти (ПДП)l Позволяет организовать обмен даннымимежду памятью и периферией без участияядра контроллера

l Несколько идентичных каналов, которыемогут объединяться в цепочки

l Старт обмена может производитьсяl Программноl По прерыванию

© 2009 Гамма-Санкт-Петербург

Direct Memory Access

l Обмен производиться блокам, максимальный размер 256 байт

l Останов обмена может производиться:l По счетчикуl По определенному символуl Программноl По прерываниюl По ошибке адреса

© 2009 Гамма-Санкт-Петербург

Direct Memory Access

l Типы обмена DMA:l Память-памятьl Память-периферияl Периферия-памятьl Периферия-периферияl Flash-ОЗУl Flash-периферия

© 2009 Гамма-Санкт-Петербург

UART

DMA. Пример с UART

Bus Matrix

Peripheral Bus

DMA 2-WireDebug

USBOTG

GPIOsInterruptControllerSRAMFlash

PrefetchCache VREG

RTCC I2C™ SPI AnalogComparators

InputCapture

16-bitPMP

OutputCompare

10-bit ADC

16-bitTimer

1. UART посылает прерывание DMA2. Данные забираются из UART3. Параллельно происходит выборка

команд ядром4. Возможен аппаратный подсчет

контрольной суммы5. Данные помещаются в ОЗУ6. DMA может сгенерировать

прерывание

CRCCRC

Модуль вычисленияконтрольных сумм

MIPS® M4K®

32-bit Core

UART

© 2009 Гамма-Санкт-Петербург

Новая периферия.PMP

© 2009 Гамма-Санкт-Петербург

Параллельный мастер-порт – PMP

8- или 16-бит данные

16-битный адрес

До двух CS

R, W, E

Параллельнаяпериферия

ЖКИиндикатор

© 2009 Гамма-Санкт-Петербург

Конфигурация PMP:управляющие сигналы

PIC32

8/16-бит данные

до 16-битадрес

До двух PMCS

PMWR илиPMENB

PMRD илиPMRD/PMWR

PMBE Сигналы могут бытьиндивидуально включеныи выключены

Выбор полярностисигналов

Адресные выводы могут бытьиндивидуально настроены

© 2009 Гамма-Санкт-Петербург

Конфигурация PMP:мультиплексированная шина данных 16 бит

PIC32

16-бит адрес16-бит данные

PMWR или PMENB

PMRD или PMRD/PMWR

PMALH

PMCS2

PMALL

© 2009 Гамма-Санкт-Петербург

Конфигурация PMP:демультиплексированная шина данных 16 бит

PIC32

16-бит адрес

PMWR или PMENB

PMRD или PMRD/PMWR

PMCS2

16-бит данные

© 2009 Гамма-Санкт-Петербург

Новая периферия.USB OTG

© 2009 Гамма-Санкт-Петербург

USB On-The-Go

l Модуль USB в PIC32 работает в разныхрежимах:l Device mode – периферийное устройство (вэтом режиме работает PIC18Fxx50)

l Embedded Host – работа с ограниченнымнабором периферийных устройств

l Dual-role OTG – модуль может работать и какхост, и как периферия

© 2009 Гамма-Санкт-Петербург

Обзор

l Embedded Hostl Всегда хост, никогда не периферияl Всегда имеется питание 5 Вl Разъем типа A

l Пример: Система сбора данных

© 2009 Гамма-Санкт-Петербург

Обзор

l On-The-Go (OTG)l Мобильное устройство, простой хостl Иногда может быть хостом, иногдапериферией

l Батарейное питаниеl Разъем типа микро-A/B

l Пример: КПК, фотоаппарат

© 2009 Гамма-Санкт-Петербург

Обзор

l Dual Rolel 2 разъема – одновременно доступен дляподключения только один из них

l Работа и в режиме хоста, и в режимепериферии, но без динамическогопереключения

l Пример: Система сбора данных свозможностью обновления ПО через ПК

© 2009 Гамма-Санкт-Петербург

Типы устройств

l Устройство типа Al Устройство, подключаемое к разъему Акабеля. Работает как хост

l Устройство типа Bl Устройство, подключаемое к разъему Bкабеля. Работает как периферия

© 2009 Гамма-Санкт-Петербург

Разъемыl В классическом разъеме USB 4 контакта: VBUS,

GND, D+ и D-l В разъеме OTG – 5 контактов, добавлен контакт

IDl Контакт ID предназначен для определения, какой

стороной подключен кабель – со стороны хоста IDподключен к «земле»

l В каждом устройстве OTG контакт ID должен иметьподтяжку к «плюс» питания

l Внутренняя подтяжка реализована в контроллерахPIC24F и PIC32MX с USB OTG

© 2009 Гамма-Санкт-Петербург

Разъемы

l Вилка и розеткаl микро-B

l Розетка микро-A/Bl Только для устройств с OTG

l Вилка микро-A

© 2009 Гамма-Санкт-Петербург

OTG Cable Example

Micro A PlugMicro

A/B

Host Peripheral

Micro B Plug Micro

A/B

© 2009 Гамма-Санкт-Петербург

OTG Cable Example

Micro A PlugMicro

A/B

HostPeripheral

Micro B Plug

Micro A/B

© 2009 Гамма-Санкт-Петербург

OTG Cable Example

Micro A PlugMicro

A/B

Host Peripheral

Micro B Plug Micro

B

© 2009 Гамма-Санкт-Петербург

OTG Cable Example

Micro A/B

Peripheral Не вставить!!!

Micro B

Micro A Plug

Micro B Plug

© 2009 Гамма-Санкт-Петербург

Протоколы OTG

l Для реализации OTG и Embedded Host применяются:l OTG Descriptorl Set Feature Requestsl Targeted Peripheral List (TPL)l Session Request Protocol (SRP)l Host Negotiation Protocol (HNP)

© 2009 Гамма-Санкт-Петербург

PIC18, PIC24F, or PIC32MX USB device

B, Micro B, or Mini B

Receptacle

USB Device (Peripheral) Example Circuit

VBUS

D+

D-

GND

VBUS

D+

D-

VUSB

1μF

1μF

3.3v150KΩ

© 2009 Гамма-Санкт-Петербург

PIC24F or PIC32MX USB device

Full size AReceptacle

Embedded Host Example Circuit

VBUS

D+

D-

GND

5v

PPTC

A/D

VBUS

D+

D-

VUSB

2KΩ

2KΩ

150μF

1μF

3.3v

Input

© 2009 Гамма-Санкт-Петербург

OTG Example CircuitPIC24F or PIC32MX

USB device

Micro A/BReceptacle

VBUS

D+

D-

GND

VBUS

D+

D-

VUSB

ID

GPIO

GPIO

USBID

Vdd1 μF

MCP1253

PGOOD

SELECT

3.3v

VOUT

VINnSHDN

GND

10 μF

3.3v

4.7 μF

C+

C-

1 μF

© 2009 Гамма-Санкт-Петербург

PIC24F or PIC32MX USB device

Full size AReceptacle

DRD Example Circuit

VBUS

D+D-

GND

5v

PPTC

A/D

VBUS

D+

D-

VUSB

2KΩ

2KΩ

150μF

1μF

3.3v

Input

B, Micro B, or Mini B

ReceptacleVBUS

D+D-

GND

1μF 150KΩ

© 2009 Гамма-Санкт-Петербург

Структура ПО

OTG Controls HostDevice

Function Drivers

Class Drivers

User Code

Hardware

© 2009 Гамма-Санкт-Петербург

USB Stack V2.3

l Новая версия стека поддерживает:l OTG – пример реализации устройства сполной поддержкой OTG

l Embedded hostl Printer Class host – печать наполноформатных принтерах PostScript® иPCL5; поддержка POS-принтеров

l CDC Class host – поддержка абстрактноймодели

© 2009 Гамма-Санкт-Петербург

USB Stack V2.3

l Новая версия стека поддерживает:l Device mode

l HID bootloader – обновление прошивкиконтроллера

l MSD internal flash demo – использованиеFlash памяти программ как носителя

l Композитное MSD + HID устройство

© 2009 Гамма-Санкт-Петербург

Отладочные средства

l Starter Kitl PIC24F Starter Kit (DM240011)l PIC32MX USB Starter Board (DM320003)

© 2009 Гамма-Санкт-Петербург

Поддержка

l www.microchip.com/usbl www.microchip.com.rul www.gamma.spb.ru/forum.phpl www.pickit2.ru