56 bits ingang en 56 bits uitgang via seriŽle poort op Amiga / AmigaOne / Pegasos .



Status : 29 maart 2009

- Na in het bezit te zijn van een K8000 heb ik I2C an het onderzoeken geweest en in test achter de UART met schakelsnelheid van ruim 8 maal per seconde . De bitsnelheid ligt rond 2500 bit/sec. K8000 in actie
- het ontwerp blijft op gaatjes print , een masterkaart , een aparte kaart(en) voor input een aparte kaart(en) voor uitput .
- een experimenteel bouw is aan de gang de eerste schrijftesten en leestesten zijn goed , de hoofdlijnen in de code van C zijn bijna klaar .
- Baudrate is 38400 .
- ik ben het prototype aan het inbouwen de rest laat te lang op zich wachten in test op de Pegasos en de Amiga 1200 .
- de defintieve kaart in aanbouw Masterkaart op volgend Plan .

Het protocol.

Met I/O kaart op een computer ben ik begonnen op c64 . Met poke en peek kwam je een heel eind ook op de A1200 kon dat nog . Eigenlijk is dat een afwijking op het normale gebruik van een poort . Zoals het ook is op een PC windows computer waar een DDL wordt geschreven om kaarten te sturen . Natuurlijk de gemakkelijke manier als je alle info over de computer hebt (en begrijpt ). Om die rede zal een in de handelzijnde I/O kaart niet zondermeer werken op de Amiga .
Om daarvan af te komen ontwerp ik zelf een kaart , waar geen aparte drivers (device) voor nodig is . de keuze is gevallen op de seriele poort . Alleen was het even uitzoeken hoe het werkt . EEN probleem het hart van de schakeling UART com8017 is moeilijk verkrijgbaar , al naargelang hoe oud de vooraad is tussen 10 en 40 Euro , ik heb er enkele in extra vooraad aan 40 euro .

Serieel dat is alle data achter elkaar op een draad sturen ( met PC kaarten gebeurd dit ook MAAR met klokpulsen ) aan een vastgestelde snelheid . Universele Asynchrone reciever en transmitter afgekort UART . Een UART zit ook altijd aan de andere zijde (computer kant ) van de seriele poort .
Asynchrone - dus er wordt gewacht op een start (startbit ) de normale lijn is hoog , en wordt dan laag gedurende 1 bit tijd , vervolgens komen er 8 bits hoog is een 1 laag een nul , daarna volgt een parbit staat hier even ingesteld , en EEN stopbit is altijd hoog . vlak hierachter mag weer een startbit komen .
In deze schakeling gebruik ik twee bytes ( een byte is 8 bits ) dus samen 22 bits worden er verzonden , waarvan er 2x8 bruikbaar zijn .
de eerste 8 bits gaan gebruikt worden voor het adres ( welk ic moet de data ontvangen of geven ). tweede 8 bits is de dat dat in het IC moet ( bij een lees operatie is waarde van geen belang )
De even adressen worden gebruikt om te schrijven de oneven om te lezen . na het verzenden van een oneven adres en data gaat de UART zelf dat verzenden een 8 bitswoord met start en parbit en stopbit , hetgeen dan de computer inleest .
in theorie zijn er 256 adressen mogelijk x 8 is 2048 lijnen . in de praktijk ga ik bekijken of ik twee IC's kan plaatsen van 4 bit als dat kan kom ik op 112 bit in en 112 bits uit . Maar ja hoeveel heb je nodig ??? metwat denkwerk kan je nog ver uitbreiden , maar dan het het plaatsen van data iets meer tijd nodig .

De schakeling.

- De schakeling heb ik gebouwd op een Eurokaart 100 x 160 .

De masterkaart. foto
Deze kaart verwerkt de seriele dat tot 8 bit data uit en 8 bit data in en 14 stuursignalen .
De datkaart.
Deze kaart word naar keuze bestukt naargelang hoevel in en uitgangen er nodig zijn , kan ik nog meedrer kaarten bijzetten in een soort cascade.

History.

In 1990 ben ik begonnen op de c64 en daar met poken en (peek) 3 poorten gebruikt voor I/O . C-64
In 1995 heb ik dat allemaal verder gedaan op de Amiga met de parallel poort , zoals beschreven in juli/aug 1988 . blad 1 blad 2
In 2006 - 2009 test ik serieel op de Pegasos en A1200 , Op de A1200 zal ik in AmosPro blijven programmeren .

Planning.



Radio Bulletin april 1987 . door HJC OTTEN . UART.pdf
- 24 uitgangen en 24 ingangen die 0 of 5 volt kunnen mogen bedragen . via de seriele poort .
De schakeling is opgebouwd met een UART de com 8017 deze zou nog verkrijgbaar zijn aan 40 euro .
de kaart kan zonder probleem op elke computer met seriele poort werken.

voor de Pegasos schrijf ik de software in C , deze zal ook in 68k getest worden op de A1200 .

Het I2C deel .

Ik ga mijn seriele kaart voorzien van 4 I2C poorten , gaan niet bijzonde snel werken maar beter IETS dan NiKS , IETS kan beter worden en NIKS blijft NIKS .
Om te schrijven ga ik gebruik maken van adres 2 en lezen op adres 1 .
de kaart werkt nu op 38400 baud , kan grofweg 1000 keer per seconde een verandering doen op de uitgang .
de keuze voor dit opzet is , het te kunnen gebruiken op alle Amiga's denk WinUAE de Pegasos en AmigaOne .

Test - Code Amos Code Amos
Test - Code C Code C

Test - Prog (Amos) Prog Amos
Test - Prog Morphos Prog C MUI
Test - Prog 68K Prog C MUI