www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik problem mit der hama-mmc-karte


Autor: bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo, ich habe eine hama 128mb und eine kingstorm128mb.

mit diesen werten unten betreibe ich eine kingstorm-karte die 
funktioniert wunderbar.

wenn ich eine hama-karte einlege funktioniert die erst, wenn ich bei 
cmd(5) den wert von &hff auf "0" ändere.

und das curiose ist alle werte werden mit 2 multipliziert. wenn ich den 
datenwert 65 eingebe wird 130 in den sector reingeschrieben und wenn ich 
zb den wert 35 eingebe steht inder hama-karte der wert 70 drin. weiss 
nicht mehr weiter.

idle-mode:
Cmd(0) = &H40
Cmd(1) = 0
Cmd(2) = 0
Cmd(3) = 0
Cmd(4) = 0
Cmd(5) = &H95

init:
Cmd(0) = &H41
Cmd(1) = 0
Cmd(2) = 0
Cmd(3) = 0
Cmd(4) = 0
Cmd(5) = &Hff

schreiben :
cmd(0)=&h58
cmd(1)=0
cmd(2)=0
cmd(3)=0
cmd(4)=0
cmd(5)=&hff

lesen:
cmd(0)=&h51
cmd(1)=0
cmd(2)=0
cmd(3)=0
cmd(4)=0
cmd(5)=&hff

Autor: bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hardware : atmega32 8mhz mit mmc-karten-halter.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> und das curiose ist alle werte werden mit 2 multipliziert.

Das wuerde mich vermuten lassen das du bei der Programmierung des 
Treibers
das Datenblatt der Karte nicht aufmerksam genugt studiert hast und dich 
nicht genau an das Timing haelst. (alle Daten um 1Bit verschoben)
Oder du verwendest den Treiber den jemand anderer geschrieben hat ohne 
ihn zu verstehen. Auch nicht gut.

Mit das erste was ich in meinen Anwendungen mache ist es den CRC 
einzuschalten. Kann ich nur weiterempfehlen. So bekommt man wenigstens 
ein winziges Minimum an Datensicherheit.

Olaf

Autor: bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie wird dann das timing am pc für die karte bereitgestellt? da laufen 
alle karten wunderbar ohne störung, nur nicht am microboard.

Autor: tommi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte auch mit einer Hama-Karte Probleme. Über 20 andere Karten 
liefen ohne Probleme. Ich habe dann eine Weile rumgemessen und habe 
festgestellt, dass sich die Hama-Karte nicht exakt an die Timings hält. 
Ich empfehle Dir, die Timings der Karte großzügig zu handhaben.

Ob Dein Problem, dass Du alles um ein Bit geshiftet bekommst, damit 
zutun hat, kann ich Dir mit den wenigen Infos von Dir leider nicht 
sagen.

Autor: bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo, dein tip ist der entscheidenden : timing grosszügig handhaben !!!

hatte jetzt die karte gestestet mit : fastavr-basic, winavr-c und 
bascom.

und natürlich das langsamste bzw das ungenauste in den zeitbefehlen, 
dieses bascom funktioniert.

nur winavr-c und fastavr , dieses haben ein sehr genaues timing, hier 
funktionieren nicht alle karten.

wo muss man denn nun das timing grosszügig halten?

mfg

Autor: bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dieses sind die shift in fastavrbasic , shift_i = shiftin und shift_o 
ist shiftout, mit der kingstorm-karte geht es:

Sub shift_i()
$Asm
    ldi    r24,0x08
_Si2:  clc
    sbi    PORTB,3
    sbic  PINB,2
    sec
    rol    zl
    cbi    PORTB,3
    dec    r24
    brne  _Si2
    sts din,zl
$EndAsm
End Sub

Sub shift_o()
$Asm
        lds    zl,dout
    ldi    r24,0x08
_So22:  rol    zl
    brcc  _So11
    sbi    PORTB,1
    rjmp  _So33
_So11:  cbi    PORTB,1
_So33:  sbi    PORTB,3
    dec    r24
    cbi    PORTB,3
    brne  _So22
    cbi    PORTB,1
$EndAsm
End Sub

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.