ФесTIваль инноваций - Компэл · CRC, Calibration, ADC Self Test, …...
Transcript of ФесTIваль инноваций - Компэл · CRC, Calibration, ADC Self Test, …...
TIVATM микроконтроллеры
на базе ядра Cortex-M4F от Texas Instruments
Тренинг
Прокопий Вячеслав инженер по применению, Компэл
Заказ бесплатных образцов, инженерные консультации:
[email protected] [email protected]
ФесTIваль инноваций c КОМПЭЛ
http://processors.wiki.ti.com/
Полезные ресурсы, где можно задать вопрос http://compel.ru
mailto: [email protected]
http://e2e.ti.com/
Содержание тренинга
1. Линейка микроконтроллеров Texas Instruments
2. Обзор семейства TivaTMC
3. TivaWareTM, инициализация и GPIO +HandsOn
4. NVIC – контроллер вложенных прерываний
5. USB-модуль +HandsOn
6. АЦП
7. LCD-модуль +HandsOn
8. ШИМ-модуль
9. Ethernet-модуль +HandsOn
10. Модуль Tamper +HandsOn
MSP430TM Low-power
& GeneralPurpose
MCUs
C2000™ Real-time
control MCUs
Hercules Safety ARM® Cortex™-R4 &
Cortex-M3 MCUs
Tiva™ C Series ARM®
Cortex™-M4 MCUs
Включая двухядерные решения
ARM+DSP
Аналоговая периферия, программное обеспечение, тренинги и поддержка
Линейка микроконтроллеров Texas Instruments
Более 400 устройств
Интеграция современной периферии
Набор периферийных модулей
• Frequencies up to 25 MHz • Flash: Up to 512 KB • RAM: Up to 66 KB RAM • Package/Pin Count: 25+ packages, up to 128 pins • Cost effective: MSP430 Value Line MCUs
• Devices integrated with:
• 10, 12-bit ADC
• 24-bit Sigma Delta
• 12-bit DAC
• 16-bit Timers
• I2C, SPI, UART
• LCD Driver
• USB
• Integrated RF
• Comparator
• OpAmps
• Direct Memory Access Module
• Hardware Multipliers
• AES256 Encrypt/Decrypt module
• Watchdog Timer
• Brown-Out Reset
• Capacitive Touch I/O ports
• Real-Time Clock
• Power Management Module
• MORE
• FRAM – the future of Embedded Memory • Capacitive touch I/O – directly interface with pads • Hi-Resolution Timer – 4ns resolution • A-POOL – Configurable analog blocks • USB – Full Speed 2.0 • RF – Sub-1GHz (433, 868, 915MHz) • ESP430 – 2nd core for eMetering algorithms • 24 Bit – Sigma Delta ADC
Семейство MSP430
Варианты устройств MSP430TM
Семейство С2000TM Производительная обработка
сопроцессор
CLA
Тактовая частота до 300 МГц
ускоритель
VCU FPU
32-битное
DSP ядро
Быстрый отклик на прерывания
Умножение 32Х32 за 1 цикл Двойной MAC 16Х16
Режим реального времени
Производительность DSP в микроконтроллерной архитектуре •C28x - 32-битное ядро CPU 40-300 МГц: - встроенные DSP-функции; - умножение 32X32 за один цикл. •Сопроцессор CLA •Модуль вычислений с плавающей точкой (FPU) •Модуль комплексной математики и декодирования Витерби(VCU) •Встроенная FLASH-память
Системная интеграция
CAN
USB
SPI
I2C
SCI
QEP CAP CMP
PWM
ADC
Разработан для приложений управления в реальном времени •Оптимизированное ядро •Быстрые прерывания •Гибкая система прерываний •Отладка в реальном времени
Комплексный набор периферийных устройств •Лучшая в классе производительность АЦП •Гибкий модуль ШИМ высокого разрешения •Продвинутый модуль захвата (CAP) •Модуль обслуживания квадратурного энкодера (QEP) •CAN, LIN, SPI, I2C, SCI/UART, McBSP, USB •Компараторы, VREG, BOR/POR, встроенные генераторы тактовых импульсов
Широкое портфолио конфигураций •40-300 МГц •Устройства с фикс. и с плавающей точкой •Многоядерность c ARM Cortex-M3 •16-1024 кБ FLASH-памяти •От 3$ до 20$ •Совместимость программного обеспечения внутри всей линейки C2000
С2000TM: Piccolo Piccolo Series MCUs
C28x 32-bit DSP Up to 90 MHz
32x32-bit HW Multiplier
RMW Atomic ALU
Floating Point
VCU
CLA 32-bit Co-Processor
Up to 90 MHz
Floating-Point
Memory
Up to 256 KB
Flash
Up to 100 KB
SRAM
128-bit Security Zone
Dual 128-bit Security Zones
Boot ROM
DMA
Debug
Real-time JTAG
Power & Clocking
Dual 10 MHz OSC
4-20 MHz Ext OSC
Dynamic PLL Ratio Changes
3.3V VREG
POR/BOR Protection
System Modules
3x 32-bit CPU Timers
Watchdog Timer
96 Interrupt PIE
Analog
12-bit Dual S/H ADC
Comparators w/ internal DAC
PGA/OpAmps
Windowed Comparators w/
internal DAC
Temperature Sensor
Control Peripherals
ePWM Modules
High Resolution PWM Outputs
eCAP Modules
High Resolution eCAP Outputs
eQEP
Fault Trip Zones
Comms Peripherals
UART
I2C
SPI
USB Host/Device
LIN
McBSP
CAN 2.0
Temp Options 105C 125C Q100/125C
On select devices
• 40-60 MHz
• Up to 64 KB Flash
• Starting from $1.85
• 60 MHz C28x
• 60 MHz CLA
• Up to 128 KB Flash
• Starting from $2.79
• 60MHz C28x
• 60MHz CLA
• Up to 128KB Flash
• Integrated PGAs/OpAmps
• Starting from $3.25
• 90 MHz C28x w/ Floating Point, w/ VCU
• 90 MHz CLA
• Up to 256 KB Flash
• Starting from $4.95
9
Markets: Motor Control & Drives, Automotive Transportation, Renewable Energy, Power & Protection, Smart Metering
Concerto F28M36x
С2000TM: Concerto F28M35x ,F28M36x Series
Performance
• Up to 150 MHz 28x CPU
• Up to 125 MHz ARM Cortex M3 CPU
• 28x Floating Point Unit
• VCU Accelerator
Embedded Memory
• Up to 1.5MB Flash (1024 KB ARM / 512 KB 28x)
• >200 KB SRAM (Total Shared & CPU Only)
• Up to 128 KB ROM
Flexible Control Peripherals
• Up to 18 enhanced PWM channels (ePWM) with fault mgmt (28x)
• Up to 9 high resolution PWM channels (150 ps resolution) (28x)
• Dual 12-bit ADCs up to 3 MSPS (6 MSPS Total) (Shared)
• Up to 6x analog comparators + 10-bit DAC with slope compensation
• 32-bit enhanced input capture module (eCAP) (28x)
• Quadrature encoder interfaces (QEP) (28x)
Communication Interfaces
• Up to 5x SCI/UART modules (ARM)
• Up to 4x SPI modules (ARM)
• Up to 2x I2C bus(ARM)
• Up to 2x CAN 2.0 (ARM)
• USB 2.0 Full Speed Host (ARM)
• Ethernet MAC 10/100 (ARM)
• Multi-channel buffered serial port (McBSP) (28x)
• SPI module (28x)
• I2C bus (28x), SCI/UART (28x)
Other Features
• Dual on-chip oscillators (10 MHz) with clock fail detect
• DMA (Each CPU)
• 16-bit External Interface (EPI)
• Integrated Safety Features
• 289-ball BGA
• -40 to 105/1250 C (Automotive AEC Q-100 Qualified)
Control Modules
3 x 32-bit eQEP
6 x 32-bit eCAP
12x ePWM Modules: 24x Outputs / 16x HR
ARM Cortex-M3 32-bit CPU
Up to 125 MHz
Co
ntr
ol S
ub
syst
em
Shar
ed
Communications
4x SSI
2x I2C
5x UART
2x CAN
USB OTG FS PHY
10/100 Ethernet MAC 1588 w/ MII
12b, 10ch, 2SH, 3MSPS 3ch Analog Comparator
Analog Pwr & Clocking • 10 MHz / 30 KHz INT OSC
• 4-20 MHz EXT
• Clock Fail Detect
• 3.3V VREG
• POR/BOR
256-1024 KB ECC Flash
16 KB ECC RAM
64 KB ROM
112 KB Parity RAM
Memory
2 KB Message Parity RAM
2 KB Message
Debug
RTJTAG
Ho
st S
ub
syst
em
Comms •McBSP/I2S/SPI •SPI •I2C & UART
256-512 KB
ECC Flash
20 KB ECC RAM
64 KB ROM
128-bit Security
16 KB Parity RAM
Memory
System & Clocking 32Ch DMA
12b, 10ch, 2SH, 3MSPS 3ch Analog Comparator
Fault Trip Zones
Temp Sense
External Interface
2x128-bit Security
Up to 64 KB Masterable
4 Timers
2 Watchdogs
C28x 32-bit CPU 150 MHz
Floating Point Unit
VCU Accelerator
System 6Ch DMA
New
Семейство HerculesTM ARM® Cortex™ Based Microcontrollers
RM
МК для промышленных и медицинских приложений повышенной надежности
• Industrial Applications • Medical Applications • -40 to 105°C Operation • ENET, USB, CAN & UART • Developed to Safety Standards
• IEC 61508 SIL-3 • Cortex-R – over 350 DMIPs
Hercules™ Safety MCU
Platform
TMS570
МК для транспорта и безопасности
• Transportation Applications • Automotive Q100 Qualification • -40 to 125°C Operation • FlexRay, ENET, CAN, LIN/UART • Developed to Safety Standards
• ISO 26262 ASIL-D • IEC 61508 SIL-3
• Cortex-R – over 280 DMIPs
TMS470M
Массовое семейство для транспорта и безопасности
• Transportation Applications • Automotive Q100 Qualification • -40 to 125°C Operation • CAN, LIN/UART Connectivity • Supports Safety for
• IEC 61508 Systems • Cortex-M – to 100 DMIPS
Сделаем мир безопасней с контроллерами Hercules™
EN 50128
(railway)
DO-254 DO-178C
(cots aerospace)
IEC 50156 (furnaces)
IEC 60880 (nuclear power
stations)
ISO 26262 (automotive)
IEC 62061 ISO 13849 (machinery)
IEC 61511 (process industry)
IEC 60601 (medical
equipment)
IEC 61508
(safety)
Safety critical systems are everywhere
Systems need to manage hazardous failures
Many systems need to be safety-certified
Industrial Medical
Sensor & communication
gateways
Respirators
Ventilators
Oxygen Concentrators
Anesthesia machines
Infusion Pumps
Hercules
Safety MCU
TM
Manufacturing, robotics, industrial automation,
motor control
Wind & Solar Power
Escalators & Elevators
Двухъядерная архитектура 1oo1D
Уникальный дизайн для устранения известных ошибок (βIC)
Second CPU mirrored and rotated Minimum distance 100µm
between CPUs Cycle delayed lockstep Guard ring per CPU Duplicated clock tree per CPU
Модуль сравнения CPU (CCM) Функция самотестирования Self-test error injection/error
forcing Output error injection
Output + Control
Cycle Delay
CCM
Compare
Error
Input + Control
Self
Test
ARM®
Cortex™-R4F > 100um
Cycle Delay
STC
ROM
Clock controller
ESM
PCR
Test controller
ERR
ROM
interface
FSM
Clock cntrl
STC BYPASS/
ATE Interface
REG Block
& Compare
Block VBUSP
interface
Предоставляет производить самодиагностику Снижает программные и аппаратные нагрузки Нет необходимости в программном самотестировании (экономия памяти и
процессорного времени) Простая настройка и запуск операций самотестированияSimple to configure and start
BIST via register
Контроллер диагностики CPU (STC/LBIST)
ARM®
Cortex™-R4F
DBIST
CNTRL
DBIST
CNTRL
Встроенный тест памяти (PBIST)
Возможность тестирования всей RAM-памяти
Простая настройка
Обычно выполняется при запуске, но может быть выполнена и во время выполнения приложения
Доступны различные алгоритмы тестированияs
Обнаружение ошибок различного типа
PBIST
Controller
Data
Logger
Ext block
Cfg block
VBUS I/f
Tester I/f RAM
Data
path/ Collars
To / From Memories (RAM groups)
ROM block
ROM I/f
Functional Read/Write Datapath
Позволяет определить с чем был связан сбой: с программной ошибкой или с аппаратной.
ErrorCorrectionCode для Flash / RAM
Cortex-R4F
Flash RAM
Код ECC рассчитывается в ядре Cortex R4F CPU
– Коррекция ошибок 1 бита и детектирование ошибок 2 бит (SECDED)
– код ECC рассчитывается паралельно с командами\данными
– Без задержек или снижения производительности
– Защита шин между CPU и Flash с RAM
4 ECC Bits 32 Data Bits
32 Data Bits
64 Inst.
8 ECC
ECC Logic
8 Stage
Pipeline
Error
64 Data
8 ECC
4 ECC Bits
Hercules™ Cortex-R4F MCU safety features Safe Island Hardware diagnostics (RED)
Blended HW diagnostics (BLUE)
Non Safety Critical Functions (BLACK)
Dual Core Lockstep - Cycle by Cycle CPU
Fault Detection
ECC for flash / RAM / interconnect evaluated inside the Cortex R4F
Контроль четности у всей периферии,
DMA и RAM контроллера прерываний
Самотестирование RAM-памяти
Контроллер самодиагностики
CPU
IO Loop Back, ADC Self Test, …
Error Signaling Module w/ External
Error Pin
Встроенный такт и мониторинг
питания
Logical / physical design optimized to reduce probability of
common cause failure
PBIST/LBIST OSC PLL
POR
CRC RTI/DWWD
ESM
Enhanced System Bus and Vectored Interrupt Module
DMA
Memory
Flash w/ ECC
Embedded Trace
RAM w/ ECC
Power, Clock, & Safety
Memory Interface
JTAG Debug
Calibration
Serial Interfaces
Network Interfaces
2x12bit ADC
Cores
Available
Dual High-end Timers
Available
GIO
Flash EEPROM w/ ECC
CPU Fault Detection
Контроль четности или CRC в
интерфейсах
Два ядра АЦП с общими входами
External Memory
ARM® Cortex™-
R4F
Lockstep CPUs
Developed for safety applications
Built in self test for CPU and RAMs
ECC for Flash and RAM
ECC для Flash / RAM
(SECDED)
Контроль четности во всей RAM периферии, защита ECC таблицы
векторов прерываний
Самодиагностика RAM-памяти ускоряет
процедуру проверки при загрузке
Контроллер самотестирования CPU
CRC, Calibration, ADC Self Test, …
Модуль обработки сигналов ошибки On-Chip Clock Monitoring
CPU & RAM Self Test
TMS470M
VREG OSC PLL
MBIST
LBIST RTI
CRC
Vectored Interrupt Management
Enhanced System Bus
Memory
Up to 640KB
Flash
w/ ECC
Up to 64 KB
RAM w/ ECC
Power, Clock, & Safety
Debug
Memory Protection JTAG Debug
ARM® Cortex™M3
80MHz
Timers / IO
MibSPI1
64 Buffers; 8 CS
Serial I/F Network I/F
CAN1 (16mb)
ADC
MibADC
64 Buffers
10-bit, 16ch
CAN2 (32mb)
UART1 (LIN1)
High End Timer
(HET)
64 words, 16 ch MibSPI2
64 Buffers; 4 CS GIOA/INTA (4) UART2 (LIN2)
Hercules™ Cortex-M MCU safety features
Микроконтроллеры TIVA от Texas Instruments
Обзор семейства TivaTM C
Connect
Беспрецедентное количество интерфейсов!
Большое количество встроенных продвинутых модулей интерфейсов позволяет разработчикам увеличивать количество подключаемых устройств, не жертвуя при этом ценой, производительностью или потреблением. Встроены интерфейсы: Ethernet MAC & PHY, CAN, External Parallel Interface (EPI), USB On-The-Go/Host/Device, 4 SSI/SPI, до 10 интерфейсов I2C и до 8 модулей UART.
Communicate
Выгрузка данных в облако!
Tiva позволяет реализовывать новые продукты линейки Интернет Вещей (Internet of Things, с управлением через HumanMachineInterface, чему способствует обилие интерфейсов и доступность программного обеспечения (TivaWare™) с сетевыми стеками и примерами программ для отладочных средств.
Control
Универсальность и многозадачность! В таких приложениях как: освещение, измерения, управление движением, отображение и переключение необходимо одновременное управление большим количеством выводов и обработка множественных событий. Способность обработки данных с датчиков наряду с большим количеством выводов ШИМ, два входа для квадратурных энкодеров, два быстрых и точных 12-битных АЦП, три встроенных компаратора позволяют использовать контроллеры семейства Tiva для таких приложений.
Представляем семейство TivaTMС
• Запас ресурсов для расширения функциональности
• Режимы низкого потребления для портативных устройств
• Масштабируемость и расширяемость в пределах продуктовой линейки
• Высокая системная интеграция и оптимальная цена
Встроенная периферия для разных приложений
в одном устройстве !
Автоматизация зданий и промышленные приложения
Ядро Cortex-M4F
Новейшее решение компании ARM для задач цифровой обработки сигналов и управления.
Основано на базе ядре M3 с добавлением DSP инструкций и модуля вычислений с плавающей точкой
Высокая производительность, низкое потребление, простота использования
Основные сегменты применения:
• Промышленная автоматика
• Автомобильная электроника
• Управление приводами
• Аудиоприложения
Ядро Cortex-M4F: основные характеристики Поддержка команд Thumb® / Thumb-2 (16- и 32-битные инструкции)
DSP дополнения
Выполнение 16,32-bit MAC за один цикл Выполнение двойного 16-bit MAC за один цикл 8,16-bit SIMD arithmetic Аппаратное деление(2-12 циклов)
Ядро вычислений с плавающей точкой
Single precision floating point unit IEEE 754 compliant
Конвейер 3-уровневый + предсказание ветвлений
Производительность 3.40 CoreMark/MHz*
Производительность Без FPU: 1.25 / 1.52 / 1.91 DMIPS/MHz С FPU: 1.27 / 1.55 / 1.95 DMIPS/MHz
Защита памяти До 8 зон защищенной памяти
Прерывания Немаскируемые прерывания (NMI) + 1 до 240 физических прерываний
Приоритет прерываний От 8 до 256 уровней приоритета прерываний
Прерывания пробуждения До 240 прерываний вывода из сна
Режимы сна
Встроенные инструкции WFI(wait for interrupt), WFE(wait for event) и Sleep On Exit. Sleep & Deep Sleep Signals. Optional Retention Mode with ARM Power Management Kit
Битовые операции Встроенные команды и режим Bit-Band
Отладка Опционально JTAG и Serial-Wire Debug. До 8 брейкпоинтов и до 4 вотчпоинтов.
Переименование: LM4F -> TM4C LM4F Part No TM4C Part No LM4F Part No TM4C Part No
LM4F110B2QR TM4C1231C3PM LM4F131E5QR TM4C1236E6PM
LM4F110C4QR TM4C1231D5PM LM4F131H5QR TM4C1236H6PM
LM4F110E5QR TM4C1231E6PM LM4F130C4QR TM4C1237D5PM
LM4F110H5QR TM4C1231H6PM LM4F130E5QR TM4C1237E6PM
LM4F111B2QR TM4C1230C3PM LM4F130H5QR TM4C1237H6PM
LM4F111C4QR TM4C1230D5PM LM4F132C4QC TM4C1237D5PZ
LM4F111E5QR TM4C1230E6PM LM4F132E5QC TM4C1237E6PZ
LM4F111H5QR TM4C1230H6PM LM4F132H5QC TM4C1237H6PZ
LM4F112C4QC TM4C1231D5PZ LM4F132H5QD TM4C1237H6PGE
LM4F112E5QC TM4C1231E6PZ LM4F210E5QR TM4C123BE6PM
LM4F112H5QC TM4C1231H6PZ LM4F210H5QR TM4C123BH6PM
LM4F112H5QD TM4C1231H6PGE LM4F211E5QR TM4C123AE6PM
LM4F120B2QR TM4C1233C3PM LM4F211H5QR TM4C123AH6PM
LM4F120C4QR TM4C1233D5PM LM4F212E5QC TM4C123BE6PZ
LM4F120E5QR TM4C1233E6PM LM4F212H5QD TM4C123BH6PGE
LM4F120H5QR TM4C1233H6PM LM4F212H5QC TM4C123BH6PZ
LM4F121B2QR TM4C1232C3PM LM4F212H5BB TM4C123BH6ZRB
LM4F121C4QR TM4C1232D5PM LM4F231E5QR TM4C123FE6PM
LM4F121E5QR TM4C1232E6PM LM4F231H5QR TM4C123FH6PM
LM4F121H5QR TM4C1232H6PM LM4F230E5QR TM4C123GE6PM
LM4F122C4QC TM4C1233D5PZ LM4F230H5QR TM4C123GH6PM
LM4F122E5QC TM4C1233E6PZ LM4F232E5QC TM4C123GE6PZ
LM4F122H5QC TM4C1233H6PZ LM4F232H5QD TM4C123GH6PGE
LM4F122H5QD TM4C1233H6PGE LM4F232H5QC TM4C123GH6PZ
LM4F131C4QR TM4C1236D5PM LM4F232H5BB TM4C123GH6ZRB
27
EK-TM4C123GXL LaunchPad
Доступна сегодня!
$12.99
DK-TM4C123G
Доступна сегодня!
$149
Инструменты
Программное обеспечение
• Встроенное ядро для вычислений с плавающей точкой, работающее на частоте +80MHz ─ предоставляет высокую производительность
• Высокопроизводительная аналоговая периферия
• Библиотека TivaWare™ – Позволяет повторное использование кода на всех устройствах с ядром Cortex™-M4F
• Встроенный модуль 10/100 ENET MAC + PHY – (coming soon!)
• Режимы низкого энергопотребления с потреблением до 1.6µA
Основные особенности
• TivaWare for C Series – библиотека настройки периферии встроенная в ROM, включает в себя вспомогательные функции, такие как boot loaderи проверка контрольной суммы
• Code Composer Studio™ IDE
• Поддержка TI RTOS
• ARM 3rd Party Ecosystem
TM4C123x Температура 85°C 105°C
Типы корпусов
До 256 KB Flash
До 32 KB SRAM
ROM
Real-time JTAG
8× UART
4× SSI/SPI
6× I2C
USB Full Speed (Host/Device/OTG)
6× 32-bit Timer/PWM/CCP
6× 64-bit Timer/PWM/CCP
2× Watchdog Timer
LDO Voltage Regulator
Temperature Sensor
Precision Oscillator
DMA (32 ch)
16x PWM Outputs
2× Quadrature Encoder
Inputs
2× CAN
Интерфейсы Управление
Systick Timer
Battery-Backed Hibernate RTC 2 KB EEPROM
12ch, 1 S/H 12-bit 1 MSPS ADC
Отладка
Системные модули
Питание & Тактирование
Память
NVIC SWD/T ETM
ARM®
Cortex™-M4F
Up to 80 MHz
FPU MPU
3× Analog Comparators
12ch, 1 S/H 12-bit 1 MSPS ADC
Аналог
Tiva™ C Series Microcontrollers – TM4C123x
ОТ 2$
Connected Development Kit
DK-TM4C129X
$199 USD MSRP
Доступна сегодня!
________________________
Connected LaunchPad
Evaluation Kit
EK-TM4C1294XL
$20 USD MSRP
Tiva™ C Series Microcontrollers – TM4C129x
• Встроенное ядро для вычислений с плавающей точкой, работающее на частоте +120MHz ─предоставляет еще большую производительность
• Интегрированный 10/100 ENET MAC & PHY
• Встроенный LCD контроллер
• Встроенные механизмы защиты данных
• Высокопроизводительная аналоговая периферия
Оличительные особенности
• TivaWare for C Series – библиотека настройки периферии встроенная в ROM, включает в себя вспомогательные функции, такие как boot loaderи проверка контрольной суммы
• Code Composer Studio™ IDE
• Поддержка TI RTOS
• ARM 3rd Party Ecosystem
Типы корпусов
TM4C129x Up to 1 MB Flash
Up to 256 KB SRAM
DMA (32 ch)
Real-time JTAG
8× UART 4× QSSI/SPI
10× I2C
USB Full/High Speed (Host/Device/OTG)
8× 32-bit Timer/PWM/CCP EPI
2× Watchdog Timer
Battery-Backed Hibernate
AES, DES, SHA & MD5 Accelerators
4x Tamper Inputs 2× CAN
Интерфейсы
Systick Timer
6 KB EEPROM
Отладка
Системные модули
Память
2x 12ch, 12-bit ADCs up to 2 MSPS
Аналог
ROM
RTC
Precision Oscillator
Питание и тактирование
CRC Accelerator
1-Wire (SW)
Система
10/100 Ethernet MAC / PHY (IEEE 1588)
Quadrature Encoder Inputs
Защита данных
8× MC PWM
Управление
LCD
3× Analog Comparators
LDO Voltage Regulator
NVIC SWD/T ETM
ARM®
Cortex™-M4F
Up to 120 MHz
FPU MPU
Инструменты
Программное обеспечение
Температура 85°C 105°C
Temperature Sensor
ОТ 8$
Tiva: Для распределенных систем управления
Содержит контроллер 10/100 Mbps Ethernet Media Access Control (MAC) и физический уровень - Physical (PHY). Поддерживает протокол высокой точности времени IEEE1588.
Full-speed USB 2.0 OTG/Host/Device. Поддерживает операции управления, прерывания и передачу пакетных данных на скорости до 12 Mbps.
USB 2.0
Host/Device/OTG + PHY
10/100 Ethernet w/ PHY
C Series Connected
Два CAN-интерфейса
CAN – интерфейс, изначально использовавшийся для автомобильной техники, сегодня становится популярным в аэрокосмической, промышленной автоматике и медицинском оборудовании.
Технология сбора данных с различных датчиков —акселерометр, гироскоп и магнитометр — для получения точной информации о движении в реальном времени.
Sensor Hub SH
Connect Communicate Control • Подключение и автоматизация дома, зданий и
промышленных систем.
• Sensor hub для потребительской и промышленной техники
• Управление движением
Tiva C series Преимущества
TM4C123x Богатые возможности подключения
Sensor Hub & USB
Tiva C series Преимущества
TM4C129x Ethernet MAC+PHY, Аппаратное
кодирование, Tamper, USB High-
speed, External memory interface, LCD
Простая и быстрая разработка TI Инструменты, Программное обеспечение, Приложения и Поддержка
Программное обеспечение Инструменты
Документация
• Datasheets
• White papers
• Application notes
Поддержка и тренинги
• Видео тренинги
• Личные тренинги
• Поддержка на 24/7 на форуме инженерной поддержки E2E
$12.99 Tiva™ C Series
EK-TM4C123GXL
• Бибилиотека TivaWare для приложений без ОС
• Code Composer Studio™ v. 5
• TI-RTOS для совместимых приложений на разных платформах
• Библиотеки для конкретных приложений
Tools
• Оценочные платы LaunchPad
• Платы разработчика DK
Сеть разработки $149.00
Tiva™ C Series
DK-TM4C123G
$199.00
Tiva™ C Series
DK-TM4C129X
Tiva™ C Series TM4C129 Connected Development Kit
DK-TM4C129X Реализован на базе TM4C129XNCZADI
● 120 MHz ARM® Cortex™-M4F CPU (DSC w/ FPU)
● 1MB Flash / 256KB SRAM / 6KB EEPROM
● 8 timers (8x32-bit / 16x16-bit), plus SysTick & Watchdogs
● Motion control PWM outputs
● 10 I2C, 8 UARTs, 4 QSPIs, 2 CAN, USB FS & HS support
● 10/100 Ethernet MAC & PHY
● LCD control module
● 212-pin nfBGA with up to 140 GPIOs
Подключение внешних устройств ● Standard Boosterpack & BoosterPack XL
● TI wireless EM interface
● Available I/O Expansion
o ULPI USB external PHY (for high speed USB 2.0)
o RMII/MII external Ethernet PHY
o EPI, Host bus 16/8
Ethernet RJ45 jack
User H/D/O microAB USB connector
QVGA display with resistive touch screen
QSSI connected 512Mbit Flash mem & microSD slot
3x user buttons, tri-color user LED & speaker
Hardware reset button & system LED indicators
In-Circuit Debug Interface (XDS-ICDI) & std 20-pin JTAG debug header
Tool chains: CCS, Keil, IAR, CodeBench & GCC
TivaWare DriverLib under TI BSD-style license
Простой в использовании, полнофункциональный набор разработчика
Tiva™ EK-TM4C1294XL LaunchPad
32-bit TM4C1294NCPDT Microcontroller
Two 40-pin BoosterPack stackable connectors (accepts earlier 20-pin )
Four LEDs (2 user, 2 Ethernet activity)
Two User buttons
Reset and Wake buttons
User 10/100 Ethernet port
User Full and low-speed USB 2.0 port
USB in-Circuit Debug and External Debug connectors
98 breadboard pin-outs
Power measurement jumpers
Edge connector offers additional expansion
Особенности DK-TM4C123G
• Реализован на базе TM4C123GH6PGE MCU – 80 MHz ARM® Cortex™-M4 CPU (DSC w/ FPU) – 9-axis MPU-9150 sensor – CAN transceiver – 5x user input buttons, reset button & power LED – All hardware and software to get started in 10 minutes or less – Full peripheral functionality & example projects – 96 x 64 color OLED display showcasing TivaWareTM for C Series – microSD card slot – 8GB USB thumb drive
• Debug and Tool Chain Support – On-board,USB-based debug interface – CCS, Keil, IAR, CodeBench, GCC – Priced at $149 USD
TivaTM C Series Development Kit
Price $149
Tiva™ C Series TM4C123 Development Kit Простой в использовании, многофункциональный набор разработчика
Tiva™ C Series TM4C123 LaunchPad
Особенности EK-TM4C123GXL
• Реализована на базе TM4C123GH6PM MCU – 80 MHz ARM® Cortex™-M4F CPU (DSC w/ FPU) – 256K Flash / 32K SRAM – Uses BoosterPack XL connection standard – Две пары двухрядных 10-пиновых штыревых
разъемов – 2x пользовательских кнопки, кнопка reset и power LED – Совместима с другими Booster Packs/ LaunchPads
• Debug and Tool Chain Support – On-board,USB-based debug interface – Priced under $10 USD (ETM)
• Booster Packs – 3 Party: Anaren ZigBee, Epson LCDC + Display, Kentec
Display, Next Gen Olimex LED Matrix – Internal: Wireless EM, WiFi CC3000, Sensor-hub
– Existing: Captouch, LED Matrix, I2C Potentiometer
Недорогая универсальная оценочная платформа
Tiva™ EK-TM4C123GXL LaunchPad
www.ti.com/launchpad
Price: $12.99
SensorHub Booster Pack
Особенности
Add sensor aggregation capabilities to your designs
Motion tracking: 3 Axis gyro, 3 Axis accelerometer, 3 Axis compass
Environmental monitoring: pressure, humidity, ambient temperature, ambient light & infrared sensor
Designed for Tiva C Series LaunchPad
Uses booster pack standard
Supports multiple tool chains
CCS, Keil, IAR & Sourcery Code Bench
MSRP of $49.99 USD (37.49 DBP)
Get started with Sensor Fusion technology in 10 minutes or less Air Mouse Example:
USB Composite HID keyboard & mouse
Viterbi-like gestures
Wireless ready with RemoTI
TivaTM SensorHub Booster Pack
Onboard temperature, pressure, motion, humidity, ambient light & IR sensors
Нужны датчики в проекте? – Легко!
Еще несколько устройств Booster Pack
KenTec Touch Display CapTouch Olimex 8x8 LED Sensor Hub
PERF-ect Board RF A2530 Radio Module 2.7” OLED Display Sakoman Proto
BoosterPack
MikroElektronika Click™ Epson S1D13781 LCDC CC2530 ZigBee EM Adapter
Почему TivaTM C Series MCUs?
Системные решения для существующих применений
‒ Опорные дизайны и отладочные наборы ускоряют разработку
‒ Примеры приложений и специализированная периферия для сетевых приложений, управления, автоматизации, Application code & optimized peripherals for connectivity, motion
control, automation, lighting, PLC, HVAC & building control apps.
Высокопроизводительная аналоговая и цифровая периферия
− Аналоговая периферия для приложений управления в реальном времени с низким энергопотреблением
− Proven to work as complete system on-chip or purchased separately
Все необходимое для разработки ПО
‒ Среда разработки CCStudio™ для всего портфолио TI ARM
‒ Software, tools and third parties – TivaWare™ (no OS) to RTOS
Любой Cortex от Texas Instruments
OMAP™ applications processors
ARM Cortex-A8, A9, A15
Sitara™ ARM® processors
ARM9, ARM Cortex-A8
TI Multicore processors ARM Cortex-A8, A15
ARM Cortex-A
Tiva C Series MCUs
ARM Cortex-M4
TI dual-core C2000™+ARM MCUs
ARM Cortex-M3
Hercules Safety
ARM MCUs
ARM Cortex-M3
ARM Cortex-M
Hercules™ Safety
ARM MCUs
ARM Cortex-R4
ARM Cortex-R
Аппаратное обеспечение: DK-TM4C129X, USB-кабель для программирования
Установка драйверов ICDI
Установка Code Composer Studio
Установка библиотеки TivaWare 2.0
Подготовка рабочего места
Микроконтроллеры TIVA от Texas Instruments
TivaWareTM инициализация и GPIO
Содержание модуля
• TivaWare
• Тактирование
• GPIO
• HandsOn
TivaWareTM : основные особенности
• Весь код написан на языке С, в том числе обработка прерываний и код загрузки
Графическая
библиотека Библиотека
USB
Библиотека
сенсоров
Открытая
RTOS
Стеки с открытыми
исходниками
Инструменты:
Контр. суммы
Безопасность
Примеры
проектов
Примеры
От третьих партнеров
Библиотека драйверов периферии
Поддержка Boot Loader и внутрисхемного программирования
Программное обеспечениеTivaWare
APIs для инициализации и управления периферией
- Также доступна в ROM
Возможность обновления приложения в готового изделии
-Также доступна в ROM
APIs для графических дисплеев
APIs для USB device, USB host, или USB On-The-Go (OTG) приложений
APIs с оптимизированными функциями общего назначения, такими как проверка CRC и таблиц AES
APIs для датчика 3-в-1: акселерометр- гироскоп- магнитометр, плюс фреймворк для других датчиков
Примеры приложений используются в качестве стартовой точки разработки
Открытый исходный код для Ethernet и операционной системы реального времени
Дополнительные примеры исходного кода
Бесплатное использование по BSD-лицензии
API-интерфейс высокого уровня для всего набора периферии
Делает разработку приложений более простым простым и быстрым процессом
Может быть использована в разработке приложения в качестве примера
Доступна как объектная библиотека и как исходный код
Совместима со следующими IDE:
- TI Code Composer Studio
- ARM/Keil
- IAR
- GNU tools
Библиотека драйверов периферии(DriverLib)
Исходный код на C, простое и эффективное использование
Три уровня абстракции, каждый вызывается из последующего: Уровень драйвера дисплея (нижний уровень) Уровень графических примитивов … Уровень виджетов (верхний уровень)
Графические примитивы: Точка, Линия, Прямоугольник, круг, шрифт,
изображение, фон, буфер 134 типов шрифтаComputer Modern predefined fonts
available Поддержка 24-битного формата цвета
Виджеты: Canvas, Checkbox, Container, Push Button,
Radio Button, Slider, ListBox Спец. утилиты
ftrasterize: вывод своего шрифта lmi-button: клавиша с эффектами тени и 3-D pnmtoc: преобразование изображения в формат
библиотеки
Primitives Radio Buttons
Checkbox
Canvas Push Buttons
Container
TivaWareTM : графическая библиотека
Security Push Buttons
Исходный код для интегрированных датчиков движения - Direct Cosine Matrix – проприетарный программный модуль TI - Vector Math – проприетарный программный модуль TI
Поддержка различных типов датчиков: - Давления - Освещения - Влажности - Температуры
Набор примеров для SensorHubBoosterPack
Поддержка различных производителей датчиков
TivaWareTM : библиотека датчиков
TivaWareTM : TI-RTOS
Кросс-платформенные API-функции
TCP/IP (IPv4 & IPv6) HTTP, DHCP, DNS, Telnet,
TFTP
USB Host, Device
MSC, HID, CDC
Файловая система
FAT
Ядро реального времени(SYS/BIOS) Отладка и дополнительные инструменты
Драйвера EMAC, SD, USB, SPI(SSI), UART, I2C, GPIO, Watchdog
Особенности
• Многозадачное ядро реального времени и дополнительные компоненты
• IPv4 и IPv6-совместимый TCP/IP стеки
• HTTP, DNS, DHCP, Telnet, и FTP
• USB-стек Host и Device
• Драйвера классов MSC, HID, и CDC
• FAT-совместимая файловая система, с поддержкой станадрных функций ввода/вывода
• Драйвера Ethernet, USB, UART, IIC, и SD
• Инструменты настройки и отладки
Тактирование: базовые источники тактирующего сигнала
• Precision Internal Oscillator (PIOSC) 16 МГц ± 1%
• Main Oscillator (MOSC) с внешним:
тактовым генератором кварцем
• Внутренний осциллятор 30 кГц 30 кГц ± 50% Предназначен для использования во время энергосберегающих режимов
• Модуль гибернации (HMCS) С использованием внешнего кварца 32,768 Гц Предназначен для реализации «часовых» приложений
Тактирование: источники тактирования CPU
CPU может тактироваться одним из базовых источников: • Встроенный 16 МГц • Главный MOSC • Встроенный 30 кГц • Внешний 32,768 Гц
Плюс: • Внутренний PLL (400 МГц) • Встроенный 16 Мгц деленный на 4 (4МГц ± 3%)
Источник Управляет PLL? Формирует SysClk?
Встр. 16МГц Да Да
Встр. 16МГц/4 Нет Да
MOSC Да Да
Встр. 30 кГц Нет Да
Модуль гибернации Нет Да
PLL - Да
Тактирование: схема
API-функция SysCtlClockSet() устанавливает: • делитель SYSDIV • OSC или PLL • встроенный осциллятор или с внешним источником • частоту используемого кварца
GPIO
• Любой вывод GPIO может быть источником прерывания:
• По фронту, спаду импульса либо по обоим событиям
• По уровню единицы либо нуля
• Может инициировать запуск ADC или передачу uDMA
• Частота переключения может достигать половины частоты тактирования CPU (для стандартной шины) либо 100% частоты тактирования CPU (для шины Advanced High-Performance)
• Совместимость с 5В в режиме входа
• Программируемый выходной ток (2, 4, 8мА или 8мА с контролем скорости нарастания)
• Выбор внутренней подтяжки или открытого стока
• Состояние пинов сохраняется в режиме гибернации
Инструмент PinMux
• Позволяет пользователю настроить выводы используя графический интерфейс
• Формирует исходный код с необходимыми header-файлами для использования с одной из поддерживаемых IDE
http://www.ti.com/tool/tm4c_pinmux
Маскирование адресов GPIO У каждого порта GPIO есть базовый адрес. Можно записывать 8-битное значение непосредственно по этому базовому адресу, и все 8 пинов будут изменены. Если необходимо изменить только отдельные биты, можно использовать битовую маску для выделения только некоторых бит. Эта процедура выполняется аппаратно путем выделения под каждый GPIO порт 256 адресов. Биты 9:2 шины адреса используются как битовая маска.
0 0 0 1 1 1 0 1
1 1 1 0 1 0 1 1
0 0 1 0 0 1 1 0 0 0 0 0 …
0 0 1 1 1 0 1 1
GPIO Port D (0x4005.8000)
Записываемое значение (0хEB)
Новое значение в GPIO Port D
Хотим изменить содержимое GPIO Port D (0x4005.8000).
Текущее значение регистра:
Новое значение, которое хотим записать – 0xEB:
Вместо непосредственной записи в порт, происходит запись по адресу 0x4005.8098. Биты 9:2 (приведенные на рисунке) становятся
битовой маской для нового значения для записи.
GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_5|GPIO_PIN_2|GPIO_PIN_1, 0xEB);
Прим.: Вы указываете базовый адрес, битовую маску и значение для записи.
Функция GPIOPinWrite() определяет правильный адрес для маски.
Функции защиты GPIO Шесть выводов на устройстве защищены от случайного программирования:
• PC3,2,1 & 0: JTAG/SWD
• PD7 & PF0: NMI
Любая запись в следующие регистры для этих выводов не будет сохранена пока регистр GPIOLOCK не будет разблокирован:
• GPIO Pull Up or Pull Down select registers
• GPIO Digital Enable register
• GPIO Alternate Function Select register
Для снятия блокировки регистра GPIOLOCK для PF0 используется последовательность: HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY;
HWREG(GPIO_PORTF_BASE + GPIO_O_CR) |= 0x01;
HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = 0;
Чтение регистра GPIOLOCK вернет регистр в состояние блокировки
Ход работы
См. методические указания:
ЛР1: TivaWare- Инициализация и GPIO
Микроконтроллеры TIVA от Texas Instruments
NVIC
контроллер вложенных прерываний
Nested Vectored Interrupt Controller (NVIC) Обслуживает исключения и прерывания (7 исключений и 106 прерываний)
8 программируемых уровней приоритета прерываний, с возможностью группировки и изменения приоритета на лету
Автоматическое сохранение и восстановление статуса
Автоматическое чтение содержимого таблицы векторов прерываний
Поддержка преимущественных/вложенных прерываний
Tail-chaining – переход между прерываниями
Фиксированное время обработки: всегда 12 или 6 циклов + tail-chaining
Прерывания по логическому уровню и по фронту импульса
t
Прерывания управления (PWM, ADC)
Прерывания интерфейсов(CAN, UART)
Основной цикл
Tail Chaining...
PUSH POP ISR 1 POP ISR 2
PUSH ISR 1 POP ISR 2
12 Тактов
IRQ1
IRQ2
Типичный процессор
Cortex-M4 NVIC 6
Тактов 12 Тактов
Время обработки - Tail Chaining
Наивысший приоритет
Tail-chaining
Pre-emption …
PUSH
Время обработки – Pre-emption
ISR 1 ISR 2
ISR 1 POP ISR 2
1- 12 Тактов
IRQ1
6 Тактов
POP
12 Тактов
Late arrival...
PUSH POP POP
Cortex-M4 NVIC
IRQ2
Типичный процессор
Наивысший приоритет
ISR 2
Время обработки – Late Arrival
IRQ1
IRQ2
ISR 2 ISR 1
PUSH POP
12 Тактов
6 Тактов
ISR 1
Interrupt handling...
PUSH POP PUSH PUSH POP
Cortex-M4 NVIC
Типичный процессор
Наивысший приоритет
Обработка контекстной информации выполняется автоматически. Без необходимости дополнительных команд.
Вход в прерывание
Автоматическое сохранение регистров R0–R3, R12, LR, PSR, и PC в стек (8 32-битных слов)
Одновременно, команды ISR подготавливаются на шине команд. ISR готово к выполнению уже до того как закончится загрузка контекста в стек
Флаг прерывания сбрасывается автоматически для одиночных прерываний
Выход из прерывания
Состояние процессора автоматически восстанавливается из стека
Одновременно, прерванная команда подготавливается на шине команд и готова к выполнению уже до того как заканчивается выгрузка данных из стека
NVIC: обработка прерывания
Exception types...
Типы особых прерываний
Номер вектора
Тип исключения
Приоритет Адрес вектора
Описание
0 - 0x00 Верхний адрес стека
1 Reset -3 0x04 Сброс
2 NMI -2 0x08 Не маскируемое прерывание
3 Hard Fault -1 0x0C Ошибка обработки исключения
4 Memory Management Fault
Программир. 0x10 Нарушение MPU
5 Bus Fault Программир. 0x14 Ошибка шины (предварительная выборка или отмена данных)
6 Usage Fault Программир. 0x18 Исключение для программных ошибок
7-10 Reserved - 0x1C - 0x28
11 SVCall Программир. 0x2C Инструкция SVC
12 Debug Monitor Программир. 0x30 Исключение для отладки
13 Reserved - 0x34
14 PendSV Программир. 0x38
15 SysTick Программир. 0x3C Системный таймер
16 и выше Прерывания Программир. 0x40 Внешние прерывания(Периферия)
Vector Table...
Таблица векторов
После сброса таблица векторов располагается с нулевого адреса
Каждая строка содержит адрес функции, вызываемой при прерывании
Значение по адресу 0x00 используется как начальный адрес главного указателя стека
Таблица векторов может быть перенесена, для этого используется регистр VTABLE
Таблицу векторов прерываний можно посмотреть в файле tm4c1294ncpdt_startup_c
cs.c
GPTM...
General Purpose Timer Module
16 или 32-битный таймер однократного срабатывания (one-shot)
16 или 32-битный периодический таймер (periodic)
16-битный таймер общего назначения с 8-битным предделителем
32-битные часы реального времени (RTC), используют внешний внешний такт 32,768Hz
16-битный счетчик/таймер захвата с 8-битным предделителем
16-битный режим ШИМ с 8-битным предделителем и программируемой инверсией ШИМ-сигнала
Для тактирования может быть использован как SYSCLK, так и ALTCLK. Источником ALTCLK может быть PIOSC, RTC или низкочастотный внутренний генератор
Счет вверх/вниз
Возможность каскадирования и синхронизации
Возможность запуска ADC по различным событиям
Возможность останова во время паузы при отладке
Использование DMA
Содержит восемь 16/32-bit GPTM блоков со следующими
характеристиками:
Микроконтроллеры TIVA от Texas Instruments
USB-модуль
USB: основы Различные типы разъемов 4 контакта – питание, земля, 2 линии данных (5й контакт ID для USB2.0) Конструктивно сначала подключается питание, затем данные Стандарты: • USB 1.1
• Определение Host(master) и Device(slave) • Скорость до 12 МБит/сек
• USB 2.0 • Скорость до 480 МБит/сек • Добавление OTG
• USB 3.0 • Скорость до 4.8 ГБит/сек • Новый тип разъема • Отдельные линии передачи и приема
USB: основы USB Device… большинство устройств, работает в режиме slave
USB Host… обычно PC, но может быть встраиваемое устройство
USB OTG… On-The-Go
• Динамичное переключение между ролями Host и Device
• Два соединенных OTG-устройства «договариваются» о ролях между собой
Host при подключении получает следующие данные от каждого Device:
Дескриптор устройства (Данные производителя и ProductID для установки драйверов)
Дескриптор настройки (энергопотребление и интерфейс)
Дескрипторы конечной точки (тип передачи данных, скорость и т.д.)
Enumeration – процесс, позволяющий использовать функцию Plug&Play
• Поддержка USB 2.0 full speed (12 Mbps) и low speed (1.5 Mbps)
• Поддержка функционала On-the-go (OTG), Host и Device устройств
• Встроенный интерфейс физического уровня PHY
• Типы передачи: Control, Interrupt, Bulk и Isochronous
• Device Firmware Update (DFU) device in ROM
Сообщество Tiva
• Texas Instruments является участником форума производителей USB
• Разрешено использование официального логотипа USB
• Бесплатное предоставление Vendor/Product ID http://www.ti.com/lit/pdf/spml001
•FREE
•Vendor ID/
•Product ID
•Sharing program
•VID •Request
•for embedded •USB products
USB: TM4C129XNCZAD
USB: Блок-схема модуля
• Встроенный USB-контроллер и PHY-модуль
• 1 выделенный буфер (Endpoint) зафиксированный на прием, и 1 – на передачу
• До 7 входных буферов, до 7 выходных
• 4 кБайта выделенной памяти для буферов, не являющейся частью SRAM
• Встроенный USB DMA модуль (до 8 каналов на прием и до 8 на передачу)
• Режим HighSpeed (480 Mbps) возможен с использованием внешнего PHY и встроенного интерфейса ULPI
• ULPI = UTMI+ Low Pin Interface
• UTMI+ = USB Transceiver Macrocell Interface c поддержкой типов OTG и Host во всем диапазоне скоростей передачи
• Параллельный интерфейс между USB контроллером и PHY
• cигналы UTMI+ доступны через регистры
• 12 сигналов: clock, 8 бит двунаправленных данных, 3 сигнала управления
• поддержка ULPI стандарта Single Data Rate (8-битные данные)
USB: HighSpeed режим с ULPI
TUSB1210
TUSB1211
• Link Power Management
• Режим энергосбережения sleep, включающийся после подключения устройства и до состояния suspend
• Удаленное пробуждение
• Допускается более частое отключение устройства, для энергосбережения
• Оптимально для мобильных устройств
• Совместимость с устройствами Host и Device, не имеющих поддержки режимов энергосбережения
• API-Функции доступны в библиотеке TIvaWare
USB: Link Power Management
Sleep Suspend
Запуск Явный, с помощью специальной LPM-команды Неявный, после 3х миллисекунд неактивности на шине
Задержки Вход: ~10 uS Выход: ~70 uS до 1 ms (зависит от хоста)
Вход: ~3 ms Выход: >30 ms (зависит от ОС)
Потребление Зависит от приложения и реализации Ограничения: ≤500uA или ≤2.5mA
Библиотека TivaWare™ USBLib
Полностью бесплатные драйвера, стек и примеры приложений для микроконтроллеров Tiva
Built on the driverLib API
• Функции управления для устройств типа Host и Device
• Содержит реализацию стандартных классов USB
Уровневая структура абстракций API
Содержит драйвера для
устройств классов: Audio
Bulk
CDC
Composite
DFU
HID
HID Mouse
HID Keyboard
HID Gamepad
Mass Storage
Abstraction Levels...
Содержит функции host :
Controller driver
Class driver
Device Interface
Содержит стек OTG-устройств
USB: TivaWareTM USBLib - уровни абстракции API
Приложение 1
Передает упрощенные данные в API более
высокого уровня
(Custom HID mouse)
Приложение 2
Передает ключевую информацию в API
драйвера
API драйвера обрабатывает все низкоуровневые
функции для выбранного класса
устройства.
(Custom HID Device)
Приложение 3
Использует существующий API для
работы Host/Device
Использует DriverLib для функций, не входящих в API.
(Custom classes)
Приложение 4
Реализует собственный USB-
протокол, использую Driverlib.
(Third party USB stack)
Host / Device class API
Host / Device class driver APIs API
USB Host Controller API/USB Device API
USB DriverLib API
Объем доступных для настроек параметров
Уро
вен
ь аб
стр
акц
ии
Высокий
Низкий Высокий
USB: TivaWareTM – примеры проектов
• usb_dev_bulk
• usb_dev_keyboard – имитация клавиатуры
• usb_dev_msc
• usb_host_hub
• usb_host_msc – чтение файловой системы c USB-диска (FAT)
• usb_otg_mouse – обработка подключенной мышки
• usb_stick_demo
• usb_stick_update
Ход работы
См. методические указания:
ЛР3: USB
Микроконтроллеры TIVA от Texas Instruments
АЦП
АЦП: Блок-схема • Источники тактирования:
- PLL
- MOSC
- PIOSC
• Частота тактирования системы должна быть выше, чем частота тактирования модуля АЦП
• Оба модуля АЦП тактируются одним сигналом и работают с одинаковой скоростью
АЦП: основные особенности TM4C содержит два модуля АЦП 12бит 1MSPS (ADC0 и ADC1)
Каждый модуль работает независимо и может:
• преобразовывать любой из аналоговых входов
• формировать прерывания и сигналы запуска
24 аналоговых входа
Дифференциальный и синфазный режимы
Встроенный датчик температуры
Аппаратное усреднение от 2х до 64х сэмплов
8 цифровых компараторов на каждый модуль
2 аналоговых компаратора
4 настраиваемых секвенсора на каждый модуль
Настраиваемый фазовый сдвиг между преобразованиями от 22.5° до 337.5°
Опора: внутренняя VDDA/GNDA, либо внешняя VREF+/VREF- (212 BGA)
АЦП: секвенсоры Оцифровка и сбор данных выполняется с использованием программируемых секвенсоров
Секвенсор позволяет АЦП обрабатывать сигналы с разных входов без необходимости перенастройки
У каждого модуля АЦП есть 4 секвенсора
Все секвенсоры одинаковы, за исключением количества сохраняемых сэмплов и глубины FIFO-буфера
Для настройки секвенсора необходима следующая информация:
• источник (вход) для каждого сэмпла
• режим (диф. или синф.)
• формирование прерывания по окончании преобразования каждого сэмпла
• индикатор последнего семпла в последовательности
Каждый секвенсор может передавать данные независимо через выделенный канал uDMA
Микроконтроллеры TIVA от Texas Instruments
LCD-модуль
Содержание модуля
• Обзор структурной схемы и аппаратных особенностей
• Описание структуры шины и карты памяти
• Обзор блоков памяти
• Обзор периферии
Обзор LCD-контроллера • Предоставляет настраиваемый параллельный интерфейс,
поддерживающий: • LCD TFT(ThinFilmTransistor) панели
• LCD панели с пассивной матрицей
• OLED панели
• Символьные LCD панели
• LCD панели со встроенными контроллерами или без них
• Разргужает CPU от графических операций • Функция постоянного обновления LCD через отдельный, высокоприоритетный модуль DMA
• Функция преобразования цветового формата (IndexedColors в RGB) без задействования CPU
Структурная схема LCD-контроллера
Буфер SRAM
CPU LCD
Контроллер LCD
Цифровые сигналы адаптированные под конкретный LCD
Сырые данные изображения
Структурная схема LCD-контроллера
Буфер SRAM
CPU
Модуль LCD DMA
LCD Контроллер
LCD
Цифровые сигналы адаптированные под конкретный LCD
Сырые данные изображения
Структурная схема LCD-контроллера
Буфер SRAM
CPU
Модуль LCD DMA
LCD Контроллер
LCD
Цифровые сигналы адаптированные под конкретный LCD
Сырые данные изображения
Внешняя память
Режимы работы LCD-контроллера Буфер SRAM
CPU
LCD DMA LCD
Контроллер LCD
Специальные режимы для:
Различные форматы хранения изображения в памяти
- Команды, данные символов или RGB-данные
- Оттенки серого, RGB, Indexed Color
- Количество бит на пиксель
Различные наборы сигналов для внешнего LCD
- HSYNC, VSYNC, PixelClock, AC Bias
- Количество линий для RGB данных
- Линии последовательной передачи данных для символьных дисплеев
Режимы работы LCD-контроллера Буфер SRAM
CPU
LCD DMA LCD
Контроллер LCD
Два основных режима работы:
Растровый режим
- Основной для TFT или STN дисплеев (бесконтроллерных)
- Задействуется DMA модуль
- LCD-контроллер считывает данные непосредственно из памяти
- Спец. сигналы для безконтроллерных дисплеев (HSYNC, VSYNC и др.)
Режим LCD Interface Display Driver (LIDD)
- Основной для символьных дисплеев и дисплеев с контроллерами
Растровый режим работы Буфер SRAM
LCD DMA LCD
Контроллер LCD
Цветовая таблица
Данные изображения
(RGB, Grayscale,…) от 1bpp до 24 bpp
CPU
Буфер кадра (SRAM)
LCD DMA
RAM Цветовой таблицы
FIFO-буфер изображения
К контроллеру растра
1. LCD DMA копирует данные цветовой таблицы во внутреннюю RAM-память LCD-модуля
2. LCD DMA отправляет данные изображения в главный FIFO-буфер LCD-контроллера
3. LCD DMA и контроллер растра непрерывно получают данные изображения из буфера кадра и обновляют дисплей.
Растровый режим работы: поддержка ping-pong режима
Буфер SRAM
LCD DMA LCD
Контроллер LCD
CPU Цветовая таблица
Данные изображения
(RGB, Grayscale,…) от 1bpp до 24 bpp
Буфер кадра 1
LCD DMA
RAM Цветовой таблицы
FIFO-буфер изображения
К контроллеру растра
Цветовая таблица
Данные изображения
(RGB, Grayscale,…) от 1bpp до 24 bpp
Буфер кадра 2
CPU
Растровый режим работы Буфер SRAM
LCD DMA LCD
Контроллер LCD
CPU
RAM Цветовой таблицы
FIFO-буфер изображения
От 1 до 24 линий данных RGB/Grayscale
Сигналы управления: • HSYNC • VSYNC •Pixel Clock •AC Bias
LCD Контроллер
растра
Растровый режим работы: резюме
Реализует непрерывное обновление данных на бесконтроллерных дисплеях
Испольльзует настраиваемый буфер изображения в SRAM (или внешней памяти)
• RGB-формат
• Indexed-формат
• Настраиваемое количество байт на пиксель
Использование только DMA, режим Ping-Pong, изменение изображений «на лету»
Настраиваемые выходные сигналы и временные интервалы
Глубина цвета до 24-бит
LIDD режим
Буфер SRAM
CPU LIDD
контроллер LCD
Данные изображения или команды управления
для дисплея
Данные изображения или команды управления,
адаптированные под протокол дисплея.
LIDD режим
Буфер SRAM
CPU
LIDD контроллер
LCD
Данные изображения или команды управления
для дисплея
Данные изображения или команды управления,
адаптированные под протокол дисплея. Модуль
LCD DMA
LIDD режим
CS0 Address
CPU LIDD
контроллер LCD
CS0 Data
CS1 Address
CS1 Data
LIDD контроллер
Регистры интерфейса LIDD Выходные сигналы LIDD
к/от
CPU
Буфер SRAM
Read Strobe/Enable
Write Strobe
Address Latch EN
CS0/E0
CS1/E1
MCLK
Direction
Up to 16 bits
Address/Data IO
LIDD режим
CS0 Address
CPU LIDD
контроллер LCD
CS0 Data
CS1 Address
CS1 Data
LIDD контроллер
Регистры интерфейса LIDD Синхронный Режим MPU 8080
к/от
CPU
Буфер SRAM
Read Strobe/Enable
Write Strobe
Address Latch EN
CS0/E0
CS1/E1
MCLK
Direction
Up to 16 bits
Address/Data IO
LIDD режим
CS0 Address
CPU LIDD
контроллер LCD
CS0 Data
CS1 Address
CS1 Data
LIDD контроллер
Регистры интерфейса LIDD Асинхронный Режим MPU 8080
к/от
CPU
Буфер SRAM
Read Strobe/Enable
Write Strobe
Address Latch EN
CS0/E0
CS1/E1
MCLK
Direction
Up to 16 bits
Address/Data IO
LIDD режим
CS0 Address
CPU LIDD
контроллер LCD
CS0 Data
CS1 Address
CS1 Data
LIDD контроллер
Регистры интерфейса LIDD Режим Hitachi
к/от
CPU
Буфер SRAM
Read Strobe/Enable
Write Strobe
Address Latch EN
CS0/E0
CS1/E1
MCLK
Direction
Up to 16 bits
Address/Data IO
LIDD режим
CS0 Address
CPU LIDD
контроллер LCD
CS0 Data
CS1 Address
CS1 Data
LIDD контроллер
Регистры интерфейса LIDD Синхронный режим MPU 6800
к/от
CPU
Буфер SRAM
Read Strobe/Enable
Write Strobe
Address Latch EN
CS0/E0
CS1/E1
MCLK
Direction
Up to 16 bits
Address/Data IO
LIDD режим
CS0 Address
CPU LIDD
контроллер LCD
CS0 Data
CS1 Address
CS1 Data
LIDD контроллер
Регистры интерфейса LIDD Асинхронный режим MPU 6800
к/от
CPU
Буфер SRAM
Read Strobe/Enable
Write Strobe
Address Latch EN
CS0/E0
CS1/E1
MCLK
Direction
Up to 16 bits
Address/Data IO
Сигналы режима LIDD
Настраиваемые параметры:
• Полярность сигналов
• Время установки, задержки и длительности импульсов Read и Write
• Задержка между командами записи
• Каждый сигнал CS может быть настроен индивидуально
Буфер SRAM
LCD DMA LCD
Контроллер LCD
CPU
Программная поддержка Буфер SRAM
LCD DMA
LCD Контроллер
LCD CPU
Библиотека драйверов периферии TivaWare предоставляет удобный интерфейс:
• Единая структура содержит параметры настройки таймингов и полярности сигналов для Вашего дисплея
• API для настройки и запуска LCD DMA в любом режиме
• API для прямого доступа к LIDD контроллеру
• Графические инструменты для обработки изображений в растровом режиме
• driverlib/lcd.c, driverlib/lcd.h
Программная поддержка Буфер SRAM
LCD DMA
LCD Контроллер
LCD CPU
Взаимодействие графической библиотеки с LCD-контроллером
• Для растрового режима
• Вывод графических примитивов осуществляется записью в буфер кадра
• Остальная обработка данных выполняется DMA
• Для режима LIDD
• Использование LIDD API для вывода графических примитивов
Взаимодействие приложения с LCD
Приложение
Общая библиотека
Драйвер конкретного дисплея
API нижнего уровня
LCD APIs
Файл драйвера
для встроенного дисплея
(MPU 8080)
GraphicsLib
synth moon_lander hello_widget
Приложение
Общая библиотека
Драйвер конкретного дисплея
API нижнего уровня
LCD APIs
Файл драйвера
для встроенного дисплея
(MPU 8080)
GraphicsLib
synth moon_lander hello_widget
Файл драйвера
для внешнего дисплея
(I2C)
I2C APIs
Взаимодействие приложения с LCD
Ход работы
См. методические указания:
ЛР2: LCD
Алтернативная конверсия цветов
Маска для получения правильного количества битов для цвета
Биты 23:16 Биты 15:8 Биты 7:0
Биты 23:19 Биты 19:16 Биты 15:10 Биты 9:8 Биты 7:3 Биты 2:0
Биты 15:11 Биты 10:5 Биты 4:0
Перенос каждой из цветовых секций на новое место в результате изменяет цветопередачу исходного изображения.
Алтернативная конверсия цветов
Исходная цветовая схема Измененная цветовая схема
Строгая древовидная структура элементов является крайне важной для корректного вывода элементов на дисплей и обработки нажатий пользователя.
В качестве примера рассмотрим пример с двумя контейнерами.
Один контейнер содержит 2 радиокнопки, второй – кнопку нажатия.
Реализация меню
Родительский указатель (pParent): указатель на виджет на верхнем уровне
Соседний указатель (pNext): указатель на виджет на этом же уровне
Дочерний указатель (pChild): указатель на виджет на нижнем уровне
Структура дерева виджетов
Вывод дерева виджетов Дерево виджетов выводится сверху вниз (родительский виджет рисуется первее дочерних, поэтому родительские расположены под дочерними). Процесс обновления изображения инициThe Widget Tree is painted starting at WIDGET_ROOT downwards (parents are painted before children - therefore parents can be thought of as being below their children on the screen). For the example above, the following repainting process will be executed by the Widget Manager if the application executes (re)painting by calling WidgetPaint(WIDGET_ROOT):
Passing User Input
In contrast of how the Widget Manager (re)paints the widgets downwards in the widget tree structure hierarchy, the User Input is passed upwards in the tree structure (children gets the input first before the parents). The user input message passed to the widgets in the tree structure contains the following information:
Message type (WIDGET_MSG_PTR_DOWN, WIDGET_MSG_PTR_MOVE, or WIDGET_MSG_PTR_UP):
When a pointer down message (WIDGET_MSG_PTR_DOWN) is received, the Widget Manager passes it to all widgets, children first.
Each widget checks to see if the pointer is within its area and, if so, claims the message by returning “true” from the message procedure.
All further pointer move messages (WIDGET_MSG_PTR_MOVE) are sent to this widget until pointer up (WIDGET_MSG_PTR_UP) is received or the widget is removed.
X and Y coordinates of the input.
For the example with the two containers above, the following user input processing will be executed by the Widget Manager if the application receives a user input:
Микроконтроллеры TIVA от Texas Instruments
ШИМ
Широтно-Импульсная модуляция
• ШИМ – цифровой метод реализации аналоговых сигналов. • Длительность импульса ~ амплитуда аналогового сигнала. • Типовые применения:
• импульсные источники питания • управление двигателем • управление светом motor control, servo positioning and lighting control.
Features ...
ШИМ-модуль TM4C129x
TM4C129xсодержит один модуль ШИМ, который включает в себя
Четыре ШИМ-генератора
Блок управления, который определяет полярность сигналов и подключение их к выводам
Каждый ШИМ-генератор выдает:
Два независимых выходных сигнала одинаковой частоты или…
Комплементарную пару сигналов с формированием мертвой зоны (для защиты H-мостов)
У каждого ШИМ-генератора есть:
Четыре аппаратных входа ошибки для защиты двигателя и отключения с малой задержкой
Один 16-битный счетчик:
• Режим счета Вниз или Вверх/вниз
• Выходная частота управляется значением в 16-битном счетчике
• Синхронное обновление содержимого
• Изменение выходного сигнала при нуле и при
значении загрузки
Generator Features …
Блок-схема модуля ШИМ
PWM generator block diagram …
Особенности ШИМ-генератора
Дополнительно, у каждого ШИМ-генератора есть:
Два компаратора
• Синхронное обновление
• Изменение сигнала при сов
Формирователь ШИМ-сигнала
• Выходной ШИМ сигнал формируется на основании выходных сигналов
базового счетчика и компараторов
• Формирует два независимых сигнала
Формирователь мертвой зоны
• Формирует два ШИМ-сигнала с настраиваемой задержкой между фронтами
• Может не использоваться
Может запускать преобразование АЦП
Control Block Features …
Блок-схема генератора ШИМ
QEI …
Блок управления ШИМ
PWM module block diagram …
Блок управления ШИМ позволяет настроить:
Разрешение подачи на выход сигнала ШИМ
Инверсия ШИМ-сигнала (управление полярностью)
Обработка ошибки для каждого ШИМ-сигнала
Синхронизация таймеров различных ШИМ-генераторов
Синхронизация обновления таймеров/компараторов
Статус прерываний ШИМ-генераторв
Расширенная отработка аварии с несколькими сигналами ошибки, настраиваемой полярностью и фильтрацией
ШИМ-генераторы могут работать независимо или синхронно
Модуль квадратурного энкодера(QEI)
Block diagram …
Интегратор положения, следящий за положением энкодера
Настраиваемый фильтр шумов на входах
Измерение скорости с помощью встроенного таймера
32-битные регистры положения, скорости и таймера
Частота входных сигналов модуля QEI может достигать
1/4 частоты процессора
Формирование прерываний:
• По импульсу Index
• Обнуление таймера скорости
• Смена направления вращения
• Ошибка подключения энкодера
A B
Интерфейс квадратурного энкодера обрабатывает сигналы от датчиков вращения энкодерного типа для определения положения и направления вращения.
Также, может быть использован для расчета скорости вращения.
TM4C129х содержит один модуль QEI со следующими особенностями:
Блок-схема модуля QEI
Сигнал Index (IDX) используется для сброса счетчика позиции,
для использования с длинными конвейерами
Микроконтроллеры TIVA от Texas Instruments
Ethernet-модуль
TIVA C’129x Ethernet MAC и встроенный PHY • Лидирующий в отрасли модуль MAC IP дополненный модулем PHY последнего поколения разработки Texas Instruments
• Выделенный модуль DMA и буферы FIFO для разгрузки CPU
• Выделенный аппаратный блок IEEE-1588, обеспечивающий высокую точность временных параметров приемо-передачи для промышленных приложений
Ключевые особенности MAC-модуля Интерфейсы RMII и MII MAC
• Соответствие IEEE 802.3 o совместимость с 10BASE-T/100BASE-TX IEEE-802.3 o сокрость 10/100 Mbps o Дуплекс и полудуплекс (CSMA/CD) o Управление потоком и back pressure o Расширенный режим auto-negotiation o IEEE 802.1Q VLAN tag detection
• Соответствие IEEE 1588-2008 o Временные метки пакетов отправки и получения o Precision Time Protocol (PTP) o Удобный вывод pulse per second o Поддержка грубых и точных методов коррекции
• Различные методы адресации o До 4х 48-битных фильтров адреса получателя o До 3х 48-битных фильтров адреса отправителя o Программируемый 64-битный Hash-фильтр для многоадресной фильтрации o Поддержка смешанного режима
• Активная поддержка интерфесов MII & RMII
• Разгрузка процессора o Программируемая вставка (TX) и стирание (RX) преамбулы и данных старта фрейма o Программируемое формирование (TX) и удаление (RX) CRC-суммы o Вычисление контрольной суммы хидеров IPv4 и TCP
• Возможность настройки o Управление LED o Ведение сетевой статистики счетчиками RMON/MIB o Поддержка MagicPacket и wakeup-кадров • Встроенный DMA-модуль o Дескрипторы двойного буфера вкольцевом режиме или режиме списка o Фиксированный или кольцевой приоритет обработки TX/RX o Размер блока передачи дескрипторов до 8 Кбайт o Программируемые прерывания для гибкости реализации системы
Ключевые особенности PHY-модуля Ethernet-интерфейс PHY
• Безошибочноый обмен данными на расстояниях более 100 м • Встроенная функция диагностики кабеля с соответствующим ПО • Программируемые быстрые режимы «LinkDown» • Auto-MDIX для 10/100 Mbps • Режим определения сигнала для управления энергопотреблением линии • Serial Management Interface • IEEE 802.3u (10/100)
o MII – Media Independent Interface o Auto-Negotiation and Parallel Detection o ENDEC, 10Base-T передатчики и фильтры o PCS, 100Base-TX Transceivers
• ANSI X3.263 compliant TP-PMD physical sub • Включает в себя адаптивную эквализацию и baseline wander compensation
• Настраиваемая активность LED • Link OK, Режим 10/100 Mbs, Активность TX/RX, обнаружение коллизии и т.п.
• Автоматический тест пакетов 10/100 Mbs BIST (Built in Self Test)
Блок-схема модуля Ethernet
FIFO буферы TX и RX имеют размер по 2kB и отделены от основной памяти
Ethernet модуль выступает в роли мастера на шине DMA
Тактирование ...
Тактирование модуля
320 or 480MHz PLL
EMAC тактируется сигналом SYSCLK
PHY может тактироваться: • MOSC с кристаллом 25MHz
• PLL с использованием делителя
• PM4 с генератора 50Mhz. ÷ 20 для 10Mbps и ÷ 2 for 100Mbps operation
Отдельный кварц для тактирования PHY 25MHz не требуется
SYSCLK
Port design ...
Дизайн порта Ethetnet
U10 – Изолирующий трансформатор Ethernet
U13 – диодная ESD-защита
U14 – разъем RJ45 PTP ...
Необходимость синхронизации в сетях реального времени
• В системах реального времени требуется жесткая координация событий
• В узлах распределенной сети требуется синхронизация
• Необходимы постоянные корректировки для поддержания синхронизации сети
• Варианты использования сетей реального времени: • высокоскоростная автоматизация на производстве • сохранение временных меток в системах измерения
• Протокол точного времени IEEE 1588 – решение для синхронизации сети
Ключевые особенности Tiva C’129x
Application layer
Transport layer
Network/Internet layer
Data link layer
Physical layer Сетевой и Ethernet уровни
DHCP, DNS, FTP, HTTP, ...
Ethernet physical layer, …
TCP, …
IP (IPv4, IPv6), …
Ethernet, 802.11 (WLAN), …
t2
t1
Основы синхронизации точка-точка
Время Master 10:00 AM
Ethernet-пакет 10:00 АМ
Время Slave 11:00 AM
Время отправки 10:00 AM
Метка времени 10:00 AM
M S
Время приема 11:00 AM Метка времени 11:30 AM
Разница M-S = время приема Slave – время отправки Master = 11:30 – 10:00 = 90 минут
Сдвиг = 1 час
Отправка сообщения с задержкой 30 минут
t3
t4
Время Master 10:30 AM
Ethernet-пакет 11:30 АМ
Время Slave 11:30 AM
Время приема 11:00 AM
Метка времени 11:00 AM
M S
Время приема 11:30 AM
Метка времени 11:30 AM
Разница S-M = время приема Master – время отправки Slave = 11:00 – 11:30 = - 30 минут
Сдвиг = 1 час
Отправка сообщения с задержкой 30 минут
Повышение точности в Tiva C ‘129x
Аппаратная поддержка IEEE1588
1588 PTP
Программный IEEE1588
Стандартный Ethernet
PTP NTP
TCP/IP Аппаратный 1588 T/S PHY 1588 T/S в MAC
100mS 1mS 1uS 500nS 50nS
• Стандарт IEEE 1588 позволяет выбирать необходимый уровень точности комбинируя различные аппаратные и программные средства
• PHY с предопределенной задержкой или PHY с временной меткой
•Главное различие между решениями на базе 1588 в достижимой точности синхронизации • Серия TIVA C ‘129х предоставляет оба варианта: с низким уровнем джиттера и малой задержкой либо с временной меткой на уровне PHY
TIVA C Series ‘129x Stellaris LM3S Ethernet
Примечание: модель ‘129x показала лучшие параметры синхронизации в линейке
Дополнительные аппаратные преимущества
• Встроенный DMA контроллер • Прямой оптимизированный интерфейс между MAC и SRAM • Эффективный перенос данных без участия CPU
• Фильтрация и управление кадрами
• Фильтрация адреса источника и приемника • Фильтрация VLAN Tag Perfect и Tag Hash • Функция замены CRC позволяет модулю MAC заменить содержимое поля FCS на уровне кадра • Возможность вставлять, заменять или удалять любой из указанных параметров без участия CPU
• Контроллер TX/RX
• Аппаратное объединение\разбитие кадров • Выделенные буферы FIFO для трафика Ethernet открытые для доступа DMA • Автообнаружение коллизий и повторная отправка • Обработка ошибок приема и статус приема
• Модуль проверки контрольной суммы
• Аппаратный блок вычисления контрольных сумм для TCP, UDP, ICMP протоколов без вмешательства CPU и программных процедур
Примечание: модель ‘129x показала лучшие параметры синхронизации в линейке
Диагностика кабеля и BIST
• TDR (Time Domain Reflectometry) • Активное определение: размыкания, замыкания, повреждения кабеля, несоответствия сопротивления, плохих разъемов, некорректной распиновки, длины кабеля. Всего, что отражает сигнал. • Обработка до 5 отраженных сигналов в 1 кабеле • Определение КЗ, открытого конца, неправильного подключения • Точность +\- 1 метр
• ALCD (Active Link Cable Diagnostic) • Пассивное определение • Рассчет длины кабеля при подключении • Точность +\- 5 метров
• BIST (Built in Self Test) • Встроенный формирователь пакетов (PRBS) • Встроенная проверка пакетов (Error counter) • Настраиваемая длина пакетов и задержка между ними • Настраиваемый режим работы (одиночная посылка, непрерывная работа) • Продвинутые loopback-режимы для самодиагностики (MII, Digital, Analog, reverse)
Варианты реализации Ethernet на TIVA C ’129x
• Самая низкая цена • Встроенные функции диагностики
MAC PHY
Interface
25 MHz MOSC
Полностью интегрированный PHY
Встроенный PHY + Внешний MII
MAC
PHY Interface
25 MHz MOSC или EN0 CLK
MII Interface
• Модели TM4C129XN содержат встроенный PHY и внешний MII • Одновременно может работать только один модуль (ping/pong)
Внешний MII PHY
MAC
25 MHz MOSC
MII Interface
• Одна шина MII для использования с внешним модулем MII PHY
Внешний RMII PHY
MAC
50 MHz EN0REFCLK
RMII Interface
RMII Interface
• Две шины RMII • Поддержка двух внешних модулей RMII PHY • Одновременно может работать только один модуль (ping/pong)
*RMII – reduced MII
TCP/IP стеки в примерах с открытым кодом uip – Micro IP
• Поддержка протоколов Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
Internet Protocol (IP)
Internet Control Message Protocol (ICMP)
Address Resolution Protocol (ARP)
• Требования к памяти Размер типового кода составляет
несколько килобайт
Необходимый для работы объем RAM – несколько сотен байт.
Memory conserved by limiting to one outstanding transmit packet
lwip – Light-weight IP (используется в примере)
• Поддержка протоколов Internet Protocol (IP), включая отправку
пакетов через несколько сетевых интерфейсов
Internet Control Message Protocol (ICMP), для обслуживания сети и отладки
User Datagram Protocol (UDP), включая расширения UDP-lite
Transmission Control Protocol (TCP) with congestion control, RTT estimations, and fast recovery/transmit
Dynamic Host Configuration Protocol (DHCP)
Point-to-Point Protocol (PPP)
Address Resolution Protocol (ARP) for Ethernet
Specialized raw API for enhanced performance
Optional Berkeley-like socket API
• Требования памяти Размер типового кода – от 25 до 40 килобайт
Необходимый объем RAM-памяти - от 15 до нескольких десятков килобайт Лицензирование стеков uip и lwip
Нет ограничений на использование в реальных устройствах
Передача исходного кода или бинарных файлов стека должна удовлетворять правилам передачи копирайта
Также доступен стек в TI-RTOS
Доступны стеки третьих партнеров (более дорогие / более функциональные / более требовательны к ресурсам)
Cloud Service
Provider
Enabling rapid prototyping w/
LaunchPads + BoosterPacks
& get your creations
connected to the
cloud with Exosite
Tiva C IoT Out-of-Box Experience Partner
Tiva C
TM4C129
(MCU +
Ethernet)
LaunchPad RF
Booster
Pack
Tiva C
TM4C129 or
TM4C123
LaunchPad Wi-Fi
Booster
Pack
IoT Gateways Your portal to the
cloud
Ethernet
Widgets
Alerts
Scripts
SMS
Mobile
TI Branded Seamless out of box
Cloud experience:
• Low-cost hardware
• Link into Exosite Cloud within
minutes
• iOS/Android app for interfacing with
your cloud-connected platform
RF
Booster
Pack
RF
Booster
Pack
RF
Booster
Pack
Wi-Fi
Lab ...
Supported in
TivaWare 2.1+
Ход работы
См. методические указания:
ЛР4: Ethernet
Микроконтроллеры TIVA от Texas Instruments
Модуль Hibernate
Подмодуль Tamper: для чего?
Модуль Tamper - инструмент для определения факта изменения или повреждения устройства. Факт
проникновения устанавливается по изменению лог. состояния на 4х выводах GPIO.
По факту проникновения может быть выполнено:
• стирание части или всей памяти модуля гибернации
• формирование Tamper сигнала в модуль SysCtrl
• запись временной метки (для дальнейшего расследования)
Варианты проникновений:
• открытие корпуса изделия;
• удаление пломбы;
• разрыв проводника на плате.
Подмодуль Tamper
Факт проникновения устанавливается в случае:
отсутствие сигнала XOSC
несоответствие любого из 4х GPIO ожидаемому уровню
Использование двух фильтров позволяет пропускать события длительностью < 100 ms и
реагировать только на более длинное событие
Последующие после проникновения действия должны быть описаны в обработчике
немаскируемого прерывания модуля
Микроконтроллеры TIVA от Texas Instruments
Спасибо за внимание !