68K ou coisa assim, again

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

Moderadores: 51, guest2003

Mensagempor mastk » 21 Nov 2008 10:51

WIP:

Bem pessoal terminei a placa de video, estou tendo problemas para sincronizar ela a CPU, a falta de um osciloscopio ta complicando a brincadeira, todo o caso espero ter resultados em breve.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor enigmabox » 21 Nov 2008 11:23

Mastk,

Dicas:
Use o pino HALT do 68k no processo de comunicação com a placa de video, para nao encavalar as coisas. :shock:
Use latchs para separar memoria da placa de video da memoria da cpu, se vc não estiver usando a mesma para ambas.
Depois da primeira reforma e correções..hehe
Na placa de video que fiz, já consigo comutar automaticamente entre os modos de video(texto, semigrafico e grafico) e esta comunicando com a CPU em 8 bits a 20MHZ.
As memorias ram e eprom da cpu trabalham em 16bits a 20Mhz.
Boa sorte!

:D
enigmabox
 

Mensagempor enigmabox » 03 Dez 2008 07:48

Mastk, Marcelo Sam.,
Como andam vossos projetos com o 68K?
Digo que já instalei a mc68681 e estou bolando uma interface para usar um teclado de PC.
Alguem teria um esqueleto basico de S.O. para rodar no 68030?
enigmabox
 

Mensagempor msamsoniuk » 03 Dez 2008 20:47

hehehe a minha placa esta aqui jogada...falta passar os fios, entao ateh o momento foi evolucao zero! mas jah montei um frequencimetro para fazer testes e agora estou bolando um pequeno RTOS para o HC908... deve servir no futuro para o 68000! vamos ver se fim de ano me sobra mais tempo livre, pq ultimamente ando meio que na correria, dificil arrumar tempo para ligar o ferro de solda :)
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor mastk » 04 Dez 2008 12:31

Minha placa de video esta pronta, mas esta aparecendo um linha q nao sei o q eh, assim que resolver isso posto fotos.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor enigmabox » 05 Dez 2008 11:29

Mastk,

A linha aparece quando conecta a placa do 68k?
Em que parte da tela vc vê a linha?
enigmabox
 

Mensagempor mastk » 10 Dez 2008 21:14

Imagem

Fazendo cosplay de house:

Diagnostico diferenciado, aquela linha fininha não deveria estar ali, alguma opnião doutor sam e doutor nigma?
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor enigmabox » 10 Dez 2008 21:20

Mastk,
Cadê a tomografia por contraste da placa de video?
Tá parecendo inicio/final da borda do frame...
A tela não está rodando no sentido horizontal? A linha tem ruidos ou é estática?
Zerando a ram de video acontece a mesma coisa?
Aplica un "interferon", como diz o House, mata tudo que for virus, senão coleta o liquido da coluna do paciente para analise... :shock:
enigmabox
 

Mensagempor msamsoniuk » 10 Dez 2008 23:43

uma ideia eh gerar um padrao com uma tela totalmente preta. se a linha continuar, certamente eh produzida a partir do proprio vsync com delay. isso eh possivel se vc imaginar que o pulso de vsync eh gerado, vai ateh monitor, reflete, volta pelo cabo, reflete e volta para o monitor. eh o mesmo sinal, com um delay.

uma forma simples de testar eh trocar por outro cabo. se a linha mudar de lugar ou sumir, eh isto que esta ocorrendo. a solucao neste caso seria dimensionar o cabo para o reflexo ficar fora da tela ou melhorar o casamento circuito-cabo-monitor. eh similar ao problema que vc viu de reflexao de sinal no backplane. no seu caso, acho que vc resolveu com terminacoes passivas.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor enigmabox » 11 Dez 2008 06:45

Mas controlando a amplitude do sinal de video gerado, será que não diminui esta possibilidade?
Geralmente no lado monitor tem resistencia de terminação.

Mastk,
Veja tb se não é "doença auto-imune"...
:D
enigmabox
 

Mensagempor mastk » 11 Dez 2008 21:05

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

Mensagempor enigmabox » 12 Dez 2008 08:55

Mastk,

Pra dar mais alguma dica, só vc explicando como fez a placa....
enigmabox
 

Mensagempor mastk » 12 Dez 2008 11:45

O CPLD gera as temporizacoes e pega o dados para serem enviados ao monitor, bem simples, teoricamente nao tem o q dar errado, o mais provavel seria algum lixo na hora do fetch, mas ainda assim nao deve ser isso, pq envio os dados bem antes do que o momento em que surge a linha nao desejada.

Como o controle dos sincronismo eh precisso, nao ha como ser reflexo da linha anterior, demorando mais do que deveria.

Tb acho pouco provavel que seja loop de sinal, sam, o monitor tem terminacao interna, porem como da para ver na foto, estou usando fio AWG 26, sem muitos criteios em termos de sinal.

Pelo meus diagramas e planejamentos esta tudo perfeito, o hardware em VHDL eh relativamente simples, e o 68K esta fazendo o que espero deviadamente.


Sobre sistema operacional.

Antes de tudo, qual o objetivo para com ele? seria legal se possibilitase compatibiliadade entre nossas placas.
Vendo o nucleo, Dx e Ax e modo supervisor, soh criando um tick de maquina e alocando RAM, junto com um terminal e temos um OS. Pelo menos foi isso a primeira coisa que imaginei quando li sobre.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor msamsoniuk » 12 Dez 2008 13:45

eu tenho quase certeza que eh reflexo do hsync no cabo! eu vi um caso destes num xbox ligado a uma tv lcd... e a origem do problema era soh um cabo vagabundo hehehe :)

sobre sistema operacional, tem o RTOS que eu estou desenvolvendo para o HC908 no momento. a arquitetura eh centralizada em passagem de mensagens interprocesso, ou seja, todo processo possui um ipc_recv() e um switch/case para processar determinados eventos ou metodos, enviando as repostas com um ipc_send(). o sistema de passagem de mensagem funciona tanto entre processos quanto interrupcoes, mas para uma configuracao basica com um prompt de comando creio que nem interrupcoes seriam necessarias: apenas uma implementacao basica de putchar e getchar, seja via teclado/video, seja via serial.

bom, eu tenho uma versao disponivel com um modulo rtc, um modulo sci e um modulo console e uma aplicacao de testes que mostra o uptime da placa:

http://framework.sourceforge.net/pics/hc908rtos/trunk/

para o modulo de console foi necessario ter o modulo rtc funcionando, pq esta usando polling. o codigo em si eh relativamente simples e, apos o boot, ele abre um prompt para digitar comandos:

HC908 RTOS
Copyright (c) 2008, Marcelo Samsoniuk
All rights reserved.

starting HC908 system...
sci: serial interface 9600bps (polling)
rtc: realtime clock 100Hz
con: console interface

# app
app: request rtc information...
app: 00:01:07
app: done.
#


bom, deve ter um monte de bugs, mas esta ateh que estavel hehehe

os conceitos sao simples. no main, simplesmente sao enviadas mensagens de inicializacao dos modulos principais (sci, rtc e con) e entao eh iniciado o loop do sistema de mensagens. o rtc gera mensagens a 100Hz para o con, que por sua vez testa se tem algo a receber. se tiver algo, ele envia uma mensagem de inicializacao para a respectiva aplicacao e aguarda.

a aplicacao por sua vez, faz suas tarefas, no caso, enviar uma mensagem para rtc, aguardar resposta, imprimir o uptime da placa e indicar que o modulo de console esta pronto para receber novos comandos.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor msamsoniuk » 13 Dez 2008 21:59

uma sugestao para o projeto de voces eh incluirem alguma especie de circuito para referencia de tempo... poderia ser ateh um flag com o 60Hz (ou frequencia conhecida) de vsync do video! daih via interrupcao ou ateh mesmo polling, a rtc task conseguiria uma referencia valida para gerenciar os timers internos que normalmente alimentam todas as outras tasks em um RTOS :)

no meu projeto, por exemplo, como o HC908GR4 estara plugado nos 68000 em tempo integral, ele vai se encarregar de gerar interrupcoes periodicas de timer para eles.

bom, o mastk me perguntou no msn se eh possivel rodar sem rtc. eu pensei em uma artimanha simples: fazer as tasks periodicas mandarem mensagem para elas mesmas, o que eh equivalente a agendar a execucao depois que a fila de mensagens for esvaziada, sem que o rtc envie qq especie de mensagem. testei aqui no HC908GR4 e funcionou perfeitamente! :)
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

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

cron

x