Você está na página 1de 107

PLACA DE DESENVOLVIMENTO DE SISTEMAS

ELETR

ONICOS BASEADOS EM ARM E FPGA


COM INTERFACES ETHERNET E GSM
GESNER ORLANDI PASSOS JUNIOR
Trabalho de Conclusao de Curso
apresentado `a Escola de Engenharia
de Sao Carlos, da Universidade de Sao
Paulo.
Curso de Engenharia Eletrica com

Enfase em Eletronica.
Orientador: Prof. Dr. Jose Roberto Bono de Almeida Monteiro
Sao Carlos
2007
2
Dedicat oria
Ao meu pai,
com quem aprendi
o que e realmente
essencial
ii
Agradecimentos
A Deus pelo dom da vida.
Ao meu orientador, Prof. Dr. Jose Roberto Monteiro, por sua impressionante de-
dica cao e aten cao para ensinar e orientar, o qual me deu o exemplo de busca incansavel
por melhoria continua, em todos os trabalhos e projetos que assume.
Ao Pedro Zorzenon com quem aprendi o que e projetar hardware.
Aos meus colegas do LACEP e do curso por toda a ajuda e suporte que me deram,
inclusive pela companhia nas noites em claro a terminar o projeto.
`
As minhas irmas, sempre dispostas a me auxiliarem nos mais diversos assuntos. Aos
meus pais, meus verdadeiros conselheiros.
Aos meus irmaos, pela preocupa cao e carinho com a minha sa ude.
iv
Sumario
Lista de Figuras ix
Lista de Abreviaturas e Siglas xi
Resumo xiii
Abstract xv
I Introdu cao 1
1 Introdu cao 3
1.1 ARM: Principais caractersticas . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Caractersticas Gerais do Processador . . . . . . . . . . . . . . . 5
1.1.2 System on Chip . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.3 Hardwares especializados . . . . . . . . . . . . . . . . . . . . . . 9
1.2 FPGA: HARDWARE REPROGRAM

AVEL . . . . . . . . . . . . . . . 9
1.3 Considera coes Basicas de layout de PCB . . . . . . . . . . . . . . . . . 10
1.3.1 Interferencias Eletromagneticas . . . . . . . . . . . . . . . . . . 10
1.3.2 LAYOUT da Placa . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.3 Debug de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4 Diagrama de Blocos do Projeto . . . . . . . . . . . . . . . . . . . . . . 13
II Desenvolvimento 17
2 ARM 7 : Processador Central 19
2.1 STR712FR2 : O ARM da STMicroeletronics . . . . . . . . . . . . . . . 19
2.2 Ambiente de Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 O Esquematico do Circuito . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.1 Circuito de Relogio . . . . . . . . . . . . . . . . . . . . . . . . . 22
v
vi SUM

ARIO
2.3.2 Circuito de Alimenta c ao . . . . . . . . . . . . . . . . . . . . . . 23
2.3.3 Interface JTAG . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.4 Jumpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.5 WatchDog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.6 SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.7 Interface Serial-IN / Parallel-OUT, Modulo de Controle . . . . 27
2.3.8 Interface Completa entre o ARM e os outros Perifericos . . . . . 28
3 Modem GSM 31
3.1 O circuito de Alimenta cao do Modem . . . . . . . . . . . . . . . . . . . 33
3.2 Analise do

Audio do Modem . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Interface de Comunica cao com ARM: UART . . . . . . . . . . . . . . . 36
3.4 Restri coes e Caractersticas Gerais . . . . . . . . . . . . . . . . . . . . . 37
3.5 Interface do Modem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6 Resumo das Recomenda coes . . . . . . . . . . . . . . . . . . . . . . . . 39
4 FPGA 41
4.1 Ambiente de Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Interfaces da FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3 A Interface Externa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 I
2
C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 Ethernet 51
6 Outras Interfaces da Plataforma 57
6.1 RS232 - UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.2 CAN - Controller Area Network . . . . . . . . . . . . . . . . . . . . . . 58
6.3 Circuito para o CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7 Implementa c oes 63
7.1 Integra cao com uma Placa de Aquisi cao de Dados . . . . . . . . . . . . 63
7.2 Controle e Acionamento de Motores . . . . . . . . . . . . . . . . . . . . 64
7.3 CallBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.4 Celular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
III Conclusoes 69
8 Conclusoes 71
SUM

ARIO vii
IV Apendices 73
A Esquematicos da Placa 75
B Layout da Placa 83
V Referencias 85
Referencias Bibliogracas 87
viii SUM

ARIO
Lista de Figuras
FIGURA 1.1 Formato das Instru coes de Processamento de Dados do ARM.
Extrado de [7] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
FIGURA 1.2 Diagrama de Blocos do Hardware . . . . . . . . . . . . . . . . 14
FIGURA 2.1 Circuito temporizador do ARM . . . . . . . . . . . . . . . . . 22
FIGURA 2.2 Circuito de Alimenta cao do ARM . . . . . . . . . . . . . . . . 23
FIGURA 2.3 Interface JTAG do ARM . . . . . . . . . . . . . . . . . . . . . 24
FIGURA 2.4 Jumpers de Congura cao do ARM . . . . . . . . . . . . . . . 24
FIGURA 2.5 Circuito de Supervisao (WatchDog) . . . . . . . . . . . . . . . 25
FIGURA 2.6 Temporiza cao do Sinal SPI no modo 00 . . . . . . . . . . . . . 27
FIGURA 2.7 Serial-IN/Parallel-OUT e Decodicador . . . . . . . . . . . . 28
FIGURA 2.8 Mapeamento dos Pinos do ARM . . . . . . . . . . . . . . . . . 29
FIGURA 3.1 Diagrama de Bloco da Organiza cao Interna do Modem. Ex-
trado de [12] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
FIGURA 3.2 Circuito exemplo fornecido pelo fabricante do regulador cha-
veado. Extrado de [14] . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
FIGURA 3.3 Formato do Codigo PCM para transmissao audio simples. Ex-
trado de [12] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
FIGURA 3.4 Diagrama da conexao de um DCE e um DTE segundo a norma
RS-232. Extrado de [12] . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
FIGURA 3.5 Circuito abaixador de tensao . . . . . . . . . . . . . . . . . . . 38
ix
x LISTA DE FIGURAS
FIGURA 4.1 Arquitetura interna da FPGA . . . . . . . . . . . . . . . . . . 41
FIGURA 4.2 Diagrama Logico de um CLB. Extrado de [28] . . . . . . . . . 42
FIGURA 4.3 Conector de interface externa para a placa . . . . . . . . . . . 46
FIGURA 4.4 Driver para prote cao e separa cao entre sinais internos e inter-
face externa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
FIGURA 4.5 Formato das mensagens I
2
C . . . . . . . . . . . . . . . . . . . 48
FIGURA 5.1 Camadas de Rede denida no padrao Ethernet . . . . . . . . . 51
FIGURA 5.2 Diagrama de Blocos do Controlador de Ethernet ENC28J60.
Figura extrada de [9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
FIGURA 5.3 Liga coes necessarias ao ENC28J60. Figura extrada de [9] . . 54
FIGURA 6.1 Diagrama esquematico do Optoacoplador. Extrado de [6] . . 60
FIGURA 6.2 Circuito para Acionamento do acoplador optico . . . . . . . . 61
FIGURA 7.1 Diagrama de blocos do modulo de aquisi cao de dados . . . . . 63
FIGURA 7.2 Diagrama esquematico da integra cao com a placa de aquisi cao
de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
FIGURA 7.3 Diagrama esquematico do controlador de motores trifasicos . . 65
FIGURA 7.4 Diagrama esquematico do CallBox . . . . . . . . . . . . . . . 66
FIGURA 7.5 Diagrama esquematico do Celular . . . . . . . . . . . . . . . . 67
FIGURA A.1 Esquematico da n ucleo central da Placa . . . . . . . . . . . . . 76
FIGURA A.2 Circuito de Alimenta cao - Reticadores . . . . . . . . . . . . 77
FIGURA A.3 Sadas e Circuito Supervisor . . . . . . . . . . . . . . . . . . . 78
FIGURA A.4 Esquematico do Modem . . . . . . . . . . . . . . . . . . . . . 79
FIGURA A.5 Esquematico da FPGA . . . . . . . . . . . . . . . . . . . . . . 80
FIGURA A.6 Esquematico demais perifericos . . . . . . . . . . . . . . . . . 81
FIGURA B.1 PCB da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Lista de Abreviaturas e Siglas
ABS: Anti-lock Breaking System
AD: analog to digital
ADC: AD convert
ARM: Advanced RISC Machines
BSPI: BUFFERED SPI
CAN: Controller Area Network
CI: Circuito Integrado
CLB: Cell Logic Block
CLK: clock
CPLD: Complex Programmable Logic Device
CRC: Cyclic Redundancy Check
CS: Chip-Select
DMA:Direct Memory Access
DVD: Digital Versatile Disc EESC: Escola de Engenharia de Sao Carlos
FIFO: First-in/First-out
FIQ: Fast Interrupt Request
FPGA: Field Programmable Gate Array
GCK: Global Input
GPS: Global Positioning System
GSM: Global System for Mobile Communications
I
2
C:Inter-Integrated Circuit
IO: Inputs/Outputs
IRQ: Interrupt Request
JTAG: Join Test Action Group
LACEP: Laborat orio de Controle e Eletr onica de Potencia
xi
xii LISTA DE ABREVIATURAS E SIGLAS
MAC: Medium Access Control
MISO:Master Input - Slave Output
MOSI:Master Output - Slave Input
PCB: Print Circuit Board
PCM: Pulse Code Modulation
RAM: Randomic Access Memory
RISC: Reduced Instruction Set Computer
RF : Onda Eletromagnetica de Radio Frequencia (30MHz a 3GHz)
SPI: Serial Peripheral Interface
TCP/IP: Transmission Control Protocol/Internet Protocol
UDP/IP: Universal Datagram Protocol/Internet Protocol
VHDL: Very-high Hardware Description Language
WDG: WatchDog
Resumo
Passos Jr., G. Placa de Desenvolvimento de Sistemas Eletr onicos Baseados em
ARM e FPGA com interfaces Ethernet e GSM. Sao Carlos, 2007. 100p. Mo-
nograa Escola de Engenharia de Sao Carlos, Universidade de Sao Paulo.
Este documento descreve a plataforma de desenvolvimento baseado em micropro-
cessador ARM e hardware reconguravel, (FPGA). O contexto das tecnologias atuais e
discutido e justicada a escolha do ARM para processamento central considerando-se
a arquitetura interna do processador. Trata-se tambem de um trabalho de integra cao
de tecnologias expoentes por reunir em uma unica placa, alem das duas op coes de
modulos de processamento (ARM, FPGA), interfaces de rede de importancia global,
sao elas Ethernet, CAN e GSM. Finalmente, este e um projeto de hardware e por isso
discute tecnicas de descri cao e layout de circuito bem como barramentos e interfaces
de interliga cao entre componentes.
Palavras-chave: ARM, FPGA, HARDWARE, GSM, ETHERNET, PCB
xiii
xiv RESUMO
Abstract
Passos Jr., G. Development Board of System of Electronic Circuits Based on ARM
and FPGA with interfaces Ethernet and GSM. Sao Carlos, 2007. 100p. Mono-
graa Escola de Engenharia de Sao Carlos, Universidade de Sao Paulo.
This document describes an evaluation board based on ARM microprocessor and
recongurable hardware, FPGA. It discuss the actual technologies and justies the de-
cision of choosing the ARM as the central processing through an explanation about its
internal architecture. It is a work of integrating main technologies by joining together
in a board two processing modules (ARM and FPGA) and also, some of the most im-
portant networks: Ethernet, CAN and GSM. Finally, it is a project of hardware, it
present the ways of describing and implementing circuits with their connections and
interfaces between components.
Keywords: ARM, FPGA, HARDWARE, GSM, ETHERNET, PCB
xv
xvi ABSTRACT
Parte I
Introducao
1
Captulo 1
Introducao

E inquestionavel que os sistemas baseados em computadores tiveram um enorme


desenvolvimento nas ultimas decadas. Neste nicho, tem grande destaque os sistemas
embarcados. Por sistema embarcado entende-se aparelhos, objetos ou mesmo sistemas
em geral que possuem capacidade de processamento, mas nao sao especicamente com-
putadores. Suas aplica coes sao as mais variadas possveis e sua area de atua cao esta
em franca expansao. Exemplos destes sistemas podem ser encontrados em instrumen-
tos medicos e de medidas, controle de robos e motores, video-games, DVDs, diversos
aparelhos eletronicos e muitos outros.
A ARM Ltd. [2] arma que metade dos carros produzidos em 2007 sairao de fabrica
com aproximadamente 70 microprocessadores internos. Estes processadores estao nos
players, no ar-condicionado, em monitoramento dos sensores anti-colisao, no referen-
ciamento geoestacionario (GPS), nos displays internos, no controle dos freios (ABS),
na igni cao e outras diversas fun coes. Por fazer parte de um unico sistema, estes dis-
positivos microprocessados nao sao independentes; antes e preciso que haja integra cao
e intercomunica cao entre os diversos dispositivos. Por este motivo, o que se observa
atualmente e a tendencia da migra cao dos sistemas embarcados dos processadores de
8 e 16 bits para os processadores de 32 bits. Com os microprocessadores de 32 bits e
possvel uma padroniza cao de cores e perifericos que facilitam a integra cao e a compati-
biliza cao dos instrumentos. Alem disso, 32 bits e o padrao entendido por todos os PCs,
e tambem de varios barramentos. A tendencia e marcante, ate mesmo a Microchip,
lder do mercado de microcontroladores de 8 bits passou a investir no desenvolvimento
de microcontroladores de 32bits [13].
3
4 CAP

ITULO 1. INTRODUC

AO

E neste contexto, que o ARM aparece como o principal expoente em processador


para sistemas embarcados baseados em arquitetura de 32 bits. Fabricado pela VLSI
Tecnology Inc., California, e apresentado em Abril de 1985, ja na decada de 90 apre-
sentava a lideran ca no mercado de alta performance com baixo consumo e custo nas
aplica coes de hardware embarcado. Hoje e fabricado por mais de 10 empresas e tem o
melhor suporte internacional dentro da categoria. O site da ARM Ltd. apresenta mais
de 40 empresas de renome que estao associadas `a corpora cao para desenvolvimentos de
softwares, e aplicativos para o ARM. Neste mesmo site, a empresa rma o compromisso
de disponibilizar every thing you need to create an innovative product design based on
industry [2].

E seguindo esta tendencia do mercado, e na expectativa de trazer o que ha de novo


tecnologicamente que se insere o presente projeto. Por se tratar de uma placa de de-
senvolvimento, com interfaces e aplica coes em aberto, abre boas oportunidades para
que os alunos e pesquisadores da Engenharia Eletrica de Sao Carlos, especicamente os
do Laboratorio de Controle e Eletronica de Potencia (LACEP) possam ser treinados,
familiarizados e passem a desenvolver solu coes de sistemas baseados em ARM que os
colocarao em sintonia com as exigencias do novo mercado de sistemas embarcados e
proporcionara ao laboratorio visibilidade e referencia para ser consultor nesta tecno-
logia para as empresas da regiao de Sao Carlos, onde a absor cao do ARM e ainda
incipiente. Alem disso, permite a sua inser cao do LACEP no contexto de pesquisa e
desenvolvimento global de sistemas baseados em ARM.
Esta monograa apresenta todo o projeto do hardware implementado e tambem
e o manual da placa. Aqui sao denidos os principais perifericos, os barramentos, as
interconexoes, as restri coes e as normas que devem ser observadas para desenvolvimento
de aplica coes para a plataforma.
Este captulo introdutorio esta organizado de forma a fornecer um entendimento
geral das tecnologias envolvidas na plataforma, mas tambem algumas considera coes a
respeito de habilidades e conhecimentos requeridos no desenvolvimento de hardware.
Assim, a proxima se cao apresenta o ARM e algumas de suas caractersticas que lhe
possibilitaram o destaque obtido. Alem do ARM, foi incorporado tambem uma FPGA
no circuito da placa. Suas caractersticas e o motivo de fazer parte do projeto sao
explicados na Se cao 1.2.
1.1. ARM: PRINCIPAIS CARACTER

ISTICAS 5
Por se tratar de um projeto de desenvolvimento de hardware varios conceitos de
eletronica e design de placas de circuito impresso (PCB) sao importantes. Este tema
e apresentado e discutido na Se cao 1.3. Ao nal dessa se cao, discute-se sucintamente
o assunto de identica cao de falhas e mal funcionamento de dispositivos, apresentando
uma estrategia de abordagem destes tipos de problemas. Ap os estas considera coes
iniciais, a placa com seus principais blocos funcionais e apresentada.
1.1 ARM: Principais caractersticas
A primeira deni cao importante no que se refere ao ARM e que nao se trata de
um microcontrolador produzido por uma empresa. Na verdade, ele e o core, o n ucleo
funcional de um microprocessador, que dene os registros internos, o conjunto de ins-
tru coes, algumas unidades funcionais e sua arquitetura. A ARM Ltd., responsavel pelo
ARM, licencia este core para fabricantes que montam seus microcontroladores com os
perifericos que julgam mais importante para atender ao mercado. Os perifericos e as
funcionalidades especcas do ARM escolhido e o assunto do captulo 2. Esta se cao
apresenta apenas as caractersticas deste n ucleo central (core) do ARM.
1.1.1 Caractersticas Gerais do Processador
O ARM e um processador RISC (Reduced Instruction Set Computer). A outra
possibilidade para processadores e CISC (Complex Instruction Set Computer). A es-
trategia das arquiteturas CISC e permitir que programas quem menores, com alta
densidade de codigo, pois uma unica instru cao e capaz de realizar funcionalidades de
alto grau de complexidade. Porem, para poder realizar estas instru coes mais comple-
xas, o core dos processadores CISC sao maiores e mais complexos. Por outro lado,
os processadores RISC buscam um desempenho ligado `a capacidade de execu cao de
mais instru coes por segundo, denindo instru coes mais simples. O pre co que estes
processadores pagam e a necessidade de maior capacidade de armazenamento para os
programas. No que diz respeito ao desempenho, as arquiteturas RISC tem se mostrado
mais ecientes executando rotinas completas mais rapidamente.
O ARM nao apresenta uma arquitetura RISC simples. Na verdade, ele combina a
simplicidade do hardware baseado em ideias RISC e agrega algumas caractersticas
6 CAP

ITULO 1. INTRODUC

AO
essenciais do desempenho CISC, conseguindo assim melhor densidade de codigo que
uma arquitetura RISC pura e maior velocidade e desempenho que uma arquitetura
CISC. Isso proporciona ao ARM alto desempenho com um core reduzido e grande
eciencia no consumo de energia [7].

E preciso conhecer um pouco da estrutura interna do processador para compreender


sua capacidade. Seu processamento e feito atraves de pipeline. O ARM7 utilizado
no projeto apresenta 3 estagios (Fetch, Decode, Execute) para carregar, decodicar e
executar a instru cao. A tecnica de pipeline permite ao processador operar em maiores
frequencias, pois o processamento necessario em cada estagio e reduzido, e tambem
aumenta o throughput, isto e, a quantidade de instru cao nalizada num perodo. Alem
disso, por ser RISC, trata-se de uma estrutura load-store, o que signica que todas as
opera coes logicas e aritmeticas nao sao realizados diretamente com a memoria, antes,
apenas seus 16 registros internos participam destas opera coes. O conjunto de instru cao
do ARM 7 pode ser dividido em 3 grupos:
Processamento de Dados:
Opera coes aritmeticas e logicas que podem ser realizadas sobre os registros.
Transferencia de Dados:
Opera coes de transferencia de valores entre registros e memoria e entre memoria
e registros.
Controle de Fluxo:
Opera coes de saltos e chamadas de fun coes condicionadas ao status do sistema.
A gura 1.1 apresenta a estrutura de um registro de instru c ao do grupo de pro-
cessamento de dados. Uma caracterstica interessante e o fato de todas as opera coes
poder ser condicionadas (primeiros 4 bits). O condicionamento e baseado no valor de
algumas variaveis de status do processador. Alem disso, e possvel determinar se uma
determinada opera cao deve ou nao alterar o valor destas variaveis de status (bit S). Ha
um bit que identica se a opera cao e somente sobre registros ou tambem sobre valores
imediatos, fornecidos junto com a instru cao. Segue-se o opcode da instru cao, o destino
e o primeiro operando. Esta tambem e uma caracterstica interessante, cada instru cao
no processamento de dados pode envolver ate 3 registros diversos.
1.1. ARM: PRINCIPAIS CARACTER

ISTICAS 7
Se a instru cao operar sobre um valor imediato, este nao pode ter qualquer valor de
32 bits. Como se pode observar, ha apenas 12 bits para escreve-lo. Os valores possveis
para valores imediatos nestas opera coes e: (0 250) 2
2n
. Se a opera cao for realizada
sobre seus registros, ha a possibilidade de se determinar um shift logico dos dados numa
mesma instru cao.
Alguns exemplos ilustrativos sao mostrados para auxiliar a compreensao do poten-
cial destas instru coes. Por exemplo, a multiplica cao de um registro por 5 pode ser feito
numa unica instru cao da seguinte maneira:
ADD r0, r0,r0, LSL #2 ; r0=r0+2r0
Figura 1.1: Formato das Instru coes de Processamento de Dados do ARM. Extrado de
[7]
A capacidade de fazer com que cada instru cao seja condicionada, tambem permite
grande redu cao no volume de codigo. Por exemplo, considere a instru cao if(a ==
b)&&(c = d))e + +, ela poderia ser escrita assim:
8 CAP

ITULO 1. INTRODUC

AO
CMP r0,r1
CMPEQ r2,r1 ; EQ diz para executar fun cao apenas se a ultima foi igual
ADDEQ r4,r4,#1 ;
Ha ainda instru coes ligadas `a multiplica cao e tambem instru coes do tipo MAC,
multiplicar e acumular, muito uteis aos algoritmos de processamento digital de sinais.
Alem disso, e possvel realizar opera cao de multiplica cao com dois registros de 32 bits e
denir posicionamento para guardar o resultado de 64 bits em dois registros, nao sendo
portanto necessario seccionar o resultado.
1.1.2 System on Chip
Ha algumas caractersticas do processador que lhe permite ter um sistema opera-
cional seguro no seu interior. Ele dene dois modos de opera cao, o modo normal de
usuario e um modo privilegiado. A instru cao SWI (software interrupt) e um exemplo
disso. Atraves desta instru cao o hardware e mudado para o modo supervisor e passa
a executar as fun coes a partir do endere co 0x08. Como em modo de usuario nao e
possvel alterar os registros especiais ou as entradas e sadas do microcontrolador, isto
garante a seguran ca do sistema, impondo que areas protegidas so possam ser acessadas
por chamadas ao sistema.
Outra caracterstica importante e a instru cao de SWAP. Esta instru cao troca os va-
lores entre uma posi cao de memoria e um registro. Ela e essencial para que um sistema
possa denir semaforos e controles de exclusao m utua que possibilitam a programa cao
concorrente, requisito fundamental de sistemas operacionais.
Outra instru cao util, embora nao seja essencial, e a capacidade que o ARM possui
de transferencia de blocos completos de registradores para a memoria e tambem o
contrario. Atraves dela , e possvel ao processador implementar mais facilmente um
task-manager, que e o responsavel por partilhar os recursos de processador entre os
processos ativos numa maquina. Pois, chamadas `as interrup coes podem guardar, com
apenas esta instru cao, todo o status do sistema quando a interrup cao ocorreu, atraves
da coloca cao do valor dos registros numa posi cao de memoria.
Essas sao algumas das caractersticas que tornam o desenvolvimento de sistema
operacional para ARM atraente. Os sites
1.2. FPGA: HARDWARE REPROGRAM

AVEL 9
[3] e [4] mostram varios sistemas operacionais portaveis para o ARM, bem como
uma lista de 28 desenvolvedores destes sistemas que sao parceiros no desenvolvimento
do core do ARM.
1.1.3 Hardwares especializados
O n ucleo do ARM dene ainda uma interface JTAG que e um protocolo serial desen-
volvido inicialmente para teste de condutividade de circuitos, mas tambem muito util
para programa cao e tambem debug dos microprocessadores. Alem disso, ha tambem
uma maquina de estado que implementa um DEBUG sobre a interface JTAG. O Debug
especializado permite deni coes de breakpoints, watchpoints e mudan cas de estado de-
nidas pelo usuario no processo de depura cao do programa ou software da maquina.
1.2 FPGA: HARDWARE REPROGRAM

AVEL
Alem do ARM, esta presente tambem neste projeto a FPGA XCS05XL, a SPARTAN
da Xilinx. Por ser tambem uma unidade de processamento, pode ser congurada para
auxiliar o ARM em aplica coes. A grande caracterstica das FPGAs e a reprogramabi-
lidade do seu hardware. Isso signica, que elas podem ser modicadas, em fun cao das
aplica coes para funcionarem como driver especializados de perifericos.
A motiva cao inicial para acrescentar ao projeto a FPGA diz respeito ao interfa-
ceamento entre um modem GSM e o processador ARM para transferencia de audio
digital. A transferencia deste audio digital, PCM, e atraves de um protocolo sncrono
denido por quatro os. Nao ha no ARM um driver especializado que decodique este
protocolo. Assim, colocar no circuito apenas o modem e o ARM exigiria do software
implementar um algoritmo para esta transferencia de dados. Com a inclusao da FPGA,
pode-se descrever um hardware que transfere dados do barramento PCM para o barra-
mento SPI, para o qual ha driver especializado no ARM. Desta forma, a comunica cao
com o modem ocorre com procedimento de software muito mais simples e o processador
do ARM ca livre para executar outras opera coes.
Alem deste benefcio considerado, a inclusao da FPGA torna muito vasta a faixa
de aplica coes possveis para a plataforma desenvolvida e algumas possibilidades sao
apresentadas no captulo 7.
10 CAP

ITULO 1. INTRODUC

AO
1.3 Consideracoes Basicas de layout de PCB
Esta se cao trata do aspecto relacionado ao desenvolvimento de hardware propria-
mente dito. Considera coes sobre circuitos eletronicos, requisitos de sistemas, fenomenos
eletricos ligado a uma plataforma eletronica, rudos, capacitancias parasitas, e outras
questoes sao abordadas. O que se apresenta aqui e de carater geral e diz respeito
ao procedimento adotado para o desenvolvimento da placa. No nal desta se cao ha
um espa co dedicado ao tema de identica cao de falhas e estrategias de abordagem do
problema na opera cao com sistemas embarcados.
A primeira observa cao que se faz, e que em projeto de hardware, e possvel, e
ate mesmo comum a ocorrencia de mal funcionamento do circuito, embora este possa
aparentemente apresentar um projeto de circuito perfeito. Muitas vezes, o responsavel
por ocorrencias deste tipo e o rudo eletromagnetico, que e o tema que segue.
1.3.1 Interferencias Eletromagneticas
Catsoulis em [5] apresenta algumas causas para o problema do rudo bem como
dicas uteis na disposi cao, roteamento e confec cao de placas de circuito impresso para
amenizar as interferencias. Primeiramente, tem-se 2 tipos de rudos presentes em qual-
quer circuito eletronico, os causados externamente e que interferem no circuito e os que
sao gerados internamente pelo funcionamento do proprio sistema. No primeiro grupo
encontram-se os reatores, chaves e reles, transmissores de RF, indutancias m utuas para-
sitas nos os da alimenta cao, descargas eletricas e os motores. Rudos internos ocorrem
em geral por conta de fontes de tensoes inadequadas ou mal projetadas, capacitores
de desacoplamento insucientes, capacitancias parasitas entre trilhas paralelas, chave-
amento em altas frequencias alem do rudo randomico termico intrnseco a todos os
processos.
Muitos destes efeitos, como por exemplo a indu cao magnetica e as capacitancias
parasitas, sao tanto mais prejudiciais quanto maior for o percurso que os sinais que os
geram percorrem a placa. Por isso, uma estrategia aconselhavel no design de circuitos
impressos e a disposi cao de malhas de terra onde for possvel. Estas malhas, que sao
o caminho de retorno de todos os sinais na placa diminuem as correntes de loops no
circuito e consequentemente o rudo que estas correntes geram.
1.3. CONSIDERAC

OES B

ASICAS DE LAYOUT DE PCB 11


Um problema surge com as linhas de alimenta cao. Nao e possvel minimizar o
percurso destas uma vez que elas tem que chegar a todos os CIs, para energizar todos
os pontos em que ha necessidade. Para contornar esta limita cao, sugere-se que para cada
CI na placa, sejam colocados capacitores de desacoplamento o mais proximo possvel
da alimenta cao. Estes capacitores, alem de garantir um caminho para o terra de baixa
impedancia para o rudo, ainda ajudam a fornecer as correntes necessarias para vencer
as capacitancias internas e de jun cao dos CIs nas mudan cas de estado logico dos mesmos.
Outra pratica sugerida e a utiliza cao de reguladores na propria placa que permitem
assim a isola cao dos circuitos internos de rudos das fontes externas.
Ha tambem um outro efeito que pode causar estrago relacionado `as descargas ele-
trostaticas. Um ambiente seco, carpete, sapatos e outros isolantes podem facilmente
fazer com que haja um potencial eletrostatico num individuo de ate centenas de Volts.
Esta tensao tem baixssima capacidade de corrente, porem pode causar dano irreversvel
aos CIs e outros componentes eletronicos. Principalmente as arquiteturas baseadas
na tecnologia CMOS, que apresentam um pelcula de oxido isolante no gate que e
facilmente rompida em virtude destas descargas e assim destroi a caracterstica de
amplica cao do componente.
Uma alternativa para este problema e a introdu cao de CIs de buers que isolem os
componentes crticos do circuito. No projeto, pretendia-se ligar 6 pinos mais uma SPI
do ARM ao barramento externo, com o objetivo de expansoes e algumas aplica coes.
Por motivo de prote cao, foi colocado entre eles o buer, 74HC541 [15]. Alem da maior
resistencia do buer `as descargas eletrostaticas, mesmo que uma linha sua queime serve
como fusvel que protege os pinos do ARM.
1.3.2 LAYOUT da Placa
Em circuitos integrados, principalmente os que operam em altas frequencias, ha
efeitos que precisam ser considerados. As linhas que ligam o circuito precisam ser
entendidas como linhas de transmissao sujeitas a ocorrencia de reexoes e outros efei-
tos prejudiciais. Por este motivo, o layout da placa precisa de uma aten cao especial.
Por este motivo, apesar de existir softwares de roteamento automatico de trilhas para
circuito impresso, capazes de fornecer grande redu cao no tempo de projeto de placa,
muitos desenvolvedores de hardware aconselham que o roteamento seja feito manual-
12 CAP

ITULO 1. INTRODUC

AO
mente com o intuito de garantir melhor desempenho e menor interferencia das liga coes
[5].
As praticas aconselhaveis consistem na indica cao de aten cao especial aos sinais de
maior frequencia, em especial os sinais de clock. Sugere-se que o caminho do sinal de
clock ao processador seja o menor possvel, e ainda que uma malha de terra envolva
o mesmo. Outra questao importante e evitar curvas de 90
o
nas trilhas. Curvas acen-
tuadas, fazem com que os sinais nas linhas enxerguem uma termina cao de linha e
pode ocorrer por isso a reexao. Por m, e aconselhavel isola cao de terras de circuito
que podem interferir em outros circuitos. Neste aspecto, aten cao especial foi dada aos
circuitos de CAN e

Audio Analogico do Modem GSM e sao apresentados em captulos
posteriores [5].
1.3.3 Debug de Hardware
Um assunto muito relevante no desenvolvimento de sistema embarcados e a capa-
cidade de identica cao de problemas e mal funcionamento do circuito. Diferentemente
de um software para o qual existem ferramentas especializadas em debug que permitem
execu cao passo a passo, monitoramento de variaveis e controle dos processos; problemas
relacionados aos sistemas embarcados apresentam em geral m ultiplas possibilidades de
causas e poucas ferramentas sistematicas de identica cao. Esta se cao dedica-se a apre-
sentar em linhas gerais o assunto. O intuito e mostrar princpios de procedimento que
podem ser decisivos no sucesso da identica cao e corre cao de erros de hardware.
Em [5], Catsoulis apresenta um exemplo interessante relacionado ao debug de hardware.
Apresenta uma situa cao hipotetica de mal funcionamento da interface RS-232. As pos-
sibilidades sao m ultiplas, pode ser erro no codigo do programa do PC ou do micro-
processador, os cabos podem estar deteriorados, o transceiver pode ter queimado, o
oscilador ou a alimenta cao podem nao estar adequados, ou ate mesmo o proprio pro-
cessador pode estar deteriorado ou estar constantemente sendo reiniciado por conta
do circuito supervisor (WatchDog). Linhas podem estar rompidas dentre outras mui-
tas possibilidades. Isso mostra como nao se trata de algo trivial identicar problemas
relacionados aos sistemas embarcados.
A estrategia indicada e dividir para conquistar. Isso quer dizer que se deve
propor m ultiplos testes que consigam identicar e isolar o problema. Por exemplo,
1.4. DIAGRAMA DE BLOCOS DO PROJETO 13
para identicar o problema acima, os seguintes passos poderiam ser tomados:
1. Para testar o software no PC, conectar o Rx e o Tx do computador e vericar se
ocorre o eco das palavras enviadas para a porta RS232.
2. Vericar os cabos
3. Fazer um programa simples capaz de acender LED. Este programa pode fazer
tambem o uso de um timer interno do dispositivo. Este teste avalia a alimenta cao
do circuito, os circuito supervisor, clock, e funcionalidade do microprocessador.
4. Fazer um programa que escreve uma unica palavra ininterruptamente e depois,
com um osciloscopio, identicar se ha atividade dos sinais nos pinos dos compo-
nentes.
Atraves desta estrategia ha grandes possibilidades de sucesso na identica cao de er-
ros. Mas, ha ainda uma atitude que e, sem d uvida, a mais importante. O desenvolvedor
de hardware deve ser atencioso em todos os detalhes tecnicos fornecidos pelo fabricante
na integra cao dos componentes. Uma grande fonte de erros e o desenvolvedor supor que
algo deve funcionar de um jeito, mas nao vericar se o fabricante implementou daquela
maneira. Por ser para ele uma suposi cao obvia geralmente sera o problema mais
dicilmente identicado [5]. Por exemplo, ha uma restri cao imposta pelo fabricante do
Modem GSM usado, que para poder alterar o audio do modem de analogico (default)
para digital, envia-se um comando AT, mas antes disto e preciso que a interface digital
esteja desconectada. Na montagem do circuito, esta restricao implica na existencia
de buers 3-state ou chaves analogicas entre o PCM (audio digital) do Modem e a
FPGA. Negligenciar este fato impedira por completo a utiliza cao do audio digital do
dispositivo.
1.4 Diagrama de Blocos do Projeto
Esta se cao descreve o hardware de maneira geral. Detalhes sao apresentados nos
captulos posteriores. Primeiramente, o circuito foi pensado para ser uma plataforma
de desenvolvimento. Assim, buscou-se ao maximo permitir interfaces que facilitem e
viabilizem diversas aplica coes com o mesmo hardware. O objetivo desta escolha e que
14 CAP

ITULO 1. INTRODUC

AO
uma plataforma de desenvolvimento permite o aprendizado continuado da tecnologia
envolvida.
Porem, esta nao e uma plataforma que simplesmente disponibiliza os pinos do pro-
cessador para que o desenvolvedor fa ca suas proprias aplica coes, como e o caso das
Evaluation Boards padroes. Antes, algumas possibilidades de aplica coes foram pen-
sadas desde o desenvolvimento da placa, para que pudesse proporcionar projetos de
grande interesse para o laboratorio e de tecnologia avan cada. Estas possibilidades sao
discutidas no captulo 7.
Figura 1.2: Diagrama de Blocos do Hardware
A gura 1.2 mostra um diagrama de blocos esquematico representativo do projeto.
As principais caractersticas sao:
O modulo de Alimenta cao da Placa recebe tensao de 5 e 12 Volts e alimenta os
CIs. Ha um regulador separado para o ARM e tambem possibilidade de que o
ARM desligue os outros reguladores. O motivo disto e satisfazer requisitos de
opera cao em low-power. Garantindo o funcionamento continuado do ARM para
aplica coes que utilizem o Real-Time.
Uma interface RS-232 simples foi implementada.
Para interliga cao em rede estao presentes o CAN e a Ethernet. Para o CAN
existe um driver especializado do proprio fabricante do ARM escolhido. Para a
Ethernet foi utilizado um controlador da Microchip (ENC28J60) que comunica
com o ARM via SPI.
1.4. DIAGRAMA DE BLOCOS DO PROJETO 15
Um circuito supervisor externo (WatchDog) foi tambem adicionado para impedir
que o mal funcionamento do sistema o deixe bloqueado.
Um Modem G24 da Motorola para dar acesso `a rede GSM, permite possibilidade
de envio e recebimento de SMS, efetuar chamadas e tambem acesso ao audio
analogico e digital nas chamadas.
Uma FPGA que atua como um co-processador ou como driver especializado para
aumentar a capacidade de desempenho e possibilidades da placa.
Interface JTAG esta presente tanto para programa cao e debug do ARM como
para programa cao externa para a FPGA.
Conector para interfaceamento externo com um driver dedicado de SPI, 6 linhas
de aplica cao geral de sada do ARM, e mais de 40 pinos de Entrada e Sada (IO)
da FPGA.
Este captulo introdutorio apresentou a motiva cao para o projeto do hardware reali-
zado bem como as potencialidades que este apresenta. Os proximos captulos dedicam-
se a detalhar os blocos que compoem o sistema como um todo. O captulo 2 diz respeito
ao ARM escolhido para o projeto. Apresenta os perifericos do mesmo, o ambiente de de-
senvolvimento de aplica coes e as interfaces presentes na placa desenvolvida. No captulo
3 o modem GSM e discutido. A FPGA e suas interfaces sao denidas no captulo 4. O
captulo 5 e para a rede Ethernet, ao passo que a rede CAN e apresentada no captulo 6.
Por m, sugestoes de implementa coes e as capacidades da placa desenvolvida e o tema
do captulo 7. O anexo A mostra os esquematicos dos blocos do circuito implementado
e o anexo B apresenta a placa projetada.
16 CAP

ITULO 1. INTRODUC

AO
Parte II
Desenvolvimento
17
Captulo 2
ARM 7 : Processador Central
Na introdu cao foi apresentado o core do ARM7 com algumas das caractersticas que
o tornaram o maior expoente da categoria de processadores de 32 bits da atualidade.
Neste captulo, sera feita uma abordagem especca em rela cao ao processador escolhido
para o projeto, o STR712FR2 da STMicroeletronics. Uma analise das capacidades e
perifericos deste processador, ferramentas de desenvolvimento e suporte fornecido pelo
fabricante serao apresentados.
Este documento nao tem por objetivo apresentar todos os detalhes do hardware,
antes, apenas os aspectos especcos relacionados com o circuito realizado. Por este
motivo, novos desenvolvedores de rmware para esta placa devem analisar cuidadosa-
mente a documenta cao deste microprocessador, em especial o datasheet [22] e o manual
de referencia [19].
2.1 STR712FR2 : O ARM da STMicroeletronics
Apesar da existencia de mais de 10 fabricantes de processadores com o n ucleo ARM,
escolheu-se a empresa STMicroeletronics. O requisito inicialmente observado foi a alta
imunidade ao rudo apresentado pelo ARM desta empresa. Como espera-se que a placa
sirva como plataforma de desenvolvimento para motores em ambientes industriais, ou
mesmo para aplica coes com o modem, o qual tambem gera mais esp urios, e realmente
determinante que o processador tenha a maior robustez possvel.
Alem desta caracterstica intrnseca da arquitetura, as principais caractersticas do
19
20 CAP

ITULO 2. ARM 7 : PROCESSADOR CENTRAL


processador escolhido [22] uteis para a plataforma montada sao:
Processador RISC ARM7TDI 32-bit
Opera cao em ate 66MHz
Memoria Flash de programa: 256Kbytes; Memoria Flash de dados: 16Kbytes e
Memoria RAM de 64Kbytes.
Real Time Clock
Modos de opera cao para baixo consumo
Controlador Vetorial de Interrup coes interno com 16 nveis de prioridades para
32 canais de interrup coes padroes (IRQ), mais dois canais privilegiados de inter-
rup coes (FIQ).
5 timers
1 I
2
C
2 UARTs
2 BSPIs
CAN (2.0B Ativa)
Alem destas caractersticas do processador, o fabricante oferece um vasto conjunto
de application notes, softwares, manuais e rmwares para auxiliar o desenvolvedor [23].
Entre os documentos encontrados ali, destaca-se o pacote do software library [21] o
qual contem um conjunto de arquivos, escritos em C, que mapeam os registros do
processador e tambem contem fun coes que se constituem nos drivers dos perifericos
deste. A tabela 2.1 apresenta os principais cabe calhos desta biblioteca. Foi preciso
fazer algumas altera coes nas deni coes destas bibliotecas para compatibiliza-las com o
ambiente de desenvolvimento utilizado, o GNU-LINUX.
2.2 Ambiente de Desenvolvimento
Para o desenvolvimento de rmwares utilizou-se GNU softwares. O compilador
responsavel por transformar os programas escritos na linguagem C para o codigo de
2.2. AMBIENTE DE DESENVOLVIMENTO 21
Tabela 2.1: Principais Modulos da Biblioteca para Programa cao do ARM - STR7
Arquivo Descri cao
ash.h Unidade de Controle para Escritas e
Leituras na Memoria Flash
gpio.h Unidade de Congura cao dos Pinos
IO
rccu.h Unidade de Controle do Clock e
Reset
pcu.h Gestao do Modo de Energia
wdg.h Congura cao do WatchDog
bspi.h Gestao do Driver SPI
i2c.h Gestao do Driver I
2
C
uarth.h Gestao da UART
rtc.h Unidade de Congura cao do Real-
Time
eic.h Unidade de Gestao das Interrup coes
(Enhance Interrupt Controller)
tim.h Controle e Gestao dos Timers
can.h Gestao do Driver CAN
xti.h Controle das Interrup coes Externas
maquina do ARM foi o arm-elf-gcc. Como sugere, trata-se de uma especializa cao do
gcc para o ARM. Os arquivos e toda a documenta cao necessaria para instala cao do
compilador podem ser encontrados em [8]. Este site contem os utilitarios, o compilador,
a biblioteca e ate mesmo o insight, software util para programa cao e debug de rmware.
Ali tambem e possvel encontrar links para outros sites com ferramentas uteis para
desenvolvedores de aplicativos para o processador ARM.
Alem do compilador, faz-se necessario o programador. Foi escolhido um progra-
mador JTAG, o OpenOCD (Open On-Chip Debugger). Este software foi desenvolvido
inicialmente por Dominic Rath [18]. Atraves deste aplicativo e tambem possvel desen-
volver debugging do software rodando no processador de um PC.
Porem, para ser capaz de projetar aplicativos para a plataforma e necessario co-
nhece-la antes nos seus detalhes e interfaces. Por isso, a partir da proxima se cao,
as interfaces entre o ARM e os outros perifericos sao apresentadas. Este captulo
aborda ainda detalhes de alguns perifericos e barramentos, porem os perifericos mais
importantes sao detalhados nos captulos seguintes.
22 CAP

ITULO 2. ARM 7 : PROCESSADOR CENTRAL


2.3 O Esquematico do Circuito
No anexo A, encontra-se o diagrama esquematico do ARM (g.A.1) e de todos
os componentes que estao relacionados com ele. Os blocos funcionais que se podem
identicar naquele circuito sao:
Processador ARM
Circuito de Relogio (Clock e RTC)
Circuito de Alimenta cao
Interface JTAG
Jumpers para deni cao do modo de opera cao do processador.
Circuito Supervisor (WatchDog)
Uma interface serial-in/parallel-out responsavel por permitir interfaceamento do
ARM com perifericos mais lentos do circuito.
Decodicador para aumentar os canais de comunica cao com a SPI Interna (74HC138)
2.3.1 Circuito de Relogio
A gura 2.1 mostra a congura cao dos circuitos temporizadores relacionados ao
processador. Para o RTC, e suciente apenas o cristal de 32kHz, ao passo que para o
clock interno do ARM exige-se o projeto do oscilador completo. Observe que o clock
da FPGA tambem vem deste circuito.
Figura 2.1: Circuito temporizador do ARM
2.3. O ESQUEM

ATICO DO CIRCUITO 23
2.3.2 Circuito de Alimentacao
Figura 2.2: Circuito de Alimenta cao do ARM
O circuito de alimenta cao e constitudo de um regulador de baixo drop-out para
fornecer 3,3 Volts a partir da tensao de entrada de 5 Volts.
`
A entrada do regulador
ha 2 diodos que conectam duas fontes independentes, de 5 Volts da alimenta cao e
uma bateria que estara tambem no circuito. O proposito da bateria e garantir que o
ARM nao precise ser desligado. Ele podera operar em low-power mode garantindo o
funcionamento do RTC interno para que o sistema sempre mantenha a hora atualizada.
Ha um circuito auxiliar de carregamento da bateria que funciona para PWR-BAT =
1.
2.3.3 Interface JTAG
O conector JTAG permite que novas programa coes e ate debug possa ser realizado
no ARM. Como ja foi dito, o software que faz acesso `a porta paralela para programar
o ARM com a interface JTAG e o OpenOCD. O circuito foi implementado de forma
a permitir que seja dado comando de reset para o ARM atraves da interface JTAG,
requisito importante para o funcionamento dos softwares de debug.
24 CAP

ITULO 2. ARM 7 : PROCESSADOR CENTRAL


Figura 2.3: Interface JTAG do ARM
Figura 2.4: Jumpers de Congura cao do ARM
2.3.4 Jumpers
Ha 3 jumpers principais: StandBy (nSTD), BOOTEN e ARM-JMP. O primeiro
serve para colocar o ARM em low-power mode. De acordo com o manual de referencia
do dispositivo, ha duas maneiras possveis de se fazer isso, uma e atraves de conectar
o pino STDBY ao GND, a outra e atraves de rotinas de software para alterar registros
que conguram o modo de opera cao. Em low-power mode, todas as interfaces sao des-
ligadas, cando apenas o circuito regulador de back-up para funcionalidades essenciais
do processador, como e o caso do RTC.
Outro jumper, BOOTEN, dene qual o endere co das primeiras rotinas do proces-
sador. Se o valor de BOOTEN for 0, entao o sistema sempre ser a inicializado pela sua
memoria Flash. Porem, se o BOOTEN for 1, entao a inicializa cao do sistema depende
dos valores dos campos BOOT[0:1] pertencentes ao registro PCU BOOTCR. De acordo
com a programa cao destes registros o ARM pode inicializar pela Flash, pela RAM ou
2.3. O ESQUEM

ATICO DO CIRCUITO 25
por uma memoria externa.
Por m, o ARM-JMP e um jumper de proposito geral a ser denido pela aplica cao
do programador do rmware do processador. Trata-se de um pino de input para o
ARM e que pode servir para qualquer nalidade.
2.3.5 WatchDog
Figura 2.5: Circuito de Supervisao (WatchDog)
O circuito supervisor, ou WatchDog, TPS3705-33 [25], tem a capacidade de reinici-
alizar o processador e tem as seguintes funcionalidades:
Inicializa cao do Circuito
Reset Manual
Reset vindo do JTAG
Indica cao de queda na tensao de alimenta cao (PFO - Power-Fail )
Temporizador para controlar se o sistema entrou em deadlock com perodo de
1.6s.
O objetivo deste circuito e garantir que o sistema funcione adequadamente e com
seguran ca. Inicialmente, ao ligar o circuito, o CI mantem o sinal de nRESET do ARM
em zero ate que a alimenta cao tenha alcan cado nvel de 2,8V aproximadamente, para
entao permitir que o microcontrolador ligue. Alem disso, ha um temporizador interno
26 CAP

ITULO 2. ARM 7 : PROCESSADOR CENTRAL


que a cada 1,6 segundos envia pulso de reset para o ARM a menos que este seja
reinicializado, o que e feito atraves de enviar um pulso para o pino WDI (WatchDog
Input).

E possvel desabilitar seu funcionamento desconectando o pino WDI, atraves
da retirada do jumper junto ao WDG. Atraves desse mecanismo de reset, garante-se
que o processador nao esteja em loop innito, ou tenha travado (deadlock).
Se a tensao de alimenta cao estiver abaixo de 4 Volts, entao o regulador ja nao pode
operar satisfatoriamente. Neste caso, a tensao em nPFO vai a zero. Frequentemente o
ARM pode monitorar o valor dessa tensao, e caso ocorra essa queda, ele pode desligar
todos os perifericos e entrar no modo STANDBY para economizar energia e manter
assim o RTC sempre ativo.
2.3.6 SPI
Antes de apresentar o modulo serial-in/parallel-out e preciso apresentar de maneira
geral o que e uma SPI, pois esse modulo faz uso dela. SPI e um acronimo para Serial
Peripheral Interface, que dene uma interface para comunica cao de um processador
central e perifericos. Trata-se de um protocolo master-slave, de m ultiplos pontos.

E
uma interface simples denida por 4 os:
CLK (Clock)
MOSI (Master Output / Slave Input)
MISO (Master Input / Slave Output)
nCS (Chip-Select)
De maneira geral, o mestre (master) decide com quem vai se comunicar colocando
o CS deste dispositivo em 0. Depois disso, a cada pulso de Clock sao transferidos os
bits entre o Master e o Slave, e deste para o mestre, entrando em um shift-register.
Ha quatro modos de opera cao possveis dependendo se os dados podem ser alterados
enquanto o clock for 0 ou 1, e se os bits sao amostrados na subida ou descida do clock.
A gura 2.6 mostra o modo 00, ou seja, a interface e livre para altera coes dos bits
enquanto o clock esta em nvel 0 e a amostragem dos valores e feita na subida do pulso
de clock.
2.3. O ESQUEM

ATICO DO CIRCUITO 27
Figura 2.6: Temporiza cao do Sinal SPI no modo 00
O ARM STR7 tem dois perifericos SPI. Atraves destes perifericos, a transferencia
serializada e implementada automaticamente pelo driver do periferico. Apos a correta
congura cao dos registros destes drivers o core do processador e capaz de se comunicar
com outros dispositivos com rotinas simples de escrita e leitura de registros.
A unica garantia necessaria e que o ARM deve ser capaz de fornecer o sinal de
Chip-Select ao dispositivo com o qual deseja conversar. Na plataforma desenvolvida, o
ARM comunica com tres dispositivos diferentes atraves da SPI, sao eles: o controlador
da Ethernet, a FPGA e a interface Serial-in/Parallel-out ou Modulo de Controle. Para
fornecer os sinais de Chip-Select escolheu-se utilizar um decodicador (74HC138 - g.
2.7), que recebe tres sinais e permite ate 8 canais de CS. Um canal e para Ethernet,
outro para a interface de sada e 5 sao para a FPGA, assim facilita-se a divisao de
canais para diferentes aplica coes que podem estar ocorrendo na FPGA.
2.3.7 Interface Serial-IN / Parallel-OUT, Modulo de Controle
O modulo Serial-IN / Parallel-OUT e constitudo por dois CIs 74HC595 [17]. Na
entrada deste CI ha os sinais MOSI e CLK da SPI. Embora ele nao seja um dispositivo
SPI propriamente dito, o comportamento de shift-register permite que se utilize o
driver SPI para enviar os bytes de congura cao deste dispositivo. O chip so transfere
os dados para a sada no instante de subida do pino de RCLK. Portanto, nao ha nenhum
inconveniente de se usar o mesmo protocolo de transmissao e recep cao de dados via
SPI tradicional.
28 CAP

ITULO 2. ARM 7 : PROCESSADOR CENTRAL


Alem disso, este CI apresenta a funcionalidade de ser tri-state, estado controlado
atraves do pino OUT-RDY do ARM. Atraves dele, e possvel garantir a pre-inicializa cao
dos pinos do dispositivo antes que os seus valores estejam validos. Note que isto e
muito importante, visto que algumas das sadas deste CI sao controladores de linhas
de alimenta cao e controle de outros perifericos do circuito. Pelo fato da maioria destes
sinais estarem relacionados ao controle de ON/OFF e habilita coes de outros perifericos
e que tambem e referenciado por modulo de controle.
Figura 2.7: Serial-IN/Parallel-OUT e Decodicador
2.3.8 Interface Completa entre o ARM e os outros Perifericos
A gura 2.8 mostra o processador com as conexoes de alimenta cao e tambem todos
os pinos de interface. Alem disso, a tabela 2.2 apresenta a fun cao denida para estes
pinos na plataforma desenvolvida, a identica cao dos mesmos no esquematico da -
gura e uma descri cao abreviada das funcionalidade, que serao expandidas nos proximos
captulos.
2.3. O ESQUEM

ATICO DO CIRCUITO 29
Figura 2.8: Mapeamento dos Pinos do ARM
30 CAP

ITULO 2. ARM 7 : PROCESSADOR CENTRAL


Tabela 2.2: Deni cao da Interface do ARM no projeto
Deni cao Identica cao Pino Descri cao
SPI
INTERNA
IC-MISO
IC-MOSI
IC-CLK
P0.0
P0.1
P0.2
Interface para ENC28J60, Modulo
Controle e FPGA
SPI
EXTERNA
EXP-MISO
EXP-MOSI
EXP-CLK
P0.4
P0.5
P0.6
Interface SPI para conexao externa
UART0
MODEM-RX
MODEM-TX
P0.8
P0.9
Interface para comunica cao com o
modem GSM
INTERRUPC

AO
FPGA
FPGA-INT/TDO P0.10
Interrup cao externa provocada pela
FPGA
JUMPER ARM-JMP P0.11 Proposito Geral
CIRCUITO
SUPERVISOR
WDG-PULSE P0.12
Atualiza supervisor indicando o
funcionamento normal do
processador
RS-232
RS232-RX
RS232-TX
P0.13
P0.14
Interface de comunica cao
INTERRUPC

AO
ETHERNET
nETH-INT p0.15
Interrup cao externa provocada por
ENC28J60
ENABLE
OUTPUT
OUT-RDY P1.0
Permite atualiza coes na interface
PARALLEL-OUT
HDC FPGA-HDC/IO P1.1 HDC: congura cao FPGA ou IO
CHIP
SELECT
CS1
CS2
CS3
P1.2
P1.3
P1.4
Expansao das linhas de nCS para
uso da SPI interna
INTERFACE
SAIDA
nEXP-AD6
EXP-AD1
EXP-AD2
P1.5
P1.8
P1.9
Fun cao Geral
INTERFACE
SA

IDA ou
JTAG-FPGA
AD3/TMS
AD4/TDI
AD5/TCK
INT/TDO
P1.5
P1.6
P1.7
P1.10
Fun coes Multiplexadas:
Programa cao FPGA ou Interface
Sada
CAN
CAN-RX
CAN-TX
P1.11
P1.12
Rede CAN
I
2
C
I
2
C-CLK
I
2
C-SDA
P1.13
P1.14
I
2
C para interface com FPGA
ENERGIA
BAIXA
nWDG-PFO P1.15
nWDG-PFO=0 indica que a tensao
caiu a baixo de 4V
Captulo 3
Modem GSM
A plataforma desenvolvida tem o modem G24 da Motorola [12] capaz de se comu-
nicar na rede GSM. A presen ca deste modem, que em linhas gerais tem as mesmas
funcionalidades de um celular, permite desenvolvimento de aplica coes diversas relacio-
nadas ao envio e recebimento de dados ou voz na rede GSM. O modem e controlado
por comandos AT e o conjunto de instru coes validas, alem de atender requisitos para
modens em geral, executa fun coes especiais projetadas pela Motorola. O tutorial dos
comandos AT pode ser encontrado em [11].
As principais caractersticas do G24 sao [12]:
Pode operar nas 4 Bandas de Comunica cao GSM/GPRS/EDGE (850/900/1800/1900)MHz
Alta performance e desempenho na comunica cao em RF
Alimenta cao de 3,3 a 4,2 V
Potencia de Transmissao:
2W (850-900 MHz)
1W (1800-1900MHz)
Alta sensibilidade na recep cao, capaz de receber sinais `a -106dBm
Interface Serial
2 UART
1 USB
31
32 CAP

ITULO 3. MODEM GSM


Audio Digital e Analogico
Conversores AD
Real Time Clock
Regulador de Tensao 2,7V
Figura 3.1: Diagrama de Bloco da Organiza cao Interna do Modem. Extrado de [12]
A gura 3.1 apresenta em diagramas de blocos a estrutura interna do Modem com
sua interface e organiza cao estrutural. Os seguintes blocos estao presentes:
Bloco Digital
Unidade de Processamento (MCU)
Modulo de processamento digital de sinal para voz e dados (DSP)
Interfaces Seriais
USB driver slave
UART1
UART2
3.1. O CIRCUITO DE ALIMENTAC

AO DO MODEM 33
SIM card
Barramento de

Audio Digital (PCM)
8 pinos de IO
Bloco Anal ogico
Power Manangement IC (PMIC)
Regulador interno
Regulador externo para uso geral
Interface

Audio Analogica
Conversores AD para uso geral
AD padrao
Sensor de Tensao
Sensor de Temperatura
RTC
Bloco GSM Transceiver
Amplicador de RF de 3 estagios
Receptor de RF
Processamento de sinal embarcado para transmissao e recep cao de dados
Modulo Front End - Inclui a Antena e o ltro especco
Filtro para escolher a banda de opera cao entre as 4 possveis
3.1 O circuito de Alimentacao do Modem
Por se tratar de um circuito com potencia alta em compara cao com os outros
modulos presentes, com potencia de transmissao de ate 4W, alem de picos de cor-
rente de ate 2 A; e pelo fato de ser um emissor de RF, preocupacoes adicionais com
rudo devem ser tomadas.
A este respeito, a primeira coisa importante diz respeito ao circuito de alimenta cao
do modem. Utilizar reguladores lineares neste caso e proibitivo por causa do seu baixo
rendimento. Por isso, escolheu-se um regulador chaveado, o LM2576, cuja eciencia
34 CAP

ITULO 3. MODEM GSM


media e de 75%. O ganho na eciencia advem do chaveamento o qual gera muitos
rudos esp urios na rede. Assim, requer-se que o ltro de linha e o roteamento deste
bloco sejam bem projetados.
O datasheet do componente [14] apresenta dicas e normas para o projeto do ltro,
bem como orienta coes a respeito do roteamento. A gura 3.2 mostra uma montagem
possvel apresentada pelo fabricante. Alem disso, apresenta tabelas e formulas para
estima cao dos indutores e capacitores que compoe o ltro. Para se ter boa margem de
seguran ca, determinou-se o uso de indutor de 100H e capacitor de 2200F.
Figura 3.2: Circuito exemplo fornecido pelo fabricante do regulador chaveado. Extrado
de [14]
Alem do projeto do regulador cujo objetivo e evitar rudo externo, ha tambem fontes
de rudo internas no modem cujos efeitos precisam ser atenuados. Por esta causa, ltros
capacitivos sao postos na entrada da alimenta cao do modem, garantindo assim bom
desempenho. Por orienta cao do fabricante, deve-se usar os seguintes capacitores:
10nF e 100nF - ltrar rudos da interface digital
10pF - ltro para a banda de 1800 e 1900MHz
39pF - ltro para a banda de 850 e 900MHz
3.2 Analise do

Audio do Modem
Alem do circuito de alimenta cao, aten cao especial tambem foi dada `a interface de
audio do G24, tanto a analogica quanto a digital (PCM - Pulse Code Modulation). Este
modem apresenta uma conexao interna entre o audio analogico o digital. Por isso, ao
se usar o audio analogico, a interface com o audio digital deve estar desconectada. Por
3.2. AN

ALISE DO

AUDIO DO MODEM 35
default, o modem inicializa no audio analogico e para muda-lo para o audio digital,
deve enviar o comando AT+MDIGITAL. Antes porem de enviar o comando, e preciso
garantir que a interface digital esta desconectada do modem. Nao atentar para isso
pode causar estragos no modem.
Para garantir este requisito foi posto entre o G24 e a FPGA, que faz a interface
com o PCM, uma chave analogica, o 74HC4066 ([16]). Atraves dele e possvel garantir
que a interface com o PCM do Modem esta desconectada. O sinal PCM-EM controla
a chave, quando em 1, a chave esta fechada e abre para nvel logico 0. A tabela 3.1
apresenta o algoritmo recomendado para mudan ca entre o audio digital e o analogico.
Tabela 3.1: Procedimento para mudan ca do audio Analogico para o

Audio Digital
Altera cao do

Audio: Anal ogico Digital
PCM-EN neste momento deve ser 0!
Enviar AT+MADIGITAL=1 para o modem
PCM-EN recebe 1
O audio digital ja esta em funcionamento
Como foi dito, a interface do modem digital esta conectada ` a FPGA. O objetivo
desta liga cao e permitir que seja desenvolvido um driver especial na FPGA para tratar
do protocolo de comunica cao PCM. Assim, a FPGA pode fazer o audio trafegar entre
o Modem e o ARM, pelos barramentos PCM e SPI ou I
2
C respectivamente.
O PCM e produzido atraves da amostragem de um sinal de audio num conversor
AD com resolu cao de 13 bits, uma taxa de amostragem de 8kHz e na frequencia de
transmissao de 512kHz. Esta deni cao e valida para audio simples, no caso de trans-
missao stereo, os tempos mudam e podem ser vericados em [12]. A interface PCM
dene 4 os, sendo eles:
PCM-CLK - clock de 512kHz
PCM-FS - frame sync (marca de incio de pacote) de 8kHz
PCM-DOUT - 13 bits de audio de sada com decodica cao linear
PCM-DIN - 13 bits de audio de entrada com decodica cao linear
O formato dos pulsos e a temporiza cao sao representados na gura 3.3.
36 CAP

ITULO 3. MODEM GSM


Figura 3.3: Formato do Codigo PCM para transmissao audio simples. Extrado de [12]
Alem do audio digital, o projeto do circuito de audio analogico tambem exige
aten cao. Na placa, esta disponvel apenas o sinal para fones de ouvido e microfone
juntos, os headseats. Os rudos das frequencias dos sinais digitais, do modem e de ou-
tros perifericos podem deteriorar a qualidade do audio. Para melhorar a rela cao sinal
rudo, as seguintes recomenda coes foram observadas:
Isolamento do terra do audio - ligado ao AGND do modem
Componentes do audio analogico circundados pelo terra (AGND)
Uso de capacitores de ltros
Distanciamento da antena
3.3 Interface de Comunicacao com ARM: UART
O modem G24 dene 2 interfaces UARTs. Uma e destinada `a comunica cao, re-
cebimento de comandos AT e transferencia de dados. A outra e de aplica cao livre,
podendo estar associada a componentes com outras interfaces como Bluetooth ou GPS
por exemplo; esta porem, esta desconectada na plataforma desenvolvida.
A UART que faz interface com o ARM tem a arquitetura de um DCE e o processador
deve ser um DTE de acordo com o padrao especicado pela norma RS-232. A gura 3.4
mostra como e denida a interface entre um dispositivo DCE e um DTE.

E importante
salientar que o modem nunca envia dados para a UART se os sinais nDTR ou nRTS
forem iguais a 1. A plataforma nao implementou no ARM um DTE. Antes, assumiu-
se que o nvel de transmissao de dados nao e suciente para que haja necessidade
de interrup cao da transmissao e conectou-se o DTR diretamente ao GND. Porem o
3.4. RESTRIC

OES E CARACTER

ISTICAS GERAIS 37
Tabela 3.2: Modos de Opera cao do Modem G24
Modo Descri cao Caractersticas
Desligado
Alimenta cao
Desconectada
O G24 esta OFF e todos os sinais
conectados `a interface em 3-state
ou 0
RTC
Alimentado
RESET=0
A interface G24 esta OFF. O
processador PMIC opera em modo
RTC. todos os sinais conectados `a
interface em 3-state ou 0
Idle
RESET=1
nCTS = nDSR = 1
Modo default, G24 esta ativo.
Sleep
RESET=1
nCTS=0
G24 em low-power porem ainda
monitora a rede GSM.
CSD call
RESET=1
TXEN ativo
Chamada em progresso. Apos
termino, G24 volta ao modo
anterior `a chamada.
nRTS esta sob o comando do ARM, para que se for preciso, ele possa interromper o
recebimento de dados vindo do G24.
A congura cao por default da UART do Modem e: 8 bits de dados, 1 stop bit, sem
bit de paridade e detec cao automatica de baud-rate.
Figura 3.4: Diagrama da conexao de um DCE e um DTE segundo a norma RS-232.
Extrado de [12]
3.4 Restricoes e Caractersticas Gerais
Ha 5 modos de opera cao denidos para o modem, descritos na tabela 3.2. Para
cada modo de opera cao, algumas restri coes sao impostas, em especial, nos modos de
baixo consumo, exige-se que a interface digital esteja desligada ou em nvel zero.
Outra restri cao imposta pelo fabricante e o nvel de tensao da interface digital o
38 CAP

ITULO 3. MODEM GSM


qual e tipicamente 2,7V, nao podendo exceder 3V. Por isso, liga cao direta aos pinos do
ARM ou FPGA nao e permitida. Este valor vale tanto para as entradas como para as
sadas do modem. Para as sadas, nao ha nenhum problema, pois a partir de 2 Volts
o ARM ja distingue como nvel logico 1. A solu cao para o problema relacionado aos
pinos de input foi utilizar um circuito abaixador de tensao (g. 3.5).
Esta solu cao e possvel pois ha um regulador interno do modem com tensao nominal
de 2,75V. Este sinal e posto na base do transistor abaixador, e garante que a tensao
maxima no coletor, que e a entrada do modem, seja menor que 2,7V. Alem disso, esta
solu cao tambem garante que a interface estara desligada para os modos low-power. Isso,
porque o regulador segue tambem o modo de funcionamento do Modem, e quando em
low-power, nao tem capacidade de corrente e mantem o transistor cortado a despeito
da tensao no emissor.
Figura 3.5: Circuito abaixador de tensao
Outra recomenda cao importante diz respeito ao roteamento que liga a interface
SIM ao modem. De acordo com o fabricante, cuidado especial deve ser dado ao pinos
SIM-CLK e SIM-DIO. A proximidade destes pinos pode provocar baixa rela cao sinal-
rudo devido `as capacitancias parasitas. Por isso, um distanciamento no roteamento
foi usado, alem da separa cao destes dois sinais por uma linha terra que reduz o efeito
de cross-talk.
3.5 Interface do Modem
O esquematico completo da interface do G24 pode ser consultado na gura A.4 no
anexo A. A tabela 3.3 apresenta os pinos da interface que foram utilizados na placa e
a descri cao sucinta dos mesmos.
3.6. RESUMO DAS RECOMENDAC

OES 39
Tabela 3.3: Deni cao da Interface do Modem G24
Deni cao Identica cao Descri cao
SIM-CARD
SIM-RESET
SIM-DIO
SIM-CLK
A interface de controle do
SIM-CARD
PCM
PCM-DIN
PCM-DOUT
PCM-FS
PCM-CLK
Interface de controle do audio
digital atraves da codica cao PCM

Audio
Analogico
SPKR N
HDST MIC
Interface de audio analogico para
dispositivos headseat
UART
MODEM-RX
MODEM-TX
nMODEM-CTS
nMODEM-RTS
Interface de comunica cao serial
para controle via comandos AT e
transmissao e recep cao de dados
3.6 Resumo das Recomendacoes
Como foi apresentado neste captulo, o modulo GSM apresenta algumas restri coes
de opera cao que devem ser respeitadas com pena de dano irreparavel ao dispositivo.
Por se tratar de um assunto importante, esta se cao apresenta um sumario das principais
recomenda coes para projeto envolvendo o modem:
Manter o PCM-EN em nvel 0, mude para nvel 1 apenas apos mudan ca do audio
para digital
Nao alterar a congura cao por default do regulador de 2,75V.
Manter sempre que possvel os pinos de entrada do Modem em nvel logico 0.
Deixar o pino nRTS em low para que o modem possa enviar dados ao ARM.
Por m, para ligar o Modem, alem da alimenta cao, deve-se colocar o IGN=1. Apos
ligado pelo IGN, o modem permite ser ligado e desligado via comandos AT.
40 CAP

ITULO 3. MODEM GSM


Captulo 4
FPGA
Como ja foi dito no captulo 1, a FPGA foi acrescentada ao projeto da placa por
ter a capacidade de ser reprogramavel. A arquitetura interna da FPGA que permite
esta capacidade pode ser observada na gura 4.1.
Figura 4.1: Arquitetura interna da FPGA
A capacidade da arquitetura esta no fato de, primeiramente, nao haver liga cao pre-
estabelecida entre os blocos, elas estao condicionadas a cada hardware descrito. Alem
disso, os CLBs (Congurable Logic Block) sao blocos cuja fun cao logica nao e estatica.
A gura 4.2 apresenta a estrutura interna de um CLB. Nele ha uma memoria de 16
41
42 CAP

ITULO 4. FPGA
posi coes que permite qualquer logica de 4 entradas e 1 sada, latches para as sadas e
multiplexadores. Cada CLB pode realizar uma das seguintes fun coes:
Qualquer fun cao de 4 variaveis, mais qualquer outra fun cao de outras quatro
variaveis nao relacionadas, mais fun cao qualquer com outras 3 variaveis
Qualquer fun cao de 5 variaveis
Qualquer fun cao de 4 variaveis mais algumas de 6 variaveis,
Algumas fun coes de 9 variaveis
A versatilidade destes CLBs permite que varias funcionalidades sejam feitas com
poucas destas estruturas e favorece o desempenho no quesito da velocidade de proces-
samento.
Figura 4.2: Diagrama Logico de um CLB. Extrado de [28]
A FPGA SPARTAN XCS05XL, presente no projeto, contem um total de 100 CLBs
que lhe da a capacidade de ate 5000 portas logicas, com 360 ip-ops, 77 pinos de IO,
e 3200 bits de memoria RAM distribudos na arquitetura. Pode operar em ate 80MHz,
as entradas e sadas tem funcionalidade 3-state e e capaz de fornecer ate 24mA por
pino.
Ha ainda uma caracterstica muito importante na arquitetura da FPGA que sao
as linhas de GCK que sao Global Inputs. Como o nome sugere, sao linhas que podem
4.1. AMBIENTE DE DESENVOLVIMENTO 43
ser usadas como clock local pois podem interconectar diversos CLBs. A utilidade
delas reside no fato de se poder descrever drivers sncronos para diversos clocks nao
relacionados. Assim, nao se tem problema nenhum em descrever a SPI sincronamente
com o sinal SPI-CLK e o PCM sncrono com PCM-CLK. A importancia de descrever
os hardwares sincronamente e que a descri cao sncrona faz com que o core do hardware
ocupe espa co muito menor na FPGA.
O que foi dito refere-se a apenas algumas das caractersticas da FPGA, o deta-
lhamento completo desta tecnologia pode ser encontrada no datasheet do fabricante
[28].
4.1 Ambiente de Desenvolvimento
Para desenvolvimento de aplica coes com a FPGA, o fabricante fornece gratuita-
mente o software ISE [30]. Alem do software, e possvel encontrar a descri cao de varios
cores disponveis para serem integrados na aplica cao.
Ha ainda outro site util para obten cao de cores que pode ser integrado no desen-
volvimento de aplica coes, o www.opencores.org. Nele encontram-se drivers para SPI e
I
2
C dentre outros que facilitam a integra cao de blocos funcionais para rapido desenvol-
vimento das aplica coes.
A programa cao da FPGA neste software se da atraves dos seguintes meios: dia-
grama esquematico, no qual o usuario procura componentes na biblioteca do software
e monta a aplica cao como se estivesse interconectando componentes fsicos, e atraves
de linguagens de descri cao de hardware como VHDL ou Verilog.
Alem da possibilidade de projetar o hardware, o software tambem permite a con-
gura cao da FPGA atraves da interface JTAG. O protocolo e o procedimento necessarios
para a congura cao utilizando esta interface sao disponibilizados pelo fabricante em
[26]. A Xilinx tambem desenvolveu uma interface simplicada para congura cao da
FPGA. O modelo desenvolvido tem por nalidade permitir ela seja congurada atraves
de uma memoria PROM junto a ela, ou por um processador. O fabricante disponibiliza
um application note com descri cao detalhada de procedimento para congurar a FPGA
alem de um programa escrito em C para microcontrolador da famlia 8051 [27] e [29].
Os pinos da interface requeridos estao na tabela 4.1.
44 CAP

ITULO 4. FPGA
Ainda sobre a interface, o pino DONE da FPGA e pino de output em modo normal,
mas no perodo de congura cao ele e input.

E necessario utiliza-lo no perodo da
congura cao somente. Assim, escolheu-se coloca-lo em contato com uma sada de
output da interface SERIAL-IN/PARALLEL-OUT. Isso e possvel porque o DONE e
implementado como coletor aberto e assim, basta-se colocar um resistor entre os pinos
e nao ha nenhum risco de dano `a interface.
Tabela 4.1: Pinos necessarios para congura cao SPARTAN-XL. Extrado de [27]
Signal Type Direction Description
M0,M1 Mode select Input Select Slave or Master Mode
DIN Data Input Write conguration data in the Spartan
device
DOUT Data Output Read conguration data from the Spartan
device
CCLK Clock Input Syncronizes data on the rising edge
nPROGRAM Control Input Begin clearing the Spartan conguration
memory
nINIT Status Open-drain
Output
A transition from Low to High indicates
that the Spartan conguration memory is
clear and ready to receive the bitstream
DONE Status Open-drain
Output
A High indicates that the conguration
process is complete
HDC Status Output High troughout conguration, until the
I/Os go active
nLDC Status Output Low troughout conguration, until the
I/Os go active
O interesse em apresentar os temas relacionados `a congura cao da FPGA e porque
esta e internamente baseada em RAM estaticas e, por isso, apaga quando desligada.
Assim, todas as vezes que o sistema e reinicializado, a FPGA precisa ser novamente
congurada.

E uma restri cao muito forte para a maioria das aplica coes, por isso, deve-
se desenvolver no ARM um rmware capaz de recongurar a FPGA todas as vezes
que o sistema for reinicializado. O ARM podera guardar o arquivo de congura cao da
SPARTAN na regiao de dados da sua memoria FLASH interna.
4.2 Interfaces da FPGA
Esta se cao apresenta as interfaces da FPGA determinadas neste projeto, descrevendo-
as quando necessario. A tabela 4.2 resume as funcionalidades das entradas e sadas da
SPARTAN na placa.
4.3. A INTERFACE EXTERNA 45
Tabela 4.2: Pinos de Interface da SPARTAN-XL no placa
Interface Identica cao Pino nro. Descri cao
I
2
C
I
2
C-CLK
I
2
C-SDA
73
72
Barramento Serial I
2
C
SPI
IC-CLK
IC-MISO
IC-MOSI
FPGA-CS[1..5]
99
98
97
92..96
Barramento SPI com 5 canais
de sele cao
PCM
PCM-DIN
PCM-DOUT
PCM-FS
PCM-CLK
18
19
20
21
Interface PCM com Modem
JTAG
FPGA-TDI
FPGA-TCK
FPGA-TMS
FPGA-TDO
4
5
6
76
Interface JTAG para
congura cao da SPARTAN
PROG
HDC/IO
nINIT
DONE
nPROG
DIN
DOUT
28
36
50
52
72
73
Interface para Congura cao
da SPARTAN via protocolo
desenvolvido pela XILINX
ENERGIA nPWRDDWN 26 Altera modo para Low-Power
IO
1
GCK[4..7]
IO[
2
]

Clock local
IO padrao
Numeracao dos pinos pode ser consultada em A.5
As proximas se coes nao se referem `a FPGA especicamte, mas estao ligadas a ela
pela aplica cao. A se cao 4.3 dene a interface de entrada e sada da plataforma, e a
se cao 4.4 o barramento I
2
C. O motivo delas serem discutidas neste captulo e que o
barramento I
2
C so esta ligando FPGA e ARM, e a interface de sada e principalmente
composta de linhas da FPGA.
4.3 A Interface Externa
A gura 4.3 mostra os 96 pinos de conexao da placa com o exterior. Sao 3 os
principais grupos funcionais desta interface:
Modulo de Energia:
12 V
5 V
46 CAP

ITULO 4. FPGA
1B
1B
2B
2B
3B
3B
4B
4B
5B
5B
6B
6B
7B
7B
8B
8B
9B
9B
10B
10B
11B
11B
12B
12B
14B
14B
15B
15B
16B
16B
17B
17B
18B
18B
20B
20B
21B
21B
22B
22B
23B
23B
24B
24B
25B
25B
13B
13B
19B
19B
26B
26B
27B
27B
28B
28B
29B
29B
30B
30B
31B
31B
32B
32B
1C
1C
2C
2C
3C
3C
4C
4C
5C
5C
6C
6C
7C
7C
8C
8C
9C
9C
10C
10C
11C
11C
12C
12C
14C
14C
15C
15C
16C
16C
17C
17C
18C
18C
20C
20C
21C
21C
22C
22C
23C
23C
24C
24C
25C
25C
13C
13C
19C
19C
26C
26C
27C
27C
28C
28C
29C
29C
30C
30C
31C
31C
32C
32C
2A
2A
3A
3A
4A
4A
5A
5A
6A
6A
7A
7A
8A
8A
9A
9A
10A
10A
11A
11A
12A
12A
14A
14A
15A
15A
16A
16A
17A
17A
18A
18A
20A
20A
21A
21A
22A
22A
23A
23A
24A
24A
25A
25A
13A
13A
19A
19A
26A
26A
27A
27A
28A
28A
29A
29A
30A
30A
31A
31A
32A
32A
1A
1A
CNVME96-3
J1
VIN5 VIN5 VIN5
GND GND
BEXP-SPIMOSI
BEXP-SPICLK
VIN12 VIN12 VIN12
BEXP-SPIMISO
BEXP-AD1 BEXP-AD2
BEXP-AD3 BEXP-AD4 BEXP-AD5
BEXP-AD6
FPGA-IO46
FPGA-IO47
FPGA-IO91
FPGA-IO86
FPGA-IO83
FPGA-IO80
I2C-CLK
FPGA-IO70
FPGA-IO68 FPGA-IO67
FPGA-IO66 FPGA-IO65 FPGA-IO62
FPGA-IO61 FPGA-IO60 FPGA-IO59
FPGA-IO58 FPGA-IO57
FPGA-IO56 FPGA-IO55
FPGA-GCK5 FPGA-IO53
FPGA-GCK4
FPGA-IO45
FPGA-IO44 FPGA-IO43
FPGA-IO42 FPGA-IO41
FPGA-IO40 FPGA-IO39
GND
GND GND
FPGA-IO69
FPGA-IO90
FPGA-I085
FPGA-IO82
FPGA-GCK7
I2C-SDA
GND
FPGA-IO87
FPGA-IO84
FPGA-I081
FPGA-IO78
FPGA-IO71
CONECTOR - SADA
BATT
GND
GND
GND
GND
GND GND
GND
Figura 4.3: Conector de interface externa para a placa
Figura 4.4: Driver para prote cao e separa cao entre sinais internos e interface externa
GND
Interface SPI com ARM:
Modulo SPI
6 pinos de output do ARM com proposito geral.
4.4. I
2
C 47
Tabela 4.3: Modos de Opera cao dos Buers de Sada
Modo de Opera cao Jumper nJTAG-PROG
Programa cao externa FPGA com jumper 0
Barramento SPI sem jumper 1
Nao denido Outras Combina coes
Interface com a FPGA:
39 pinos de IO de proposito geral
4 pinos multiplexados IO/GCK, para linhas especiais de clock.
Como foi dito anteriormente, conexao direta entre os pinos do ARM e o exterior
podem eventualmente danicar o processador em fun cao de cargas estaticas. Para
proteger os pinos do ARM, entre os pinos deste e a interface externa ha um buer
74HC541 [15]. Este buer tambem tem pinos de controle que colocam a sada em
alta impedancia. Esta caracterstica foi utilizada para permitir tambem a congura cao
externa da FPGA atraves da interface JTAG. Somente assim tanto o ARM como um
PC podem ter acesso aos mesmo pinos de JTAG da FPGA. Sao dois os pinos de controle
deste buer, um controlado por software e outro controlado pelo jumper da placa (vide
g.4.4), os quais denem 2 modos de opera cao denidos na tabela 4.3.
4.4 I
2
C
I
2
C e um acronimo para Inter Integrated Circuit, que e um barramento serial para
computadores desenvolvido pela Phillips. As principais caractersticas deste barra-
mento sao:
Barramento Sncrono Bidirecional
2 linhas de interface: clock (SCL) e dados (SDA)
Cada CI tem um endere co unico no barramento
Sistema multi-master, cada master gera o seu proprio Clock.
Baixa taxa de transmissao (maximo de 100Kbs)
Detec cao de Erro ou de Rede ocupada
48 CAP

ITULO 4. FPGA
Por ser um barramento multi-master, ha necessidade de um protocolo que gerencie
a utiliza cao do barramento.

E padronizado que antes de transmitir um dado, o CI
primeiramente observa o estado da rede para vericar se est a disponvel (nvel logico
1). Caso esteja, entao este transmite a sua mensagem. Caso ocorra colisao, os dois
masters que transmitiram juntos interrompem a transmissao por um tempo aleatorio
e tentam retransmitir.
Alem disso, para ter garantia de comunica cao efetiva, para cada 8 bits enviados no
barramento o mestre libera a linha para receber um ACK (acknowledge). Quando a
linha esta liberada ela deve estar em nvel logico 1. Para garantir isto, resistores de
pull-up devem ser colocados no barramento.
No protocolo de envio de dados (g. 4.5), ha sempre 8 bits de endere camento do
CI a comunicar e depois vem os bits dados. Este pacote e precedido por um start bit e
encerrado por um stop bit. A respeito do endere camento dos CIs, o protocolo dene o
endere co 0x00, como o endere co para chamadas gerais. Estas chamadas sao uteis para
anunciar a entrada de um novo CI no barramento ou para que um CI possa identicar
outros no mesmo barramento.
Figura 4.5: Formato das mensagens I
2
C
Algumas considera coes adicionais devem ser feitas para o driver I
2
C implementado
pelo ARM STR712. A primeira observa cao e que ele e capaz de operar em ate 400kHz.
O hardware e capaz de reconhecer seu proprio endere co e tambem chamadas gerais.
Ele gera os ACKs autonomamente na recep cao de dados. Pode ser congurado para
interromper o processamento quando novos pacotes sao recebidos ou em eventuais falhas
na comunica cao. Alem disso, quando em transmissao, ele e capaz de reconhecer colisoes,
identica a falta de ACK, e tambem o loss arbitration que e o caso quando o master
tenta colocar a linha em nvel 1 e nao consegue, indicando que ha outro CI segurando
a linha em zero. Este e um sinal para o processador de que o slave com quem ele
4.4. I
2
C 49
esta conversando e mais lento, ou simplesmente nao esta disponvel para receber novas
mensagens.
Escolheu-se colocar o barramento I
2
C interligando FPGA e ARM para ser uma
alternativa `a comunica cao via SPI. Assim, se houver uma aplica cao com grande ativi-
dade sobre a Ethernet que impuser grande ocupa cao do barramento SPI, ainda se faz
possvel a comunica cao entre o ARM e a FPGA. Para muitas aplica coes, o desempenho
do barramento I
2
C nao sera limitante pois as duas tecnologias podem operar o barra-
mento em 400kHz. Outro motivo para se propor a I
2
C como alternativa e o fato de
ser um barramento multi-master, o que permite `a FPGA iniciar a comunica cao sem a
necessidade, como no caso da SPI, de uma linha a mais de interrup cao.
50 CAP

ITULO 4. FPGA
Captulo 5
Ethernet
A Ethernet e um barramento de rede baseado em data frame. Alem da capacidade
de criar uma rede local, atraves deste barramento e possvel tambem ligar-se `a rede
internet. Assim, o sistema embarcado passa a ter a capacidade de ser monitorado,
acionado e reprogramado em um computador distante conectado `a internet.
A norma estabelece camadas (layers) que separam as diversas etapas da comu-
nica cao, desde a camada de aplica cao ate a camada fsica como ilustra a gura 5.1.
Esta separa cao em camadas, permite que haja uma conexao virtual entre cada camada
correspondente numa comunica cao. Nesse caso, e como se camadas inferiores fossem
transparentes. Cada uma destas etapas dene a forma cao do data frame.
Figura 5.1: Camadas de Rede denida no padrao Ethernet
51
52 CAP

ITULO 5. ETHERNET
Para aplica coes envolvendo a Ethernet e preciso que o desenvolvedor conhe ca as nor-
mas e a forma cao dos data frames. Para informa coes adicionais sobre redes de compu-
tadores e rede Ethernet aconselha-se a consulta ao Tanenbaum [24]. Alem disso, a ST-
Microeletronics disponibiliza um application note de uma implementa cao de TCP/IP,
o protocolo de rede mais utilizado, para a famlia STR71x [20].
Para possibilitar o uso da rede Ethernet, utilizou-se o ENC28J60 [9] da Microchip
que e um controlador de Ethernet autonomo com interface SPI. Abaixo, encontra-se
uma lista das principais caractersticas deste controlador.
Satisfaz os requisitos da norma IEE802.3
Suporta uma porta 10BASE-T
Implementa as camadas MAC (Medium Access Controller) e a camada fsica
(PHY).
Opera nos modos Half e Full-Duplex
Tem buer de 8 KBytes para recep cao e transmissao de pacotes.
Op coes programaveis:
Detec cao automatica de erros e retransmissao de pacotes
Calculo de CRC (frame Check Sequence), que sao dois bytes calculados se-
gundo um algoritmo que permite, na recep cao do pacote, vericar se este nao
esta corrompido. Pelo fato do algoritmo prejudicar o desempenho do ARM
por causa da quantidade de calculos que se tem de fazer, pode-se congurar
o controlador para que o seu hardware especializado calcule este valor
Dimensao do buer dedicado `a recep cao e o buer dedicado `a transmissao
que sao implementados como uma FIFO (rst-in rst-out) circular.
Registro de endere co MAC do dispositivo.
Leds que sinalizam a atividade e o link do dispositivo `a rede Ethernet.
Seis linhas de interrup coes
Uma DMA (Direct Memory Access) que junto com o gerador automatico de CRC
facilitam a transmissao dos pacotes.
53
Suporte para pacotes Unicast, Multicast e Broadcast, alem da possibilidade de
ltros para rejeitar pacotes indesejados automaticamente.
Opera cao a 25MHz
A gura 5.2 mostra o diagrama de blocos esquematico do controlador da Ethernet.
Os principais blocos funcionais sao descritos a seguir:
Figura 5.2: Diagrama de Blocos do Controlador de Ethernet ENC28J60. Figura ex-
trada de [9]
Uma interface SPI (modo 00) para comunicar com o controlador da Ethernet e o
ARM.
Varios registradores que conguram e determinam a opera cao do ENC28J60.
RAM para recep cao e transmissao dos data frames
Circuito de

Arbitro para determinar prioridade ao acesso da memoria quando
requisitada pela DMA, ou blocos de transmissao e recep cao
Uma interface que interpreta os comandos recebidos via SPI
Modulo MAC (Medium Access Control ) que implementa os requisitos da norma
IEEE802.3
54 CAP

ITULO 5. ETHERNET
Tabela 5.1: Requisitos para o transformador de pulso da Ethernet. Extrado de [9]
Parametro Min Norm Max Unidade Condi c oes
Trafo RX 1:1
Trafo TX 1:1 Center Tap = 3.3V
Inser cao de Perda 0.0 0.6 1.1 dB
Indutancia do Primario 350 H Polariza cao: 8mA
Isola cao 1.5 kV
Rejei cao de Modo Comum 40 dB 0.1 a 10MHz
Perda de Retorno -16 dB
Uma camada fsica (PHY) que codica e decodica os dados presentes no par
tran cado
A rede Ethernet apresenta alta taxa de transmissao a longas distancias, que podem
produzir tensoes induzidas e cargas estaticas capazes de causar danos aos componentes
internos do circuito. Por isso, um transformador de isola cao magnetica deve ser posto
logo na entrada, junto ao conector da rede. A Microchip disponibiliza as liga coes ne-
cessarias para a utiliza cao do controlador, que pode ser visto na gura 5.3. Alem disso,
ha requisitos relacionados ao transformador de entrada que tambem sao fornecidos pelo
fabricante e foram copiados na tabela 5.1.
Figura 5.3: Liga coes necessarias ao ENC28J60. Figura extrada de [9]
Por m, a tabela 5.2 apresenta a interface entre o processador e o controlador, alem
disso, o esquematico da Ethernet pode ser observado na gura A.6 do anexo A.
55
Tabela 5.2: Interface do controle do ENC28J60
Linha Descri cao
IC-MOSI Master-Output Slave-Input
IC-MISO Master-Input Slave-Output
IC-CLK Clock do barramento SPI
ETH-CS Chip-Select
ETH-INT Linha responsavel por gerar
interrup cao no microprocessador.
56 CAP

ITULO 5. ETHERNET
Captulo 6
Outras Interfaces da Plataforma
Este captulo dedica-se a algumas interfaces de comunicacao presentes na plataforma
que ainda nao foram apresentadas. A primeira se cao apresenta interface RS-232, e a
segunda se cao e dedicada ao barramento CAN.
6.1 RS232 - UART
A interface RS232 e um padrao de troca de dados binarios serialmente ponto a
ponto entre um dispositivo DTE e um DCE. Na verdade o que foi implementado na
plataforma e uma UART (Universal Asynchronous receiver/transmiter) usando a via
de comunica cao da RS232 do computador. Assim, a UART dene o que enviar ao passo
que o padrao RS232 se incumbe em como enviar.
Para ser capaz de utilizar a via RS232 foi necessario utilizar o transceiver MAX3232
que sao responsaveis por impor os nveis adequados de tensao para a comunica cao. Pois,
para o padrao RS232, nvel logico 0 e tensao entre 5 e 25 V, e nvel logico 1 entre -5 e
-25V, na transmissao. Esta transposi cao de nveis e feita pelo transceiver, que apresenta
uma interface bem simples, e exige apenas que alguns capacitores sejam colocados em
alguns de seus pinos. O circuito pode ser consultado na gura A.6 do anexo A. A
tabela 6.1 apresenta a interface controlavel pelo ARM da comunica cao via RS-232.
Tabela 6.1: Interface entre RS232 e ARM
Linha Descri cao
RS232-RX Recep cao
RS232-TX Transmissao
57
58 CAP

ITULO 6. OUTRAS INTERFACES DA PLATAFORMA


6.2 CAN - Controller Area Network
Num unico carro e possvel encontrar varios dispositivos com processamento. A
igni cao eletronica, os freios ABS, a suspensao eletronica, a transmissao eletronica, luz
automatica, ar-condicionado, sistema de seguran ca, etc. Esses sao apenas alguns exem-
plos de subsistemas processados internos a um carro. Mas, quando em opera cao, estes
sistemas nao sao absolutamente independentes, antes e preciso integra-los.
Ha porem algumas particularidades num sistema veicular que sao limitantes fortes
para muitos barramentos de redes. Carros sao ambientes extremamente ruidosos, os
motores eletricos, o sistema de igni cao que chega a consumir picos de corrente de 200A
gerando tensoes induzidas, e tambem a bateria do carro que chega a ter transientes de
ate 400V. Portanto, um sistema que interligue componentes eletronicos do carro deve
ser totalmente conavel por estar relacionado `a questoes de seguran ca dos usuarios do
veculo.
Para resolver este problema, a Bosch desenvolveu o Controlle Area Network (CAN),
cujas caractersticas principais sao:
Alta imunidade ao rudo.
Capacidade distribuda de detec cao de erros e retransmissao de pacotes.
Mensagens pequenas (Maximo de 8 bytes)
Alta conabilidade. A probabilidade de ocorrencia de que um erro na recep cao
nao seja detectado e menor que 4, 7 10
11
.
Sistema multi-master
Barramento rapido (ate 1 Mbps em 40 metros)
Barramento hierarquico. Isso signica que o barramento dene prioridade para
os elementos da rede. Atraves deste sistema de hierarquia, modulos com maior
prioridade sao escutados primeiro. Isso e tambem uma exigencia de um barra-
mento que atenda as necessidades de um ambiente veicular. Pois e logico que se
deseja uma precedencia num sistema onde possa ocorrer do AIR-BAG e do player
do carro quererem usar o barramento ao mesmo tempo.
6.2. CAN - CONTROLLER AREA NETWORK 59
O sistema de prioridade se da atraves da caracterstica do barramento. O barra-
mento e de caracterstica AND, assim, 0 e dominante, ou seja, se 2 dispositivos quiserem
colocar no barramento 1 e 0 ao mesmo tempo, no barramento ter a 0. Assim, faz-se com
que sistemas para os quais se queira maior prioridade tenham maior quantidade de 0s
em seu endere co. Na transmissao, alem de transmitir o dado, o dispositivo tambem
verica qual e o valor que cou na rede, quando o que ele verica e o que ele escreveu
e diferente ele identica que alguem com maior prioridade quer utilizar o barramento
e o deixa livre, e voltara a transmitir apenas quando o barramento estiver livre.
Estas caractersticas zeram com que o CAN ganhasse os mais diversos ambientes,
sendo o barramento presente na automa cao industrial, em trens e navios, sistemas de
controles, instrumentos medicos, elevadores e etc. Pelo fato de se pensar na utiliza cao
desta plataforma para controle e acionamento de motores, escolheu-se este barramento.
O driver desenvolvido pela STMicroeletronics para o STR712 apresenta as seguintes
caractersticas:
Implementa protocolo 2.0 do CAN
Implementa uma FIFO para envio de mensagens com ate 32 nveis
Retransmissao programavel
Detec cao dos seguintes erros:
Stu Error - Mais de 5 bits iguais em trechos da mensagem onde isso nao e
permitido
Form Error - Erro no formato da mensagem
ACKError - Falha no recebimento de ACK
Bit1Error - Identica que outro de maior prioridade esta usando a rede
CRCError - Erro na mensagem recebida
2 interfaces de Registros para evitar conitos ente retransmissao e novas mensa-
gens por escrever
Administra ate 32 mensagens para transmitir
60 CAP

ITULO 6. OUTRAS INTERFACES DA PLATAFORMA


Tabela 6.2: Interface entre rede CAN e ARM
Linha Descri cao
CAN-RX Recep cao
CAN-TX Transmissao
6.3 Circuito para o CAN
A interface entre o ARM e o CAN e bastante simples e esta descrita na tabela 6.2.
Mas, para propor um circuito que satisfa ca os requisitos necessarios para a opera cao
no barramento, e necessario observar algumas caractersticas. Por se tratar de um bar-
ramento de alta frequencia a grandes distancias, faz-se tambem necessario um circuito
de isola cao para o barramento. Diferentemente do circuito da Ethernet, para o qual o
acoplamento magnetico e norma, para o CAN isto nao e denido. Na placa escolheu-se
fazer o acoplamento otico, proporcionado pelo HCPL0611 [6] (g. 6.1). As principais
caractersticas deste acoplador e listada abaixo, destacando-se a frequencia de opera cao
que satisfaz a necessidade de baud-rate do barramento CAN.
Rejei cao de Modo Comum: 10kV/s para V
CM
= 50V
Alta frequencia: 10Mbps
Baixa corrente de polariza cao, alcan cando 5mA.
Figura 6.1: Diagrama esquematico do Optoacoplador. Extrado de [6]
Para um desempenho satisfatorio, o acoplador drena deve drenar corrente de 10mA.
Para evitar que esta corrente circule pelos pinos do ARM utilizou-se um transistor P-
MOS (FDV302) na congura cao de chave, ligado quando CAN-TX igual a 0 (g. 6.2).
6.3. CIRCUITO PARA O CAN 61
Q1
FDV302
CAN-TX
VCC
R1
560
LD1
LED
GND
C1
100nF
Figura 6.2: Circuito para Acionamento do acoplador optico
Alem do isolador, um transceiver e tambem necessario para atender aos nveis de
tensao do padrao CAN. Utilizou-se o SN65HVD230. Para alem de opera cao normal,
nvel logico 1 no pino RS do CI o coloca em sleep mode.
Por m, uma caracterstica importante do barramento CAN e a exigencia de resisto-
res de termina cao para casamento de impedancia (120 ). Nao ha porem uma posi cao
relativa preferencial para esta plataforma, assim, nao foi includo no projeto os resis-
tores de termina cao. Mas, ao operar o barramento, este requisito deve ser observado
para o funcionamento satisfatorio da rede.
62 CAP

ITULO 6. OUTRAS INTERFACES DA PLATAFORMA


Captulo 7
Implementacoes
Neste captulo sao apresentadas algumas das possibilidades presentes na plataforma
proposta que foram imaginadas no perodo de desenvolvimento. Estas propostas estao
aqui para, por um lado mostrar as potencialidades da plataforma desenvolvida, e por
outro para servirem de ponto de partida para os proximos alunos do laboratorio que
desejarem implementar rmwares para a plataforma.
7.1 Integracao com uma Placa de Aquisicao de Dados
Figura 7.1: Diagrama de blocos do modulo de aquisi cao de dados
63
64 CAP

ITULO 7. IMPLEMENTAC

OES
Foi desenvolvido pelo aluno Renato Machado Monaro da EESC-USP como trabalho
de conclusao de curso, uma placa de aquisi cao de dados [10]. Esta placa e capaz de fazer
leitura de tensao e corrente numa linha e a placa e interfaceada por um barramento
SPI, o diagrama de blocos desta proposta e mostrado na Fig.7.1.
O processo de leitura ocorre da seguinte maneira: cada sinal de entrada (tensao ou
corrente) e previamente ltrado, depois condicionado por um amplicador programavel
e convertido para digital pelo ADC, o sinal digital passa entao por isoladores opticos e
e entao enviado ao barramento de comunica cao pela interface SPI.
Tanto o amplicador programavel como o conversor usam o barramento SPI para
comunica cao, para cada placa, ha 2 modulos de leitura e 4 canais de sele cao.
A primeira aplica cao possvel para a plataforma desenvolvida e controlar alguns
modulos de aquisi cao de dados. Por este motivo, a interface externa tem uma SPI
dedicada e mais seis linhas de endere camento que sao capazes de endere car ate 32
canais, ou 8 modulos de leitura de corrente e tensao.
Esta aplica cao e de grande interesse para o LACEP pois, por exemplo, possibilita
a monitora cao de correntes e tensoes na linha de um motor trifasico. Isto requer tres
modulos de aquisi cao, e usa 12 canais de endere camento. Controle e acionamento de
motores e uma das grandes areas de pesquisa do laboratorio, e esta aplica cao possibilita
o levantamento de dados experimentais para auxiliar nas pesquisas.
A gura 7.2 apresenta o diagrama de bloco desta aplica cao.
Figura 7.2: Diagrama esquematico da integra cao com a placa de aquisi cao de dados
7.2 Controle e Acionamento de Motores
Atraves da placa de aquisi cao de dados e de hardwares descritos na FPGA e possvel
desenvolver uma plataforma de controle de motores trifasicos para auxiliar valida coes
7.3. CALLBOX 65
e testes das teorias desenvolvidas nas pesquisas do LACEP.
O projeto imaginado, cujo diagrama esta na gura 7.3, conta com os seguintes
blocos funcionais:
Processamento central - ARM
Tensoes e Correntes da Linha - Placa de Aquisi cao de Dados
Leitor de Encoder para ter a velocidade angular do motor - FPGA
Gerador de PWM para o modulo de potencia - FPGA
Figura 7.3: Diagrama esquematico do controlador de motores trifasicos
7.3 CallBox
Atraves do Modem G24 e possvel receber liga coes que usam a rede GSM. Esta
plataforma pode receber as liga coes e transferi-las para um computador atraves da
rede Ethernet.
Esta implementa cao exige que as seguintes interfaces sejam desenvolvidas:
Implementa cao de pilha UDP/IP atraves do ARM e do ENC28J60.

E sugerido a
camada de transporte UDP em substitui cao `a TCP por dois motivos:
Maior simplicidade na implementa cao da camada de transporte UDP.
Em protocolos de comunica cao de voz, ha um interesse muito maior nas
temporiza coes dos data frames do que na integridade dos dados. Isso e
porque pequenos cortes e falhas numa conversa por telefone e muito mais
aceitavel do que atrasos na comunica cao.
66 CAP

ITULO 7. IMPLEMENTAC

OES
Descri cao do driver PCM na FPGA para transformar o protocolo de comunica cao
do modem com um protocolo valido para o ARM (SPI ou I
2
C).
Controle do modem para atender e realizar chamadas
A gura 7.4 mostra o diagrama esquematico desta implementa cao.
Figura 7.4: Diagrama esquematico do CallBox
7.4 Celular
Recentemente, foi lan cado um projeto de Celular com codigo aberto. Uma alian ca
entre varias operadoras de celular, fabricantes de aparelhos, empresas de softwares e
fabricantes de semicondutores foi estabelecida para o desenvolvimento de um celular
open core sobre plataforma Linux. O projeto leva o nome de Android [1].
O compromisso estabelecido desta alian ca e disponibilizar um conjunto completo de
softwares abertos para aplica coes para celular. Como foi dito no captulo 3, o modem
GSM integra todas as funcionalidades de um celular, assim, a placa tambem podera ser
utilizada para envolver desenvolvedores locais nesta alian ca. As exigencias para esta
implementa cao sao:
Instalar o kernel Linux no ARM
Congurar a FPGA para controlar display e teclado.
A gura 7.5 apresenta um diagrama esquematico de uma alternativa para esta
implementa cao.
7.4. CELULAR 67
Estas sao apenas algumas das funcionalidades que foram planejadas desde a fase de
projeto da placa, mas e provavel que muitas outras aplica coes possam ser implementa-
das.
Figura 7.5: Diagrama esquematico do Celular
68 CAP

ITULO 7. IMPLEMENTAC

OES
Parte III
Conclusoes
69
Captulo 8
Conclusoes
A plataforma desenvolvida permite ao laboratorio LACEP e, por extensao, ao SEL
a oportunidade de estarem envolvidos com uma tecnologia de ponta e que e referencia
mundial na area de microcontroladores de 32 bits, o ARM. Como foi visto, a tendencia
atual das tecnologias de arquiteturas microprocessadas e a migra cao para microproces-
sadores de 32 bits.
Um dos motivos apresentados para a migra cao para as arquiteturas de 32 bits e que
alem do ganho de desempenho ha um grande ganho na padroniza cao de arquiteturas
que facilitam a integra cao de subsistemas processados. Integra cao de sistemas implica
em comunica cao entre eles, e a plataforma permite o desenvolvimento em no mnimo 3
dos principais padroes de rede atualmente, sao eles: CAN, Ethernet, e GSM. Alem da
mais tradicional RS232.
Embora seja uma placa de desenvolvimento e nao tenha sido projetada para uma
unica aplica cao, algumas possibilidades foram consideradas e a implementa cao de algu-
mas destas possibilidades se constituira num importante auxlio para o desenvolvimento
das principais pesquisas do laboratorio LACEP, que nancia o projeto.
Outra caracterstica importante no projeto desta plataforma foi o aprendizado em
diretrizes gerais e teorias relacionadas ao projeto de hardware. Foi visto a importancia
de elaborar um projeto seguro que leve em conta rudo, isola cao, dimensao de trilhas,
tecnicas de roteamento para garantir que o sistema nal funcione como foi projetado.
Alem destes parametros, e da maior importancia a verica cao e consulta de todos os
componentes do circuito e as normas relacionadas aos barramentos de comunica cao
71
72 CAP

ITULO 8. CONCLUS

OES
entre os modulos. A nao observancia desta regra geralmente compromete todo o de-
sempenho do hardware com problemas de difcil identica cao, podendo `as vezes, ate
deteriorar permanentemente alguns componentes do circuito.
Parte IV
Apendices
73
Apendice A
Esquematicos da Placa
75
76 AP

ENDICE A. ESQUEM

ATICOS DA PLACA
P0.12/SC. CLK
3
GND
4
P0.13/U2. RX/T2.OCMPA
5
P0.14/U2. TX/T2.ICAPA
6
BOOTEN
7
GND
8
V33
9
JTDI
10
JTMS
11
JTCK
12
JTDO
13
JTRST
14
NU_GND
15
TEST_GND
16
GND_IO-PLL
18
CK
19
P0.15/WAKEUP
20
RTCXTI
21
RTCXTO
22
nSTDBY
23
nRSTIN
24
GND_BKP
25
V18BKP
26
V18
27
GND_18
28
VDDA
29
GND_A
30
P1.0/T3.OCMPB/AIN. 0
31
P0.11/U1. TX/BOOT.1
2
P0.10/U1. RX/U1.TX/SCDATA
1
P1.2/T3.OCMPA/AIN.2
33
P1.3/T3.ICAPB/AIN. 3
34
P1.4/T1.ICAPA/T1.EXTCLK
35
P1.5/T1.ICAPB
36
P1.6/T1.OCMPB
37
V33IO-PLL
38
GND_IO-PLL
39
P1.7/T1.OCMPA
40
P1.8
41
P1.11/CANRX/USBDP
42
P1.12/CANTX/USBDN
43
GND
44
P1.9
45
P1.10/USBCLK
46
P1.13/HCLK/IO.SCL
47
P1.14/HRXD/IO.SDA
48
P1.15/HTXD
49
GND
50
V33
51
P0.0/S0. MISO/U3.TX
52
P0.1/S0. MOSI/U3.RX
53
P0.2/S0. SCLK/I1.SCL
54
P0.3/S0. SS/I1.SDA
55
P0.4/S1. MISO
56
GND_18
57
V18
58
GND
59
P0.5/S1. MOSI
60
P0.6/S1. SCLK
61
P0.7/S1. SS
62
V33IO-PLL
17
P1.1/T3.ICAPA/T3.EXTCLK/AIN.1
32
P0.8/U0.RX/U0.TX
63
P0.9/U0.TX/BOOT.O
64
P
O
W
E
R

S
U
P
P
L
Y
O
p
e
r
a
t
i
o
n
J
T
A
G
P
O
R
T

O
P
O
R
T

1
STR711FR2T
U11
10uF
C45
100nF
C36
100nF
C44
100nF
C50
10uF
C40
GND
VCCARM
100nF
C38 IC-MISO
IC-MOSI
IC-CLK
MODEM-RX
MODEM-TX
RS232-RX
RS232-TX
nARM-RST
100nF
C41
WDG-PULSE
ARM-JRST
ARM-CLK
2K2
R27
GND
nETH-INT
33nF
C42
100nF
C48
VC1 VC1
VC2
VC2
RTCLK1
RTCLK2
EXP-AD4/FPGA-TDI
ARM-TDI
ARM-TMS
ARM-TCK
ARM-TDO
2K2
R32
GND
EXP-MISO
EXP-MOSI
EXP-CLK
2K2
R28
GND
ARM-JMP
I2C-CLK
I2C-DATA
CAN-RX
CAN-TX
EXP-AD1
EXP-AD2
EXP-AD3/FPGA-TMS
nSTD
10nF
C46
4K7
R35
GND
VCCARM
EXP-AD5/FPGA-TCK
nEXP-AD6
FPGA-INT/TDO
nWDG-PFO
CS1
CS2
CS3
OUT-RDY
FPGA-HDC/IO
ARM
1
2
3
HEADER 3
JP7 VCCARM
22K
R53
47K
R56
10K
R55
BC847
Q12 BC847
Q13
22K
R54
10nF
C70
GND
VCCARM
ARM-JRST
nSRST
ARM-JRST
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
HEADER 10X2
CN6
GND
10K
R19
10K
R20
10K
R21
GND
JTAG ARM
ARM-TDI
ARM-TMS
ARM-TCK
ARM-TDO
10K
R18
nSRST
4MHz
X3
22pF
C52
22pF
C51
4M7
R40
1 2
G
N
D
7
V
C
C
1
4
74HC04
U14A
G
N
D
7
V
C
C
1
4
3 4
74HC04
U14B
GND
ARM-CLK
0R0
R38
G
N
D
7
V
C
C
1
4
8 9
74HC04
U14D
100nF
C56
GND
GND
FPGA-CLK
OSCILADOR
1 2 3
HEADER 3
JP4
10K
R30
VCCARM
GND
nSTD
2-3 normal
STDBY
1
2
3
HEADER3
JP5
GND
3K3
R29
VCCARM
100nF
C35
ARM-JMP
2 - 3 ARM-JMP= 0
1 - 2 ARM-JMP= VCC
I
N
P
U
T
2MHz
X2
22pF
C39
22pF
C37
R
T
C
L
K
1
RTCLK2
GND RTC CLOCK
RT-CLK
Figura A.1: Esquematico da n ucleo central da Placa
77
GND
VCC5
VCCARM
47uF
C29
IN
1
OUT
3
G
N
D
2
LM3940
U10
1uF
C34
1
2
BATT
CN7
GND
NDT2955
Q7
100K
R33
VCC12
PWR-BAT
10K
R31
BATT
BATT
DIODO-->FOOT
FDV301N
Q8
100K
R34
GND
PWR - ARM
PMEG2010AE D4
PMEG2010AE
D5
DIODE
D9
GND
VCC5 VCC33
47uF
C49
IN
1
OUT
3
G
N
D
2
LM3940
U12
1uF
C47
NDT2955
Q9
100K
R43
PWR-33
FDV301N
Q11
100K
R39
GND
BEAD
L3
10uF
C19
BEAD
L5
10uF
C57
BEAD
L2
10uF
C21
GND GND GND
VCC33 VCC33 VCC33
E
T
H
-
3
V
3
F
P
G
A
-
3
V
3
E
X
P
-
3
V
3
PWR - VCC33
GND
0R0
F2
VCC5 VIN5
1N5817
D7 LED
LD3
220R
R44
GND
VCC12
0R0
F1
VIN12 1N5817
D8
POWER-IN
PROTECAO
1
2
HEADER 2
CN10
1
2
HEADER 2
CN8
PWI1
Figura A.2: Circuito de Alimenta cao - Reticadores
78 AP

ENDICE A. ESQUEM

ATICOS DA PLACA
MODEM-IGN
PWR-G24
nMODEM-RTS
SER
14
SRCLK
11
SRCLR
10
RCLK
12
E
13
O0
15
O1
1
O2
2
O3
3
O4
4
O5
5
O6
6
O7
7
Q7
9
V
C
C
1
6
G
N
D
8
74HC595
U17
OUT-CS
IC-CLK
VCCARM
GND
100nF
C54
GND
nJTAG-PROG
nFPGA-PROG
FPGA-DONE
SER
14
SRCLK
11
SRCLR
10
RCLK
12
E
13
O0
15
O1
1
O2
2
O3
3
O4
4
O5
5
O6
6
O7
7
Q7
9
V
C
C
1
6
G
N
D
8
74HC595
U18
VCCARM
GND
100nF
C62
GND
nFPGA-PWRDWN
33K
R49
GND
PWR-33
PWR-BAT
LED2
OUTPUT e PWR CONTROL
A
1
B
2
C
3
E1
4
E2
5
E3
6
Y0
15
Y1
14
Y2
13
Y3
12
Y4
11
Y5
10
Y6
9
Y7
7
V
C
C
1
6
G
N
D
8
74HC138
U16
CS1
CS2
CS3
VCCARM
100nF
C58
GND
10K R48
OUT-RDY
IC-MOSI
OUT-CS
IC-CLK
OUT-RDY
GND
VCCARM
nETH-CS
OUT-CS
FPGA-CS1
nFPGA-INIT
33K
R47
LED1
LED
LED1
220R
R51
VCC33
LED1
LED
LED2
220R
R52
VCC33
LED2
FPGA-CS5
FPGA-CS2
FPGA-CS3
FPGA-CS4
GND
PCM-EN
SW-PB
SW3
SW-PB
SW2
3K3
R46
3K3
R50
noutFP-INIT
noutFP-FPOG
noutFP-INIT
noutFP-FPOG
VDD
2
nMR
1
PFI
4
GND
3
nPFO
5
nRESET
7
WDI
6
nWDO
8
TPS3705-33D
U8
WDG-PULSE
220K
R15
100K
R17 GND
GND
VCC5
22K
R22
VCCARM
nARM-RST
SENSOR BATERIA - WATCHDOG - RESET
nMR
NC
R16
BAS16
D3 s/ jmp --> s/ WDG
c/ jmp --> c/ WDG
nWDG-PFO
100nF
C27
GND
1 2
HEADER2
JP3
BAS16
D1
SW-PB
SW1
GND
p
r
e
s
s
i
o
n
e

p
a
r
a
r
s
t
BAS16
D2
nSRST
Figura A.3: Sadas e Circuito Supervisor
79
GND
1
GND
3
VCC
5
VCC
7
RTS_N
9
RXD_N
11
DSR_N
13
CTS_N
15
DCD_N
17
DTR_N
19
TXD_N
21
RI_N
23
RESET_N
25
VREF
27
RXD2_N
29
TXD2_N
31
RTS2_N
33
CTS2_N
35
ADC1
37
TXEN_N
39
ANT_DET
41
ADC2
43
N
C
4
5
ADC3
47
GPRS
49
IGN
51
ON_N
53
HDST_INT_N
55
HDST_MIC
57
AGND
59
MIC
61
ALRT_N
63
ALRT_P
65
SPKR_N
67
SPKR_P
69
GND
2
GND
4
VCC
6
VCC
8
USB_VBUS
10
USB_DP
12
USB_DN
14
WKUPI_N
16
PCM_DIN
18
PCM_DOUT
20
PCM_CLK
22
PCM_FS
24
WKUPO_N
26
GPIO1
28
GPIO2
30
GPIO3
32
GPIO4
34
GPIO5
36
GPIO6
38
GPIO7
40
GPIO8
42
SIM_RST_N
44
SIM_CLK
46
SIM_VCC
48
SIM_PD_N
50
SIM_DIO
52
N
C
5
4
N
C
5
6
N
C
5
8
N
C
6
0
N
C
6
2
N
C
6
4
N
C
6
6
N
C
6
8
N
C
7
0
P
O
W
E
R
C
O
N
T
R
O
L
U
A
R
T
1
U
A
R
T
2
U
S
B
A
D
A
U
D
I
O
I
O
P
C
M
S
I
M
-
C
A
R
D
G24 MODULE
GSM-G24-MODULE
M1
VCC
1
RESET
2
DIO
6
VPP
5
CLK
3
GND
4
S
I
M
-
C
A
R
D
SIMCARD2 U6 GND
MODEM-TX
nMODEM-RTS
nMODEM-CTS
MODEM-RX
10pF
C31
39pF
C30
47nF
C32
GND
VCCG24
GND
10uF
C24
1
2
MICROFONE
CN5
GNDAUDIO
64R
R14
1
2
FALANTE
CN4
VCC27
MODEM G24
SIM
2200uF/6V3 ZL
C43
IN
1
G
N
D
3
O
N
/
O
F
F
5
OUT
2
FB
4
LM2576T-ADJ
U13
1N5822
D6
VCCG24
GND
1K
R36
GND
2K2
R37
VCC12
PWR-G24
470uF/16V
C53
Power G24
V
C
C
4
B
GND
GND
33uH/3A
L4
BC847
Q4
10K
R23
VCC27
BC847
Q5
10K
R24
VCC27
PCM-DIN
BC847
Q6
PCM-DOUT
PCM-CLK
PCM-FS
220K
R42
MODEM-IGN
procurar 100uH
100UH
10K
R26
VCC27
FDV301N
Q10
100K
R41
10uF
C28
GND
2K2
R25
GND
Modem, pode enviar sempre
C
13
IN
1
OUT
2
VCC
14
GND
7
74HC4066
U9A
VCC
14
GND
7
C
5
IN
4
OUT
3
74HC4066
U9B
VCC
14
GND
7
C
6
IN
8
OUT
9
74HC4066
U9C
VCC
14
GND
7
C
12
IN
11
OUT
10
74HC4066
U9D
VCCG24
GND
100nF
C33
GND
PCM-EN
GNDAUDIO 10uF
C23
GNDAUDIO
MD1
MD2
MD3
MD4
MD5
MD6
MD7
MD8
MD9
MD10
MD11
MD12
MD9
MD10
Figura A.4: Esquematico do Modem
80 AP

ENDICE A. ESQUEM

ATICOS DA PLACA
PCM-DIN
PCM-DOUT
PCM-CLK
PCM-FS
GND
1
GCK1
2
IO
3
TDI
4
TCK
5
TMS
6
IO
7
IO
8
IO
9
IO
10
GND
11
VCC
12
IO
13
IO
14
IO
15
IO
16
IO
17
IO
18
IO
19
IO
20
GCK2
21
M1
22
GND
23
M0
24
VCC
25
n
P
W
R
D
W
N
2
6
G
C
K
3
2
7
H
D
C
2
8
I
O
2
9
n
L
D
C
3
0
I
O
3
1
I
O
3
2
I
O
3
3
I
O
3
4
I
O
3
5
n
I
N
I
T
3
6
V
C
C
3
7
G
N
D
3
8
I
O
3
9
I
O
4
0
I
O
4
1
I
O
4
2
I
O
4
3
I
O
4
4
I
O
4
5
I
O
4
6
I
O
4
7
G
C
K
4
4
8
G
N
D
4
9
D
O
N
E
5
0
VCC
51
nPROGRAM
52
D7
53
GCK5
54
D6
55
IO
56
D5
57
IO
58
IO
59
IO
60
D4
61
IO
62
VCC
63
GND
64
D3
65
IO
66
IO
67
D2
68
IO
69
D1
70
IO
71
D0/DIN
72
GCK6/DOUT
73
CCLK
74
VCC
75
O
/
T
D
O
7
6
G
N
D
7
7
I
O
7
8
G
C
K
7
7
9
C
S
1
8
0
I
O
8
1
I
O
8
2
I
O
8
3
I
O
8
4
I
O
8
5
I
O
8
6
I
O
8
7
G
N
D
8
8
V
C
C
8
9
I
O
9
0
I
O
9
1
I
O
9
2
I
O
9
3
I
O
9
4
I
O
9
5
I
O
9
6
I
O
9
7
I
O
9
8
G
C
K
8
9
9
V
C
C
1
0
0
SPARTAN-XCS05-Q100
U19
FPGA-TCK
FPGA-TDI
FPGA-TMS
F
P
G
A
-
T
D
O
F
P
G
A
-
H
D
C
/
I
O
n
L
D
C
n
F
P
G
A
-
I
N
I
T
F
P
G
A
-
D
O
N
E
nFPGA-PROG
I
C
-
M
I
S
O
I
C
-
M
O
S
I
I
C
-
C
L
K
n
F
P
G
A
-
P
W
R
D
W
N
FPGA-CLK
F
P
G
A
-
C
S
1
F
P
G
A
-
C
S
2
F
P
G
A
-
C
S
3
F
P
G
A
-
C
S
4
F
P
G
A
-
I
O
9
1
F
P
G
A
-
I
O
9
0
F
P
G
A
-
I
O
8
7
F
P
G
A
-
I
O
8
6
F
P
G
A
-
I
0
8
5
F
P
G
A
-
I
O
8
4
F
P
G
A
-
I
O
8
3
F
P
G
A
-
I
O
8
2
F
P
G
A
-
I
0
8
1
F
P
G
A
-
I
O
8
0
F
P
G
A
-
G
C
K
7
FPGA-IO71
F
P
G
A
-
I
O
4
6
F
P
G
A
-
I
O
4
7
FPGA-GCK5
FPGA-IO53
F
P
G
A
-
G
C
K
4
F
P
G
A
-
I
O
4
5
F
P
G
A
-
I
O
4
4
F
P
G
A
-
I
O
4
3
F
P
G
A
-
I
O
4
2
F
P
G
A
-
I
O
4
1
F
P
G
A
-
I
O
4
0
F
P
G
A
-
I
O
3
9
100nF
C60
100nF
C61
100nF
C65
100nF
C68
100nF
C66
100nF
C67
100nF
C63
100nF
C59
GND
GND
GND
GND
GND
GND
GND
GND
FPGA-3V3
FPGA-3V3
FPGA-3V3
FPGA-3V3
FPGA-3V3
FPGA-3V3
FPGA-3V3
FPGA-3V3
FPGA-IO69
F
P
G
A
-
I
O
7
8
FPGA-IO70
FPGA-IO68
FPGA-IO67
FPGA-IO66
FPGA-IO65
FPGA-IO62
FPGA-IO61
FPGA-IO60
FPGA-IO59
FPGA-IO58
FPGA-IO57
FPGA-IO56
FPGA-IO55
F
P
G
A
-
C
S
5
I2C-CLK
I2C-SDA
Figura A.5: Esquematico da FPGA
81
RBIAS
14
T
P
I
N
+
1
3
T
P
I
N
-
1
2
GND_RX
11
R
E
S
E
T
_
N
1
0
C
S
_
N
9
S
C
K
8
S
I
7
S
O
6
N
C
_
F
R
E
E
5
I
N
T
_
N
4
C
L
O
C
K
_
O
U
T
3
GND
2
V25CAP
1
VDD_TX
15
T
P
O
U
T
-
1
6
T
P
O
U
T
+
1
7
GND_TX
18
VDD_RX
19
VDD_PLL
20
GND_PLL
21
GND_OSC
22
O
S
C
1
2
3
O
S
C
2
2
4
VDD_OSC
25
LEDB
26
LEDA
27
VDD
28
ENC28J60I/SO
U7
n
E
T
H
-
I
N
T
I
C
-
M
I
S
O
I
C
-
M
O
S
I
I
C
-
C
L
K
n
E
T
H
-
C
S
100nF
C3
10nF
C10
GND
GND
22pF
C22
22pF
C17
2. 32K(1%)
R9
10uF
C25
GND
1nF(2KV)
C1
ETH-GND
150R
R11
150R
R10
50R
R6
50R
R4
50R
R7
50R
R5
1
%
ETH-3V3
100nF
C26
100nF
C13
100nF
C14
100nF
C15
100nF
C20
GND
n
A
R
M
-
R
S
T
E
T
H
E
R
N
E
T
ETH-3V3
XTAL-25MHz
X1
ORO
R13
BEAD
L1
ETH-GND
LED
LD2
LED
LD1
12
HEADER2
JP1
1
%
1
%
R
D
P
1
R
D
N
2
R
C
T
3
T
C
T
4
T
D
P
5
T
D
N
6
P/GND
8
RJ45C/TRAFO
U2
FOOTPRINT-BEAD
RS232-RX
RS232-TX
100nF
C12
GND
EXP-3V3
R1 IN
13
R2 IN
8
T1 IN
11
T2 IN
10
G
N
D
1
5
V
+
2
V
-
6
V
C
C
1
6
R1 OUT
12
R2 OUT
9
T1 OUT
14
T2 OUT
7
C1+
1
C1 -
3
C2+
4
C2 -
5
MAX3232CD
U4
100nF
C5
100nF
C9
100nF
C6
100nF
C7
RS 232
EXP-3V3
GND
1
2
3
4
5
6
7
8
9
RS232
CN2
RX
TX
EXP-3V3
100nF
C11
AK
G
N
D
O
U
T
E
N
A
V
C
C
HCPL-0601
U5
330R
R1
CAN-GND
VCC5
EXP-3V3
C
A
N
-
R
X
AK
G
N
D
O
U
T
E
N
A
V
C
C
HCPL-0601
U3
FDV302
Q1
100nF
C16
GND
CAN-GND
T
X
D
1
G
N
D
2
V
C
C
3
R
X
D
4
S
8
C
A
N
H
7
C
A
N
L
6
V
r
e
f
5
SN65HVD1050
U1
VINCAN5V
CAN-GND
VINCAN5V
100nF C2
BC847
Q2
1K
R8
100nF
C8
VINCAN5V
CAN-GND
3K3
R3
CAN-GND
EXP-3V3
GND
CAN-TX
270
R12
CAN
12
CON2
JP2
VINCAN5V
CAN-GND
RXD TXD
1 2 3
HEADER 3
CN1
100nF
C4
100nF
C18
CAN-GND
FDV302
Q3
GND
2K2
R2
CAN-GND
1 2
HEADER 2
CN3
COM Jumper, si lent mode
GND
GND
Figura A.6: Esquematico demais perifericos
82 AP

ENDICE A. ESQUEM

ATICOS DA PLACA
Apendice B
Layout da Placa
83
84 AP

ENDICE B. LAYOUT DA PLACA


Figura B.1: PCB da placa
Parte V
Referencias
85
Referencias Bibliogracas
[1] Android
TM
. Open handset alliance. URL: http://www.openhandsetalliance.com,
2007.
[2] ARM Ltd. Enterprise solutions. URL: http://www.arm.com/markets/. Acessado
em Nov/07, 2005.
[3] ARM Ltd. Operating system support overview. URL: http://www.arm.com/-
products/os/index.html. Acessado em Nov/07, 2006.
[4] ARM Ltd. Products & solutions home page. URL:
http://www.arm.com/products/. Acessado em Nov/07, 2006.
[5] Catsoulis, J. Designing Embedded Hardware. OReilly, 2003.
[6] Fairchild. Hcpl0611 datasheet: High-speed 10mbps logic gate optocouplers. Tech-
nical report, 2007.
[7] Furber, S. ARM system-on-chip architecture. Addison-Wesley, 2000.
[8] Kocik, P.B. Gnu arm toolchain for cygwin, linux and macos. URL:
http://www.gnuarm.com, 2006.
[9] Microchip. Enc28j60 datasheet: Stand-alone ethernet controller with spi interface.
Technical report, 2006.
[10] Monaro, R.M. Sistema de aquisi cao de dados para um rele de prote cao digital de
baixo custo. 2007.
[11] Motorola. Motorola g24 developers guide : At commands reference manual. Te-
chnical report, 2006.
87
88 REFER

ENCIAS BIBLIOGR

AFICAS
[12] Motorola. Motorola g24 developers guide : Module hardware description. Tech-
nical report, 2006.
[13] Nass, R. 8-bit mcu leader jumps to 32 bits. URL: http://www.embedded.com/-
design/multicore/202802476? requestid

192089. Acessado em Dez/07, 2007.


[14] National Semiconductor. Datasheet: Lm2576 - simple switcher 3a step-down vol-
tage regulator. Technical report, 2004.
[15] S. Philips. Datasheet 74hct541 - octal buer driver; 3 state. Technical report,
1990.
[16] Philips, S. Datasheet: 74hc4066 - quad bilateral switches. Technical report, 1998.
[17] Phillips, S. . Datasheet: 74hc595/74hct595 - 8 bit serial-in, serial or parallel-out.
Technical report, 2003.
[18] Rath, D. Open on-chip debbuger. URL: http://openfacts.berlios.de/index-
en.phtml?title=Open On-Chip Debugger. Acessado em Set/07, 2007.
[19] STMicroeletronics. Datasheet 74hct541 - octal buer driver; 3 state. Technical
report, 1990.
[20] STMicroeletronics. Application note: Tcp/ip over ethernet conectivity with
the str710. URL: http://www.st.com/stonline/products/literature/an/11948.pdf.
Acessado em Nov/07, 2006.
[21] STMicroeletronics. Str71x rmware library. URL:http://www.st.com/ston-
line/products/literature/um/10780.pdf. Acessado em Nov/07, 2006.
[22] STMicroeletronics. Datasheet str71xf. Technical report, 2007.
[23] STMicroeletronics. Documents and les for family str7. URL:
http://www.st.com/mcu/familiesdocs-86.html#Datasheet. Acessado em Dez/07,
2007.
[24] Tanenbaum,A.S. Redes de Computadores. Campus/Elsevier, 2003.
[25] Texas, I. Datasheet: Tps3705-33 - processor supervisory circuits with power-fail.
Technical report, 1999.
REFER

ENCIAS BIBLIOGR

AFICAS 89
[26] Xilinx. Boundary-scan in xc4000, spartan and xc5200 series devices. Technical
report, 1999.
[27] Xilinx. The low-cost, eciente serial conguration of spartan fpgas. Technical
report, 1999.
[28] Xilinx. Datasheet: Spartan and spartan-xl families eld programable gate arrays.
Technical report, 2002.
[29] Xilinx. Xilinx in-system programming usin an embedded microcontroler. Technical
report, 2004.
[30] Xilinx. Ise: Developing tool. URL: http://www.xilinx.com, 2007.