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
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.
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.
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
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
> [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/Lighting-Management/LED-Driver-ICs
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).
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
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ß.
> Wieso? Ich konnte es gerade ohne Probleme runterladen Wenn ich hier auf Datasheet Downlaod klicke, kommt nichts: http://www.austriamicrosystems.com/eng/Products/Lighting-Management/LED-Driver-ICs/AS1107 > 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.
MaWin schrieb: > Wenn ich hier auf Datasheet Downlaod klicke, kommt nichts: > http://www.austriamicrosystems.com/eng/Products/Li... Geht hier ohne Probleme
MaWin schrieb: > Wenn ich hier auf Datasheet Downlaod klicke, kommt nichts: > http://www.austriamicrosystems.com/eng/Products/Li... Geht hier ebenfalls problemlos.
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
Eigenbau-angesteuert oder mit Hardware-SPI? Auf jeden Fall muss das so aussehen.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.