----- Original Message -----

From: Frans van der Markt

To: Paul Wiegmans

Sent: Tuesday, July 08, 2003 9:18 PM

Subject: Re: Seriële interface

 

 

Hallo Paul,

 

De lijnen TXD en RXD van de UART heb ik zoals in jouw schema aangesloten, maar niet op de USART connector

maar op de busconnector van het frontprintje.

Als je het frontprintje, met de 9-polige connector naar je toe en de tekst MAIS FRONT aan de

onderkant, bekijkt zie je rechts een dubbele rij soldeerpunten van de connector waar de SBC ingestoken wordt.

Het TXD-signaal zit op het 12e soldeerpunt van onderen af geteld en links.

Het RXD-signaal zit op het 15e soldeerpunt van onderen af geteld en links.

Let op de dunne sporen die hier naar toelopen, dan vergis je je niet zo gauw.

 

Overigens heb ik al gepoogd om een Camelforth in eprom te branden (ongeveer 8 versies al),

maar tot nu toe nog geen succes.

Ik denk dat de initialisering van de Uart niet klopt en ga nieuwe routine hiervoor uitproberen.

Volgens de documentatie van de 2651 zou het als volgt moeten:

 

usart_command is BE03 en usart_mode = BE02

 

- lees usart_command   (dit reset de teller voor het moderegister naar 1)

- schrijf hex 4E naar usart_mode (moderegister 1)

- schrijf hex 0E naar usart_mode (moderegister 2)

- schrijf hex 05 naar usart_command

 

Dit is dan een instelling voor 9600 bps 8N1 asynchroon en met DTR en RTS aan en transmitter en

receiver enabled.

 

De codes voor KEY?, EMIT?, KEY en EMIT zijn waarschijnlijk wel in orde.

 

 

Er zit denk ik ook een bug in de assembler van Camelforth:

 

de instructie   X  0,  STA,     werkt goed,

de instructie   X  1,  STA,     levert een code hex 00 00 op.

 

Om dit te omzeilen zet ik nu maar steeds het X-register opnieuw.

Dit heb ik geconstateerd door de file 6809.hex (die uit chromium.scr ontstaat) om te zetten naar

bin, met een hex-bin programma. Daarna de 6809.bin file gedisassembleerd met 6809dasm om de

gegenereerde code te controleren.

 

De eprom-programmer accepteert zowel binaire als Intel hex files, dat is wel handig.

 

Bijgaand de utility hex-bin.zip voor de omzetting van hex naar bin en omgekeerd.

 

Ik houd jullie wel op de hoogte,

 

mvg

 

Frans

 

 

----- Original Message -----

From: Paul Wiegmans

To: Frans van der Markt

Cc: Karel van Joolen ; Coos Haak ; Taco van Boven ; Albert van der Horst

Sent: Monday, July 07, 2003 9:40 PM

Subject: Re: Seriële interface

 

 

Frans,

 

Ik zet je tekst op de website. Dit is nuttige informatie. (Ik zou zelf ook eens wat testen met de andere MAIS kastjes. De eerste en enige die ik op een voeding aansloot deed helemaal niet. )

 

Ik kijk even in de printbeschrijving van de MAISunit van de luchtverkeersbeveiliging. Dit beschrijft de functie van de MAISinterfaceprint (dat is de print met de linereceiver, het watchdog-IC en de aansturing van de LED-display). Dit geeft een paar dingen die misschien wat licht laten schijnen.

 

Eerste feit. de omschakelaar (de hexadecimale standen-schakelaar) heeft tot doel het inkomende en uitgaande datatransport in de gewenste richtingen te sturen. De omschakelaar bestuurt 3 bits: A, B en C, die deze functies hebben:

A=0    RXusart aan linereceiver

A=1    RXusart aan TXusart

B=0    meetpunt aan linereceiver

B=1    meetpunt aan TXusart

C=0    seriebus aan TXusart

C=1    seriebus vrij

 

Met het meetpunt wordt bedoeld pin 2 van de D9-connector.

De analoge multiplexer 4053 is het hart van de omschakelfunctie. Tot zover kort wat de printbeschrijving zegt.

 

De modeschakelaar verandert dus niet de functie van het MAISkastje als geheel, maar alleen waar de signalen naar binnen en naar buiten komen.

 

Tweede feit. Nu had ik gezien dat de Tx LED en Rx LED verbonden waren met de usart op het controllerboard. Het schema bevestigt dat. De twee lijnen gaan van de usart nergens naartoe dan naar de analoge multiplexer en naar 2 transistors voor de aansturing van de LEDs.

 

Die zouden dus gewoon moeten knipperen als gevolg van de signalen op de usart. Maar het is misschien zo dat deze LEDs continu aanstaan en bij activiteit op de TxD of RxD uitgaan.

 

Een ding begrijp ik nog niet. (Hoe) Heb jij de TTL-zijde van de MAX232 verbonden op de frontprint?

Volgens het schema voert pin 19a van de plug van de frontprint aan de SBC4C de TxD van de usart.

Pin 19b voert de RxD van de usart.

Als je daarvan een beschrijving kunt geven, dan hebben we een complete beschrijving hoe deze MAIS kastje omgecat kunnen worden.

 

groeten,

Paul

 

----- Original Message -----

From: Frans van der Markt

To: Paul Wiegmans

Cc: Karel van Joolen ; Coos Haak ; Taco van Boven ; Albert van der Horst

Sent: Sunday, July 06, 2003 1:01 PM

Subject: Seriële interface

 

 

 

Hallo Paul,

 

Gisteren heb ik aardig zitten knutselen. Ik heb jouw schema van de seriële interface met de MAX232

op een klein printje gebouwd en met draadjes overal op aangesloten.

Het printje van ongeveer 2,5 bij 4 cm zit met een boutje en afstandsbusje gemonteerd

op het frontprintje, juist achter de 9-polige connector en tussen de 2 busconnectors in.

In het frontprintje heb ik een paar gaatjes geboord, één voor de bevestiging en één voor het doorvoeren

van 2 draden naar de busconnector waar het CPU-bord ingestoken wordt. Dat is voor de

TxD en RxD naar de USART.

De ground en +5 V zijn via draadjes aan te sluiten op de frontprint solderingen bij het Hex-display (5V) en

bij de reset switch (ground).

De twee sporen naar de 9-polige connector heb ik doorgekrast.

De pinnen 2,3 en 5 van deze connector aangesloten op het printje.

Verder op deze 9-polige connector de pinnen 7 en 8 doorverbonden (RTS en CTS) en

de pinnen 4 en 6 (DTR en DSR). Daarmee kan terminalsoftware bepalen of de kabel aangesloten is.

Ook heb ik op jouw aanraden alle sporen naar de 4053 chip op de I/O-print doorgekrast.

 

Verder heb ik een andere, steviger voeding (5V 2A) aangesloten op de connector van het CPU-bord met

twee draden voorzien van een soort stekkertje dat op de pinnen van de connector gestoken kan worden.

Pin 1 is de 0 en pin 31 de +5V.

Alleen het CPU-bord trekt al ruim 600 mA dus de voeding moet minimaal 1 A leveren.

 

Via een 9-polige female-female convertor kan ik de kabel die voor het ATS-bordje gebruikt wordt

(recht doorverbonden) nu ook toepassen om het MAIS kastje op de PC aan te sluiten.

 

Toen heb ik het kastje aangezet en aangesloten op de PC en hyperterminal gestart.

In de stand F van de draaischakelaar op het MAIS-kastje blijkt er ongeveer 2 maal per seconde

de code Hex 00 00 00 00 80  uitgezonden te worden. Op het scherm zie je dan allemaal tekens

ç verschijnen, maar met een hex-editor kun je de in een file bewaarde data precies bekijken.

Het lijkt er dus op dat de TxD vanaf MAIS werkt. Waarschijnlijk is die stand F een soort testmode.

De andere kant op werkt waarschijnlijk ook, maar ik weet niet wat ik moet sturen om een reactie van

het kastje te krijgen. Verdere analyse van de disassembly is daarvoor nodig.

Ik begin me nu ook af te vragen wat dit kastje precies doet.

 

De ledjes TxD en RxD blijven echter gewoon aan en reageren niet op receive en transmit.

Waar moet ik de TxD en RxD van de MAX232 op aansluiten, zodat ook die ledjes mee gaan knipperen?

 

Met vriendelijke groeten,

 

 

 

Frans van der Markt

 

----- Original Message -----

From: Frans van der Markt

To: Albert van der Horst ; Paul Wiegmans ; Taco van Boven ; Coos Haak ; Karel van Joolen

Sent: Tuesday, July 08, 2003 11:32 PM

Subject: Eerste Forth werkend!!!!!!!

 

 

Hallo allemaal,

 

 

Vanavond om 23:15 is de eerste CamelForth werkend op mijn MAIS-kastje!!!!!!!

Zie bijgaande screendump.

 

Het geheim zat hem in de initializering van de UART.

 

De juiste codes zijn:

 

- lees usart-command

- schrijf hex 4E naar usart-mode

- schrijf hex 7E naar usart-mode

- schrijf hex 15 naar usart-command

 

 

Dits is 9600 Bd, no parity, 8 bits en gebruik van de interne baudrategenerator.

Ondanks de aanwezigheid van een kristal bij de usart, werkt de externe klok niet.

Misschien moet daarvoor een strapje omgezet worden.

Maar goed,  de interne klok werkt ook.

 

Vriendelijke groeten,

 

Frans van der Markt

 

 

=================================================================================