Moderadores: 51, Renie, gpenga
msamsoniuk escreveu:vc esta confundindo as coisas: o TRS80 utiliza um chip chamado MC6883 e ele funciona como controlador de DRAM e DMA para o 6847. esqueca o TRS80, que nao eh o seu caso, e veja a figura 17a do datasheet do 6847: as unicas coisas conectadas a memoria sao o bus de enderecos e o bus de dados, do qual ele usa apenas 6-bits quando operando em modo texto. na figura ele dah sugestao de ligar um bit no pino INV, assim vc pode armazenar um flag de video-reverso no caractere. bom, como eu comentei, vc vai usar o pino MS para deixar em tri-state o bus do 6847 e vc pode pensar da seguinte forma: o processador soh acessa a memoria durante o retraco vertical (indicado pelo pino FS em nivel baixo), assim vc pode ligar FS no microcontrolador. quando ele ler FS baixo, ele vai ativar MS e WR, de modo que o 6847 fique em tri-state e o microcontrolador escreva na RAM. quando ele sair do retraco vertical (FS vai para nivel alto), o microcontrolador desativa MS e WR e ativa RD. assim, se o microcontrolador nao precisar fazer nada, ele pode manter RD sempre ativo por padrao. quanto ao CS, provavelmente vai sempre estar ativo, pq vc soh vai ter uma RAM e ela vao operar de forma assincrona. assim, a operacao de escrita ou leitura, efetivamente, vai ser realizada por WR e RD.
renan-papaco escreveu:msamsoniuk escreveu:vc esta confundindo as coisas: o TRS80 utiliza um chip chamado MC6883 e ele funciona como controlador de DRAM e DMA para o 6847. esqueca o TRS80, que nao eh o seu caso, e veja a figura 17a do datasheet do 6847: as unicas coisas conectadas a memoria sao o bus de enderecos e o bus de dados, do qual ele usa apenas 6-bits quando operando em modo texto. na figura ele dah sugestao de ligar um bit no pino INV, assim vc pode armazenar um flag de video-reverso no caractere. bom, como eu comentei, vc vai usar o pino MS para deixar em tri-state o bus do 6847 e vc pode pensar da seguinte forma: o processador soh acessa a memoria durante o retraco vertical (indicado pelo pino FS em nivel baixo), assim vc pode ligar FS no microcontrolador. quando ele ler FS baixo, ele vai ativar MS e WR, de modo que o 6847 fique em tri-state e o microcontrolador escreva na RAM. quando ele sair do retraco vertical (FS vai para nivel alto), o microcontrolador desativa MS e WR e ativa RD. assim, se o microcontrolador nao precisar fazer nada, ele pode manter RD sempre ativo por padrao. quanto ao CS, provavelmente vai sempre estar ativo, pq vc soh vai ter uma RAM e ela vao operar de forma assincrona. assim, a operacao de escrita ou leitura, efetivamente, vai ser realizada por WR e RD.
bem... acho que entendi agora. quanto ao barramento de dados eu posso conecta-los todos diretamente sem precisar usar nenhum TTL octal ne? tipo um 74LS245... daí se eu ativar o pino MS eu posso ativar também o WR assim escrevendo na VDP o caractere desejado, certo? dá pra fazer um pré teste colocando ele, a memória RAM e apartir daí poder escrever livremente na tela por meio de algum dip switch que irá simular um bus de dados?
renan-papaco escreveu:msamsoniuk escreveu:vc esta confundindo as coisas: o TRS80 utiliza um chip chamado MC6883 e ele funciona como controlador de DRAM e DMA para o 6847. esqueca o TRS80, que nao eh o seu caso, e veja a figura 17a do datasheet do 6847: as unicas coisas conectadas a memoria sao o bus de enderecos e o bus de dados, do qual ele usa apenas 6-bits quando operando em modo texto. na figura ele dah sugestao de ligar um bit no pino INV, assim vc pode armazenar um flag de video-reverso no caractere. bom, como eu comentei, vc vai usar o pino MS para deixar em tri-state o bus do 6847 e vc pode pensar da seguinte forma: o processador soh acessa a memoria durante o retraco vertical (indicado pelo pino FS em nivel baixo), assim vc pode ligar FS no microcontrolador. quando ele ler FS baixo, ele vai ativar MS e WR, de modo que o 6847 fique em tri-state e o microcontrolador escreva na RAM. quando ele sair do retraco vertical (FS vai para nivel alto), o microcontrolador desativa MS e WR e ativa RD. assim, se o microcontrolador nao precisar fazer nada, ele pode manter RD sempre ativo por padrao. quanto ao CS, provavelmente vai sempre estar ativo, pq vc soh vai ter uma RAM e ela vao operar de forma assincrona. assim, a operacao de escrita ou leitura, efetivamente, vai ser realizada por WR e RD.
bem... acho que entendi agora. quanto ao barramento de dados eu posso conecta-los todos diretamente sem precisar usar nenhum TTL octal ne? tipo um 74LS245... daí se eu ativar o pino MS eu posso ativar também o WR assim escrevendo na VDP o caractere desejado, certo? dá pra fazer um pré teste colocando ele, a memória RAM e apartir daí poder escrever livremente na tela por meio de algum dip switch que irá simular um bus de dados?
renan-papaco escreveu:renan-papaco escreveu:msamsoniuk escreveu:vc esta confundindo as coisas: o TRS80 utiliza um chip chamado MC6883 e ele funciona como controlador de DRAM e DMA para o 6847. esqueca o TRS80, que nao eh o seu caso, e veja a figura 17a do datasheet do 6847: as unicas coisas conectadas a memoria sao o bus de enderecos e o bus de dados, do qual ele usa apenas 6-bits quando operando em modo texto. na figura ele dah sugestao de ligar um bit no pino INV, assim vc pode armazenar um flag de video-reverso no caractere. bom, como eu comentei, vc vai usar o pino MS para deixar em tri-state o bus do 6847 e vc pode pensar da seguinte forma: o processador soh acessa a memoria durante o retraco vertical (indicado pelo pino FS em nivel baixo), assim vc pode ligar FS no microcontrolador. quando ele ler FS baixo, ele vai ativar MS e WR, de modo que o 6847 fique em tri-state e o microcontrolador escreva na RAM. quando ele sair do retraco vertical (FS vai para nivel alto), o microcontrolador desativa MS e WR e ativa RD. assim, se o microcontrolador nao precisar fazer nada, ele pode manter RD sempre ativo por padrao. quanto ao CS, provavelmente vai sempre estar ativo, pq vc soh vai ter uma RAM e ela vao operar de forma assincrona. assim, a operacao de escrita ou leitura, efetivamente, vai ser realizada por WR e RD.
bem... acho que entendi agora. quanto ao barramento de dados eu posso conecta-los todos diretamente sem precisar usar nenhum TTL octal ne? tipo um 74LS245... daí se eu ativar o pino MS eu posso ativar também o WR assim escrevendo na VDP o caractere desejado, certo? dá pra fazer um pré teste colocando ele, a memória RAM e apartir daí poder escrever livremente na tela por meio de algum dip switch que irá simular um bus de dados?
e uma outra coisa... para fazer um cursor piscar na tela ou dar espaço entre cada frase. ou deslocar frases inteiras... como isso pode ser feito?
renan-papaco escreveu:obrigado mestre!!! realmente ajudou e muito. sobre a parada do dip switch seria apenas para um teste prévio... algo como um para ver se vai funcionar..ew usaria um microcontrolador como um pic ou um 89S52 para fazer o controle da VDP... agora só uma ultima duvida... o endereçamento da RAM de vídeo também tem que ser feita por meios externos na hora que o pino MS ficar ativo, né? e esse endereçamento pode ser um contador de progama como um CD4040 configurado para 9 bits(selecionar endereço progressivo) ou dois 74LS161 cascateados de forma a obter-se um contador de 9 bis colocando a saída carry out num 74LS74 formando uma expansão de 1 bit q é resetada quando os dois 74LS161 chegarem a 255 novamente... ou poderia fazer essa seleção de endereçamento de forma aleatória sem usar contador incrementavel?
renan-papaco escreveu:sim...mas dá pra selecionar aleatóriamente tudo com dip switch? sendo um de 8 vias pro bus de dados num 74LS541 e outro de 10 vias também com tree state para que este sirva pra selecionar o endereço da RAM de vídeo... não tenho muita experiência com microcontroladores. se bem que no caso os pinos conectados aos barramentos D0 a D7 e os pinos de A0 a A10(vou usar uma 6116) q forem ligados ao microcontrolador serão sempre pinos de saída, já que estou projetando um periférico de saída q é o VDG... o único pino de entrada q vou ter no uC será o pino MS que irá dizer ao microcontrolador o momento certo de se fazer uma escrita na RAM... posso projetar um circuito combinacional simplificado para essa tarefa... ou terei q ler alguma coisa do barramento de dados mesmo se for apenas para escrever na tela?
é valido lembrar que o que quero fazer é apenas um circuito de testes...sabendo como funciona aí sim posso partir pro software em C para 8051 ou para um PIC16F877 ... sabendo tudo isso eu projeto uma interface de teclado e uma interface serial podendo até criar uma arquitetura vintage de um microcomputador ótimo para estudo... não é uma boa ideia?
Voltar para Circuitos Diversos
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante