68K ou coisa assim, again

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

Moderadores: 51, guest2003

Mensagempor msamsoniuk » 25 Abr 2010 04:28

entao enigma, o microcontrolador eh uma boa jogada para facilitar a vida! :)

na verdade se vc der uma fucada no minimig vai perceber que eles usaram um conceito bem parecido para a inicializacao. praticamente o sistema todo eh baseado em memorias volateis, exceto por um PIC18F252 que fica conectado a um cartao MMC. a primeira coisa que esse PIC transferir um bitstream do cartao para a FPGA, que funciona como bridge entre as memorias e o 68000. na medida que a FPGA eh inicializada, o PIC entao consegue ter acesso as memorias e transfere uma imagem da ROM original do amiga para uma area de 512KB de SRAM. a partir deste ponto o 68000 consegue bootar e o PIC assume a funcionalidade de simular os drivers de disquete do amiga, utilizando imagens armazanadas no cartao.

estando em funcionamento, eh quase o que vc comentou, ficando a FPGA eh responsavel por toda a funcionalidade de audio e video. alem da FPGA, do PIC e do 68000, existe 2MB de memoria SRAM, sendo 512KB mapeados para simular a ROM do amiga, 512KB mapeados como chipram e 1MB mapeado como fastram. na nomenclatura do amiga, a chipram eh a memoria dos chipsets de audio e video (daih o nome chipram), enquanto que a fastram eh uma memoria totalmente disponivel para o processador (como nao divide banda com os chipsets, ela eh mais rapida, daih o nome fastram). como o processador pode rodar programas tanto na chipram quando fastram, o amiga 500 vinha em uma configuracao economica com 512KB de chipram apenas.

em termos de implementacao, o projeto do mastk eh quase um minimig, pois o microcontrolador dele coloca o bus do 68000 em tri-state e acessa o bus de forma muito mais eficiente. ele tambem sempre boota o 68000 na velocidade maxima e, de quebra, ele usou uma CPLD para implementar o video. e talvez com as tecnicas corretas ele consiga ainda dar uma incrementada na performance e qualidade de video!

no meu caso, a preguica foi realmente extrema! tanto que eu soh coloquei no ar um 68000 com o bus de 8 bits, entao ficou praticamente um Z80 anabolizado de 14MHz. e na epoca em que eu estava bolando o conceito acho que nao me ocorreu ou esqueci completamente, mas o fato eh que nao pensei em usar um cartao MMC ou memoria SPI para bootar o 68000, o resultado eh que fiquei dependente de descarregar comandos pela serial, o que faz o HC908 trabalhar muito mais lentamente do que eu esperava: apesar do clock miseravel de 2.5MHz dele, eh fato que a serial a 38400 bps segura infinitamente mais o processamento. a proxima experiencia acho que eh colocar uma FLASH SPI e tentar bootar a partir dela (atualizando quando necessario pela serial).

se funcionar redondo o meu proximo passo eh aumentar a SRAM, pois hoje eu tenho 8 chips de 32KB totalizando apenas 256KB. a ideia seria montar 8 chips de 512KB, totalizando 4MB (preciso rodar uclinux nisso). a dica nesse caso eh uma memoria SRAM de 5V CY7C1041 da cypress, que segundo o octopar esta com um preco bom (3.50 doletas). e como eh uma memoria com 16 bits de largura, eu jah me obrigo a expandir a fiacao e resolver os problemas logicos para isso funcionar. para a FPGA acho que vou usar um modelo similar, porem operando em 3.3V, visto que a FPGA nao eh tolerante a 5V... e imagino que tendo 512KB soh para a FPGA jah eh possivel fazer umas brincadeiras com audio e video tambem! :)

bom, sobre os coldfires, o MCF5270 realmente eh uma boa opcao em funcao do conjunto de recursos que fornece, sendo ao mesmo bem disponivel e barato. outra opcao boa no futuro creio que seria o MCF5208, que jah inclui suporte a DDR (mas possui menos SRAM on-chip e nao possui aceleracao de criptografia). tanto o MCF5270 quanto o MCF5208 possuem encapsulamento QFP-160 e podem operar em sistemas com bus de 8, 16 ou 32 bits, fornecendo um bom caminho de migracao para sistemas com 680x0. e se precisar de mais performance, existe a sub-familia MCF5301x com core v3 de 240MHz e dois controladores ethernet. o bacana dessa sub-familia eh que esta disponivel com encapsulamento LQFP-208.

lembrando ainda que, entre outros componentes com encapsulamento nao-BGA, existe o MCF5407 com core v4 de 220MHz que rende 316MIPS e usa um encapsulamento PQFP de 208 pinos. a desvantagem dele eh que nao possui ethernet como os outros modelos, mas suspeito que a freescale talvez lance alguma especie de MCF5401x em breve com uma combinacao similar ao MCF5301x.... mas eh soh um palpite. e se realmente precisar de performance comparavel a x86 ou recursos muito avancados de rede, entao a unica solucao eh arrancar os cabelos e partir para um powerpc cavalar com encapsulamento BGA.

se a firma esta bancando o estrago, vai tranquilo... mas para brincar em casa definitivamente nao tem como! :P

por outro lado, existem alternativas intermediarias. os blackfins, por exemplo, possuem uma arquitetura de bus muito parecida com os coldfires. os componentes bacanas, como o dual-core que consegue 2400MMAC/s, estao disponiveis soh em encapsulamento BGA, mas o BF531 de 400MHz com encapsulamento LQFP-176 jah rende uns 800 MMAC/s sem muito esforco... por sinal, minha ideia original para o mestrado era montar alguns blackfins destes como coprocessadores de video de um coldfire. mas como a area de video anda meio saturada em funcao da corrida do ouro da tv digital, eu preferi fazer algo mais tranquilo com uma FPGA na area de redes.

de qq forma, imagina soh o estrago que um MCF5301x de 240MHz e duas fast-ethernets com dois BF531 funcionando como coprocessadores de video e totalizando 1600 MMAC/s nao fariam? :)

bom, voltando ao mundo real, quando eu conseguir esgotar as possibilidades com o 68000 padrao o proximo passo sera montar algo com o MCF5270... nao esta muito complicado nao, pq eu tenho dois MCF5270 montados naquelas placas padrao que o mastk confeccionou. em cima disso eh questao de montar a alimentacao do core e uma eprom de boot, visto que ele jah tem 64KB de SRAM onchip. uma possibilidade bacana tb seria juntar todo mundo e confeccionar um modulo padrao com o MCF5270, FLASH, SDRAM e PHY... daih vc grava as FLASHes para a gente com um uboot e daih nem precisamos de BDM! :)

isso soh depois do mestrado claro... por hora vou ficar de 68000 mesmo e focar os esforcos maiores na FPGA.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor msamsoniuk » 25 Abr 2010 05:41

bom... eu vou ter q produzir um modulo com uma FPGA em breve e estou justamente pensando em usar uma XC3S100E com 100 mil gates. a duvida eh o encapsulamento. o modelo de 100 pinos estah por uns 11 dolares:

http://octopart.com/xc3s100e-4vqg100c-xilinx-462199

enquanto que o modelo de 144 pinos esta pouca coisa mais caro:

http://octopart.com/xc3s100e-4tqg144c-xilinx-462198

a parte importante eh que o modelo de 100 pinos permite vc configurar apenas 66 pinos e o modelo de 144 pinos permite configurar 108 pinos, eh quase 30% a mais (e a mais no custo tb hehehe).

eu pretendo colocar tb uma SRAM de 256K x 16 da cypress por 3.50 dolares. como a FPGA tem logica suficiente, fica facil trabalhar com multiplos canais de DMA... e daih adicionando DACs de audio e video daria para fazer um negocio bem interessante! na mesma placa provavelmente vou adicionar footprints para PHYs e conectores ethernet, sei lah, dah para adicionar footprints de outras coisas para aproveitar o layout tb.

em termos de logica, ambos encapsulamentos permitem migrar para 250 mil gates e o de 100 pinos permite atingir 500 mil gates!

como o volume eh pequeno, estou pensando em um preco de 100 ou 150 reais para cada modulo montado com FPGA e SRAM... ainda tenho q dar uma pesquisada em quanto vai ficar.

mastk escreveu:Depende do objetivo enigma, no momento meu objetivo foi vencer o problema de galinha, tendo uma pequena flash soquetada para um boot e receber o codigo externamente seja Sd ou serial mas digo isso para o mcf5270 que era quase todo novidade para mim.

Dos coldfire V1, uso eles e recomento, versateis e extremamente faceis de usar. 64K da para fazer um estrago bom na versao gratuita.

Quanto a FPGAs sao bons mas tem seu custo, eh precisso avaliar um que seja facil de comprar e tenha recursos o bastante, sintezir um pico-blazer que eh uma CPU tao ridicula quanto um PIC querer uma quantidade razoavel de recursos, uma CPU de verdade entao pode nao caber.

Vale lembrar o nucleo V1 pode ser licenseado e sintetizado a gosto do fregues.
http://www.altera.com/products/ip/proce ... re-v1.html
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 25 Abr 2010 08:25

Marcelo,

O estrago do desenvolvimento está sendo bancado pelo meus fundos ou seja meu bolso...hehe
Osciloscopio, gravadores, frequencimetro, etc já tinha comprado ha anos atras quando era barato.
Como é para hobby, não dá para gastar muito... :)

A firma usa algo de 68K e DSP da Texas, com pAsic da Quicklogic. Pra mudar a ideia deles ou usar coisa diferente é quase impossivel. Pra ter ideia, usaram arquitetura Z80 por mais de 25anos.....

Outro Coldfire que achei interessante é da linha MCU MCF522xx que ja vem com um monte de recursos embutidos. Assim é só escolher o MCF e usar no projeto.
Como diz no site da freescale a trasição de 8 para 32bits é usando o MCF51jm128, que possui todos os perifericos do hc08, mas com nucleo 32bits.
Para baratear os custos, será que não ha alguma loja no Brasil, que já tenha memorias similares com 512K x 16?
Para projeto industrial nao tem como fugir, tem que importar mesmo e deixar o custo pra firma...hehe
Sobre BGA, por enquanto não quero trabalhar com isso, mas vi em um site, que tinha um doido que soldou fios por baixo de um CI BGA.... e ligou na placa. Lembro que era um algo para projeto do Amiga ou Atari.
Falando de Amiga, vi este site que conta um pouco da historia:

http://www.rabayjr.com/commodore.htm
http://www.rabayjr.com/amiga.htm


Parece que ainda fabricam clones de Amiga com powerpc, fiquei interessado neste hardware.

Se fosse para montar um hardware poderoso e tivesse grana pra bancar, montaria a receita com PowerPc + FPGA, porque com o Coldfire ainda continuamos com uma CPU32 ou 68K reduzida. Partindo para o PowerPc já seria RISC e estaria mais perto dos hardwares poderosos como PS3, Nintendo, X360.....

Mas como somos pobres e com a realidade brasuca, vamos usar 68K e 68030 até queimar....hehe

O meu prototipo com 68030, não vou alterar mais, dá muito trabalho mudar para memoria de 32bits, tem que refazer toda a fiação da placa, então estou pensando em fazer uma placa base nova e plugar uma placa
CPU, placa memoria+flash, placa perifericos.
Para isso vou ver se consigo encontrar mais barato os conectores Eurocard com 64pinos.

Vale lembrar o nucleo V1 pode ser licenseado e

sintetizado a gosto do fregues.
http://www.altera.com/products/ip/proce ... re-v1.html



Mastk, nem quero saber de trabalhar com os mano da Altera, fico ALTERAdo.....
Quando estava começando a brincar com CPLD, comprei um livro que tinha o hardware da Altera. Quando pedi cotação da placa pra usar um CPLD pequeno, me pediram quase 2000 mangos FOB. Mandei eles pra aquele lugar....
Com o XC9272XL, paguei um valor barato e fiz a placa, usando tb software gratuito.

Sobre FPGA, há varias opções, mas eu optaria por um da Xilinx com mais pinos possiveis, desde que não seja BGA.

Sobre quantidade de memoria, até 2 ou 4M dá pra montar com Sram, pra cima disto acho melhor usar pente de Dram ou SDram, até tem alguns coldfire com controlador Dram embutido, o que facilitaria muito o projeto.

Interessante sua ideia, sobre um hardware padrao, assim ficariamos mais desenvolvendo o software ou firmware.
Como já fazem para os clones de Amiga, por exemplo, há um hardware padrao, com FPGA, onde sintetizaram todos os chips do Amiga em um só.
Podemos depois falar sobre isso e estudar os custos e detalhes do projeto padrão...

O ideal seria isso:

http://www.fpgaarcade.com/

ou mais simples:

http://www.retromicro.com/index.html
enigmabox
 

Mensagempor msamsoniuk » 25 Abr 2010 19:36

tem que ficar tentando... uma hora vc acerta e fica rico! :)

no meu caso o hobby ajuda bastante no trabalho, visto que a maioria dos projetos que participo envolve atualizacao de placas baseadas em 68000 para coldfire... daih tem que conhecer a fundo ambos. agora tambem estou me envolvendo bastante na migracao de ASICs para FPGAs, mas uma area que nao consegui desenvolver nada na firma eh na area de DSPs... e isso que dos meus hobbys atuais, a placa que eu mais vendo eh uma com o DSP 320LF2402, que eu tambem uso em cursos periodicos em faculdades.

agora com o mestrado vou ter que dar uma folga nos cursos, mas depois quero retomar com uma nova placa, utilizando justamente o MCF52235, que possui PHY ethernet integrado. esse componente possui uma jogadinha particular muito interessante: nao precisa de BDM para ser programado. ao inves disso, a FLASH dele eh acessivel atraves de uma interface chamada EZport, que opera como uma FLASH SPI. utilizando entao um conversor USB/serial que tenha tambem funcionalidade USB/SPI ou qq coisa do genero, jah fica perfeito! outra possibilidade seria fazer isso com o MCF5270, uma ideia que eu vou descrever melhor no final do post...

bom, voltando aos pepinos atuais, acho que essa memoria nao encontra por aqui com preco bom nao!

uma solucao mais em conta para o 68000 seria usar uma CPLD para controlar um banco de DRAM. mas para a FPGA eu nao vejo muitas alternativas... de qq forma, eu pretendo montar pelo menos 20 placas jah de saida, suficiente para utilizar em cursos e assim recuperar rapidamente o investimento. e nesse caso, nao posso usar componentes usados, entao as DRAMs ficam de fora... tambem acho que nao seria interessante montar memorias de capacidade muito pequena, pq iria prejudicar quem fosse comprar o kit.

mas independente de usar no trabalho ou estudo, acho que o importante eh manter as pesquisas! :)

por exemplo, a diferenca entre um 68030 e um 68360 nao eh muito grande. no fundo, o 68360 simplifica consideravelmente o projeto por ter tudo integrado. mas o interessante eh que de um 68360 para um MPC860 a diferenca tambem nao eh muito grande! de forma similar, a arquitutera de barramento de um MCF5270 tambem nao difere tanto de um MPC860... e se as SCCs do MPC860 nao entram na cabeca, vc pode comecar estudando um 68302, que eh similar, porem mais simples. entao se vc tem uma boa base com os 680x0, 683xx ou coldfires, vc nao tem a experiencia de ter trabalhado com powerpcs, mas certamente tem uma base teorica muito acima da media comparando com quem nunca ouviu falar e vai ter q aprender totalmente do zero.

ironicamente, escrevendo o paragrafo acima me caiu a ficha que eu tenho dois 68302 guardados em algum lugar por aqui... eles possuem encapsulamento PGA muito facil de usar e incluem sistema de refresh para memoria DRAM... isso significa q se eu tivesse lembrado deles antes, todo aquele problema de adicionar memorias ao 68000 para rodar uclinux na verdade jah estaria resolvido e eu nem precisaria me preocupar em mexer naquele prototipo do 68000! :D

sobre o hardware padrao, a ideia seria no aspecto de modulos padrao. por exemplo, no caso do MCF5270 jah de saida vc precisa pensar na tensao de 1.5V do core e tambem no PHY ethernet, entao dificilmente vc pensaria neste componente sem estes blocos integrados na mesma placa. outro problema seria adicionar uma flash e sdram nele, entao tb fica sendo uma boa ideia adicionar os footprints para estes componentes na mesma placa...se vc precisar, vc adiciona! agora como fica o resto do hardware? acho que varia muito, pq pode ser qq coisa, pois justamente essa eh a flexibidade q outros microcontroladores normalmente nao oferecem.

cada modulo poderia ser meio parecido com esse do site que vc mostrou:

Imagem

se vc monta outro modulo com FPGA, tensao de 1.2V do core, memorias e buffers, vc tem um modulo que pode funcionar com o primeiro, inclusive em configuracoes de mais de um modulo FPGA por MCF5270. e como nem deus sabe direito o que o cara pode fazer com uma FPGA, nao tem pq pensar em incluir conectores (claro, dah para incluir os footprints de alguns para aproveitar o layout!). vc interliga os modulos usando uma placa padrao e coloca os conectores e conversores nessa placa. se vc quiser montar um MCF5270 e duas FPGAs gerando video, basta colocar os DACs e os conectores de saida de video na placa padrao que vc vai usar para interligar os modulos, nao ficando restrito apenas a escrever software para os modulos, mas podendo mexer tambem no hardware.

entao no fundo, seria um hardware padrao, porem flexivel e modular! :)
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 26 Abr 2010 08:43

tem que ficar tentando... uma hora vc acerta e fica rico! :)

Ficar rico...hehe Só se for de conhecimento.... :)

Então tu brinca tb com os DSP da Texas? La na firma usam os TMS em algumas placas para processamento de imagem e tb junto de alguns sensores de cameras digitais.

mas independente de usar no trabalho ou estudo, acho que o importante eh manter as pesquisas! :)


Se não pesquisar vc fica obsoleto no mercado, a tecnologia evolui e vc tem que tentar acompanhar.
Por isso que sempre estou investindo e pesquisando tecnologias novas, mesmo que não use atualmente, algum dia pode servir.

O mais perto que passei de um DSP foi o MC56F8013, o mais pequeno MCU da linha. Conhecido como o pequeno manco, pois falta os Dac de saída. Pelo menos o CW consegue gravar até 8K deste MCU.
Não seria melhor, se possivel, passar de Asic para CPLD de maior capacidade como o Collrunner, pelo que analisei o FPGA, não é tão seguro contra copia de firmware.
Já baixei alguns exemplos de controlador de Dram, não é dificil integrar isso no projeto, só tem que usar um CPLD e FPGA de varios pinos para facilitar o projeto.
Para projeto novo com bastante Ram, pode usar estes pentes novos como o DDR2, que são baratos, mas ai vai depender do que vc vai usar como controlador de Dram.
Agora sei o que era começar do zero... Quando iniciei com o 68K, tinha muitas dificuldades, porque a arquitetura era bem diferente do que conhecia. Agora que sei um pouco, acho que dá pra encarar uma arquitetura diferente Risc como o PowerPc.
Agora se o cara que começa a aprender oum MCU, inicia com um PIC Risc, como a maioria faz, se vai passar para PowerPC, acho que tem que começar do zero e estudar muito...muito mesmo! hehe Mas a maioria por facilidade vai para a linha ARM risc...
Um tempo atras vc disse que dava pra desligar o nucleo do 683xx e usar os perifericos com um processador externo. Será que da pra fazer o mesmo com um Coldfire como o MCF5270, disponibilizando seu barramento?
O interessante é usar um FPGA como expansor de um modulo com MPU+Memorias, etc, como vc já disse. Se quiser criar algum periferico diferente para a placa modulo, o FPGA faz o serviço.
E o modulo, ao meu ver, teria que ter, para Ram algum slot para banco DDR2, principalmente estes bancos para notebook que são pequenos, faceis de achar, assim sobra memoria para qualquer aplicação, mas ai vai depender do tipo do MCU a ser utilizado.
Ethernet é fundamental no modulo, nem quero saber de USBebado, prefiro usar o CAN.
Resumindo, o modulo de inicio teria que ter pelo menos, ao meu ver:

01 MCU coldfire V2 ou superior
01 Flash para boot do sistema
01 Banco DDR ram
01 Interface Ethernet
01 Alguma interface serial para gravar a flash
01 Barramento de expansão.

Gostaria de usar um Virtex, esse sim tem capacidade! Mas o bicho só vem com patinhas BGA e custa caro...
É, mas ainda algum dia eu mato esse BGA!!! :shock:
enigmabox
 

Mensagempor msamsoniuk » 26 Abr 2010 11:00

no kit do meu curso de DSP eu uso o 320LF2402 da texas, ele eh equivalente ao 56F8013 e no fundo os dois sao para automacao, pois a aplicacao normal deles eh receber sinais de sensores pelos ADCs, passar um filtrinho e entao controlar via PWM alguma especie de motor... eh um DSP facil de usar, mas no fundo eu nao ando muito contente com ele e quero redesenhar o kit assim que possivel. pois como vc disse, eh capenga no aspecto de audio e nao possui hardware sequer para colocar um ADC/DAC melhor. jah pensei em redesenhar usando o 320VC5502, que eh um DSP para telecom que eu conheco bem e possui interfaces sincronas para ADC/DAC externos, mas acho que o blackfin BF531 seria uma opcao bem melhor, pq ele pode usar gcc e daih eu me livraria de uma vez por todas do code composer.

e o blackfin nao trabalha apenas com audio, pode trabalhar tambem com video, sei lah, podia incluir uns ADC/DAC de audio e video na mesma placa... migrar para um coldfire tb seria opcao, mas o termo DSP causa um impacto grande, mesmo no caso dos DSPs capengas hehehe :)

sobre a questao de seguranca contra copia, acho que depende muito do mercado... isso eh mais importante para aplicacoes pequenas, onde o custo do hardware eh pequeno e portanto fica facil para os trambiqueiros copiarem. no caso de aplicacoes maiores, soh o custo de encomendar os componentes e montar jah afasta 90% dos trambiqueiros... imagina entao quando o cliente pede suporte e o cara tem q mudar um bit na FPGA, mas nao tem o fonte? hehehe :)

mesmo assim, jah existem FPGAs com FLASH embutida e tambem FPGAs que usam SPI criptografada... se o cara nao conhece as chaves para programar na memoria e na FPGA, ele nao consegue nem transferir o bitstream... assim, CPLDs acho que ficariam restritas a aplicacoes muito baratas e pequenas, bem pq os projetos sao mais antigos e as funcionalidades sao bem mais restritas quando se compara a uma FPGA.

por exemplo, na FPGA vc consegue interfacear DDR na boa! :)

sobre o lance de fazer upgrade do core, acho que soh funciona com o 68302 e 68360 mesmo. isso eh uma vantagem pq vc pode escalar a performance conforme a demanda, por exemplo, o 68360 sozinho tem uma performance equivalente a um 68030 de 33MHz. se vc precisa de mais performance, vc pluga um 68040 de 33MHz. se nao for suficiente, pluga um segundo 68040 em SMP... se ainda nao for suficiente, um 68060 e por fim pode chegar a dois 68060 em SMP.

nos outros 683xx que eu vi essa funcionalidade nao existe e no maximo eh possivel montar uma configuracao SMP utilizando BR/BG. porem o ideal nesse caso eh plugar processadores similares, por exemplo, no 68306 de 16MHz vc poderia usar um ou mais 68EC000 em configuracao SMP. a necessidade dos cores serem similares eh para garantir simetria de funcionamento, do contrario processadores rapidos ficarao parados esperando processadores lentos e vc ira desperdicar muita performance.

com a assimetria, o tempo de execucao tambem ficaria assimetrico e dependeria da sorte de pegar um processador rapido ou nao!

no caso do coldfire a stiuacao complica ainda mais, pq eu nao lembro de ter visto coldfires com linhas BR/BG, o que significa que eles provavelmente nao podem operar em configuracao SMP. o que eh possivel nesse caso eh multiprocessamento, ou seja, conectar dois MCF5270 atraves de memorias dual-port, que podem ser arbitrariamente rapidas e grandes conforme o tamanho do seu bolso. mesmo assim nao vao deixar de ser sistemas independentes, cada um com seus perifericos separados e suas memorias SDRAM separadas.

sobre o lance do modulo, acho que tem que discutir mais as possibilidades.

eu acho que o MCF5270 seria a melhor opcao hoje, pq eh um processador poderoso e acessivel... jah para o caso da flash, nao sei dizer ainda qual seria a melhor opcao, mas acho que o mais viavel seria uma EPROM PLCC com um u-boot gravado e um conector para cartao MMC. alem do proprio cartao, o u-boot daria opcoes de bootar via serial ou ethernet. para a ethernet poderia usar um PHY DP83848 ou outro componente similar. sobre a memoria volatil, eu diria que o melhor seria soldar realmente uma SDRAM. os modulos tem vida muito curta e eh comum vc comecar o projeto com um modulo e ateh o final do projeto o modulo sumir do mercado! enfim, poderia ter um conversor USB/serial e opcao de alimentar tanto pela USB quanto pelo conector de expansao, onde eu diria que duas barras de 40 pinos resolvem...sera? :)

o ideal seria tentar nao colocar muita coisa atoa, tentando manter o tamanho da PCB pequeno. no fundo, a ideia de modulo facilita bastante o roteamento e eu estava pensado em algo tipo 100x70mm... se vc nao precisa de nada muito complexo alem do console e ethernet, vai ter tudo que precisa no modulo. se vc precisa de complicacoes adicionais, vc inclui outro modulo, que poderia ser a placa com a FPGA ou entao uma placa padrao com os perifericos que vc quer adicionar.

bom, tem que ir refinando o conceito! :)

seria um projeto para tocar daqui uns seis meses apenas... mas daria para jah pensar em algo como fazer as barras de pinos do modulo com a FPGA casar futuramente com as barras de pinos do modulo com o MCF5270, assim daria para montar as duas placas juntas no futuro.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor msamsoniuk » 01 Mai 2010 15:28

fazendo um update ae em funcao dos novos MCF51JE e MCF51MM...

acho que o MCF51JE definitivamente era o componente que eu esperava para usar na placa da FPGA e seria a situacao de menos componentes e maior flexibilidade: o MCF51JE possui todos os recursos para se auto-programar via USB, nao requerendo BDM e, uma vez com o firmware de gerenciamento da FPGA, ele possui memoria flash suficiente para armazenar duas imagens para a spartan-3e de 100 mil gates (70KB por imagem). imagens para FPGAs maiores como o modelo de 250 mil (166KB por imagem) e 500 mil gates (278KB por imagem) poderiam talvez ser comprimidas ou entao guardadas em um cartao MMC conectado a uma das SPIs do MCF51JE.

me parece ateh o momento que a melhor FPGA seria mesmo o modelo de 144 pinos. a ideia inicial seria conectar a FPGA ao mini-flexbus do MCF51JE e tambem a uma memoria, como jah havia comentado. o caso interessante eh que a interface via mini-flexbus pode operar ateh 25MHz e suporta transferencias de 16 bits em 4 clocks, o que fornece um bandwidth de 12.5MB/s e consome apenas 25 pinos da FPGA. seria possivel interfacear via SPI tambem, mas acho que um barramento direto ficaria mais flexivel, pois apos o MCF51JE fazer o boot da FPGA, ele mesmo poderia rodar aplicativos localizados nas memorias da FPGA, aproveitando seus recursos na aplicacao final.

neste caso, a questao da memoria se torna importante, mas ainda nao existem informacoes suficientes ainda no datasheet (que foi publicado ontem!). aparentemente o barramento possui 20 bits de enderecamento e dois chip-selects, que me faz suspeitar em dois bancos de 1MB, totalizando 2MB de memoria de 16 bits... suficiente para rodar qq RTOS simples e, se fizer uma forcinha, arrisca ser possivel bootar um ucliunx. um ponto a favor de SRAM eh que eh deterministica e rapida, por outro lado, um banco de memoria de 2MB consome quase 40 pinos. juntando tudo ateh agora jah sao 65 pinos e assim sobram 43 pinos para aplicacoes gerais, o que me parece bem razoavel.

nisso surgem dois fatores: o componente ainda nao esta disponivel. e eu preciso da placa antes para meu projeto de mestrado... a minha ideia eh prever o MCF51JE, mas rotear o mini-flexbus para um conector, de modo que possa ser conectado a buffers no barramento do prototipo com 68000 q eu tenho. adicionalmente, vou ter q dar um jeito de acomodar pelo menos dois PHYs e conectores RJ45. quando o MCF51JE estiver disponivel, basta nao montar os PHYs e a placa se transforma em uma plataforma para desenvolvimento de aplicacoes de processamento de sinais, em funcao do ADC/DAC do MCF51JE (bye bye 320LF2402!). montando a FPGA e a SRAM, a placa se transforma em uma plataforma para desenvolvimento de aplicacoes em verilog e VHDL. e se montar os PHYs, ainda adiciona conectividade ethernet no pacote!
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 04 Mai 2010 10:29

Marcelo,

Tu conhece o Fido:

http://www.innovasic.com/index.php?mact ... eturnid=22

É um microcontrolador com nucleo 68K, vem com possibilidade de ligar Ethernet, tem interface SDRAM controller, etc
Será que chega a nivel de um Coldfire?

:wink:
enigmabox
 

Mensagempor msamsoniuk » 04 Mai 2010 11:27

urra! eh bem interessante isso! :)

eles implementaram uma especie de hiperthreading em um 68000 hehehe na verdade, eh um core CPU32, mais comparavel em performance ao 68020 e, pelo que li, o unico core pode comutar instantaneamente entre 5 diferentes contextos. se vc recebe uma interrupcao, vc comuta para um dos contextos com tudo jah carregado e quando retorna, na verdade soh comuta para o contexto anterior... obviamente em cada contexto vc pode escalonar um numero infininto de tasks, mas soh pode comutar rapidamente entre 5 de cada vez gastando apenas um unico clock.

realmente parece ser uma solucao muito boa para aplicacoes realtime e certamente comutar contexto em um clock eh realmente muito rapido. o coldfire para fazer o mesmo durante uma interrupcao teria que fazer um dump do contexto inteiro na stack do supervisor e restaurar outro contexto inteiro novamente... sao 16 registros de 32 bits, mais PC, SR e provavelmente um descritor de quadro de stack, se rodar na SRAM interna de 32 bits jah vai 18 clocks para salvar e mais 18 para restaurar... o total mesmo deve ser acima de 50 clocks!

lembra um pouco o conceito do sparc:

http://www.cs.unm.edu/~maccabe/classes/ ... ode11.html

soh que no sparc vc move uma janela em um banco grande de registros conforme vai fazendo call/return em um mesmo contexto... a ideia de usar esse conceito para mudar inteiramente de contexto em um clock realmente eh algo bem criativo e interessante.

enigmabox escreveu:Marcelo,

Tu conhece o Fido:

http://www.innovasic.com/index.php?mact ... eturnid=22

É um microcontrolador com nucleo 68K, vem com possibilidade de ligar Ethernet, tem interface SDRAM controller, etc
Será que chega a nivel de um Coldfire?

:wink:
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 04 Mai 2010 12:13

E custa US$10,20 com encapsulamento PQFP208. Tô vendo que o 68K não vai sair de linha tão facil!! :D
enigmabox
 

Mensagempor mastk » 04 Mai 2010 23:13

Imagem
Mais uma vez :?
Mas nao se faz omelete sem matar umas galinhas...
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor mastk » 17 Ago 2010 22:20

Imagem
Completa, finalmente...
Imagem
Pena que falhando na escrita :cry: :cry:
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor msamsoniuk » 18 Ago 2010 01:36

opa mastk! passa mais detalhes aih do que esta funcionando, do que nao esta funcionando e do que vc esta fazendo... quem sabe possamos dar umas dicas para resolver o problema.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor mastk » 22 Ago 2010 18:37

Sao basicamente um DB, contadores e latchs para todo o lado.
Ao realizar operaçoes de escrita, acontece de piscar a tela.
Pode ser duas coisas ou eu Soldei algum fio errado ou o sinais de controle estao sendo muito deteriorados.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor enigmabox » 23 Ago 2010 07:43

Pra mim deve ser este monte de fios.... :shock:
Faz um teste mastk, quando tiver funcionando, coloque a mão nos fios e mude de posição as placas e veja se altera alguma coisa na imagem.
Está usando ci´s 74HV ou 74HCT?
Se for 74LS...vai ter problemas em alta freq.

:wink:
enigmabox
 

AnteriorPró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