MSX Placa Adapt Placa Buffer II





Quando precisei conectar a minha placa Buffer II ao meu MSX, afim de fazer algumas experiências com a porta paralela do MSX, percebi que a coisa não seria assim tão simples. A placa Buffer II foi desenvolvida com o intuíto de facilitar o uso da porta paralela de um PC e não de um MSX. Existem diferenças entre estas portas e consequentemente eu não conseguiria utilizar todos os recursos presentes na placa. Porém isso, para mim, estava fora de cogitação. Era preciso dar um jeito. E foi o que eu fiz, criando essa placa que agora apresento. Divirta-se!!!

Obs.: Eu não vou aqui, falar novamente sobre a Placa LPT PROG (placa Buffer II). Para conhecer mais sobre o projeto, clique aqui.


As diferenças entre a porta paralela do PC e do MSX

Muito contrário do que se pensa, a porta paralela do MSX (doravante chamarei apenas de porta LPT ou ainda, apenas LPT) é um tanto diferente da porta paralela do PC.

Num PC, ela é sempre encontrada através de um conector DB25 pinos fêmea como mostra a figura abaixo:




Já no MSX ela é um tanto diferente. O grupo que o criou, lá no início dos anos 80 (1983) escolheu para a porta LPT um conector Centronics 14 pinos fêmea. Aqui no Brasil, o Hotbit da Sharp seguiu a risca esse padrão, mas o Expert da Gradiente não. Veja abaixo:

Conector presente no Hotbit


Pin Name Type Description
1 PSTB O Strobe
2 PDB0 O Data 0
3 PDB1 O Data 1
4 PDB2 O Data 2
5 PDB3 O Data 3
6 PDB4 O Data 4
7 PDB5 O Data 5
8 PFB6 O Data 6
9 PDB7 O Data 7
10 NC
Reserved
11 BUSY I Printer is busy
12 NC
Reserved
13 NC
Reserved
14 GND
Signal Ground

Conector presente nos Expert's


Pin Name Type Description
1 PSTB O Strobe
2 GND
Signal Ground
3 PDB0 O Data 0
4 GND
Signal Ground
5 PDB1 O Data 1
6 GND
Signal Ground
7 PDB2 O Data 2
8 GND
Signal Ground
9 PDB3 O Data 3
10 GND
Signal Ground
11 PDB4 O Data 4
12 GND
Signal Ground
13 PDB5 O Data 5
14 GND
Signal Ground
15 PDB6 O Data 6
16 GND
Signal Ground
17 PDB7 O Data 7
18 GND
Signal Ground
19 NC

20 GND
Signal Ground
21 BUSY I Printer is busy
22 GND
Signal Ground
23 NC

24 GND
Signal Ground
25 NC

26 NC



Note que os conectores na saída de cada máquina é diferente, inclusive no número de pinos, e sendo assim você precisa de um cabo especifico para cada uma delas. E hoje eles são raros e bem caros. Por isso optei por montar o meu. Precisei apenas de um pedaço de cabo flat com 15 vias, um conector Centronics 14 vias macho e outro Centronics 36 vias macho. Então foi só ligar ambos os conectores ao cabo conforme a "tabela à esquerda" (Hotbit, no meu caso) e a tabela mais abaixo (Centronics padrão - impressoras paralelas no geral):

Pin No (36 pin) Signal name Direction Register - bit
1 Strobe In/Out Control-0
2 Data0 Out Data-0
3 Data1 Out Data-1
4 Data2 Out Data-2
5 Data3 Out Data-3
6 Data4 Out Data-4
7 Data5 Out Data-5
8 Data6 Out Data-6
9 Data7 Out Data-7
10 Ack In Status-6
11 Busy In Status-7
12 Paper-Out In Status-5
13 Select In Status-4
14 Linefeed In/Out Control-1
32 Error In Status-3
31 Reset In/Out Control-2
36 Select-Printer In/Out Control-3
19-30,33,17,16 Ground - -

O resultado?! Sim, funcionou! Olha ai meu cabo com a revista Clube MSX - não conhece essa revista??? Ela é fantastica!!!! Clique aqui para saber mais!




A falta de pinos na LPT do MSX

Quando pensei em usar a placa Buffer II em minhas experiências já sabia que existia um "probleminha". A porta LPT do MSX tem um número menor de pinos em relação a porta LPT do PC. E eu desenhei a placa Buffer II pensando em usá-la com um PC e não com um MSX. Dessa forma eu usei todos os pinos de entrada e saída existentes na LPT do PC!!! Um total de 17 pinos, sendo 12 de saída (Dados e controle - Strobe, Line Feed, Reset e Select-Printer) e 5 pinos de entrada (Ack, Busy, Paper-Out, Select e Error). E no MSX temos apenas 10 pinos, 9 de saída (dados e Strobe) e apenas 1 de entrada (Busy).

E no PC, dependendo da configuração no setup da máquina, a linha de dados da LPT pode ser utilizada como entrada também e no MSX não!!! Consultando o esquema elétrico do Hotbit dá para notar a presença de um 74LS273 (8 flip-flops tipo 'D' com Clear), ou seja, no MSX a linha de dados é sempre "saída"!

Bom, eu teria de adaptar a pinagem da porta LPT do MSX de maneira que eu conseguisse utilizar a placa Buffer II em minhas experiências. Como??? Simples, "criando" os pinos que não existiam na porta LPT do MSX!

Eu fiz isso adicionando um circuito entre a LPT do MSX e a placa Buffer II.





O circuito - como funciona



A alimentação do circuito é feita por uma fonte externa. Não existem pinos de alimentação na porta LPT do MSX. Dessa forma inseri no circuito um regulador para 5VDC (REG1), alguns capacitores de filtro (C6, C7, C8 e C9), um diodo (D1) de proteção contra inversões na entrada de alimentação (CN3) e um indicador de "ligado" (LED1).

A entrada da placa é feita através de um conector Centrônics 36 vias fêmea (CN1), para poder utilizar o cabo da impressora do próprio MSX (além do que o conector de 36 vias é muito mais fácil de ser encontrado do que um de 14 vias).

A linha de dados é levada a U1, um 74HC573 (Octal Latch tipo 'D'). Esse CI é utilizado aqui como "buffer" para proteger a linha de dados e consequentemente a porta LPT do MSX e ele próprio. Os pinos de Strobe e Busy da porta são conectados a U5, um 74LS32 (4 portas tipo AND - duas entradas, uma saída cada). A configuração adotada permite que esse CI também atue como um "buffer" para a porta LPT.

Os CIs U2 e U3 são CI's do tipo Shift Registers de 8 bits com latches (Serial-in, Parallel-out) e o controle dos mesmos é feito via pinos D4, D5, D6 e D7. Assim foi possível "criar" pinos para a porta paralela do MSX que não existiam. U2 assume agora a parte de dados de uma LPT de um PC e U3 a parte de controle de saída (
Strobe, Line Feed, Reset e Select-Printer).

Note que o pino de Strobe da porta LPT do MSX controla o latch do 74HC573, permitindo que o envio dos dados só aconteça quando esse pino for ligado.

As entradas da placa Buffer II e portando de uma porta paralela de um PC
(Ack, Busy, Paper-Out, Select e Error) estão ligados a U4, um Shift Registers de 8 bits (Parallel-in, Serial-out). O controle deste CI é feito através de D1 e D2 da porta LPT do MSX. E sua saída serial foi ligada ao pino de Busy (entrada) da porta LPT do MSX.

O outro lado da placa termina em um conector tipo DB25 macho (CN2), permitindo uma conexão perfeita com a placa Buffer II (veja a imagem mais acima).

Com esse arranjo simples, 10 pinos se transformaram em 17!!!


Montagem

O desenho do lay-out é mostrado logo abaixo. Fiz essa placa utilizando o processo térmico descrito nesse site. Clique aqui para saber mais a respeito.



Como é possível notar existe apenas um layer, o que facilita bastante a montagem. Com isso os "famigerados" jumpers são inevitáveis (tá, sei que sempre tem alguém que vai dizer que faria sem nenhum jumper ou com um número menor... blá blá blá... tá mas para mim não são um problema!).

Comece por montar os jumpers, o resistor R1 (220R a 330R), em seguida os capacitores cerâmicos e os de poliester. Esses componentes não são polarizados. Os capacitores C6 e C9, além do diodo D1 merecem mais cuidado, pois são polarizados.

Eu usei soquetes para todos os CIs, assim fica mais fácil a troca dos mesmos se necessário. Cuidado para não inverter os CIs na montagem (caso decida por soldá-los diretamente na placa, ou ainda durante a sua inserção nos soquetes).

Um outro cuidado a ser tomado diz respeito a montagem dos CIs na placa. U2, U3, U4 e U5 tem o memo número de pinos e montá-los trocados não vai ser legal. Cuidado aqui ok.

Os conectores CN1 e CN2 são do tipo para PCI 90º, mas você também poderá utilizar os tipo PCI 180° ou ainda os tipo solda fio. Tudo depende de como você deseja que sua montagem final fique (acabamento).

O regulador não precisa de dissipador de calor já que a corrente drenada pelo circuito é bem baixa, mas se quiser montar um entre o mesmo e a placa fique a vontade. Há espaço para isso.


Prova e uso

"Prudência e canja de galinha não faz mal a ninguém" já dizia o "velho deitado" (rsrsrs). Após sua montagem, verifique-a sem pressa. Faça isso com calma. Ao longo dos meus anos em eletrônica ví muito "apressadinho" derreter circuitos, e depois ficar inventando desculpas dizendo que "tinha certeza absoluta que tudo estava certo, que a montagem era impecável", ou aquela outra que diz que "a culpa é do circuito que têm erros", e blá,  blá, blá, etc, etc. Vá com calma nessa parte. Sirva-se de um café, chá, suco ou outro (nada de alcool ok!). Verifique as trilhas, soldas, tudo! Você vai ficar surpreso com o que se aprende verificando uma montagem!


Conclusão

Agora que você tem certeza absoluta de que tudo está certo é só alimentar o seu circuito. Os testes são simples e você vai precisar de um MSX e uma placa Buffer II montada (e testada, claro!!!). Já tem isso?!?!? Legal, continue a leitura dos itens presentes sobre as minhas "Experiências com a porta paralela do MSX".

Sorte e sucesso com sua montagem e experiências!


Downloads

- Circuito eletrônico
- Layout do circuito impresso (não invertido, para uso pelo processo térmico)
- Lista de componentes (Sério?! Use o circuito e imagens presentes nesse artigo, está tudo lá!)





Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor.