mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Gleich mehrfach ins Knie geschossen


Autor: Thomas Burkhart (escamoteur)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hab in meinem jugendlichen Leichtsinn für die anhängende Schaltung 
gleich ne Platine machen lassen.

Bei der Inbetriebname musste ich jetzt feststellen, dass ich mir gleich 
mehrfach ins Knie geschossen habe.

Ich dachte, dass ich den Reset-Pin als Ausgang verwenden könnte, wusste 
aber nicht, dass dann ISP nicht mehr geht.

Ok, dachte ich nun, keine Katastrophe, ich kann ja den CS des 
LED-Kontrollers einfach an POWERON hängen, da ich ja sonst kein 
SPI-Device verwende. Beim genaueren Studium des Datenblatts des 
Kontrollers (Seite 8) lese ich un, dass das CSN Signal nicht einfach als 
CS dient, sondern zu einem bestimmten Zeitpunkt gesetzt werden muss, da 
der Kontroller sonst die Werte gar nicht übernimmt wenn ich das richtig 
verstehe.

D.h. ich brauche defintiv ein getrenntes CSN dass den Controller zu 
Datenübernahme bewegt.

Ich sehe jetzt folgende Möglickeiten:

1. Einen Bootloader zu verwenden und ein Serieles Kabel anlöten, was mir 
eigentlich nicht ganz so gefällt, zumal das Programmieren per ISP doch 
ganz komfortabel ist.

2. Ich schließe den MISO Pin nicht an den LED-Controller (ausgelesen 
kann sowieso nichts werden) sondern verbinde den MISO des AVRs mit dem 
CSN und dann folgendes Vorgehen um neue Werte zu setzen:

1. SPI Interface aktivieren
2. Daten an LED-Controller schicken
3. SPI Interface ausschalten und PB1 wieder als Ausgang schalten und 
damit das CSN-Signal geben

Meint Ihr das könnte funktionieren? Oder hab ich das mit dem CSN Signal 
falsch verstanden und kann es einfach die ganze Zeit auf High setzen?

Gruß

Tom

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum hängst du ihn nicht um auf PB1,
selbst PB3 könnte gehen, es gibt nur Knackser im Piezo.


[AustriaMicroSystems]
Toole Firma, Datenblatt nicht downloadbar, tja, wenn man keine Kunden 
will und pleite gehen will, überlässt man das Geschäft denjenigen, die 
es besser können.

Autor: Gastofatz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hardware-SPI nicht verwenden und den AS1106 einfach durch passendes, 
softwareerzeugtes Pingewackel ansteuern? Ist ja mit ein paar simplen 
Zeilen Code erledigt. Dann hast Du völlige Wahlfreiheit bei den Pins.

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Warum hängst du ihn nicht um auf PB1,
> selbst PB3 könnte gehen, es gibt nur Knackser im Piezo.

PB1 geht doch nicht wenn ich den hardware SPI anhabe.

Hatte das Datenblatt doch angehängt.

Gruß
Tom

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gastofatz schrieb:
> Hardware-SPI nicht verwenden und den AS1106 einfach durch passendes,
> softwareerzeugtes Pingewackel ansteuern? Ist ja mit ein paar simplen
> Zeilen Code erledigt. Dann hast Du völlige Wahlfreiheit bei den Pins.

Stimmt, das war die dritte Möglichkeit, hatte ich oben völlg vergessen.
Ist dass nicht wegen des Timmings für das CLK Signal etwas aufwendig? 
Hab ich bisher noch nie gemacht.

Gruß
Tom

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> [AustriaMicroSystems]
> Toole Firma, Datenblatt nicht downloadbar, tja, wenn man keine Kunden
> will und pleite gehen will, überlässt man das Geschäft denjenigen, die
> es besser können.


Wieso? Ich konnte es gerade ohne Probleme runterladen

http://www.austriamicrosystems.com/eng/Products/Li...

Autor: Gastofatz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wiewaswo? Der Baustein übernimmt den Zustand auf der Data-Leitung, wenn 
auf der Clock-Leitung ne L-H-Flanke auftritt (nennt sich "synchrone 
Übertragung"). Wie gleich- oder ungleichmäßig diese Flanken kommen, 
interessiert niemand. Daher ist das Timing ausgesprochen UNkritisch. Das 
ist sozusagen der Gegenwert, den Du für die Clockleitung bekommst 
(asynchrone Übertragung: nur eine Leitung, aber dafür genau 
einzuhaltendes Timing).

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D.h. egal auch wenn ich schnarchlangsam sende sollte der Baustein das 
immer noch verstehen? Nur zu schnell darf ich wahrscheinlich nicht sein. 
Werde ich einfach probieren. Ist wahrscheinlich wirklich die 
vernünftigste Lösung

Gruß
Tom

Autor: Gastofatz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest die Daten problemlos mit 1 Hz per Hand reintakten g

Ich würds so proggen, dass die Clock-Frequenz irgendwo zwischen 10 kHz 
und 50 kHz liegt.

Na dann viel Spaß.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wieso? Ich konnte es gerade ohne Probleme runterladen

Wenn ich hier auf Datasheet Downlaod klicke, kommt nichts:
http://www.austriamicrosystems.com/eng/Products/Li...

> PB1 geht doch nicht wenn ich den hardware SPI anhabe.

Du musst doch nur nach dem Aussenden der 16 bit per SPI ein mal PB1 oder 
PB3 togglen.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Wenn ich hier auf Datasheet Downlaod klicke, kommt nichts:
> http://www.austriamicrosystems.com/eng/Products/Li...

Geht hier ohne Probleme

Autor: Peter -NL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Wenn ich hier auf Datasheet Downlaod klicke, kommt nichts:
> http://www.austriamicrosystems.com/eng/Products/Li...

Geht hier ebenfalls problemlos.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das scheint ein MAX7219-Clone zu sein.


Peter

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Du musst doch nur nach dem Aussenden der 16 bit per SPI ein mal PB1 oder
> PB3 togglen

Ich denke ich kann PB1 nicht als IO verwenden wenn SPI aktiv ist, wie 
soll ich dass dann schalten?

PB3 will ich nicht, da ich nicht den Beeper unabhängig halten will.

Also von Hand :-)


[AustriaMicroSystems]
Ich hatte den Controller zufällig bei RS gefunden, da ich mir nicht 
sicher war ob MAXIM mir die Samples wirklich schickt (jetzt hab ich hier 
gleich 4 rumliegen)

Hab mich auf der Webseite von AustriaMicroSystems mal etwas umgeschaut, 
die haben ja ganz interessante Sachen, unter anderem einen ARM9 µC mit 
SD-Card Interface

Gruß
Tom

Autor: Thomas Burkhart (escamoteur)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

funktioniert prima.

Gruß
Tom

Autor: Gastofatz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigenbau-angesteuert oder mit Hardware-SPI?

Auf jeden Fall muss das so aussehen.

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
void writeCommand(uint16_t toSend)
{
  uint16_t mask  = 1 << 15;

  for(int i = 0; i<16; i++)
  {
    if (toSend & mask)
    {
      PORTB |= (1<<MOSI);
    }
    else
    {
      PORTB &= ~(1<<MOSI);
    }
    _delay_us(10);

    PORTB |= (1<<SCL);
    _delay_us(10);
    PORTB &= ~(1<<SCL);
    mask = mask >>1;
  }
  PORTB |= (1<<LOAD);
  _delay_us(10);
  PORTB &= ~(1<LOAD);
}

:-)

Tom

Autor: Gastofatz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja super... hätts nich besser machen können g

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.