Hallo allerseits Ich habe Bascom und möchte mir damit einen MP3 Player programmieren. Eigentlich bin ich ziemlich sicher dass dies klappen wird. Aber vorerst möchte ich nicht eine HDD oder Compactflash an den Uc anhängen und ein Dateisystem proggen. Dazu hab ich mir folgendes gedacht; Ich hänge an den Atmega16 einen externen 64 Kilobyte Eeprom. Darin speichere ich dann eine kleine Mp3 Datei (64kbit/s). Bei 64 kbits/s wären dass dann 64/8, also 8 kbyte/sekunde. Nun wäre meine Frage ob die kleinen Eeproms überhaupt genug schnell sind um 8kbyte pro Seklunde auszulesen. Und wenn, ob ich dass mit Bascom auch noch zu schaffen wäre. Klar kommt es darauf an wie mein Programm dann aussehen wird. Aber nehmen wir an, ich würde das Programm genug optimieren, damit es nicht mehr schneller gehen würde... Ach ja, ich verwende einen Atmega16 @ 16 Mhz und ein Microchip 24LC512) I²C Eeprom. MFG Nik
Dazu sucht man das Datenblatt und findet dort die Angabe: fClk 1000kHz Das EEPROM ist also schnell genug. Ich weiß nicht, was der uC noch alles erledigen muss und wie effektiv BASCOM ist. In Assembler kein Problem... PS: Was verwendest du für ein Dekoder ?
Hi! Danke für die Antwort. Ich werde dann den VS1001k verwenden. Dabei brauche ich nicht viel mehr zu machen, als auf das Dreq signal zu warten, um dann wieder 32 bytes zu senden. Ausser der Initialiesierung am Anfang natürlich. Ansonsten soll das Proggie nichts machen. Es soll einfach ein Test werden, indem das Programm den Decoder initialisiert und dann die Daten ausliest und sendet, in dem Fall denke ich, Bascom sollte schon schnell genug sein..(?) Ich hoffe es zumindest.:) MFG Nik
Hi Nik, ich würde statt einem IIC-EEPROM ein SPI-EEPROM nehmen. Dann ist später der Schritt nicht so weit zu einer Speicherkarte. Die MMC-Karten haben einen SPI-Kompatibility-Mode. Stefan
Hi Stefan Ja, das könnte ich eigentlich auch mal versuchen, nur möchte ich nicht unbedingt extra noch etwas dazukaufen und ich hab eben gerade meine I2C "Page Read Routine" vollendet. Mag wahnsinnig klingen, liest aber nur 32 bytes ab einet bestimmten stelle in einen String. Wenn ich später MMC's verwenden würde, dann würde ich sicher ein Spi Eeprom nehmen, aber ich nehme wahrscheinlich CompactFlash's(von denen hab ich schon welche für meinen Pocketpc). Ansonsten bliebe mir noch eine SecureDigital Karte die ich auch schon habe, aber die wird glaube ich anders angesteuert als mmc...:-( Nik
Hi, ich bins nochmal. Ich werd wohl doch was schneller benutzen müssen. Bei mir lief der Controller nun nur auf 8 mhz, dennoch; Ich hab jeweils ein Byte gelesen und dieses immer in die selbe Variable gespeichert. Ich hab das byte aber nirgendswo anders hingeschickt, oder angezeigt, um Zeit zu sparen. Doch um das 64kbyte auszulesen, hat sich bascom reichlich Zeit gelassen. Das Programm brauchte ziemlich genau 45 sekunden bis das ganze endlich ausgelesen war. das ergibt ca. : 65535 / 45 = 1456 bytes/sekunde = 1.42 kbytes/s = 11.37 kbits/s. Die erträumten 32 oder 64 kilobits kann ich also vorrerst vergessen. Entweder lern ich nun ein bisschen besser Assembler oder überleg mir was anderes :) MFG Nik
Da sieht man mal wie ineffektiv Basic ist... Auch das normale QBasic auf dem PC (900MHz) ist bei einfachen Befehlen (also keine Fließkommazahlen usw.) nicht viel schneller als ein uC mit 2MHz CPU Takt... Daher verwende ich bei uC nur Assembler.
Hi! Ich habs nun mal mit Spi schreiben versucht. Ich hab einfach diesselbe Ziffer(nicht zufallsgeneriert) 65535-mal über spi rausgesendet. Und zwar über Software-Spi. Ich werde das ganze auch einmal über Hardware-Spi testen. Ich hoffe auch dass das ganze bei 16 mhz auch doppelt so schnell wird. Ansonsten ist mein Spi "benchmark" echt erschrekend. Bascom schaufelt gerademal ca. 10 kbyte in einer Sekunde raus. Dabei macht das Programm nichts anderes. Es beschäftigt sich 100 % mit dem Spi Zeugs. 10kbytes = 80 kbits. Ich brächte die 96 kbits nicht mal zustande wenn ich ne Zufalls Mp3 generieren würde. :-( Und die paar Bytes sind ja nicht so viel-meine normalen Mp3's haben so 192 oder noch mehr kbit/s...tja, ich denke ich muss doch noch C lernen MFG Nik
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.