32PER - Microchip · ©2008© 200Гамма5...
Transcript of 32PER - Microchip · ©2008© 200Гамма5...
© 2008 Microchip Technology Incorporated. All Rights Reserved. Class Title Slide 1© 2008 Гамма-Санкт-Петербург
32PERОсобенности 16- и 32-разрядных
микроконтроллеров.Новая периферия
© 2005 Гамма-Санкт-Петербург Страница 2© 2008 Гамма-Санкт-Петербург
План лекции
l Семейство PIC24l Семейство PIC32l Мультиплексирование выводов. Функция
PPSl Обработка емкостных датчиков. Модуль
CTMUl Прямой доступ к памяти DMAl Параллельный порт PMPl Универсальная последовательная шина
USB On-The-Go
© 2005 Гамма-Санкт-Петербург Страница 3© 2008 Гамма-Санкт-Петербург
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®
Производительность
© 2008 Microchip Technology Incorporated. All Rights Reserved. Class Title Slide 4© 2008 Гамма-Санкт-Петербург
PIC24
© 2005 Гамма-Санкт-Петербург Страница 5© 2008 Гамма-Санкт-Петербург
Пери
фери
йнаяшина
Семейство 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
© 2005 Гамма-Санкт-Петербург Страница 6© 2008 Гамма-Санкт-Петербург
Свойства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
© 2005 Гамма-Санкт-Петербург Страница 7© 2008 Гамма-Санкт-Петербург
l Огромная функциональность в маленьком корпусе
l Наибольший объем Flash и ОЗУ в 16-р MCU в 28-и выводном корпусеl До 64 KБ Flash и до 8 KБ ОЗУl Контроллеры в 28-и и 44-х выводных корпусах
содержат всю периферию 100-выводныхконтроллеров
l Новая разработка Microchip добавляющаягибкость разработке: Peripheral Pin Selectl Предоставляет разработчику оптимизировать выбор
необходимых периферийных устройствl Упрощает разработку, Уменьшает стоимость
Семейство PIC24FJ64GA004
© 2005 Гамма-Санкт-Петербург Страница 8© 2008 Гамма-Санкт-Петербург
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
© 2005 Гамма-Санкт-Петербург Страница 9© 2008 Гамма-Санкт-Петербург
Семейство 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
© 2005 Гамма-Санкт-Петербург Страница 10© 2008 Гамма-Санкт-Петербург
Особенности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
© 2005 Гамма-Санкт-Петербург Страница 11© 2008 Гамма-Санкт-Петербург
Семейство 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
© 2005 Гамма-Санкт-Петербург Страница 12© 2008 Гамма-Санкт-Петербург
Семейство 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
© 2005 Гамма-Санкт-Петербург Страница 13© 2008 Гамма-Санкт-Петербург
Особенности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
© 2005 Гамма-Санкт-Петербург Страница 14© 2008 Гамма-Санкт-Петербург
Пери
фери
йнаяшина
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
© 2005 Гамма-Санкт-Петербург Страница 15© 2008 Гамма-Санкт-Петербург
Семейство 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 Образцы – 4Q08l Производство – 2Q09
© 2008 Microchip Technology Incorporated. All Rights Reserved. Class Title Slide 16© 2008 Гамма-Санкт-Петербург
dsPIC33
© 2005 Гамма-Санкт-Петербург Страница 17© 2008 Гамма-Санкт-Петербург
Семейство 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 Многопользовательское ПО
© 2005 Гамма-Санкт-Петербург Страница 18© 2008 Гамма-Санкт-Петербург
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
© 2005 Гамма-Санкт-Петербург Страница 19© 2008 Гамма-Санкт-Петербург
Семейство 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
© 2008 Microchip Technology Incorporated. All Rights Reserved. Class Title Slide 20© 2008 Гамма-Санкт-Петербург
PIC32
© 2005 Гамма-Санкт-Петербург Страница 21© 2008 Гамма-Санкт-Петербург
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
© 2005 Гамма-Санкт-Петербург Страница 22© 2008 Гамма-Санкт-Петербург
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®
Больше быстродействиеМеньше потреблениеМеньше размер кристаллаСовместимость средствразработкиРасширяемостьПрограммные наработки
© 2005 Гамма-Санкт-Петербург Страница 23© 2008 Гамма-Санкт-Петербург
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
© 2008 Microchip Technology Incorporated. All Rights Reserved. Class Title Slide 24© 2008 Гамма-Санкт-Петербург
Особенности PIC32
© 2005 Гамма-Санкт-Петербург Страница 25© 2008 Гамма-Санкт-Петербург
Предвыборка команд и кэш
l Выборка четырех 32-битных командl Команда вызова для CPUl Позволяет выполнять команду линейногокода с за 1 цикл на частоте 80 МГц
l Кэш 256 байтl Может занести в кэш как команду, так иданные
l Только flash имеет кэш
© 2005 Гамма-Санкт-Петербург Страница 26© 2008 Гамма-Санкт-Петербург
Что такое кэш?
l Кэш – это промежуточный буфер сбыстрым доступом
l Один раз сохраненные в кэше данные вбудущем могут использоваться доступом ккэшированной копии
© 2005 Гамма-Санкт-Петербург Страница 27© 2008 Гамма-Санкт-Петербург
Как это работает в PIC32?
l Доступ к CPU 32-битный, к Flash памятипрограмм 128-битный.
l Это обеспечивает пропускнуюспособность CPU – по 32 бита за 4 циклачастоты
© 2005 Гамма-Санкт-Петербург Страница 28© 2008 Гамма-Санкт-Петербург
Cache 16x128bCPU Pre-fetch
Flash
(128b wide)
Addresses
32Bit
32Bit
32Bit
32Bit
Скоростьядра
80MHz
Скорость Flash
20MHz
Предвыборка и кэш
© 2005 Гамма-Санкт-Петербург Страница 29© 2008 Гамма-Санкт-Петербург
10 20 30 40 50 60 70 80 90
Частота процессора (МГц)
Производительность
Ideal
Cached
Non-Cached
Производительность
© 2005 Гамма-Санкт-Петербург Страница 30© 2008 Гамма-Санкт-Петербург
Высокая производительность 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
© 2005 Гамма-Санкт-Петербург Страница 31© 2008 Гамма-Санкт-Петербург
l Встраиваемые приложения управляютсяпрерываниями
l PIC32 имеет мощную архитектуру прерыванийl Контроллер векторных прерываний
l Множество приоритетов с подприоритетеамиl Организация совместимая с 16-битнойl 64 уникальных векторов для каждого прерыванияl Гибкое векторное пространствоl Отдельный векторный режим для RTOSs
l Быстрая реакция на прерывания:l Приоритет #7 прерывания использует все теневые регистрыl Предвыборка ISR в кэш
Высокопроизводительные прерывания
© 2005 Гамма-Санкт-Петербург Страница 32© 2008 Гамма-Санкт-Петербург
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
© 2005 Гамма-Санкт-Петербург Страница 33© 2008 Гамма-Санкт-Петербург
Элементарные побитовые операции с портами
Побитовые операции за 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
© 2005 Гамма-Санкт-Петербург Страница 34© 2008 Гамма-Санкт-Петербург
Расширенная поддержка отладки
l Точки останова: 6 на инструкции, 2 на данныеl AND / OR / комбинационные точки останова
l Трассировкаl 5-и проводный интерфейсl MPLAB IDE поддерживает специальные команды
для отладки кода
l Традиционный 2-х проводный интерфейсl Отладка & программирование
l JTAG-отладка, программирование, и граничноесканирование
© 2005 Гамма-Санкт-Петербург Страница 35© 2008 Гамма-Санкт-Петербург
Невлияющий на работу процесс отладки
l Не требуется остановок в работе программы
RAM&
SFRs
CPU
Debug
© 2008 Microchip Technology Incorporated. All Rights Reserved. Class Title Slide 36© 2008 Гамма-Санкт-Петербург
Новая периферия.PPS
© 2005 Гамма-Санкт-Петербург Страница 37© 2008 Гамма-Санкт-Петербург
Peripheral Pin Selectl Что это такое…
l Мультиплексирование выводов, что позволяетсопоставить выводу контроллера ту или инуюпериферийную функцию
l Позволяет оптимально использовать перифериюконтроллера
l Позволяет программно изменять функции выводовl Позволяет уменьшить интерференцию сигналов,
улучшить ЭМС
l Чем не является…l Не является средством достижения совместимости
по выводамl Аналоговые и часть других выводов не меняют свои
функции (напр. PMP & I2C™)
© 2005 Гамма-Санкт-Петербург Страница 38© 2008 Гамма-Санкт-Петербург
Периферия с PPS
l Все порты SPI и UARTl Таймер и входы внешних прерыванийl Модули захвата и сравненияl Выходы аналогового компаратораl Входы Fault ШИМl Входы интерфейса квадратурного энкодераl Входы интерфейса кодекаl CAN
© 2005 Гамма-Санкт-Петербург Страница 39© 2008 Гамма-Санкт-Петербург
Реализация PPSl Любая функция может быть переназначена на любой RP
выводl Поддержка подключения нескольких функций на один вывод
l Входы и выходыl Входы назначают вывод контроллера на периферийное
устройствоl Выходы назначают периферию на выбранный вывод
контроллера
l Программное назначение выводовl Позволяет в ходе выполнения программы конфигурировать
назначение выводов (возможно однократноеконфигурирование)
© 2005 Гамма-Санкт-Петербург Страница 40© 2008 Гамма-Санкт-Петербург
Перенаправляемые входы
Конфигурируемыевыводы
Один из выводов можетмультиплексироваться на разную
периферию
Определите положениекаждой функции путеммодификации бита ххххRв регистре RPINRn
MU
X
RP0
RP1
RP2
RPn
UART2
SPI2
IC5
TMR5
EINT3
© 2005 Гамма-Санкт-Петербург Страница 41© 2008 Гамма-Санкт-Петербург
Перенаправляемые выходы
Конфигурируемыевыходы периферии
Определите функциюкаждого выхода путеммодификации битаRPnR в регистреRPORn
Одна выходная функция периферийногомодуля может мультиплексироваться на
разные выводы
MU
X
U1TX
U2TX
SDO1
OC5
RP0RP1
RP2RPn
© 2005 Гамма-Санкт-Петербург Страница 42© 2008 Гамма-Санкт-Петербург
Использование VDI
Цветовая закраска показываеткакие выводы использованы игде есть конфликты
© 2005 Гамма-Санкт-Петербург Страница 43© 2008 Гамма-Санкт-Петербург
l Аппаратная проверкаl Случайное изменение бита приведет к сбросу
l Блокирование измененийl Биты RPINRn/RPORn могут быть изменены только
пока OSCCON[IOLOCK] = 0; как только IOLOCK установлен, регистры не могут быть изменены
l Защита IOLOCKl Состояние бита IOLOCK может быть изменено с
помощью разблокирующей последовательностиl Защита выбирается в битах конфигурации
Защита регистров PPS
© 2005 Гамма-Санкт-Петербург Страница 44© 2008 Гамма-Санкт-Петербург
Приоритетыl Приоритеты периферии:
1) Аналоговые функции
2) PPS выходы
3) PPS входы
4) Фиксированные цифровыеперефирийные выходы
5) Фиксированные цифровыепериферийные входы
ANx, VREF +/-
UxTX, SDO, OC
UxRX, SDI, IC
I2C, PMP
I2C, PMP
© 2005 Гамма-Санкт-Петербург Страница 45© 2008 Гамма-Санкт-Петербург
Инициализация PPS1. Требования дизайна: статическое или динамическое
назначение RPn?l установите бит IOL1WAY в конфигурации
2. Инициализируйте назначение вывода на выбранноепериферийное устройство путем установки RPn
l RPn вывод à вход периферииl Выход периферии à RPn выводl Зафиксируйте RPn регистры, используя «блокирующую»
последовательность
3. Сконфигурируйте периферию4. Разрешите прерывания (если необходимо)
© 2005 Гамма-Санкт-Петербург Страница 46© 2008 Гамма-Санкт-Петербург
Блокировка 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 в конфигурации
© 2005 Гамма-Санкт-Петербург Страница 47© 2008 Гамма-Санкт-Петербург
«Нестандартное» использование
l Увеличение нагрузочной способности периферийного вывода путемобъединения выходов
MU
X
OC5 RP0
RP1
RP2
MU
XM
UX
MCU PCB
Монтажное«ИЛИ»Выход
периферии
© 2005 Гамма-Санкт-Петербург Страница 48© 2008 Гамма-Санкт-Петербург
«Нестандартное» использование
l Подключение одного входного сигнала к разнымпериферийным входам
MU
X
RP0 UART RX
MU
XINT1
MCUPCB
Входы периферии
© 2005 Гамма-Санкт-Петербург Страница 49© 2008 Гамма-Санкт-Петербург
«Нестандартное» использование
l Соединение одного периферийного выхода со входомдругого для тестирования
MU
X
RP0 SDI
MU
X SDO
MCUPCB
Вход периферии
Выход периферии
© 2005 Гамма-Санкт-Петербург Страница 50© 2008 Гамма-Санкт-Петербург
Пример примененияl Последовательная связь со множествомустройств по UART
l Стандартные решения:
UART1
UART2
UART3
UART4
DEV1
DEV2
DEV3
DEV4
MC
U
DEV1
DEV2
DEV3
DEV4
MU
X
UART1
MC
U
© 2005 Гамма-Санкт-Петербург Страница 51© 2008 Гамма-Санкт-Петербург
Пример применения
l Последовательная связь со множествомустройств по UART
l Динамическое переназначение:
DEV1
DEV2
DEV3PIC24F
UART
RP1
RP2
RP3
RP4 DEV4
© 2008 Microchip Technology Incorporated. All Rights Reserved. Class Title Slide 53© 2008 Гамма-Санкт-Петербург
Новая периферия.CTMU
© 2005 Гамма-Санкт-Петербург Страница 54© 2008 Гамма-Санкт-Петербург
Charge/Time Measurement Unit
l CTMU – модуль измеренияемкости/временных интервалов
l Основа модуля – прецизионный источниктока (0.55 мкА, 5.5 мкА и 55 мкА)
© 2005 Гамма-Санкт-Петербург Страница 55© 2008 Гамма-Санкт-Петербург
Схема CTMU
ВходыВходыимпульсовимпульсов
CTMUCONCTMUCON
CTMUICONCTMUICON
ЗахватЗахватимпульсаимпульса
Timer1Timer1
OC1OC1 ВыходВыход
УправлениеУправлениеCTMUCTMU
ЗапускЗапуск АЦПАЦП
УправлениеУправлениевыходомвыходом
ВыходВыходКомпаратораКомпаратора 22
ВходВходКомпаратораКомпаратора 22
ИсточникИсточник токатока
Current Current ControlControl
АЦПАЦП
© 2005 Гамма-Санкт-Петербург Страница 56© 2008 Гамма-Санкт-Петербург
Функционирование CTMU
на АЦП
CTMU
Источник тока
Вкл/Выклисточникатока
Разряд
Заряжает:Внутр. емкость АЦПВнешнюю измеряемую емкость
Три установленныхзначения: 0.55 мкА, 5.5 мкА и 55 мкА
© 2005 Гамма-Санкт-Петербург Страница 57© 2008 Гамма-Санкт-Петербург
Работа CTMU с АЦП
АЦП
Калибровка модуля
ИТЗапуск АЦП
CTMU
CCАЦПАЦП
RRкалкал
I = V/RCAL
COFFSET = (I⋅t)⁄V
COFFSET = CAD + CSTRAY
CAD = 4 пФ
© 2005 Гамма-Санкт-Петербург Страница 58© 2008 Гамма-Санкт-Петербург
Работа CTMU с АЦП
АЦП
Измерение емкости
ИТЗапуск АЦП
CTMU
CCАЦПАЦП
RRкалкал
CCИЗМИЗМ
CИЗМ = (I⋅t)⁄V - COFFSET
© 2005 Гамма-Санкт-Петербург Страница 59© 2008 Гамма-Санкт-Петербург
Работа CTMU с АЦП
АЦП
Опрос емкостной клавиатуры
ИТЗапуск АЦП
CTMU
Сенсор 0
CCАЦПАЦП
Сенсор 15
© 2005 Гамма-Санкт-Петербург Страница 60© 2008 Гамма-Санкт-Петербург
Работа CTMU с АЦП
АЦП
Измерение временного интервала
ИТCTMU
CCАЦПАЦП
ЗахватЗахватимпульсаимпульса
T = (CAD⁄I)⋅V
© 2005 Гамма-Санкт-Петербург Страница 61© 2008 Гамма-Санкт-Петербург
Работа CTMU с АЦПФормирование задержки
ИТCTMU
CCЗДРЗДР
ЗахватЗахватимпульсаимпульса
CVCVREFREF
УправлениеУправлениевыходомвыходом
© 2008 Microchip Technology Incorporated. All Rights Reserved. Class Title Slide 62© 2008 Гамма-Санкт-Петербург
Новая периферия.DMA
© 2005 Гамма-Санкт-Петербург Страница 63© 2008 Гамма-Санкт-Петербург
Direct Memory Access
l DMA – прямой доступ к памяти (ПДП)l Позволяет организовать обмен даннымимежду памятью и периферией без участияядра контроллера
l Несколько идентичных каналов, которыемогут объединяться в цепочки
l Старт обмена может производитьсяl Программноl По прерыванию
© 2005 Гамма-Санкт-Петербург Страница 64© 2008 Гамма-Санкт-Петербург
Direct Memory Access
l Обмен производиться блокам, максимальный размер 256 байт
l Останов обмена может производиться:l По счетчикуl По определенному символуl Программноl По прерываниюl По ошибке адреса
© 2005 Гамма-Санкт-Петербург Страница 65© 2008 Гамма-Санкт-Петербург
Direct Memory Access
l Типы обмена DMA:l Память-памятьl Память-периферияl Периферия-памятьl Периферия-периферияl Flash-ОЗУl Flash-периферия
© 2005 Гамма-Санкт-Петербург Страница 66© 2008 Гамма-Санкт-Петербург
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
© 2008 Microchip Technology Incorporated. All Rights Reserved. Class Title Slide 67© 2008 Гамма-Санкт-Петербург
Новая периферия.PMP
© 2005 Гамма-Санкт-Петербург Страница 68© 2008 Гамма-Санкт-Петербург
Параллельный мастер-порт – PMP
8- или 16-бит данные
16-битный адрес
До двух CS
R, W, E
Параллельнаяпериферия
ЖКИиндикатор
© 2005 Гамма-Санкт-Петербург Страница 69© 2008 Гамма-Санкт-Петербург
Конфигурация PMP:управляющие сигналы
PIC32
8/16-бит данные
до 16-битадрес
До двух PMCS
PMWR илиPMENB
PMRD илиPMRD/PMWR
PMBE Сигналы могут бытьиндивидуально включеныи выключены
Выбор полярностисигналов
Адресные выводы могут бытьиндивидуально настроены
© 2005 Гамма-Санкт-Петербург Страница 70© 2008 Гамма-Санкт-Петербург
Конфигурация PMP:мультиплексированная шина данных 16 бит
PIC32
16-бит адрес16-бит данные
PMWR или PMENB
PMRD или PMRD/PMWR
PMALH
PMCS2
PMALL
© 2005 Гамма-Санкт-Петербург Страница 71© 2008 Гамма-Санкт-Петербург
Конфигурация PMP:демультиплексированная шина данных 16 бит
PIC32
16-бит адрес
PMWR или PMENB
PMRD или PMRD/PMWR
PMCS2
16-бит данные
© 2008 Microchip Technology Incorporated. All Rights Reserved. Class Title Slide 72© 2008 Гамма-Санкт-Петербург
Новая периферия.USB OTG
© 2005 Гамма-Санкт-Петербург Страница 73© 2008 Гамма-Санкт-Петербург
USB On-The-Go
l Модуль USB в PIC32 работает в разныхрежимах:l Device mode – периферийное устройство (в
этом режиме работает PIC18Fxx50)l Embedded Host – работа с ограниченным
набором периферийных устройствl Dual-role OTG – модуль может работать и как
хост, и как периферия
© 2005 Гамма-Санкт-Петербург Страница 74© 2008 Гамма-Санкт-Петербург
Обзор
l Embedded Hostl Всегда хост, никогда не периферияl Всегда имеется питание 5 Вl Разъем типа A
l Пример: Система сбора данных
© 2005 Гамма-Санкт-Петербург Страница 75© 2008 Гамма-Санкт-Петербург
Обзор
l On-The-Go (OTG)l Мобильное устройство, простой хостl Иногда может быть хостом, иногда
перифериейl Батарейное питаниеl Разъем типа микро-A/B
l Пример: КПК, фотоаппарат
© 2005 Гамма-Санкт-Петербург Страница 76© 2008 Гамма-Санкт-Петербург
Обзор
l Dual Rolel 2 разъема – одновременно доступен для
подключения только один из нихl Работа и в режиме хоста, и в режиме
периферии, но без динамическогопереключения
l Пример: Система сбора данных свозможностью обновления ПО через ПК
© 2005 Гамма-Санкт-Петербург Страница 77© 2008 Гамма-Санкт-Петербург
Типы устройств
l Устройство типа Al Устройство, подключаемое к разъему А
кабеля. Работает как хост
l Устройство типа Bl Устройство, подключаемое к разъему B
кабеля. Работает как периферия
© 2005 Гамма-Санкт-Петербург Страница 78© 2008 Гамма-Санкт-Петербург
Разъемыl В классическом разъеме USB 4 контакта: VBUS,
GND, D+ и D-l В разъеме OTG – 5 контактов, добавлен контакт
IDl Контакт ID предназначен для определения, какой
стороной подключен кабель – со стороны хоста IDподключен к «земле»
l В каждом устройстве OTG контакт ID должен иметьподтяжку к «плюс» питания
l Внутренняя подтяжка реализована в контроллерахPIC24F и PIC32MX с USB OTG
© 2005 Гамма-Санкт-Петербург Страница 79© 2008 Гамма-Санкт-Петербург
Разъемы
l Вилка и розеткаl микро-B
l Розетка микро-A/Bl Только для устройств с OTG
l Вилка микро-A
© 2005 Гамма-Санкт-Петербург Страница 80© 2008 Гамма-Санкт-Петербург
OTG Cable Example
Micro A PlugMicro
A/B
Host Peripheral
Micro B Plug Micro
A/B
© 2005 Гамма-Санкт-Петербург Страница 81© 2008 Гамма-Санкт-Петербург
OTG Cable Example
Micro A PlugMicro
A/B
HostPeripheral
Micro B Plug
Micro A/B
© 2005 Гамма-Санкт-Петербург Страница 82© 2008 Гамма-Санкт-Петербург
OTG Cable Example
Micro A PlugMicro
A/B
Host Peripheral
Micro B Plug Micro
B
© 2005 Гамма-Санкт-Петербург Страница 83© 2008 Гамма-Санкт-Петербург
OTG Cable Example
Micro A/B
Peripheral Не вставить!!!
Micro B
Micro A Plug
Micro B Plug
© 2005 Гамма-Санкт-Петербург Страница 84© 2008 Гамма-Санкт-Петербург
Протоколы 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)
© 2005 Гамма-Санкт-Петербург Страница 85© 2008 Гамма-Санкт-Петербург
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Ω
© 2005 Гамма-Санкт-Петербург Страница 86© 2008 Гамма-Санкт-Петербург
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
© 2005 Гамма-Санкт-Петербург Страница 87© 2008 Гамма-Санкт-Петербург
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
© 2005 Гамма-Санкт-Петербург Страница 88© 2008 Гамма-Санкт-Петербург
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Ω
© 2005 Гамма-Санкт-Петербург Страница 89© 2008 Гамма-Санкт-Петербург
Структура ПО
OTG Controls HostDevice
Function Drivers
Class Drivers
User Code
Hardware
© 2005 Гамма-Санкт-Петербург Страница 90© 2008 Гамма-Санкт-Петербург
USB Stack V2.3
l Новая версия стека поддерживает:l OTG – пример реализации устройства с
полной поддержкой OTGl Embedded host
l Printer Class host – печать наполноформатных принтерах PostScript® иPCL5; поддержка POS-принтеров
l CDC Class host – поддержка абстрактноймодели
© 2005 Гамма-Санкт-Петербург Страница 91© 2008 Гамма-Санкт-Петербург
USB Stack V2.3
l Новая версия стека поддерживает:l Device mode
l HID bootloader – обновление прошивкиконтроллера
l MSD internal flash demo – использованиеFlash памяти программ как носителя
l Композитное MSD + HID устройство
© 2005 Гамма-Санкт-Петербург Страница 92© 2008 Гамма-Санкт-Петербург
Отладочные средства
l Starter Kitl PIC24F Starter Kit (DM240011)l PIC32MX USB Starter Board (DM320003)
© 2005 Гамма-Санкт-Петербург Страница 93© 2008 Гамма-Санкт-Петербург
Поддержка
l www.microchip.com/usbl www.microchip.com.rul www.gamma.spb.ru/forum.php