synchr. 2-Drat schnittstelle

#1344689
Lesenswert?

Hallo,
ich wollte eine FIP Anzeige durch ein LCD ersetzen. Habe nun meine 
Schaltung an das STK500 angesteckt und nur ein Teilerfolg erziehlt. 
Meine Schaltung sollte die ser. 8-Bit Parallel wandeln, da ich so einen 
modus nicht für den Usart im 8515 gefunden habe. Nach dem Teilerfolg 
habe ich das serielle Signal noch mals mit dem LA angesehen und 
festgestellt, das weitere pulse von 1-3 µs (Pulse habe keine Bedeutung 
hinsichtlich stop, parity usw.) meine Schaltung irretieren. Somit ist 
meine Schaltung nicht Brauchbar. Da serielle Data und Clk werden von 
einem anderen mc zur anzeige gesendet. Da aber der mc und der controller 
der Anzeige nur mit 600kHz getaktet werden, gehe ich davon aus, das 
dieser die Pulse gar nicht gemerkt hat.
Ich bitte euch nun mir mit etwas Code zu helfen, da ich noch Anfänger 
bin.
Signal:
1. Sequenz ca. 120µs da werden 8 Bit übertragen,
2. Sequenz ca. 220µs pause
3. Sequenz ca. 120µs ebenfalls 8 Bit
4. Sequenz ca. 220µs Pause
5. usw.
Die Zeit swischen 2 clk ist größer gleich 7µs
Der Clk Puls ist min. 5µs wenn kleiner = Störung Ich habe dies 
beobachtet, bei einem clk der 12µs lang war aber mitten drinne zwei 
kleine 1µs unterbrechungen aufwies, die meine Schaltung leider als 
zusätzliche clk sieht. Nach dem letzten Bit zwingend eine Pause da auch 
hier mist kommt.
Ich denke man kann die mit interupt machen, wo der clock anliegt, und 
einen anderen PIN an Port B oder auch D wo man das Bit zu diesen 
Zeitpunkt erfasst. Dies muss das bis 8 in ein reg rein und bis 8 rotiert 
werden, danach uss der Wert irgendwo abgelegt werden.
Wie gesagt, ich bin Anfänger und brauche euere Hilfe, ich abe noch 8 
Tage Urlaub und würde mein Gerät gerne wieder ablesen können..... Ich 
spendiere auch gerne ein six pack :)
ps. Die 8 Bit Daten sind abwechselnd Zeichenpositiion und Zeichenwert 
(ascii)
#1345061
Lesenswert?

habe hier mal meinen geistigen Bluterguss angehängt. loop220_1 soll ein 
delay von 220µs machen. 1. Versuch, passiert nichts.
noch zu rerklärung, mein LCD bekommt seine Zeichen, indem permanent ein 
speicherbereich ausgelesen wird. dieser Programmteil soll nicht anderes 
machen, indem es 8-bit enliest, überprüft ob bit 7 gesetzt ist (pos data 
= Speicheradresse) wenn nicht dann ist es das ASCII Zeichen, was an die 
POS geschrieben werden soll.


int0_1:
      ldi temp1, 0x00
      in temp1, portb
      andi temp1, 0x01
      or data, temp1
      lsl data
      brcs achtbit
      rcall delay4us
      reti

achtbit:
      cli
      sbrs data, 7
      rcall datenda
      mov pos, data
      ldi temp1, 0x01
      sts $0170, temp1
      ldi data, 0x02
      ldi temp1, 0x34
      rcall loop220_1
      sei
      reti
datenda:
      mov yl, pos
      st y, data
      ldi data, 0x02
      ldi temp1, 0x34
      rcall loop220_1
      sei
      ret
#1345851
Lesenswert?

Ich weis nicht ob es sinnvoll ist, da fehlt mir die erfahrung, diese 
verzweigung scheint zu funktionieren. die achtbt werden erst beim 8. 
interrupt angesprungen (theoretisch) nach dem data solange nach lings 
geshihtet wird bis das carry flag gesetzt wird.habe vergessen, initial 
is data 0b00000010. ich habe bei delay4us ein zeichen auf dem display 
ausgegeben und bei achtbit. diese kommen auch, aber bei datenda, kommt 
nichts.
#1346371
Lesenswert?

Hi,
die datei wurde mit dem la Zeroplus aufgezeichnet, die software dazu 
gibt es als demo zum download, da kann man dann diese datei öffnen . LA 
ist ein 16032.
SPI dachte ich auch zuerst, aber ich kenne mich da nicht so aus, ich 
weis halt nur, das der sender über zwei normale ports (ohne 
sonderfunktion) mit einem usart im 4 Bit MC 7538A redet.
Die probleme sind halt die pulse (einzelne) zwischen durch.

danke

claus
Angehängte Dateien:
#1346380
Lesenswert?

Hallo,
FIP sind ne art VFD (Vacuum Fluressenz Display) ohne Controller. Dieses 
FIP was ich ersetzen muss hat 32 Zeichen a 14 Seqmente. Der Controller, 
der diese Anzeige steuert ist defekt.

Ich habe einen ausschnitt aus meinem Code hier eingestellt. kann auch 
gerne den rest posten, ist nix geheimes, und sollte dieses projekt 
funktionieren, freuen sich sicher auch andere.

gruß

claus

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren