Você está na página 1de 56

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN - UTFPR

DEPARTAMENTO ACADMICO DE ELETROTCNICA - DAELT


CURSO DE ENGENHARIA INDUSTRIAL ELTRICA
MESTRADO EM SISTEMAS DE ENERGIA - PPGSE

Microprocessadores
Tpicos Esp. em Eletrnica Industrial

Prof. Amauri Assef - amauriassef@utfpr.edu.br


paginapessoal.utfpr.edu.br/amauriassef

UTFPR Campus Curitiba


1
Prof. Amauri Assef
rvore de famlias de Sistemas Digitais

Sistemas Digitais

Lgica
PLDs ASICs Microprocessadores
Discreta

TTL CMOS Microcontroladores DSCs DSPs GPUs

SPLDs CPLDs FPGAs

Fusvel EPROM EEPROM EPROM EEPROM Flash SRAM Flash Antifus.

UTFPR Campus Curitiba


2
Prof. Amauri Assef
Microprocessadores (P)

Os simplesmente, processadores, so circuitos integrados


geralmente denominados de Unidade Central de
Processamento (CPU Central Processing Unit)
constitudos por unidade de controle, registradores e
unidade aritmtica e lgica (ULA), capazes de obedecer a
um conjunto predeterminado de instrues (firmware).
Microcontrolador (C): P + memrias + perifricos
DSP (Digital Signal Processing): P especializados em
processamento digital de sinal (operaes MAC)
DSC (Digital Signal Controller): hbrido de C e DSP;
GPU (Graphics Processing Unit): P especializado em
renderizao de grficos em tempo real.

UTFPR Campus Curitiba


3
Prof. Amauri Assef
Introduo aos processadores ARMTM

ARM1 - Em 1995, a empresa Acorn Computer Groupe


desenvolveu o 1 processador RISC (Reduced Instruction Set
Computer) arquitetura ARM (Acorn RISC Machine)
ARM2 Verso aprimorada do ARM1 capaz de realizar DSP
em tempo real
ARM3 Verso com maior capacidade de memria
Em 1990, a Acorn Computer Groupe em parceria algumas
com empresas, tais como a VLSI Technology Inc. e a Apple
Computer fundaram a ARM Limited e a arquitetura foi
rebatizada de Advanced RISC Machine (ARMTM)

UTFPR Campus Curitiba


4
Prof. Amauri Assef
Atualmente a ARM Limited domina o mercado de
embarcados (entre 80% e 90%)
Principais conceitos por da arquitetura ARM de 32 bits:
Simplicidade, baixo custo e baixo consumo
Arquitetura Load-and-Store (RR registrador-registrador):
As instrues de operao com dados (soma, subtrao,
etc.) so realizadas somente com valores que estiverem
em registradores, sendo que o resultado tambm
armazenado em um registrador do processador
Exemplo:
M3 = M1+M2 M1 MOV R1,M1
MOV R2,M2 ADD R3,R1,R2
Variveis M2
MOV M3,R3 (R3<=R1+R2)
M3

UTFPR Campus Curitiba


5
Prof. Amauri Assef
A ARM Limited, alm de fabricar chips, desenvolve o projeto e
licencia o uso de suas CPUs (IP - Intellectual Property) para
outros fabricantes, os quais pagam uma taxa de licena e
royalty sobre todo chip produzido:
Microchip-Atmel famlia SAM4 (Cortex-M4)
Freescale famlias Kinetis (Cortex-M4 e Cortex-M4F)
STMicroelectronics STM32 famlia F4 (Cortex-M4F)
Texas Instruments famlia Stellaris LM4F (Cortex-M4F)

UTFPR Campus Curitiba


6
Prof. Amauri Assef
Exemplos de aplicaes
Computadores de bordo automotivos e GPSs
Celulares, smartphones e PDAs (Personal Digital Assistants)
Sistemas de controle de acesso biomtrico
Controle de temperatura de ar-condicionado
MP3 players Ideal para o desenvolvimento
Impressoras de aplicaes mais complexas
(USB, Ethernet, entre outras)
Equipamentos de rede
Equipamentos portteis de medio
Sistemas de monitoramento mdico-hospitalar
Sistemas de automao bancria e industrial
Sistemas de telecomunicao, etc.

UTFPR Campus Curitiba


7
Prof. Amauri Assef
Famlias de processadores ARM clssicos:
Processadores ARM7 e ARM9 => Arquitetura ARMv5
Processadores ARM11 => Arquitetura ARMv6

Famlias de processador ARM de aplicao:


Cortex A => ARMv7-A e ARMv8-A

Famlias de processadores ARM embarcados:


Cortex R (tempo real) => ARMv7-R e ARMv8-R
Cortex M (C) => ARMv6-M, ARMv7-M e ARMv8-M

UTFPR Campus Curitiba


8
Prof. Amauri Assef
Famlia de processadores ARM

UTFPR Campus Curitiba


9
Prof. Amauri Assef
1GHz
Android
Windows CE
Linux
Aplicaes de MMU
usurio; Vasto SO

> 200 MHz


< 1GHz
desempenho e RTOS
DSP Tempo real -
RTOS

< 400 MHz


Baixo consumo e C
compacto - RTOS IoT
CPU + DSP

UTFPR Campus Curitiba


10
Prof. Amauri Assef
Highest-performance microprocessors/use external memory.
For use with a complex operating system.
Applications:
Computing, enterprise, handset, digital home, industrial, wireless infrastructure
[http://www.arm.com/products/processors/cortex-a/index.php].
UTFPR Campus Curitiba
11
Prof. Amauri Assef
Medium-performance real-time microcontrollers/use integrated memory.
Designed for safety- and life-critical applications with precise real-time requirements.
Applications:
Storage, enterprise, digital home, cameras, medical, industrial, automotive
[http://www.arm.com/products/processors/cortex-r/index.php].

UTFPR Campus Curitiba


12
Prof. Amauri Assef
Lowest-power microcontrollers/use integrated memory.
Designed for cost- and power-sensitive applications.
Applications:
Smart metering, human interface, industrial, white goods, consumer, portable medical
[http://www.arm.com/products/processors/cortex-a/index.php].
UTFPR Campus Curitiba
13
Prof. Amauri Assef
UTFPR Campus Curitiba
14
Prof. Amauri Assef
Introduo ao processador Cortex M

O ARM Cortex-M uma famlia de ncleos (cores) de


processador RISC de 32 bits com arquitetura Harvard
licenciados pela ARM Limited e otimizado para
processamento discreto e microcontroladores.

Exemplos de produtos ARM Cortex-M:


Cortex-M0, Cortex M0+, and Cortex-M23 for applications
requiring minimal cost, power and area
Cortex-M3, Cortex-M4, and Cortex-M33 for all applications
where a balance between 32-bit performance and energy
efficiency is desirable
Cortex-M7 is designed for embedded applications requiring high
performance
UTFPR Campus Curitiba
15
Prof. Amauri Assef
Conceitualmente, o Cortex-M4 um
Cortex-M3 com Instrues DSP, e uma
Unidade de Ponto Flutuante opcional
linha Cortex-M4F.

UTFPR Campus Curitiba


16
Prof. Amauri Assef
Processador ARM Cortex M4
A arquitetura ARMv7
permite uma ampliao do
conjunto de instrues
Thumb padro com cdigo
dinamicamente gerado
(Thumb-2).

Memria de
dados

Cortex Memria de
M4 programa

Perifricos

UTFPR Campus Curitiba


17
Prof. Amauri Assef
Arquitetura interna de um C ARM Cortex M4

*Todos os barramentos so de 32 bits


**Como possui mltiplos barramentos
(Harvard), possibilita a realizao de
tarefas em paralelo

ICode (Instruction) memory interface fetches opcodes from ROM (0x00000000 to


0x1FFFFFFC)
DCode (Data) memory interface reads constant data from ROM (0x00000000 to 0x1FFFFFFF)
System bus Read/Write data from RAM or I/O, fetch opcode from RAM (0X20000000 to
0xDFFFFFFF and 0xE0100000 to 0xFFFFFFFF)
PPB (Private Peripheral Bus) Read/Write data from internal peripherals like the NVIC
AHB (Advanced High-Performance Bus) Read/Write data from high-speed I/O and parallel
ports
Fonte: Valvano, Jonathan. Embedded Systems (Introduction to Arm\xae Cortex\u2122-M Microcontrollers)
UTFPR Campus Curitiba
18
Prof. Amauri Assef
Caractersticas - ARM Cortex M4
Instrues ARM: conjunto de instrues de 32 bits
Instrues Thumb: segundo set de instrues comprimidas em 16 bits
utilizado para economizar memria de programa (opcode menor). As
instrues so descompactadas em instrues ARM durante a execuo
do comando (perda significativa de desempenho)
Economia de memria de programa

16-bit Pipeline
Descompressor Decodificador de
Cdigo de
Thumb instruo ARM
Thumb instruo

Aumento de velocidade de processamento

32-bit Pipeline
Decodificador de
Cdigo de
instruo ARM
ARM instruo

UTFPR Campus Curitiba


19
Prof. Amauri Assef
Instrues Thumb-2: Mix de instrues de 16 e 32 bits

UTFPR Campus Curitiba


20
Prof. Amauri Assef
Multiplicador de hardware de 1 ciclo (32 x 32 bits)
Diviso de hardware de 2-12 ciclos (32 x 32 bits)
Extenso DSP: 16/32-bit MAC de nico ciclo, 16-bit MAC duplo de nico
ciclo, aritmtica 8/16-bit SIMD (single instruction multiple data)
Extenso de ponto flutuante (silicon option): Unidade de ponto flutuante de
preciso simples, chamada FPv4-SP
1 a 240 interrupes de hardware, mais NMI (Non-Maskable Interrupt
interrupo no mascarvel que pode ser interrompida apenas por um
evento de reset)
Latncia de interrupes de 12 ciclos (NVIC Nested Vectored Interrupt
Controller manipula as interrupes via hardware com at 256 nveis de
prioridade)
Modos sleep integrados
MPU (Memory Protection Unit utilizada para proteger regies de memria
contra acessos indevidos aos recursos do sistema, aumentando a
confiabilidade da aplicao) com 8 regies (silicon option)
1,25 DMIPS/MHz (Dhrystone MIPS)
Endereamento de 32 bits com 4GB de espao de memria
UTFPR Campus Curitiba
21
Prof. Amauri Assef
Pipeline: Realizado em trs estgios (busca, decodificao e execuo).
A maioria das instrues executada em um ciclo de clock.

Possui uma unidade


de pr-busca, a qual
reduz o tempo ocioso
provocado por uma
instruo de desvio,
durante a
decodificao

UTFPR Campus Curitiba


22
Prof. Amauri Assef
SysTick Timer:

Temporizador regressivo de 24 bits que pode ser usado


para chamada de tarefas do RTOS (Real-Time Operating
System) devido sua alta prioridade de interrupo ou
como simples contador
0 16.777.215
A vantagem de um RTOS utilizar o SysTick Timer est na
facilidade de transferir o SO para outro microcontrolador
dotado do mesmo processador, pois o temporizador est
integrado no processador e, portanto, opera de modo
idntico entre eles

UTFPR Campus Curitiba


23
Prof. Amauri Assef
Modos de operao
O processador ARM identifica quando est rodando em primeiro plano,
isto , no modo principal, ou no placa de fundo, isto , atendendo a uma
rotina de servio de interrupo (ISR - Interrupt Service Routine), e faz a
troca entre os modos de forma automtica
O primeiro plano definido como modo Thread
O plano de fundo o modo Handler
Aps o reset inicia em modo Thread e quando ocorre uma interrupo
muda para o modo Handler e o endereo de retorno armazenado na
pilha principal (MSP - Main Stack Pointer)

UTFPR Campus Curitiba


24
Prof. Amauri Assef
Mapa de memria

UTFPR Campus Curitiba


25
Prof. Amauri Assef
Organizao da memria:
Os processadores Cortex M4 so capazes de manipular 8 bits (bytes), 16 bits
(half-words) e 32 bits (words), uma vez enxergam a memria como um
conjunto linear de bytes numerados em sequncia:

31 word 0

15 half-word 0 15 half-word 0

7 byte 0 7 byte 0 7 byte 0 7 byte 0

Os dados podem ser organizados em dois formatos:


Little endian: o byte menos signif. armazenado no byte de menor endereo
Big endian: o bye menos signif. armazenado no byte de maior endereo

*Little endian Endereo Valor Big endian Endereo Valor


(Intel, TI) 0x2000 0x67 (Freescale) 0x2000 0x01

Exemplo: Apresentao 0x2001 0x45 0x2001 0x23


do valor 0x01234567 em 0x2002 0x23 0x2002 0x45
ambos os formatos 0x2003 0x01 0x2003 0x67
UTFPR Campus Curitiba
26
Prof. Amauri Assef
Bit-banding:
Esta tcnica permite acesso direto a um nico bit de dado,
localizado em uma regio de memria denominada bit-band em
um nico ciclo (no requer leitura, modificao e escrita).
Isto possvel, pois a regio bit-band alias mapeada para a
regio bit-band, onde o LSB de cada word, dentro da bit-band
alias, corresponde a uma determinado bit de dado dentro da
regio bit-band.
Regio da memria bit-band bit-band alias
Perifrico 0x4000 0000 0x400FFFF (1 MB) 0x42000000 0x43FFFFFF (32 MB)
SRAM 0x2000 0000 0X200FFFF (1MB) 0x22000000 0x23FFFFFF (32 MB)

O bit [0] do valor escrito na regio alias determina o valor escrito


no bit alvo da regio bit-band. Escrever um valor com o bit [0]
setado escreve 1 no bit da bit-band e escrever um valor com o bit
[0] limpo escreve 0 no bit da bit-band.
UTFPR Campus Curitiba
27
Prof. Amauri Assef
Regio bit-band (SRAM) Regio bit-band alias (SRAM)
7 0 31 0
0x200F FFFF 0x23FF FFFC Os bit [31:1] no
... ... tm efeito na
regio bit-band.
0x2000 0002 0x2200 0008
Escrever 0x01 tem
0x2000 0001 0x2200 0004 o mesmo efeito
0x2000 0000 0x2200 0000 que escrever 0xFF.

A equao que determina o endereo da word associada a um determinado


bit da regio bit-band dada por:
posio_bit => 0 a 7
bit-band alias = bit-band base + (byte offset x 32) + (posio_bit x 4)

Exemplo: Qual o endereo para alterar o bit 3 do endereo 0x2000 0000?

bit-band alias = 0x2200 0000 + (0 x 32) + (3 x 4) = 0x2200 000C

UTFPR Campus Curitiba


28
Prof. Amauri Assef
Ler um valor da bit-band alias retorna 0x01 (bit setado) ou 0x00
(bit limpo).

UTFPR Campus Curitiba


29
Prof. Amauri Assef
Microcontrolador Tiva TM4C123GH6PM
(Texas Instruments www.ti.com)

UTFPR Campus Curitiba


30
Prof. Amauri Assef
Microcontrolador Tiva TM4C123GH6PM (TI)

32-bit ARM Cortex-M4F core

Cdigo Thumb-2 16/32-bit


26% de economia de
memria & 25 % mais rpido
que 32-bit puro

Baixo consumo
<370 A/MHz
500s wakeup from low-
power modes
RTC currents < 1.7A
Internal and external power
control

UTFPR Campus Curitiba


31
Prof. Amauri Assef
Microcontrolador Tiva TM4C123GH6PM (TI)

UTFPR Campus Curitiba


32
Prof. Amauri Assef
Pinagem

64 pinos LQFP
43 GPIO

UTFPR Campus Curitiba


33
Prof. Amauri Assef
Microcontrolador Tiva TM4C123GH6PM (TI)

UTFPR Campus Curitiba


34
Prof. Amauri Assef
Caractersticas principais

UTFPR Campus Curitiba


35
Prof. Amauri Assef
Mapa de registradores
PSP Process Stack Pointer
MSP Main Stack Pointer
LR Retorna informao de
subrotinas, chamadas e excees.
PRIMASK - Priority Mask Register
FAULTMASK - Fault Mask Register
BASEPRI - Base Priority Mask Register

UTFPR Campus Curitiba


36
Prof. Amauri Assef
Placa de avaliao Tiva TM4C123G LaunchPad
(Texas Instruments www.ti.com)

UTFPR Campus Curitiba


37
Prof. Amauri Assef
Placa de avaliao Tiva TM4C123G LaunchPad
A TivaTM TM4C123G LaunchPad (EK-TM4C123GXL) uma placa de baixo custo
para avaliao o do microcontrolador ARM Cortex-M4F TM4C123GH6PMI da
famlia Tiva C (TI)
64-pin 80MHz TM4C123GH6PM
On-board USB ICDI (In-Circuit Debug Interface)
Micro AB USB port
Device/ICDI power switch
BoosterPack XL pinout also supports legacy BoosterPack
pinout
2 user pushbuttons (SW2 is connected to the WAKE pin)
Reset button
3 user LEDs (1 tri-color device)
Current measurement test points
16MHz Main Oscillator crystal
32kHz Real Time Clock crystal
3.3V regulator
Support for multiple IDEs

UTFPR Campus Curitiba


38
Prof. Amauri Assef
Hardware e software setup

Conexo USB
Emulada

Instalar o software IDE


Verificar o contedo do kit
Conectar o hardware
Testar a aplicao QuickStart

UTFPR Campus Curitiba


39
Prof. Amauri Assef
Diagrama em
blocos

UTFPR Campus Curitiba


40
Prof. Amauri Assef
Esquema
da placa

UTFPR Campus Curitiba


41
Prof. Amauri Assef
UTFPR Campus Curitiba
42
Prof. Amauri Assef
IDE Code Composer Studio (CCS) v7.2.0
(Texas Instruments www.ti.com)

UTFPR Campus Curitiba


43
Prof. Amauri Assef
Run-Time Software

TI Wares: minimizes programming TI-RTOS: provides an optimized real-time kernel


complexity w/ optimized drivers & OS at no charge that works with TI Wares
independent support for TI solutions Real-time kernel (SYSBIOS) + optimized for TI
devices:
Low-level driver libraries Scheduling
Peripheral programming interface Memory management
Utilities
Tool-chain agnostic C code
Foundational software packages (TI Wares)
Available today
Libraries and examples
TI RTOS available today

TI-RTOS
File systems
SYSBIOS
+ TI Wares
+ Network stack
USB

SDK
Software Development Kit

UTFPR Campus Curitiba


44
Prof. Amauri Assef
Code Composer Studio Functional Overview
Standard Target
SYS/BIOS Simulator
Compiler Runtime Config
.asm Libraries
Libraries File

.c .lib .ccxml

.asm .obj .out Emulator/


Edit Assembler Linker Debug LaunchPad
.
.
.
SYS/BIOS .map .gel Stand-Alone
User.cmd
Config Emulator
(.cfg) Bios.cmd

Contains all development tools compilers, assembler, linker,


debugger, BIOS and includes one target the Simulator
GEL files initialize the debugger so that it understands where Target Board
memory, peripherals, etc. are
UTFPR Campus Curitiba
45
Prof. Amauri Assef
Target Configuration and Emulators
The Target Configuration File specifies:
Connection to the target (Simulator or Emulator type)
Target device
GEL file (if applicable) for hardware setup

Emulator (Connection) Options


Built-in and external emulators from TI, Blackhawk,
Spectrum Digital and others
XDS100v1/v2, 200, 510, 560, 560v2
UTFPR Campus Curitiba
46
Prof. Amauri Assef
Software Code Composer Studio (CCS) v7.2.0
O CCS o ambiente integrado de desenvolvimento (IDE - Integrated
Development Environment) baseado em Eclipse e disponibilizado pela
empresa Texas Instruments (www.ti.com) que prov diversas
funcionalidades, tais como:
Editor de cdigo-fonte em Assembly e C/C++;
Compilador C/C++ para Assembly;
Debugging (depurao), disassembly, acesso a registradores durante
debug, etc.
O CCS permite a criao de projetos, ou seja, conjuntos de arquivos de
cdigo-fonte com as configuraes de compilao, (por exemplo,
arquitetura para a qual o cdigo-objeto ser gerado) e ligao dos
mesmos.
Tambm possui fcil integrao com as bibliotecas desenvolvidas pelas TI,
como a StellarisWare/TivaWare, TI-RTOS e tambm com o projeto Energia

UTFPR Campus Curitiba


47
Prof. Amauri Assef
Projetos e workspace (CCS)

PROJECT
Source
WORKSPACE

UTFPR Campus Curitiba


48
Prof. Amauri Assef
Workspace Project
Link Source Files
Code and Data
Project 1 Source Files
Link Link Header Files
Project 2 Header Files Declarations
Project 3 Library Files
Link Library Files
Settings/preferences Build/tool settings Code and Data

WORKSPACE folder contains: PROJECT folder contains:


IDE settings and preferences Build and tool settings (for use
Projects can reside in the workspace in managed MAKE projects)
folder or be linked from elsewhere Files can be linked to or
When importing projects into the reside in the project folder
workspace, linking is recommended Deleting a linked file within the
Deleting a project within the Project Project Explorer only deletes
Explorer only deletes the link the link

UTFPR Campus Curitiba


49
Prof. Amauri Assef
Instalao do CCS
Verso 7.2.0 -> arquivo ccs_setup_7.2.0.00013.exe

1) Antes de executar o arquivo de instalao necessrio


desabilitar o antivrus - desativar a proteo em tempo
real do antivrus utilizado e fornecer as permisses de
Firewall solicitadas

Aps instalar o CCS, no salve seu workspace em usurios e


caminhos que contenham acento ou outros caracteres no nome
(~, /, [, ], %, +, etc.)

UTFPR Campus Curitiba


50
Prof. Amauri Assef
Exemplo de mensagem de erro devido ao antivrus:

UTFPR Campus Curitiba


51
Prof. Amauri Assef
2) Caso no ocorra o erro da tela anterior, aceitar os termos da
licena e selecionar a pasta de instalao

UTFPR Campus Curitiba


52
Prof. Amauri Assef
3) Selecionar a famlia de produtos TM4C12X ARM Cortex e
em seguida as ferramentas de depurao (deixar o padro)

UTFPR Campus Curitiba


53
Prof. Amauri Assef
4) Habilitar/desabilitar as opes, conforme desejado:

UTFPR Campus Curitiba


54
Prof. Amauri Assef
5) Na tela inicial do CCS, marcar a opo Yes, para ter uma
rea de trabalho simplificada

UTFPR Campus Curitiba


55
Prof. Amauri Assef
Referncias

Main page: www.ti.com/launchpad


Tiva C Series TM4C123G LaunchPad:
http://www.ti.com/tool/ek-tm4c123gxl
TM4C123GH6PM folder:
http://www.ti.com/product/tm4c123gh6pm
LaunchPad Wiki:
www.ti.com/launchpadwiki
Valvano, Jonathan. Embedded Systems (Introduction to Arm\xae
Cortex\u2122-M Microcontrollers) (p. 260). Jonathan Valvano. E
Microcontroladores ARM7 (Philips - Famlia LPC213x) : O poder dos 32 Bits -
teoria e prtica / Daniel Rodrigues de Sousa
Microcontroladores ARMTM CortexTM-M3 (famlia LPC175x/6x da NXP) :
Programao em linguagem C / Alberto Noboru Miyadaira

UTFPR Campus Curitiba


56
Prof. Amauri Assef

Você também pode gostar