Você está na página 1de 46

Curso Avançado do Programador UPA

INTRODUÇÃO
CURSO AVAÇADO DE PROGRAMAÇÃO DE EPROM COM U.P.A

Hoje é muito comum encontrar memórias seriais EEPROM dentro de equipamentos


eletrônicos de tecnologia avançada, como as TVs de geração (de LCD, projetores, etc.),
CD e DVD, monitores de PC, telefones, etc., para nomear alguns.

Muito dos defeitos que têm equipamentos eletrônicos é devido a um problema na


EEPROM usada. Com efeito, uma memória pode ser danificada e deixa de funcionar
corretamente, mas na maioria dos casos, o problema que o seu conteúdo ou informação
 binária, isto é, dados
dados tendo nela
nela gravada sido
sido alterado ou perdido.
perdido. Essa é a causa mais
 provável mau funcionamento
funcionamento do equipamento
equipamento que
que o utiliza. O interessante
interessante de tudo isso é
que, reescrevendo
reescrevendo o conteúdo original da memória, seja no mesmo ou em um novo
computador avaria desaparece e falha seja resolvida.

CONSERTO DE ODOMETRO

1
Curso Avançado do Programador UPA

MEMORIAS

 No que se refere ao hardware dos computadores,


computadores, entendemos como memória os
dispositivos que armazenam os dados com os quais o processador trabalha. Há,
essencialmente,
essencialmente, duas categorias de memórias: ROM (Read-Only Memory), que permite
apenas a leitura dos dados e não perde informação na ausência de energia; e RAM (
Random-Access
Random-Access Memory), que permite ao processador tanto a leitura quanto a gravação
de dados e perde informação quando não há alimentação elétrica.

Memória ROM

As memórias ROM (Read-Only Memory - Memória Somente de Leitura) recebem esse


nome porque os dados são gravados nelas apenas uma vez. Depois disso, essas
informações não podem ser apagadas ou alteradas, apenas lidas pelo computador, exceto
 por meio de procedimentos
procedimentos especiais.
especiais. Outra característica
característica das memórias
memórias ROM é que elas
são do tipo não voláteis, isto é, os dados gravados não são perdidos na ausência de
energia elétrica ao dispositivo. Eis os principais tipos de memória ROM:

- PROM (Programmable Read-Only Memory): esse é um dos primeiros


primei ros tipos de
memória ROM. A gravação de dados neste tipo é realizada por meio de aparelhos que
trabalham através de uma reação física com elementos elétricos. Uma vez que isso
ocorre, os dados gravados na memória PROM não podem ser apagados ou alterados;

- EPROM (Erasable Programmable Read-Only Memory): as memórias EPROM


têm como principal característica a capacidade de permitir que dados sejam regravados
no dispositivo. Isso é feito com o auxílio de um componente que emite luz ultravioleta.
 Nesse processo,
processo, os dados
dados gravados
gravados precisam ser apagados
apagados por
por completo. Somente
Somente depois
disso é que uma nova gravação pode ser feita;
fei ta;

- EEPROM (Electrically-Erasable
(Electrically-Erasable Programmable Read-Only Memory): este tipo
de memória ROM também permite a regravação
regravação de dados, no entanto, ao contrário do
que acontece com as memórias EPROM, o processo para apagar e gravar dados são
feitos eletricamente, fazendo com que não seja necessário mover o dispositivo de seu
lugar para um aparelho especial para que a regravação ocorra;

- EAROM (Electrically-Alterable Programmable Read-Only Memory): as


memórias

EAROM podem ser vistas como um tipo t ipo de EEPROM. Sua principal característica
é o fato de que os dados gravados podem ser alterados aos poucos, razão pela

qual esse tipo é geralmente utilizado em aplicações que exigem apenas


apenas reescrita parcial
de informações;

- Flash: as memórias Flash também podem ser vistas como um tipo de EEPROM,
no entanto, o processo de gravação (e regravação) é muito mais rápido. Além disso,
memórias Flash são mais duráveis e podem guardar um volume elevado de dados.

- CD-ROM, DVD-ROM e afins: essa é uma categoria de discos ópticos onde os


dados são gravados apenas uma vez, seja de fábrica, como os CDs de músicas, ou com

2
Curso Avançado do Programador UPA

dados próprios do usuário, quando o próprio efetua a gravação.


gravação. Há também uma
categoria que pode ser comparada ao tipo EEPROM, pois permite a regravação de
dados: CD-RW e DVD-RW e afins.

Memória RAM

As memórias RAM (Random-Access Memory - Memória de Acesso Aleatório)


constituem uma das partes mais importantes dos computadores, pois são nelas que o
 processador armazena
armazena os dados com os quais está lidando.
lidando. Esse tipo de memória tem um
 processo de gravação de de dados extremamente
extremamente rápido, se comparado aos vários tipos de
memória ROM. No entanto, as informações gravadas
gravadas se perdem quando não há mais
energia elétrica, isto é, quando o computador é desligado, sendo, portanto, um tipo de
memória volátil.

Há dois tipos de tecnologia de memória RAM que são muitos utilizados: estático e
dinâmico, isto é, SRAM e DRAM, respectivamente. Há também um tipo mais recente
chamado de MRAM.

- SRAM (Static Random-Access Memory - RAM Estática): esse tipo é muito mais


rápido que as memórias DRAM, porém armazena menos dados e possui preço elevado
se considerarmos o custo por megabyte. Memórias SRAM costumam ser utilizada como
cachê.

- DRAM (Dynamic Random-Access Memory - RAM Dinâmica): memórias desse


tipo possuem capacidade alta, isto é, podem comportar grandes quantidades de dados.
 No entanto, o acesso
acesso a essas
essas informações costuma ser mais
mais lento que o acesso às
memórias estáticas. Esse tipo também costuma ter preço bem menor quando comparado
ao tipo estático;

- MRAM (Magnetoresistive Random-Access Memory - RAM R AM Magneto-resistiva):


a memória MRAM vem sendo estudada há tempos, mas somente nos últimos anos é que
as primeiras unidades surgiram. Trata-se de um tipo de memória até certo ponto
semelhante à DRAM, mas que utiliza
utili za células magnéticas.
magnéticas. Graças a isso, essas memórias
consomem menor quantidade de energia, são mais rápidas e armazenam dados por um
longo tempo, mesmo na ausência de energia elétrica. O

 problema das memórias


memórias MRAM
MRAM é que elas armazenam
armazenam pouca quantidade
quantidade de dados e são
muito caras, portanto, pouco provavelmente serão adotadas em larga escala.

Módulos de memória

Entendemos como módulo ou, ainda, pente, uma pequena placa onde são instalados os
encapsulamentos
encapsulamentos de memória. Essa placa é encaixada na placa-mãe por meio de
encaixes (slots) específicos para isso.

- SIPP (Single In-Line Pins Package): é um dos primeiros tipos


ti pos de módulos que
chegaram ao mercado. É formato por chips com encapsulamento DIP. Em geral, esses
módulos eram soldados na placa-mãe;
pl aca-mãe;

3
Curso Avançado do Programador UPA

- SIMM (Single In-Line
In- Line Memory Module): módulos deste tipo não eram soldados,
mas encaixados na placa-mãe. A primeira versão continha 30 terminais de contato
(SIMM de 30 vias) e era formada por um conjunto de 8 chips (ou 9, para paridade). Com
isso, podiam transferir um byte por ciclo de clock. Posteriormente surgiu uma versão
com 72 pinos (SIMM de 72 vias), portanto, maior e capaz de transferir 32 bits por vez.
Módulos SIMM de 30 vias podiam ser encontrados com capacidades
capacidades que iam de 1 MB a
16 MB. Módulos SIMM de 72 vias, por sua vez, eram comumente encontrados com
capacidades que iam de 4 MB a 64 MB;

- DIMM (Double In-Line Memory Module): os módulos DIMM levam esse nome


 por terem terminais de contatos em ambos os lados do pente. SãoSão capazes
capazes de transmitir
64 bits por vez. A primeira versão - aplicada em memória SDR SDRAM - tinha ti nha 168
 pinos. Em seguida,
seguida, foram lançados
lançados módulos de 184 vias, utilizados em memórias DDR,
e módulos de 240 vias, utilizados
uti lizados em módulos DDR2 e DDR3. Existe um padrão DIMM
de tamanho reduzido chamado SODIMM (Small Outline DIMM), que são utilizadosuti lizados
 principalmente em computadores portáteis, como notebooks;

- RIMM (Rambus In-Line Memory Module): formado por 168 vias, esse módulo
é utilizado pelas memórias Rambus. Um fato curioso é que para cada pente de memória
Rambus instalado no computador é necessário instalar um módulo "vazio", de 184 vias,
chamado de C-RIMM (Continuity-RIMM).

Tecnologias de memórias

Várias tecnologias de memórias foram (e são) criadas com o passar do tempo. É graças a
isso que, periodicamente, encontramos memórias mais rápidas, com maior capacidade e
até memórias que exigem cada vez menos energia. Eis uma breve descrição dos
 principais tipos de memória
memória RAM:

- FPM (Fast-Page
(Fast-Page Mode): uma das primeiras tecnologias de memória RAM. Com
o FPM, a primeira leitura da memória tem um tempo de acesso maior que as leituras
seguintes. Isso porque são feitos, na verdade, quatro operações de leitura seguidas, ao
invés de apenas uma, em um esquema do tipo x-y-y-y, por exemplo: 3-2-2-2 ou 6-3-3-3.
A primeira leitura acaba sendo mais demorada, mas as três seguintes são mais rápidas.
Isso porque o controlador de memória trabalha apenas uma vez com o endereço de uma
linha (RAS) e, em seguida, trabalha com uma sequência de quatro colunas (CAS), ao
invés de trabalhar com um sinal de RAS e um de CAS para cada bit. Memórias FPM
utilizavam módulos SIMM, tanto de 30 quanto de 72 vias;

- EDO (Extended Data Output): a sucessora da tecnologia FPM é a EDO, que


 possui como destaque a capacidade
capacidade de permitir
permitir que um endereço
endereço da memória
memória seja
acessado ao mesmo tempo em que uma solicitação anterior ainda está em andamento.
Esse tipo foi aplicado principalmente
principalmente em módulos SIMM, mas também chegou a ser
encontrado em módulos DIMM de 168 vias. Houve também uma tecnologia semelhante,
chamada BEDO (Burst EDO), que trabalhava mais rapidamente por ter tempo de acesso
menor, mas quase não foi utilizada, pois tinha custo maior por ser de propriedade da
empresa Micron. Além disso, foi "ofuscada" pela chegada da tecnologia SDRAM;

4
Curso Avançado do Programador UPA

- SDRAM (Synchronous Dynamic Random Access Memory): as memórias FPM e


EDO são assíncronas, o que significa que não trabalham de forma sincronizada com o
 processador. O problema é que, com processadores cada vez mais rápidos, isso começou
a se tornar um problema, pois muitas vezes o processador tinha que esperar demais para
ter acesso aos dados da memória. As memórias SDRAM, por sua vez, trabalham de
forma sincronizada com o processador, evitando os problemas de atraso. A partir dessa
tecnologia, passou-se a considerar a freqüência com a qual a memória trabalha para
medida de velocidade. Surgiam então as memórias SDR SDRAM (Single Data Rate
SDRAM), que podiam trabalhar com 66 MHz, 100 MHz e 133 MHz (também chamadas
de PC66, PC100 e PC133, respectivamente). Muitas pessoas se referem a essa memória
apenas como "memórias SDRAM" ou, ainda, como
"memórias DIMM", por causa de seu módulo. No entanto, a denominação SDR é a mais
adequada;

- DDR SDRAM (Double Data Rate SDRAM): as memórias DDR apresentam


evolução significativa em relação ao padrão SDR, isso porque elas são capazes de lidar
com o dobro de dados em cada ciclo de clock (memórias SDR trabalham apenas com
uma operação por ciclo). Assim, uma memória DDR que trabalha à frequência de 100
MHz, por exemplo, acaba dobrando seu desempenho, como se trabalhasse à taxa de 200
MHz. Visualmente, é possível identificá-las facilmente em relação aos módulos SDR,
 porque este último contém duas divisões na parte inferior, onde estão seus contatos,
enquanto que as memórias DDR2 possuem apenas uma divisão.

- DDR2 SDRAM : como o nome indica, as memórias DDR2 são uma evolução das
memórias DDR. Sua principal característica é a capacidade de trabalhar com quatro
operações por ciclo de clock, portanto, o dobro do padrão anterior. Os módulos DDR2
também contam com apenas uma divisão em sua parte inferior, no entanto, essa abertura
é um pouco mais deslocada para o lado.

- DDR3 SDRAM: as memórias DDR3 são, obviamente, uma evolução das


memórias DDR2. Novamente, aqui dobra-se a quantidade de operações por ciclo de
clock, desta vez, de oito.

- Rambus (Rambus DRAM):  as memórias Rambus recebem esse nome por ser
uma criação da empresa Rambus Inc. e chegaram ao mercado com o apoio da Intel. Elas
são diferentes do padrão SDRAM, pois trabalham apenas com 16 bits por vez. Em
compensação, memórias Rambus trabalham com freqüência de 400 MHz e com duas
operações por ciclo de clock. Tinham como desvantagens, no entanto, taxas de latência
muito altas, aquecimento elevado e maior custo. Memórias Rambus nunca tiveram
grande aceitação no mercado, mas também não foram um total fiasco: foram utilizadas,
 por exemplo, no console de jogos Nintendo 64. Curiosamente, as memórias Rambus
trabalham em pares com "módulos vazios" ou "pentes cegos". Isso significa que, para
cada módulo Rambus instalado, um "módulo vazio" tem que ser instalado em outro slot.
Essa tecnologia acabou perdendo espaço para as memórias DDR.

5
Curso Avançado do Programador UPA

PROGRAMADOR U.P.A

U.P.A= Ao pé da letra a sigla significa PROGRAMADOR U NIVERSAL E A NALISE.


Sim, além da gravação de dispositivos eletrônicos ele também realiza a função de analise
sob os protocolos CAN BUS e obedece ao ISO 9141 amplamente difundidos na linha
automotiva.Sua construção e elaboração foi realiza com intuito de realizar programações
diretamente na linha de multiplexada dos veículos atuais,a maiorias dos clientes da
empresa ELRASOFT possuidores deste programador pouco sabem deste poderoso
 programador de memórias eletrônicas,talvez por falta de conhecimento aqui no
Brasil,mais amplamente difundidos na America do norte e Europa,não faz 8 anos atrás
que este programador estar em vigência na America do sul,o comercio eletrônico e a
internet trouxeram este programador e sua evidencia para conhecimentos de todos.

A priori a versão 1.0 foi desenvolvida para a linha de processadores utilizados pela
MOTOROLA,devido as freqüências de trabalho do clock e sua perfeita sincronia com
os dados de altíssima velocidade de troca de informação.Aé então a versão atendia a
maiorias destes processadores e memórias existentes desenvolvida pela gigante
Motorola,ao passar dos anos surge a versão 1.1 que deixou a desejar devido ao bug
existente na primeira montagem do clock do processador internos,o protocolo
automotivo foi deixado de lado e atentou-se a meta de resolver o problema de
sincronização de dados no ato da gravação e leitura de lados emitidos por este
dispositivos,surge então a versão 1.2 com microprocessador bem mais arrojado e clock
quase infinito com duração de 1ns de sincronização,é notório que empresa fabricante já
detém todas s informações necessárias para o intento do programador detém a
Motorola,atualmente esta atualização se encontra na versão 1.3 e as outras que irão
surgir servirão apenas para compatibilização com as novos
dispositivos(memórias,processadores,Microcontroladores ) que a Motorola ira com
certeza desenvolver.

 Nosso intuito com este curso é repassar nossos conhecimentos apenas da linha
automotiva envolvendo painéis automotivos,imobilizadores de segurança e módulos de
injeção de combustível mecânica leve pesada.No decorre do nosso curso iremos
disponibilizar certos circuito eletrônicos na melhoria de comunicação com o
 programador e as centenas variantes de módulos automotivos.

Cabe informar que no DVD-rom que seguem junto a esta apostila tem todos os software
auxiliares bem com as fotos originais de conexão, os software são utilizado para apoio
técnico e os arquivos são utilizados principalmente para elaboração de arquivos de busca
em linguagem Pascal e Delphi.

6
Curso Avançado do Programador UPA

JUMPER E CONECTORES:

Conhecendo o seu programador.

DISPOSITIVOS SUPORTADOS

NSC*: CR16HCS5/9, CR16MCS5/9, CR16MES5/9, CR16MFS5/9, CR16MCT5/9,


CR16HCT5/9
Motorola HC05*:  MC68HC05B6, MC68HC05B8, MC68HC05B16, MC68HC705B16,
MC68HC05B32, MC68HC05E6, MC68HC705E6, MC68HC05H12, MC68HC05L28,
MC68HC05P3, MC68HC705P3*,MC68HC05X16, MC68HC05X32
Motorola HC08*: MC68HC08AS20, MC68HC08AS32, MC68HC08AS60,
MC68HC08AZ32, MC68HC(9)08AZ32A, MC68HC908AZ60, MC68HC908AZ60A
Motorola HC11*:  MC68HC11A1, MC68HC11A8, MC68HC11E9, MC68HC11EA9,
MC68HC11E20, MC68HC11F1, MC68HC11K4, MC68HC11KA2, MC68HC11KA4,
MC68HC11KG4, MC68HC11KS2, MC68HC11KS8, MC68HC11L6, MC68HC11P2,
MC68HC11PA8, MC68HC11PH8
Motorola HC12*: MC68HC912B32, MC68HC912BE32, MC68HC912D60,
MC68HC912D60A, MC68HC912DC128A, MC68HC912DG128,
MC68HC912DG128A
Motorola HCS12*:  MC9S12D64, MC9S12A128, MC9S12DG128, MC9S12DG256,
MC9S12H128, MC9S12H256

7
Curso Avançado do Programador UPA

Atmel 8051 Architecture: AT89S51, AT89S52, AT89S53, AT89S8252, AT89S8253


Atmel AVR 8-Bit Risk: AT90S1200, AT90S2313, AT90S2323, AT90S2333,
AT90S2343, AT90S4433, AT90S4434, AT90S8515, AT90S8535, ATmega8,
ATmega16, ATmega161, ATmega162,
ATmega163, ATmega323, ATmega64, ATmega103, ATmega128, ATtiny12, ATtiny15,
ATtiny2313, ATmega8515, ATmega8535
Microchip PIC12:  PIC12F508, PIC12F509, PIC12F629, PIC12F675
Microchip PIC16:  PIC16F627(A), PIC16F628(A), PIC16F648A, PIC16F72,
PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16F818, PIC16F819
PIC16F83, PIC16F84(A), PIC16F870, PIC16F871, PIC16F872, PIC16F873(A),
PIC16F874(A), PIC16F876(A), PIC16F877(A)
EEPROMs I2C: 24C01, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, 24C65,
24C128, 24C256, 24C512, 85C72, 85C82, 85C92, BAW574252, GRM-003, GRM-004,
GRM-005, KKZ-06F, MCM2814, PCA8581, PCF8581, PCF8582, PCF8594, PCF8598,
PCF85102, PCF85116, SDA2516, SDA2526, SDA2546, X24C00, X24C01
EEPROMs Microwire:  7002, 93C06, 93C14, 93C46, 93C56, 93C57, 93C66, 93C76,
93C86, 93S46, 93S56, 93S66, GRN-001, GRO-002, KKZ-01, S220, S2914, ST61907,
XLS93C46
EEPROMs SPI: M35080, 25C010, 25C020, 25C040, 25C080, 25C128, 25C160,
25C256, 25C320, 25C640, M25P05, M25P10, M25P20, M25P40, M25P80, ST95010,
ST95020, ST95040, ST95080, ST95160, ST95320, ST95640, ST95P02, ST95P04,
ST95P08, X5043, X5045
EEPROMs Diversos:  CXK1011, CXK1012, CXK1013, M6M80011, M6M80021,
M6M80041, SDE2506, TC89101, TC89102, 77005, 77007, BR9010, BR9020, BR9040,
CAT64LC10, CAT64LC20, CAT64LC40
*Somente EEPROM

CARACTERÍSTICAS

Editor de hex.
Sobre escrever ou modo de inserção.
Suporte para Hexadecimal, decimal, octal e sistemas binários.
Ler e grava arquivos de até 2GB (depende da memória virtual do computador) bytes de
agrupamento.
Ícone para impressão do arquivo todo ou parte selecionada
Ajuste de bytes por linha.
Pesquisa rápida / substituição hex ou dados de texto.
Compara arquivos.
Fonte e cor com opções de abertura / Salva arquivos nos formato hexadecimal Intel.
Abre arquivos Record Motorola S.
Troca de bytes ímpares ou selecionados
Copia arquivo para o clipboard
Copiar parte de um arquivo para outro ou para um editor de texto.
Função deslocamento para local especificado
Preenche ou uma parte selecionada do arquivo em 0 ou 255 (FFh)

8
Curso Avançado do Programador UPA

ICONES E SUAS FUNÇÕES

1. Hex editor
O editor hexadecimal (Hex Edit) permite ao usuário editar os arquivos binários para a
 programação de uma memória ou microcontrolador.
Tamanho máximo do arquivo é 2 GB teoricamente, mas na verdade depende da memória
virtual disponível do computador e da velocidade de processamento da CPU central do
PC utilizado.
O Editor funciona no modo de inserção ou substituição, utilizando os botões Insert key
ou pelo botão Insert / Over localizado na parte inferior da barra de status da janela.
A função do EDITOR HEX permite que alguns arquivos possam ser abertos e várias
operações possam ser realizados.
Hex editor tem três áreas: offset, numérico e texto.

000000: 61 62 73 64 65 66 67 68 absdefgh
000008: 6A 6B 6C 6D 6E 6B 70 71 jklmnkpq

2. Status Bar

Status bar mostra o deslocamento da posição do ponteiro a partir do início do processo


(gravação ou leitura), o valor da corrente encontra-se neste deslocamento e o tamanho do
arquivo. Há poucos botões disponíveis:
Botão offset - Alterna hexadecimal, decimal ou octal que representa o deslocamento de
trabalho
Botão de Dados   - Alterna hexadecimal, decimal, octal ou binário que representa o
tamanho de dados
Botão Monitor - Show / Hide Bar Data Monitor
Dois controles de edição permitem traduzir a posição do ponteiro no deslocamento
especificado e edição de dados (Pressione Enter no final)

3. Find/Replace Bar

Esta barra permite a busca / substituição de texto ou um número hexadecimal para frente
ou para trás. Pesquisa de texto não diferencia maiúsculas de minúsculas. Se uma
 pesquisa sensível caso for necessário, clique no botão de texto para converter o texto
digitado os códigos ASCII. Procurando hexadecimal é sempre sensível a maiúsculas.

4. Monitor Bar
Há dois botões na barra de Monitor. Primeiro um especifica o tamanho dos números-8,
16, 32 ou 64 bits. O segundo botão muda a ordem dos bytes - Intel (byte menos assinado
 pela primeira vez), Motorola (mais byte assinado pela primeira vez). O número é exibido
como inteiro sem sinal, assinado inteiro e um número real

5. Working with Clipboard

Edição Hex clipboard é utilizado para copiar números ou texto de um arquivo para
outro. É possível que a cópia do UPA para um editor de texto (Notepad, Word). Neste
caso, a posição do cursor indica a forma dos dados copiados.
O acento circunflexo está localizado na área do número:
24 07 F0 71 7B 51 A1 66  – 

9
Curso Avançado do Programador UPA

O acento circunflexo está localizado na área do número.


$.рq{QЎf 

O DUMP pode ser copiado por Edit / Copy como texto.

005FF8: 036 007 240 113 123 081 161 102 $. Ўf  


006000: 000 034 161 120 000 036 161 004 ."Ўx.$Ў.
006008: 000 038 161 015 000 040 239 149 .&Ў..(п

Desta forma é possivel copiar o texto de um editor para o UPA.


000000: 49 74 27 73 20 70 6F 73 It's pos
000008: 73 69 62 6C 65 20 74 6F sible to
000010: 20 63 6F 70 79 20 74 65 copy te
000018: 78 74 20 66 72 6F 6D 20 xt from
000020: 61 20 74 65 78 74 20 65 a text e
000028: 64 69 74 6F 72 20 74 6F ditor to
000030: 20 55 50 41 27 73 20 68 UPA's h
000038: 65 78 20 65 64 69 74 6F ex edito

6. Keyboard Shortcuts

Left, Right, Up, Down Move o cursor


End Move o cursor para o fim da linha
Home Move o curso para o início da linha
CTRL+End Move o cursor para o final do arquivo
CTRL+Home Move o cursor para o início do arquivo
Tab Alterna entre hexadecimal e área de texto
PgDn Move o cursor para baixo por uma página
PgUp Move o cursor para cima por uma página
Shift+Arrow keys, Home,End, PgDn, PgUp Seleciona uma área

Alternar ins entre Insert  e sobre os modos de gravação


Ctrl+Ins, Ctrl+C  Copiar
Shift+Ins, Ctrl+V  Pasta
Ctrl+X  Cortar
Backspace, Del   Deletar,excluir
Ctrl+Z  Desfazer
Ctrl+Y  Refazer

7. Hex-Dec Convertor
Usando esta opção, o usuario converte números de hexadecimal para o sistema decimal e
oposto. O tipo de o número pode ser escolhido por um botão (na segunda linha)

10
Curso Avançado do Programador UPA

GRAVAÇÃO E LEITURA DE NOS DISPOSITIVOS SUPORTADOS

Raciocino lógico: Tendo como principio que o programador U.P.A realiza suas
funções básicas a programação ,basta realizar as conexões de entrada de modo que
aja comunicação entre as portas de ambos lados.
Aseguir listaremos por fabricante e modelos,marcas alternativas corretas de ligação.
Cabe informar que o auxilio do DATASHEET do dispositivo em questão é de
grande ajuda no momento de trabalho deste programador.

Abaixo ilustramos aforam que algumas empresas utilizam para que os fios fiquem
identificado na polarização do programador em relação ao chip a ser
utilizado,advertimos que este método de identificação através da identificação de
cores ao fiação obedecem cada revendedor pois o seu conteúdo e determinado pelo
revendedor e não pelo fabricante do programador.

11
Curso Avançado do Programador UPA

Observe que as denominações da cores modificaram o pino 1 da foto acima


simboliza a cor preto, já na foto logo abaixo ele não utiliza a cor preta para
denominações de cores.

A diante passamos a descreve estas configurações de acordo com o manual do


fabricante.

Atmel 8051, AVR 8-Bit Risk 

Microchip PICs

12
Curso Avançado do Programador UPA

EPROM:
1. I2C and SPI

Microwire

13
Curso Avançado do Programador UPA

M35080

SDA(E)2506

14
Curso Avançado do Programador UPA

Motorola HC05 e Famí lia.

MC68HC705B16 PLCC52

15
Curso Avançado do Programador UPA

MC68HC05H12 PLCC52

MC68HC05L28 PDIP56

16
Curso Avançado do Programador UPA

MC68HC05X16/32 QFP64

17
Curso Avançado do Programador UPA

Motorola HC08

MC68HC(9)08 QFP64

18
Curso Avançado do Programador UPA

MC68HC08AZ32 QFP100

19
Curso Avançado do Programador UPA

MC68HC08AS20 PLCC52

20
Curso Avançado do Programador UPA

Motorola HC11

MC68HC11A8/E9 PLCC52

21
Curso Avançado do Programador UPA

MC68HC11E QFP64

22
Curso Avançado do Programador UPA

MC68HC11E SDIP56

23
Curso Avançado do Programador UPA

MC68HC11EA9 PLCC52

24
Curso Avançado do Programador UPA

MC68HC11K PLCC84

MC68HC11K QFP80

25
Curso Avançado do Programador UPA

MC68HC11KA2/4 PLCC68

26
Curso Avançado do Programador UPA

MC68HC11KA2/4 QFP64

27
Curso Avançado do Programador UPA

MC68HC11KG4 QFP100

MC68HC11KS PLCC68

28
Curso Avançado do Programador UPA

MC68HC11P2 PLCC84

LIFT Vddsyn (68) pin


Substituir o cristal original por um de 8mhz para leitura e gravação maiores detalhes
consulte a pagina do fabricante: EB422.PDF www.freescale.com

29
Curso Avançado do Programador UPA

MC68HC11PA8 QFP64

MC68HC11PH8 PLCC84

30
Curso Avançado do Programador UPA

LIFT Vddsyn (68) pin


Substituir o cristal original por um de 8mhz para leitura e gravação maiores detalhes
consulte a pagina do fabricante: EB422.PDF www.freescale.com

31
Curso Avançado do Programador UPA

MotorolaHC1
MC68HC(9)12B32QFP80

32
Curso Avançado do Programador UPA

MC68HC(9)12D60(A) QFP80

33
Curso Avançado do Programador UPA

MC68HC(9)12D60(A)/DG128(A) QFP112

Motorola HCS12

MC9S12Dx64/128/256 QFP80

34
Curso Avançado do Programador UPA

MC9S12Dx64/128/256 QFP112

35
Curso Avançado do Programador UPA

78K0/HC912 Adaptador
DISPOSITIVOS SUPORTADOS:
 NEC uPD780828A, uPD780973/4, uPD780948/9
Motorola (Freescale) 68HC912D60(A)DG128(A), 68HC912DC128A
78K0 na programação do circuito através de 14 conexão de ligação usando o conector
J2 (pinos 15 e 16 não são utilizados)
uPD780828A
uPD780973/4
uPD780948/9
A Programação 78K0 por uma placa de teste
Soldar o MCU em uma placa de teste e conecte-o ao conector de 24 pinos J1
HC912 programador por uma placa de teste
Soldar o MCU em uma placa de teste e conecte-o ao pino conector J1 LED 24 deve
 piscar durante leitura / programação.

36
Curso Avançado do Programador UPA

JUMPERS E CONECTORES

uPD780824/6/8A

37
Curso Avançado do Programador UPA

68HC912 QFP112
Desolde a MCU da placa com o soprador de ar quente.
Soldar o MCU na placa de teste 912D60/DG128 de acordo com a imagem abaixo.

38
Curso Avançado do Programador UPA

Verifique se há pinos em curto por um multímetro


Ligue a placa de teste 912D60/DG128 adaptador 78K0/HC912 (J1 conector de 24
 pinos) Olhe para PIN1!
Conecte o Adaptador 78K0/HC912 no UPA - (conector DB9 macho) Conecte o cabo
USB ao PC
Executar software e selecione o MCU - MC68HC912D60 (A), MC68HC912DG128 (A)
ou MC68HC912DC128A
Selecione a freqüência de oscilador de 4MHz (O adaptador 78K0/HC912 usar um cristal
de 4MHz)
Aperte o botão de Read, observe o LED do adaptador vermelho - Ele tem que piscar
durante a leitura (também em todas as outras ações)
Se no futuro você quiser acessar o MCU por BDM no circuito, click no botão Desativar
Bloqueio BDM. Isto irá definir bit NOBDM a 1 (palavra Sombra)

 Nota:
É possível que o software original (não flashea internamente o MCU) para habilitar
novamente BDM Lockout após a soldagem da parte de trás da placa MCU- alvo.
Tal MCU pode ser lido / programa Adapter Lockout BDM.

STMicroelectronics ST6
ST6240 QFP80

39
Curso Avançado do Programador UPA

ST6245 QFP52

ST6249 QFP68

40
Curso Avançado do Programador UPA

TMS Adaptadores.

Dispositivos suportados:
TMS370cx0x, TMS370cx5x, TMS375c006
TMS370cx36 e TMS370cx42 com adaptador adicional!!

Descrição do soquete.

Esquema do adaptador adicional (fácil de impressão na PCI)


TMS370cx36 esquema do adaptador

41
Curso Avançado do Programador UPA

TMS370cx42 esquema do adaptador

SCRIPTS & PASCAL

Com variações existente a linguagem de baixo nível de programação de processadores


também pode ser facilmente interpretada pelo algoritmo do programador UPA,na
verdade a empresa fabricante já desenvolvia bem antes da entrada do mercado o seu
carros chefe(UUSB-UPS-UPA),pois a escrita empregada pelos processadores e
memórias da Motorola é a linguagem Borland que a linguagem de alto nível de escrita
dos comando de entrada e saída de seus componentes.
 Neste ponto tem o culminante deste curso,o Pascal derivado da linguagem da poderosa
Borland e por conseqüência o C++ que são linguagem para programação de
 processadores e software existente fugia de nós MORTAIS,estes conhecimentos pois são
linguagem utilizada e complexas utilizadas o curso superior de análises de sistemas de

42
Curso Avançado do Programador UPA

dados,então utilizando de uma ferramenta de fácil assimilação para todos que a


linguagem PASCAL de baixo nível.

 Não é nosso intuito ensinar PASCAL, foge do proposto inicial deste curso, que
 puramente inicia o aluno a programação de componentes eletrônicos da linha Motorola
com a utilização do UPA, mais inserimos no DVD o curso completo de nosso
colaborador o curso de PASCAL exclusivo para o UPA,o arquivo estar em PDF,bem
como neste DVD-rom consta uma seqüência de scripts com varias funções ex;
-Ler senha do imobilizado
-Alterar Kilometragem
-Desmobilização
-e outros
Os scripts já realizados são de fácil instalação basta descompactar na pasta scripts do
software UPA, e a identificação é automática basta carregar o arquivo que o mesmo
identifica o valor veja exemplo abaixo:

Atente para figura acima, o scripts em decimal resultou na descoberta do code pin que
necessitamos,observe ainda que para facilita a escrita não usamos a linguagem em
 português pelo fato de ser é extensa e torna o script muito grande,usamos o idioma
espanhol por é similar ao português lógico com suas variações mais torna o script
menor..

43
Curso Avançado do Programador UPA

Para finalizamos usaremos o exemplo da figura seguinte na qual utilizamos o script em


hexadecimal para descoberta do código da chave assim que o arquivo for carregado para
o BUFEER do software .

Offset 000002h da a seqüência descoberta 1234 que o código da chave.

Pratique em sua residência você cópia o script para o software do UPA os arquivos,
esses arquivos têm o endereço de 00 e 01 é o primeiro endereço 2 a memória, o que você
deve fazer é abrir o programa e alterar as extensão UDS e os endereços onde ele diz
que 00 mudar por exemplo 92 e a mudança onde diz 01-93 e entender como funciona o
script escrever 1 2 3 4 nessas direções e testar se ler em decimal e hexadecimal.

Temos ciência que as linguagens assembly bem como pascal são inicialmente à primeira
vista a difícil assimilação mais trazendo para si os conhecimentos faltantes as
dificuldades hoje encontradas serão superadas.

44
Curso Avançado do Programador UPA

MODO DE CARREGAMENTO E UTILIZAÇÃO DOS SCRIPTS ANEXO AO


DVD-ROM.

1. Selecione o script desejado um de cada vez.


2. Descompactá-lo na mesma pasta.
3. Há um arquivo executável (.exe), execute e será instalado automaticamente para
 pasta DeviceScripts UPA.
4.  Nesta mesma pasta há a um arquivo com a extensão.(Pcs.) (UDX) ou(. Xscr)
você deve copiar e colá-lo na pasta dos DeviceScripts UPA.
5. Para encontrar este caminho da pasta é Arquivos execute : C / Programas (x86)
/ Elrasoft / Suíte UPA-USB / programador de dispositivo / DeviceScripts
6. Se você tem o software do UPA liberado (aberto) feche e abra novamente.
7. Ao abrir o software novamente todos os arquivo inseridos serão carregado ignore
todos os não carregados ou mensagem de erro,se você utiliza o RUIDOWS
desative o antivírus quando for lhe dar com estes software.
8.  No lado direito do programa irá encontrar os dispositivos para escolha
(dispositivo) e scripts que deseja usar.
9. Fazendo desta forma o menu é amigável já explanado aqui e em linguagem de
fácil compressão basta então escolher a função que lhe atenda : Ler pin,
Mudança Km, etc.

Abaixo segue a imagem da tela aberta no momento do carregamento do script ,atente


que a linguagem de nossos scripts estão em espanhol,veja também quem é de fácil
assimilação,fazemos isto pois como mencionado fica de menor tamanho e ocupa pouco
espaço no carregamento e execução dos dados.
Acompanhe nossas aulas online é aproveite para tirar suas duvidas

45

Você também pode gostar