Hallo Thomas,
ich bin gerade am gleichen Problem, nur schaffe ich es nicht mal ins
Controlregister zu schreiben oder daraus zu lesen.
Kannst du mal den ganzen code hier reinstellen?
oder per E-mail zuschicken?
Vielen Dank
Michael
Hab auch das gleiche Problem. Kann die Register beschreiben und auch
lesen. Aber der Sinustest klappt einfach nicht. Gibts denn hier
niemanden, der einen laufenden C-Code für einen AVR und den VS1011
hat??
Ich habe mir ein MP3-Breakout Board bestellt, dazu gibt es auch
Beispielcode (s.u.).. ist zwar für vs1002 und eine andere CPU, aber die
sind ja ähnlich / evtl. ergeben sich Ansatzpunkte.. Ich hoffe, das Teil
spielt, sobald es bei mir eintrifft :-)
http://www.sparkfun.com/datasheets/PCB/vs1002_Sine_Test_Tone.c
Laßt mal hören, sobald es klappt!
Hab den VS1011 gerade zum laufen bekommen. Kann jetzt den Sinus-Testton
ausgeben. Es lag an der Oszillatorschaltung. Das ist eine wacklige
Geschichte auf dem Steckbrett, obwohl ich auf möglichst kurze Abstände
geachtet habe. Jetzt hab ich bisschen was daran verändert. Manchmal
muss man aber trotzdem noch den Finger dranhalten, damit er schwingen
will :-)
Hallo Filzlaus,
könntest du dein Code hier reinstellen, oder mir per E-Mail schicken.
Bei mir will es einfach nicht klappen. Bin schon am verzweifeln...
Vielen Vielen Dank schon im Vorraus
Gruß
Michael
Der Oszillator des VS1011 ist sehr empfindlich. Es muss unbedingt der
1MOhm Widerstand parallel zum Quarz geschalten werden, so wie in der
Beispielschaltung des Datenblatts.
Auf einer Leiterplatte ist meine Schaltung auch nicht angeschwungen,
seit ich den 1MOhm drin hab gibts keine Probleme mehr.
/Michael
Hallo,
Widerstand ist bei mir dran...
es will trotzdem nicht...
deshalb die bitte einen funktionierenden Quellcode, der nur den Vs1011
ansteuert, damit ich weiß ob der decoder überhaupt funktioniert...
!!!!!Bitte stellt jemand so einen Code rein!!!!!!
Trotzdem Danke für den Tipp...
Gruß
Michael
Hallo,
Also ich hab mehrere aber dieser hier ist der letzte Stand.
Das Programm wird zwar ganz durchgemacht... aber es ist nichts bzw.
kein Sinuston zu hören, und Register richtig auslesen geht auch nicht.
Könnt ihr ja mal durchschauen....
Vielen Dank
Michael
bzw. dieser hier.
Noch zu sagen wäre, dass ich aus dem Audio-Ausgang ein rauschen
bekomme, und wenn über serielle Schnittstelle was läuft hör ichs
knacksen, genaus beim reseten...
Gruß
Michael
Hallo zusammen,
ich bin grad dran den Sinustest des VS1011 zum laufen zu
bekommen. Allerdings scheitere ich daran. Ich kann lesen
und schreiben in den VS1011.
Wenn ich den Sinustest starte kann ich am Ausgang des
VS1011 am Oszi ein Sinussignal mit ca 2,4kHz messen. Wenn
ich nun einen Kopfhörer anaschließe ist nichts zu hören??
Was muss man dabei beachten?
Die Ausgänge des VS1011 gehen über 100 Ohm direkt an den
Kopfhörer.
@holger
warum hast du da noch 100 Ohm Widerstände zwischen Ausgang und
Kopfhörer? Ich hab den Ausgang direkt verbunden, wie es im Datenblatt
von VS1011 zu sehen ist und es funktioniert wunderbar.
@filzlaus
die 100 Ohm sind in einer Beschreibung des Herstellers des VS1011.
Dies sollte man machen um ESD-Beschädigungen des VS1011 zu
vermeiden. Es gibt sogar noch einige weitere Schutzschaltungen.
Aber mein Problem hat sich gelößt, war wohl der VS1011 selbst.
Hab ihn ausgetauscht und schon ging der Sinustest.
Allerdings hab ich nun Probleme einen MMP3 Song abzuspielen. Wenn
ich einen an des VS1011 sende kommt nur ein ganz kurzes (1 sec)
Tonwirrwar.
Wenn ich dann den VS1011 auslese, kann man über 2 Register erkennen
das der MP3Song erkannt wurde. Allerdings wird er nicht richtig
abgespielt. Auch die DREQ-Leitung geht nie auf Low.
Ich sende also die Daten (insgesamt 4 MB) und VS1011 erkennt wohl
auch den Bitstrom aber irgendwas fehlt noch.
Hallo, ich hatte auch das Problem mit dem Sinus Test (VS1002).
http://www.mikrocontroller.net/forum/read-1-358906.html#new
Der Tip von filzlaus, den Quarz mal anzufassen scheint auf die richtige
Spur zu führen! Hab das gestern gemacht, nachdem ich mein Programm für
den Sinustest gestartet hatte - Und siehe da, am Audio-Ausgang gab es
ein Rauschen, Knacken, Knistern - da die XTAL-Eingänge ja keine
Verbindung zur Audio-Seite haben, sollte das auf einen nicht
schwingenden Quarz hinweisen, oder? Der oben genannte 1MOhm-Widerstand
ist bei dem Board eingebaut, mit 2x 18pF am Quarz.
Kann man mit einem Oszi messen, ob der Quarz schwingt, oder zieht der
Tastkopf ihn sofort in die Knie? Ich will es mal mit einem externen
Oszillator LTC1799 als Taktquelle probieren und werde dann weiter
berichten.
Bei meinem vs1011 kam auch erst kein Sinus raus.
Das lag aber primär daran, dass ich den Sinustestring ans Control
anstatt ans Datenregister gesendet hab...
Vielleicht ist das ja hier auch der Fall?
Gruß,
Daniel
@Daniel: Ich habe dieses Beispiel nachempfunden:
http://www.sparkfun.com/datasheets/PCB/vs1002_Sine_Test_Tone.c
Der einzige Unterschied, den ich sehe, ist, daß man diese
Test-Datenfolge, im Gegensatz zum Register-Schreiben (Testbit-Setzen in
Register 0) bei CS = HIGH senden muß - oder hab ich was übersehen?
Dagegen Steht das obige Beispiel, wo bei CD = LOW gesendet wird..
wunder
hast Du den o.g. Code verwendet, oder würdest Du zum Vergleich mal
Deinen Code posten?
Wenn du für SDI und SCI einen gemeinsamen ChipSelect (XCS) verwendest,
musst du diesen CS auf low setzen, wenn du ins Controll Register
schreiben willst. Auf high setzen, wenn du Daten (Sinus Test String)
sendest.
Nutzt du XCS (für Controllregister) und XDCS (für Datenregister)
getrennt, dann eben den jeweiligen auf low setzen.
Mein Testprogramm habe ich leider nicht mehr.
Das obige Programm schau ich mir mal an, falls das hier nicht für
Klarheit gesorgt hat :)
Gruß,
Daniel
Ah, jetzt hab ich den kleinen Unterschied (CS, DCS) auch gesehen. Ich
hab nur CS verwendet, aber ich kann ja auch mal den "alten" Modus mit
den 2 CS-Leitungen testen..
Ich wollte DCS eigentlich gar nicht mehr verwenden, weil ja der VS1002
diesen Modus mit nur einer Leitung unterstützt und ich derzeit keine
anderen SPI -Geräte angeschlossen habe..
Danke schonmal.. Bis gespannt ob es bei Dir mit einer CS-Leitung geht
:-)
Warum ausgerechnet dieser Variante "Share" heißt, ist mir auch
rätselhaft - es ist die einzige, wo man den SPI-Bus NICHT teilen kann
:-)
Aber evtl. habe ich noch einen anderen Fehler gemacht. Lt. Datenblatt
muß man bei dieser Variante CS nach jedem Byte kurz auf HIGH setzen bei
SCI und wenn man Daten schreibt (SDI) muß CD generell auf HIGH sein? Ich
frag mich so langsam, ob der Demo Code bei Sparkfun lief, warum die
ausgerechnet diesen Mode wählten und mich so in die komplizierteste
Ecke lockten (new Mode und SM_SDI shared) :-) Wahrscheinlich hab ich im
Kopf die CS einmal zu viel invertiert (Seite 21):
http://www.vlsi.fi/datasheets/vs1002.pdf
Na auf jeden Fall hab ich weider viel Stoff zum Ausprobieren.
Also mein Programmablauf sah so aus:
1. XDC -> LOW
2. SM_SDINEW, SM_SDISHARE, SM_TESTS setzen.
3. Benutzte Taktfrequenz mitteilen
4. XDC -> HIGH
5. Sinus Test Senden
(Bloss nicht die Kopfhörer aufsetzen, wenn du vorher nicht die
Lautstärke gedämpft hast. Das könnte ansonsten weh tun)
Wo steht da, dass man nach jedem Byte den CS mal kurz auf High setzen
muss?
"it is recommended to
turn XDCS (or XCS) every now and then, for instance once after every
flash data block or a few kilobytes,
just to keep sure the host and VS1002d are in sync."
Da steht nichts von "nach jedem Byte" :)
Poste doch mal deinen Code.
Hast du ansonsten alles beachtet was bei den Pindescriptions steht?
Hast du schonmal nachgemessen, ob dein Quarz schwingt?
Hast du ne Pegelwandlung dazwischen, die evtl. Probleme machen könnte?
Ich spreche übrigens die ganze Zeit von einem VS1011.
Aber so wie es aussieht unterscheiden sich die beiden bei dieser Sache
nicht.
Gruß,
Daniel
Leute, es funktioniert - dank Eurer Hilfe erklingt ein glockenklarer
Sinuston :-)
Also ich hab mich prima selber ausgetrickst: Nachdem ich erstmal den
oben beschriebenen Modus mit den 2 Leitungen XCS und XDCS ausprobiert
habe inkl. richtiger Ansteuerung, hörte ich einen ganz kurzen
"Plick". Ein Blick auf die Versorgungsspannung zeigte mir einen
winzigen Einbruch, dadurch daß der Chip zur Tonausgabe ja schon ein
paar mA mehr haben will als beim reinen Register-Schreiben. Bischen
mehr Spannung - und schon ging es, auch mit der SHARE-Variante und nur
einer CS-Leitung michSelberAuslach Ich hab exakt die Grenze
getroffen, wo die Versorgungsspannung nicht mehr ausreicht. Bei anderen
Versuchen mit dem Mega8 ist das nie passiert, der verbraucht ja fast
nichts...
@Daniel: das mit dem CS kurz auf HIGH gilt zwischen 2 SCI writes, nicht
zwischen Bytes, das hast Du recht.
Meinen Quarz kann ich aber nicht mit dem Oszi messen, sobald ich das
Quarz-Bein berühre ist Stille.
Du meinst, du bist in die Strombegrenzung gegangen?
Das is natürlich gemein. :)
Bei meinem Netzgerät, leuchtete dann eine dicke rote LED auf. Da fällt
das sofort auf ;)
Fein, das es jetzt bei dir funktioniert.
Gruß,
Daniel
Hallo,
gestern hab ich mal wieder versucht den VS1011 zum laufen zu bringen
und siehe da, ich hab im Programmcode einen Fehler entdeckt, ich hab
nämlich vergessen SM_TEST (0x20) zu setzten...
Dann hab ich compiliert und gebrannt, und plötzlich hörte ich ein
kurzes Piep... welch Freude...
Doch dann sah ich, dass die Register immer noch nicht richtig
ausgelesen werden, und das Piepsen hörte ich auch nur selten...
Jemand mit disen Symptomen was anfangen..
Wäre für jede Hilfe dankbar.
Gruß
Michael
Na dann fang doch damit an, 'rauszufinden, warum Die Register sich
nicht richtig auslesen lassen. In den Application Notes ist eigentlich
eine ganz gute Schrittfolge drin, die hätte mir auch viel Zeit
gespart..
Wenn Du die Register nicht richtig auslesen kannst, kannst Du auch
nicht sicher sein, daß Du sie richtig schreibst. Laß doch einfach den
Testton erstmal beiseite, schreib was z.B. in das Lautstärke-Register
und lies diesen Wert zum Vergleich wieder aus. Außerdem (s.o.) beim
Initialisieren / Register schreiben braucht das Teil wesentlich weniger
Strom als mit Testton - wie hoch ist denn Deine Versorgungsspannung?
Hallo,
also der Atmega32 läuft mit ca 5 V
der VS1011 mit ca. 3,5 3,6 V.
Ich hab meiner Meinung nach schon irgendwie alels probiert...
Hab das Datenblatt auch schon des öfteren durchgelesen... ich komm
einfach nicht dahinter.
Vllt. könntest du meinen Code durchschauen, bzw. mir deinen
(funktionierenden) Code schicken um eventuelle Hardwarefehler
auszuschließen.
Vielen Dank schonmal für deine Hilfe...
Gruß
Michael
Also mit BasCom sieht es so aus (statt Shiftout könnte man auch SPI
nehmen, dann geht es noch ne ganze Ecke schneller) - kannst ja Deine
Leseroutine mal posten..
Function Vs_read(byval Vs_address As Byte) As Word
Vs_xcs = 0 'Xcs low
'read command.
B = &B00000010
Shiftout Vs_mosi , Vs_clock , B , 1
'Send the address you want to read
Shiftout Vs_mosi , Vs_clock , Vs_address , 1
'Get the most significant byte & shift to correct position
Shiftin Vs_miso , Vs_clock , B , 1
Vs_read = B
Shift Vs_read , Left , 8
'Get the least significant byte & add to Vs_read
Shiftin Vs_miso , Vs_clock , B , 1
Vs_read = Vs_read + B
Vs_xcs = 1 'Xcs high
End Function
Also ich denke, dass es bei mir eigentlich genaso aussieht...
Oh da fällt mir auf:
du hast 2 als "readcode"
im Datenblatt steht, dass 3 der "readcode" wäre...
Aber hier mal der code zum readen:
void spi (unsigned char data)
{
SPDR = data;
while (!(SPSR & (1<<SPIF)));
}
void read_buffer(unsigned char *buf, unsigned short len)
{
while (len--)
{
spi(0x00);
*(buf++) = SPDR;
}
}
void Mp3ReadRegister(int adressbyte)
{
char mmc_buf[1];
memset(mmc_buf,0,1);
Mp3SelectControl (); //Xcs auf low
delay(1000);
spi(0x03); // code zum readen
spi(adressbyte);
delay(1000);
read_buffer(&mmc_buf[0], 2);
printf("Read: addr:%2i | buf[0]:%3i | buf[1]:%3i \n",adressbyte,
mmc_buf[0], mmc_buf[1]);
Mp3DeselectControl () ;//Xcs high
delay(1000);
}
////////////////////////////////////////////////////////////////////
writen:
void Mp3WriteRegister(int adressbyte,int highbyte,int lowbyte)
{
printf("WRIT: addr:%2i | high: %3i | low: %3i \n",adressbyte,
highbyte, lowbyte);
Mp3SelectControl ();
Mp3DeselectData ();
spi(0x02);
spi(adressbyte);
spi(highbyte);
spi(lowbyte);
delay(100);
Mp3DeselectControl () ;
delay(1100);
}
so im Anhang noch der ganze Code..
Gruß
Michael
Nee, Du hast recht, es muß 3 sein. Ich hatte in der Zeile eine Konstante
und diese Zeile erst beim Posten geändert, damit man es lesen kann,
sorry.
Was liest Du denn mit Deiner Routine für Werte? Wenn Du einen Oszi
hast, schreib doch eine Schleife die immer ein Register schreibt und
danach ausliest liest, am Anfang der Schleife erzeugst Du Dir mit einem
Port eine "Nadel", dieses Signal schließt Du an den Trigger-Eingang -
dann kannst Du fein säuberlich sehen, was aus der MOSI 'rausgeht bzw.
was danach auf der MISO 'reinkommt..
Ich hab auch schon lange kein C mehr geschrieben, aber ist denn "int
adressbyte" vom Datentyp her genau passend? (0-255)?
Ich habe eine Frage zum VS1001 da der Data-SPI ja kein Chip-Select hat.
Wird im Application Notes vor geschlagen mit hilfe eines UND-Gater den
Takt zuschalten. Da meine Frage ist es nicht besser den SI-EIngang
mithilfe des UND-Gater zuschalten und was für eine Gater-familie habt
ihr verwendet oder habt ihr eine andere Lösung verwendet.
Gruß masterof
Hallo,
als Rückgabewerte kommt entweder nur Null oder irgendwelche wirren
Zahlen, meist über 200 raus.... (in high und lowbyte aufgeschlüsselt)
Sieht der Code sonst in Ordnung aus?
Öhm UND-Gatter.... sowas braucht man aber nicht beim Vs1011 oder?? Die
ganz normale Beschaltung wie im Datenblatt funktioniert schon, oder?
Gruß
Michael
Hallo,
hat sich jemand den code mal durchgeschaut....
weil ich immer noch nicht weiß ob es ein hardware- oder ein
softwarefehler ist.
vllt könnte ja jemand einen kompletten (simplen) code mit lese- und
schreiberoutine hier reinstellen.
wäre echt dankbar...
Gruß Michael
Hallo,
DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE!!!!!!!!!!!!!!
Vielen vielen Dank...
Es funktioniert...
Ich hab mir deinen Code angeschaut, und gesehen, dass meine
"Spi-Clock" falsch war... und, dass man eine 0 immer voraus
schicken muss bevor man was empfangen will...
ich hatte es immer nur einzeln umgestellt, aber zusammen
funktionierts.
ENDLICH
VIELEN VIELEN DANK!!!!!!!
Gruß
Michael
Hallo,
So da bin ich wieder... :)
und zwar arbeite ich im "new mode" des VS1011.
hier meine sinusfunktion:
//################################################ SINUS
###################################################//
void VsSineTest(void)
{
printf("SINE TEST\n");
Mp3SetVolume(0,0);
vs1011_nulls(8);
Mp3DeselectControl();
Mp3SelectData();
spi_data(0x53);
spi_data(0xef);
spi_data(0x6e);
spi_data(0x04);
spi_data(0x00);
spi_data(0x00);
spi_data(0x00);
spi_data(0x00);
delay (100000);
spi_data(0x45);
spi_data(0x78);
spi_data(0x69);
spi_data(0x74);
spi_data(0x00);
spi_data(0x00);
spi_data(0x00);
spi_data(0x00);
delay(500);
printf("SINE TESTende\n");
}
spi_data sieht so aus:
SPDR = data; //Schreiben der Daten
while (!(SPSR & (1<<SPIF)));
und jetzt noch die funktion, wo die mp3 daten zum VS1011 sendet:
void spi_32 (char * data)
{
int i = 0;
int g = 0;
while(g<=512)
{
if(i == 32 )
{
while (!DREQ_PIN & (1<<DREQ));
i=0;
}
else
{
spi_data (*data++);
delay(10);
i++;
g++;
}
}
}
im code umgeben von:
BSYNC_PORT &= ~(1<< BSYNC);
und:
BSYNC_PORT |= (1<< BSYNC);
wobei Bsync mit xdcs gleichzusetzen ist...
nun das Problem:
Ich kann die daten zwar senden, nur passiert nichts. Außer das ab und
zu ein "snitch" (lautmalerisch) zu hören.
Kann mir da jemand weiterhelfen.
wichtig NEW MODE!!
Gruß
Michael
Funktioniert das Lesen und Schreiben der Control Register?
Hast du dir mal das Audio Signal mit einem Oszi angeschaut wärend des
Sinustest?
Könnte es sein, das Deine delay Funktion nicht das erwartet delay
erzeugt? (besonderst dann nicht wenn Du die delay Funktionen der
avr-libc benutzt, die haben ein Limit)
Schreiben und Lesen ins Control Register funktioniert.
Auch der Sinustest funktioniert.
Ich wollte mit er Funktion nur zeigen, dass das versenden von Daten
eigentlich auch funktioniert.
Nur wenn ich mp3-Daten schicken will passiert nichts außer dem oben
genannten "Snitch"....
Einen Oszi hab ich leider nicht...
Muss ich vor dem senden der mp3-Daten irgendwas anderes an den VS1011
senden, damit er weiß, dass jetzt solche Daten kommen? (Eigentlich ja
nicht, oder?)
Sorry, hatte ich Missverstanden, ich habe es so interpretiert das
garnichts geht.
Normal schickst du den MP3 Stream nur an den VS, sonst nichts.
Die SM_SDINEW ist entsprechend gesetzt nehme ich an, und auch
SCI_CLOCKF.
Probier mal noch mit SM_SDISHARE = 1, vielleicht liegts am Handling der
CS Signale.
so,
also ich habs mit SM_SDISHARE = 1 getestet und die "Snitches" häufen
sich, und wenn man das Lied kennt kann man auch mit sehr viel
Anstrengung es wiedererkennen ;).
Nun hab ich mal in deinem Code geschaut und dein SPI Speed liegt bei
x/8..
Bei mir liegt er bei 16/128 , stelle ich ihn auf 16/8 um so bekomm ich
keine Snitches mehr zu hören...(Sinustest und Lesen und Schreiben
sowohl beim VS1011 wie auch bei der MMC funktioniert)
komisch..
Könnte da das Problem liegen? Was könnte es sein?
später Gruß
Michael
Mein SPI Takt liegt bei MCU_XTAL/2, das SPI2X Bit wird auch noch gesetzt
(SPI_CLK = 4MHz)
Die SPI muss auf jeden Fall schnell genug sein um den MP3 Stream
liefern zu können. Ich glaube mit 16MHz/128 bist du zu langsam.
Aber wenn sich mit SDISHARE was ändert würde ich noch mal das Handling
der CS Leitungen prüfen, vielleicht auch mit Scope wenn du eins hast.
Aber alles in allem solltest Du versuchen den SPI Takt zu erhöhen, so
schnell wie's geht.
Bei welcher Quarzfrequenz läuft der VS10xx?
Der SPI Takt darf nicht höher als VS_QuarzFreq/6 sein.
Bei dir steht doch:
(1<<SPR0) | (1<<SPI2X)
im Datenblatt nachgeschaut bedeutet das:
XTAL/8 oder verles ich mich da??
so siehts bei mir im Code aus:
MMC_PORT |= (1<<MMC_CS); //MMC Chip Select -> High (deactivate);
Mp3DeselectControl();
Mp3SelectData();
spi_32(Dateiname);
Mp3DeselectData();
MMC_PORT &= ~(1<<MMC_CS); //MMC Chip Select -> High (deactivate);
das müsste doch von den CS her passen oder??
Quarz vom VS ist: 12,288 MHZ
Clockf setz ich auf: 38912
sollte eigentlich auch stimmen...
Was ist ein Scope?(Hab ich also nicht)..
Vielleicht ist noch zu sagen, dass ich immer 512 Byte speicher, davon
dann nach und nach immer 32 Byte an den VS sende, solange bis alles 512
"aufgebraucht" sind, und dann lese ich weitere 512 Byte ein.
Gibts noch ne Idee für das Problem?
Keine Ahnung wo Du das liest:
(1<<SPR0) | (1<<SPI2X)
Ich initialisiere wie folgt:
// enable SPI in master mode and set clock speed
// SPI clock must be at least 3MHz with 12.288MHz crystal
SPCR = _BV (MSTR) | _BV (SPE); // Master mode, SPI enable, clock
speed MCU_XTAL/4
#if MCU_XTAL > 10000000UL
SPCR |= _BV (SPR0); // set clock speed MCU_XTAL/16
#endif
SPSR |= _BV (SPI2X); // set clock speed MCU_XTAL/2
ClockF passt soweit.
Mit deinem Code kann ich nicht viel anfangen. Du must sicherstellen,
das XDCS und XCS immer gegenseitig invertiert werden. Das heist es
dürfen nicht beide gleichzeitig LOW sein. HIGH schon, dann sind beide
Interfaces deaktiviert.
Mit Scope mein ich ein Oszilloskope. Damit du dir die CS Signale
anschauen kannst.
"Mein SPI Takt liegt bei MCU_XTAL/2, das SPI2X Bit wird auch noch
gesetzt (SPI_CLK = 4MHz)"
SPI2X wird nicht gesetzt -> 8 Mhz / 2 -> 4MHz
so habs mit meinen CS Leitungen auf die Reihe bekommen. Es kommt das
gleiche Ergebnis wie bei SDI_Share...
Irgendwie kann ich den Takt für die MMC-Karte nicht erhöhen, sonst
reagiert sie nicht mehr...
Hi,
ich habe meine ganze Freiluftverdrahtung jetzt mal auf eine Platine
geätzt.
Dies ist nun schon die zweite Version und ich komm einfach nicht weiter.
Kann wie viele andere auch die Register beschreiben und auch wieder
auslesen.
Aber der Sinustest will nicht.
Mein Quarz schwingt. Allerdings meines Erachtens etwas merkwürdig. Der
1M Ohm Widerstand ist vorhanden.
Habe den Quarztakt mit einem Oszi gemessen und er hat ein DC offset von
1V und eine Uss von ebenfalls 1V.
Das kann doch nicht richtig sein, oder?
An XTAL1 liegen etwa 1,2V an. An XTAL0 ist der Quarztakt zu sehen.
Hat wer ne Idee was hier los ist?
Grüsse,
Daniel
wie schnell ist den dein takt ? scl leitung
ich müste nach dem ich ein hardware reset gemacht hab erst mal ne pause
proggen.
XCS = 0
hab dann ins register 0 den new mode gestezt und den sdi test(wie bei
dir auch)
XCS = 1
XDCS = 0
sinustest gesendet (wie du auch)
XDCS = 1
endlosschleife