68K ou coisa assim, again

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

Moderadores: 51, guest2003

Mensagempor msamsoniuk » 29 Ago 2011 19:00

eh aquele negocio: assincrono eh assincrono soh ateh passar pelo primeiro flip-flop! eu prefiro adotar a norma de sincronizar tudo internamente e evitar ao maximo correr riscos, mas de qq forma, normalmente eu trabalho tb com clocks muito menores que os indicados como possiveis pela sintese, assim o jitter costuma nao afetar os meus circuitos. uma coisa que eu costumo fazer para evitar dores de cabeca internamente eh conectar flip-flops sucessivos usando bordas alternadas de clock. quando eu faco isso, dah praticamente 100% de acerto entre a simulacao e o mundo real! :)
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor mastk » 08 Nov 2011 15:23

Um ano depois, acabei de encomendar a confecção da placa anteriormente postada.
Ficou R$680,00 e terei que atrassar um pouco a compra do Iphone 4S :) .
Acabou ficando parado a analise do codigo da CPLD e mesmo a sintetização do TMS9918, ambas as placas ficaram meses na minha mesa, pena que nem ando ficando na minha casa ultimamente :?
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor mastk » 24 Nov 2011 17:20

Imagem

Putz, acho que essa noite não vou domir...
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor msamsoniuk » 24 Nov 2011 20:23

que joia hein! ultimamente eu ando meio alheio do mundo... o mestrado tah F*** e o trampo tah mais F*** ainda! quando eu acabar o mestrado, quero retomar o projetinho do MCF5270, se ele nao sair de linha ateh lah! hahaha :D

mastk escreveu:Imagem

Putz, acho que essa noite não vou domir...
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor fabim » 25 Nov 2011 07:05

Marcelo Samsoniuk escreveu:que joia hein! ultimamente eu ando meio alheio do mundo... o mestrado tah F*** e o trampo tah mais F*** ainda! quando eu acabar o mestrado, quero retomar o projetinho do MCF5270, se ele nao sair de linha ateh lah! hahaha :D

Volte para o mundo dos mortos maldito !!!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor mastk » 25 Nov 2011 21:15

Imagem

...Montada...
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor mastk » 02 Jan 2012 16:28

Imagem

Tive problemas, erros na sinteze do CPLD, problemas com o CodeWarrior, e como o kit de desenvolvimento não me dá um acesso simples ao FlexBus, vou ter que apelar e fazer uma placa com o MCF522259, eu tenho já pronta a do MCF5270, porem não coloquei suporte a BDM, não tenho uma FLASH com velocidade razoavel e estou com duvidas em como vou programar uma Flash externa com a BDM, tudo pode ser resolvido porem toma tempo, então acho mais facil soldar apenas BMD, CF e barra de pino para o FlexBus.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor fenix3 » 16 Jan 2012 02:13

Será que esta placa ajuda?

http://www.freescale.com/webapp/sps/sit ... VB&fsrch=1

Aqui tem CPLD, FlexBus, MRam externa...
Luis Fenix
Maaaaraaaaviiilhaaaaaa! (Bem devagar para irritar a todos).
Avatar do usuário
fenix3
Byte
 
Mensagens: 317
Registrado em: 12 Out 2006 03:46
Localização: Minha sala, ora pois!

Mensagempor mastk » 16 Jan 2012 09:57

Eu tenho uma :)

Infelizmente essa placa não tem tem o FlexBus externado, mas já me ajudou muito.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor chrdcv » 16 Jan 2012 15:25

fenix3 escreveu:Será que esta placa ajuda?

http://www.freescale.com/webapp/sps/sit ... VB&fsrch=1

Aqui tem CPLD, FlexBus, MRam externa...


Cacilds!

Estou usando justamente o design reference desta placa para um projeto e o que me convenceu especificamente a usar esse uC foi o fato do mesmo ser da família V2, possuir porta USB integrada e o mais importante no meu caso foi o MiniFlexBus, pois necessito de ligar um LCD gráfico e tb. uma memória RAM assíncrona. Lembro agora que lí no manual que se for o caso, há possibilidade de rodar o código na memória externa mas não é possível "bootar" a partir da memória externa. Foi por essa consideração que o uC não é o mais adequado para a tua aplicação Mastk?

No mais, saberia me informar onde aqui no braZil compraria um kit desses?

Thanks
chrdcv
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Mensagempor mastk » 17 Jan 2012 10:18

Não faço questão do boot externo, mas rodar da memoria externa é fundamental.

Comprei na Itech.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor mastk » 29 Fev 2012 12:03

Código: Selecionar todos
//*******************************************************************************************************************************************
  // Minibus CPLD
  // 8-bit Non-Muxed Mode
//*******************************************************************************************************************************************
//Top module

module cpld_8bit(
         address,
         data,
         reset,
         ale,
         rw_b,
         clk,
         oe,
         cf_ce,             //Active low Card select signal
         cf_oe,            //Active low Output enable strobe
         cf_reset,         //Reset the compact flash card
         cf_reg,            //Low during I/O operations,in memory mode used to distinguish betwen common and attribute memory
         cf_we,            //Active low signal used for writing configuration registers
         cf_address,
         cf_data,
         cf_cd,
         opcional_1,
         opcional_2,
         opcional_3,
         opcional_4,
         opcional_5
         );
      
      output [10:0] cf_address;
      output [7:0] cf_data;
            
      input [19:0] address;
      input reset;
      input ale;
      input rw_b;
      input clk;
      input oe;
      input [1:0] cf_cd;
      
      output [7:0] data;
      output cf_ce;
      output cf_we;
      output cf_reg;
      output cf_oe;
      output cf_reset;
      
      output opcional_1;
      output opcional_2;
      output opcional_3;
      output opcional_4;
      output opcional_5;
      
      reg  cf_we;
      reg  cf_ce;
      reg  [7:0] data_reg;
      
// initial settings
initial
   begin
      cf_we = 1;
      cf_ce = 1;
      data_reg  = 8'b10101101; // card is not connected (173 dec)
   end   
      
// connect reset directly
assign cf_reset = ~reset;

// on every cs1 change cf_ce and cf_we generation
always @(ale) begin
   // if active ce1- then connect rw to cf_we signal
   if ((rw_b == 0) && (ale == 0)) begin      //write
      cf_we = 0;
   end else begin                      //read or cs1 was changed to 1
      cf_we = 1;
   end
   cf_ce = ale;
end

// card detection
always @(cf_cd) begin
   if (~cf_cd[0] & ~cf_cd[1]) begin
      data_reg  = 8'b11100101; // card is connected send (229 dec)
   end else begin
      data_reg  = 8'b10101101; // card is not connected (173 dec)
   end   
end

// addr n.13 is used for card detecting
assign data = (~ale & ~oe & address[13])  ? data_reg : 8'bz;

// connect directly oe for (active - zero during read)
assign cf_oe = oe;

// connect first 11 addr bytes directly on output
assign cf_address = address[10:0];

// connect addr bit n.12 directly on reg cf pin
assign cf_reg = address[12];



//Debug signals on J19
//assign cf_data[0]=cf_reset;
//assign cf_data[1]=cf_oe;
//assign cf_data[2]=cf_we;
//assign cf_data[3]=cf_ce;
//assign cf_data[4]=cf_reg;
//assign cf_data[5]=address[12];
//assign cf_data[7:6]=2'b11;
assign cf_data=data;
assign opcional_1 = address[0];
assign opcional_2 = address[1];
assign opcional_3 = address[2];
assign opcional_4 = address[3];
assign opcional_5 = oe | address[19];


endmodule


Com essas pequenas alterações, o J19 da placa M52259EVB se torna muito mais util.
Como pode ser notado, adicionei 5 pinos, que externam os bits baixos de endereço e o OE, com isso se pode pegar o que esta no barramento e usar para alguma coisa.

Ainda não testei na placa, já que nem um byte blaster tenho ainda, mas creio que deve funcionar sem problemas.

Vale lembrar, que é precisso alocar os cincos opcionais no projeto e que esse codigo vai servir apenas para FLEX BUS em 8 bits.

Em paralelo vou fazer um prototipo em placa padrão tambem, afinal 16 bits e sem logica adicional é o que desejo.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor msamsoniuk » 29 Fev 2012 13:44

ultimamente eu ando pensando seriamente se vale a pena continuar a usar barramentos paralelos para IO, principalmente quando se tem GbE disponivel em varios processadores... mesmo no caso de 100Mbps, faca as contas:

- bus de 8 bits com clock de 50MHz e 3 clocks por acesso resulta em 16MB/s, mas para um espaco de enderecamento de 1MB, precisa de pelo menos 22 sinais!

- interface RMII de 100Mbps tambem com clock de 50MHz resulta em 12.5MB/s e precisa de apenas 8 sinais!

no caso de uma FPGA, a interface paralela tem a vantagem de que vc jah pode descarregar a imagem da FPGA pela mesma interface. no caso de uma RMII, teria que pensar em outra solucao.

para um barramento maior, de 16 ou 32 bits, jah comeca a dar uma vantagem grande na performance (33MB/s e 66MB/s respectivamente), mas o consumo de pinos tb aumenta drasticamente!
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor mastk » 29 Fev 2012 18:37

Seria legal ter memórias MRII, mas como nao tem, o barramento de 8Bits é broxante, mas é assim que a placa foi feita, para ter 16Bits para fora tem que mudar muito o CPLD, além de ficar um gambiarra terrível.

Agora precisão de um ByteBlaster, também, vai me tomar algumas horas que não estava a fim de perder fazendo um, quando penso nisso me empolgo em fazer o protótipo e ter o barraremos todo livre.

Será que vale a pena eu subir só em algum serviço de host o código e o fonte do CPLD?
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor chrdcv » 29 Fev 2012 19:01

Saudações

Então Mastk, como eu falei em outro post (ou será que foi aqui mesmo?) estou atualizando um projeto que antes usava o MCF52233 para o MCF52259 e nesta nova plataforma, optei por usar uma lógica externa para multiplexação do Mini-FlexBus. Optei por usar uma SDRAM de 256kx16b de forma a ter um throughput de 160Mbps (@ 40MHz). Como ainda terei que adicionar um display TFT (com controlador interno), 320x240 RGB 666, acho que o throughput para o display será 320*240*8*8*8 (pois o barramento de dados do display é de 8b) ~= 40Mbps.

Fico na dúvida em relação a questão de necessitar de plotar gráficos ou mesmo "telas" completas no display ficarem lentas, caso esteja errado nos meus cálculos. Pela tua experiência, acha que o sistema daria conta do recado?

Valeu,
christian
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

AnteriorPróximo

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

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

x