Novos MCF51: Freescale reage e vira o jogo! =D

Software e Hardware para uC da Qualcomm, NXP, FreeScale e Motorola

Moderadores: 51, guest2003

Novos MCF51: Freescale reage e vira o jogo! =D

Mensagempor msamsoniuk » 30 Abr 2010 00:27

eu estava trocando ideia com um colega agora a pouco, sobre a desgraca que eh depender daqueles malditos BDM de 1 fio para os HCS08 e MCF51, entao quando eu estava tentando lembrar do JS16, q era o unico microcontrolador deles com rom de boot direto da USB, aparecem informacoes sobre familias JE e MM para HCS08...

fui dar uma fucada e eh fato, possuem rom de boot pela USB, mas com muito mais memoria que o JS16!

bem animador, mas daih percebi um logo interessante no fim da pagina... sao componentes da familia flexis e, quem diria, surgiram os primeiros coldfires v1 com rom de boot pela USB! sao componentes com preco estimado em 4 dolares, 256KB de flash e 50MHz de clock bem gordinhos em termos de perifericos:

ImagemImagem

basicamente:

- core de 50MHz com unidade MAC
- unidade TPM com 2x4 canais e pwm
- I2C, 2xSPI, 2xSCI
- USB device/host/OTG
- 32KB de SRAM
- miniflex bus (bus externo!!!)

no JE vem ADC e DAC de 12bits, no MM vem ADC de 16 bits e DAC de 12 bits, alem de vir 2 opamps e 2 amps de transimpendancia! caraca!

http://www.freescale.com/webapp/sps/sit ... SPLSH_CFHP
http://www.freescale.com/webapp/sps/sit ... SPLSH_CFHP

claro, tem a versao HCS08 compativel pino a pino disso tudo, provavelmente com custo menor, mas o melhor de tudo eh que acabou-se o BDM para programar! nao precisa de bootzinho via serial, BDM, sofrimento, nem nada mais... soh plugar na USB e descarregar direto para a flash! infelizmente o fim do sofrimento parece que sera apenas a partir de 15 de junho, q eh o que esta indicado nos poucos pdfs liberados sobre os componentes.

mas parece que a freescale esta entrando nos eixos novamente! =D
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 30 Abr 2010 08:41

Eu começei agora a usar o JM60, mas pensava que dava para programar a flash direto pela USB, conversando com o Marcelo, me diz que ainda devo usar o mardito BDM!
Se este MCU já tivesse o BootRom como o JS16, já facilitaria muito.

Estou tentando fazer um OSBDM, colhendo informações em :

http://forums.freescale.com/t5/OSBDM-JM ... -p/OSBDM08

Vamos ver o que sai....
enigmabox
 

Mensagempor msamsoniuk » 30 Abr 2010 09:28

o unico problema eh que o JE foi lancado a pouco e nao tem muita documentacao ou exemplos de uso... e para USB eh essencial, pq no fundo USB eh uma caixa preta.

entao se vc precisa da solucao hoje, nao tem muito o q fazer a nao ser usar as solucoes existentes (JB, JS e JM). no meu caso vou atrasar tudo q eu tenho para fazer e esperar o MCF51JE! para a FPGA, por exemplo, acho que o MCF51JE seria a solucao perfeita e definitiva, pq uma vez montada a placa seria soh plugar na USB, programar o MCF51JE e entao descarregar a imagem da FPGA, que jah ficaria na flash do proprio mcu! :)

enigmabox escreveu:Eu começei agora a usar o JM60, mas pensava que dava para programar a flash direto pela USB, conversando com o Marcelo, me diz que ainda devo usar o mardito BDM!
Se este MCU já tivesse o BootRom como o JS16, já facilitaria muito.

Estou tentando fazer um OSBDM, colhendo informações em :

http://forums.freescale.com/t5/OSBDM-JM ... -p/OSBDM08

Vamos ver o que sai....
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 30 Abr 2010 14:20

Voltando ao assunto, porque será que a Freescale/Motorola resolveu apostar no USB para programar os MCUs, ao invés do BDM?
Redução de custos, praticidade?
Será que para outros ambientes operacionais como Unix, Solaris, Mac, haverá suporte para gravação em USB?
enigmabox
 

Mensagempor Sergio38br » 30 Abr 2010 14:37

O BDM é assim tão ruim para fazer a programação, e qto a depuração do programa , sem o BDM como fazer o passo a passo?

[ ]'s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor Rodrigo_P_A » 30 Abr 2010 14:44

Sergio38br escreveu:O BDM é assim tão ruim para fazer a programação, e qto a depuração do programa , sem o BDM como fazer o passo a passo?

[ ]'s
Sergio


Num acho o BDM ruim. Eu tenho um gravador mais simples da PEMICRO e tenho um Cyclone PRO. Com o cyclone PRO funciona tudo muito bem, já com o gravador mais simplezinho é um saco, às vezes dá uns paus.

Agora se você olhar o custo de um Cyclone pro, vai ver que é meio salgado.

Acredito que este Boot que vai vir nos CFV1 deve ser só pra gravar, e num vai dar para depurar, mas já é uma coisa boa, pois num vamos mais precisar comprar gravadores para gravar o chip, vai ficar parecido com outros micros do mercado que já vem com o BOOT interno.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Mensagempor msamsoniuk » 30 Abr 2010 18:13

enigmabox escreveu:Voltando ao assunto, porque será que a Freescale/Motorola resolveu apostar no USB para programar os MCUs, ao invés do BDM?
Redução de custos, praticidade?
Será que para outros ambientes operacionais como Unix, Solaris, Mac, haverá suporte para gravação em USB?


soh questao de praticidade para programar... imagina que vc tem um teclado ou mouse com esse processador, agora vc faz update do firmware sem precisar desmontar e plugar o BDM... e pode fazer upgrade sem riscos, a hora que quiser e quantas vezes quiser.

mas veja que USB eh USB ueh... vc vai ter a praticidade de programar o mcu direto de qq maquina windows e mais nada... como todo USB, provavelmente nao possui device driver para maquinas nao-windows e, se possui, deve funcionar mal. tentar usar isso para algo para qual nao foi projetado, como em qq dispositivo USB do universo, provavelmente vai falhar.

eh um grande avanco nao ter que colocar adaptador USB/serial no notebook, mas tb nao dah para querer exigir muita funcionalidade. solucao universal e definitiva, soh quando processadores com ethernet aprenderem a bootar pela rede, implementando DHCP, ARP e TFTP.

ateh lah tem que se contentar com pouco! :)

quanto a debug, daih eh outra historia totalmente diferente...

eu acho q depende mais de gosto do desenvolvedor do que ferramenta em particular... eu mesmo costumo me adaptar ao que esta disponivel... no dia a dia com coldfire costumo usar simuladores e emuladores bem caros, porem para powerpc e 683xx nunca usei mais que printf.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 01 Mai 2010 09:46

Outra coisa importante que acho que deve ter no MCU é um DAC.
Nesta linha nova tem ADC + DAC, par perfeito. Porque ainda tem muitas aplicações onde tem que se medir sinal analogico, processar e recriar o sinal analogico novamente, por exemplo um PID de uso industrial, usado na area de automação.
Acho que a linha 8 bits de MCU da Freescale deve receber menos investimento e com o tempo ser substituida pela seria V1 do coldfire, tanto que já a um MCU de transição como o MCF51JM128, que possui os mesmos perifericos da versão HCS08.
Será que com esta interface USB, dará para ligar varios MCUs trabalhando em paralelo, ou cada MCU executando uma tarefa diferente e todos reportando a um MCU master? Isso seria interessante para aplicações em robotica.
enigmabox
 

Mensagempor msamsoniuk » 01 Mai 2010 12:56

com certeza, de uma olhada nos respectivos MM e JE da linha HCS08:

ImagemImagem

apesar de compativeis pino a pino (familia flexis), os HCS08 possuem menos flash, menos sram, a USB eh apenas device (no MCF eh device/host/OTG) e nao possuem bus externo (no MCF possuem mini-flexbus, q permite adicionar memorias e perifericos externos).

acho que a ideia eh que estes HCS08 sejam melhores que os outros HCS08, assim existe uma tendencia de quem jah usa HCS08 migrar para estes... soh q eles sao compativeis pino a pino, entao quando der na telha vc migra para um MCF51 ganhando uma serie de vantagens extras.

quanto ao uso da USB como uma rede de comunicacao, parece ser perfeitamente possivel no caso do MCF51, pois a USB eh host/device/OTG (o HCS08 eh apenas device).

eu dei uma olhada melhor no datasheet e vi algumas coisas interessantes... a alimentacao do MCF51JE pode variar de 1.8 a 3.3, variando apenas o clock maximo do core (de 20 a 50MHz). os bancos de flash sao divididos em duas partes de 128KB, o que fica perfeito para aquele esquema de armazenar imagem da FPGA. ele possui tambem regulador integrado de 3.3V para extrair alimentacao da USB.

tem as partes intrigantes... os pinos do mini-flexbus estao presentes integralmente no encapsulamento de 100 pinos, mas nao no de 80. de qq forma, ele pode operar com 8 ou 16 bits e possui capacidade para dois bancos com 1MB de memoria cada um, rodando com um clock de ateh 25MHz... isso eh bem interessante pq esse MCF51 hoje comeca a competir com o 68000 e ateh mesmo alguns MCF52 single-chip que nao possuem bus externo!

claro, as vezes 2MB pode ser pouco quando se compara ao que mesmo o 68000 endereca... e tambem os MCF51 nao possuem a mesma performance dos MCF52, em funcao do clock, barramento realmente de 32 bits e da disponibilidade de canais de DMA... mas jah muda o conceito que eu tinha de que os coldfire v1 eram produtos de qualidade inferior desenhados para competir com microcontroladores de 8 bits.

enigmabox escreveu:Outra coisa importante que acho que deve ter no MCU é um DAC.
Nesta linha nova tem ADC + DAC, par perfeito. Porque ainda tem muitas aplicações onde tem que se medir sinal analogico, processar e recriar o sinal analogico novamente, por exemplo um PID de uso industrial, usado na area de automação.
Acho que a linha 8 bits de MCU da Freescale deve receber menos investimento e com o tempo ser substituida pela seria V1 do coldfire, tanto que já a um MCU de transição como o MCF51JM128, que possui os mesmos perifericos da versão HCS08.
Será que com esta interface USB, dará para ligar varios MCUs trabalhando em paralelo, ou cada MCU executando uma tarefa diferente e todos reportando a um MCU master? Isso seria interessante para aplicações em robotica.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor Sergio38br » 01 Mai 2010 13:00

Para este tipo de aplicação alguns da série V2 ja tem USB OTG.

[ ]'s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor Jozias del Rios » 01 Mai 2010 20:40

Aos que tem medo do BDM, eu resolvi arriscar construir um programador para os meus MCF51JM, e consegui em 3 dias de trabalho, fazendo num AVR ATmega8, seguindo apenas o que está escrito no Datasheet

O truque principal é conseguir ajustar automaticamente a frequencia do clock do seu microcontrolador gravador (host) (no meu caso o AVR) para sincronizar finamente com o MCF (target).

Aos que um dia forem tentar fazer um BDM, lembrem-se que para fazer o MCF51JM entrar em modo halt, devem fazer pull-down do BKGD/MS ao energizar, e não ao retirar o pull-down do #RESET. Apanhei quanto a isso, e descobri a solução por acaso.

<propaganda>
Gostei do fornecimento dos MCF51 pelo Grupo Informat, falem com o Denis ou Adriano de lá. Meu pedido veio em 20 dias, apesar da previsão inicial (lead time) de 20 semanas. O preço final, local e com impostos para 160pcs foi algo em torno de R$ 6,50, apesar de constar US$ 2.27 na Digikey.
</propaganda>
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor enigmabox » 02 Mai 2010 09:37

Jozias del Rios,

Eu tb estou estudando para fazer um BDM para o MC9S08JM60. Fiquei interessado na sua ideia, pois estou mais acostumado com o AVR e uso o gravador AVRDragon para gravar os Atmega.
Vc se baseou naquele artigo da revista Elektor com um Atmega usando uma interface USB?
enigmabox
 

Mensagempor Jozias del Rios » 02 Mai 2010 15:43

Então, inicialmente eu tava pensando em fazer com USB no Atmega sim, usando o V-USB (http://www.obdev.at/products/vusb/index.html), mas resolvi começar com comunicação serial mesmo, em 250kbps, usando um buffer de 1KB (tamanho da RAM do ATmega), pois para receber pela serial, o clock tem que voltar ao normal, então fica trocando de clock...

Fiz um programa em C para enviar pela serial o binario S19.
Quiser os fontes, email-me.
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor enigmabox » 02 Mai 2010 17:53

Jozias,

Te mandei uma mensagem no seu email publicado.
Desculpe Marcelo Sam, por mudar um pouco o assunto do seu topico.

:wink:
enigmabox
 

Mensagempor msamsoniuk » 02 Mai 2010 17:55

parabens jozias, foi bem bacana a sua ideia! :)

o interessante eh que nao depende de um PC com codewarrior ou qq coisa do genero. daih, se vc adaptar uma memoria SPI, por exemplo, pode descarregar o S19 uma unica vez e fazer um programador automatizado.

se jah vc nao estiver pensando em comercializar esse seu BDM com o AVR, o melhor a fazer seria disponibilizar como projeto open source na internet e divulgar, pois acho que vai interessar a muita gente pelo mundo afora!

e quanto as aplicacoes com o MCF51?

Jozias del Rios escreveu:Então, inicialmente eu tava pensando em fazer com USB no Atmega sim, usando o V-USB (http://www.obdev.at/products/vusb/index.html), mas resolvi começar com comunicação serial mesmo, em 250kbps, usando um buffer de 1KB (tamanho da RAM do ATmega), pois para receber pela serial, o clock tem que voltar ao normal, então fica trocando de clock...

Fiz um programa em C para enviar pela serial o binario S19.
Quiser os fontes, email-me.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Próximo

Voltar para NXP (ex-FreeScale (ex-Motorola))

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x