Guten Abend zusammen!
Ich bin neulich über folgendes Angebot bei Amazon gestoßen:
http://www.amazon.de/Musik-%C3%9Cbermittlers-MMR-70-EricssonFM-irgendeinem-kompatibles/dp/B0059FLQDG/ref=sr_1_2?ie=UTF8&qid=1331666947&sr=8-2
Ein FM-Transmitter für 1,50EUR inkl. Versand!
Heute angekommen und gleich getestet: wunderbar!
Bedienung ganz einfach: anstecken, am Handy-Display die Frequenz
einstellen und los gehts.
Gleich danach: aufgemacht --> siehe Fotos.
Zu meinem erstaunen werkelt in dem Transmitter ein ATmega32L!
Da kam folgende Frage: wenn man rausfindet, wie die Kommunikation
zwischen Handy und AVR, bzw. AVR und FM-IC läuft, könnte man das gnaze
universell machen und hätte einen winzig kleinen FM-Transmitter für
schlappe 1,50EUR!
Mein Problem: kein Oszi...und das Netz hat bisher auch sonst nicht viel
ausgespuckt...auf dem RF-IC steht folgendes:
603A
81C
ALPS
Falls jemand Lust sich ebenfalls damit zu beschäftigen - ich wprd mich
freuen!
Grüße
Zweistein
http://www.se-world.info/faq-infos/143082-pinbelegung-systemanschluss-datenka/
Da findet sich die Belegung des Handysteckers.
Ich tippe also da wird normal Stereo übern Kopfhörerausgang.... dann
über den Zubehörsteuer Ein und Ausgang die Einstellung vom Kanal und so.
Als nächste müste man wohl mal raus bekommen wie die Zubehörsteuerung da
aussieht ;)
Grüße
Was mich persönlich aktuell ein bischen skeptisch stimmt ist das
warscheinlich der usb anschluss des handys zur steuerung benutzt wird...
die frage ist echt das da an daten wie übertragen werden muss! Entwerder
man findet zum Fastport was im internet... oder man wird da mal
irgendwie zuhören müssen was die an die kiste schicken.
Danke erstmal für die Beteiligung!
Genau die Sache, dass das Audiosignal ziemlich sicher analog übertragen
wird, brachte mich ja auf die Idee das Ding universell zu nutzen. ;)
Im Prinzip würde ich einfach ein Oszi an die Datenleitungen hängen und
mal schauen wer wann was sendet und wie die Daten aussehen.
Eigtl. gibts doch nur 3 Möglichkeiten, oder?
1: Auf dem Mega32 läuft ein SW-USB-Stack im Host-Mode und der
Transmitter betrachtet das Handy als Slave
2: Das Handy gibts sich als USB-Host aus. Dann wäre es ja theoretisch
möglich das ganze an den PC zu hängen, vorausgesetzt man hätte den
entsprechenden Treiber
3: Das Handy erkennt, dass Zubehör angeschlossen wurde, und kommuniziert
z.B. über SPI o.ä.
Zusammengefasst müsste man einfach mal das ganze Mitschneiden und
analysieren!
Hätte denn jemand Zeit/Lust und Equipment die Rohdaten mal mit zu
loggen?
Grüße und schönes Wochenende!
Wie wird denn das Handy an einen PC angeschlossen?
Hat dessen Adapterkabel womöglich einen USB-Seriell-Wandler drin?
Einen USB-Host auf einem ATMega32 stellt ich mir interessant vor.
Martin P....... schrieb:> http://www.se-world.info/faq-infos/143082-pinbeleg...>> Da findet sich die Belegung des Handysteckers.
Demnach gibt es am Stecker Rx und Tx. Die Bezeichnung spricht für UART.
Klingel mal durch, ob die Hardware UART-Aus-/Eingänge des Mega32 (PD0,
PD1) auf die Rx/Tx-Pins des Steckers gehen.
Wenn ja, dann würde das für UART sprechen.
Guten Abend zusammen!
Also..kleines Update...
Ich habe mal den Stecker abgelötet und ein wenig durchgepiepst...
Erkenntnisse:
- Die Pins 10/11 bzw. Data+ und Data- sind NICHT connected
- Der Pin 8 bzw. VPPFLASH geht über Pullup, Transistor, ... an Rx
- Die Pins 5/6 gehen - wie erwartet - zum Transmitter für den Ton
- GND ist GND ;)
- Pin 12 ist wohl VCC
Ich habe auch versucht den Tx-Pin vom Controller zu verfolgen...scheint
die LED anzusteuern, aber das werde ich nochmal genau nachprüfen...
Noch ne Info: Pin 8 zu GND = 8,2kOhm (evtl. Identifikation?)
Und noch ne Info: Auf der Rückseite der Platine sind sind TEST- und
JTAG/ISP-Points...einer davon geht direkt auf Pin 8...ob es JTAG oder
ISP ist werde ich mogen mal schaun.
So...morgen gehts weiter...bis dahin mal gute Nacht!
höm, also das mit pin8 finde ich irgendwie komisch. da ich derweil auch
zwei hab und einen auch schon zerlegt hab versuch ich auch mal mein
glück heute abend... mein oszi steht leider bei meinen eltern....
Es muss in jedem fall irgendwie komunikation in beiden richtungen
stattfinden... wenn man das ding dran steck, frequenz einstellt,
absteckt und ein anderes dran steckt steht dort die frequenz drin die
man vorher auf dem eingestellt hat und nicht die letzte verwendete oder
sowas.
Grüße
Hätte einer ne Idee wie man etwas mehr Leistung rausholen könnte?
Kenne mich leider in der Funktechnik nicht sooo dolle aus...
Bei extrem "hohen" Tönen (z.B. einem Schlag auf die Hi-Hat) stört der
Empfang etwas, also es ist ein Rauschen zu hören. Bässe kommen hingegen
sauber (für diese Verhältnisse) raus!
Ganz brauchbar das kleine Ding :D
Lässt mir einfach keine Ruhe...
Glaubt ihr die Holzhammermethode ála Antenne verlängern bringt was?
(Ja ich weiß das das Pfusch ist!)
Auf dem rechten Bild unten rechts ist so wie ich sehe sogar ein Pad für
die Antenne vorgesehen oder?
Ich habe mal ein wenig die Pads duchgeklingelt. Anbei die
Anschlussbelegung, sowohl aus Sicht des Handies, wie aus Sicht des
ATMega32.
An (meiner Meinung nach) wichtige Pads habe ich die Bezeichnung
geschrieben.
Ich versuche als nächstes den Flash auszulesen.
Naja...jetzt habe ich in geschätzten 300m noch Empfang :)
Und das im Ort!
Aber das ist nicht mein Ziel...will nur das Rauschen weghaben...ohne
gleich Piratensender zu spielen...
Einhart Pape schrieb:> http://www.relayspec.com/Company_listings/a/alps/news/2006/04_01b/2006_04_b.pdf>> Der Transmitter kann auf verschiedene Ausgangsleistungen eingestellt> werden. Dazu benötigt man allerdings ein Datenblatt.
Naja, da es über I2C geht, regelt der Atmega die Sendeleistung...und
ohne Programm kann man da nix machen :(
Hätte man das nicht "Hardware-Hack" freundlicher regeln können?
Silvan König schrieb:> Ich versuche als nächstes den Flash auszulesen.
schon erledigt, siehe Anhang.
Ich habs auch mal durch nen Disassembler gejagt....puh...die haben den
µC ziemlich voll gepackt (siehe Anhang 3)
Aber folgender Gedanke: wenn wir ein Datenblatt finden, kann man einfach
ne eigene Firmware schreiben und flashen. Ist zwar dann fürs Handy nicht
mehr brauchbar, aber dass ist ja bei dem Preis egal!
Chris L. schrieb:> Ich habs auch mal durch nen Disassembler gejagt....puh...die haben den> µC ziemlich voll gepackt (siehe Anhang 3)
Nein, haben sie wahrscheinlich nicht. Die waren nur nicht so blöd
wie du dachtest, die haben den Controller nämlich gelockt. ;-)
Vielleicht hättest du dir deine Hexdatei ja vor dem Disassemblieren
mal ansehen sollen ...
Philipp W. schrieb:> Auf dem rechten Bild unten rechts ist so wie ich sehe sogar ein Pad für> die Antenne vorgesehen oder?> Naja...jetzt habe ich in geschätzten 300m noch Empfang :)> Und das im Ort!
Kannst du mal ein Foto machen, oder schreiben wie lang deine Antenne
ist?
Das wäre super.
Hi,
Philipp W. schrieb:> Einhart Pape schrieb:>> http://www.relayspec.com/Company_listings/a/alps/news/2006/04_01b/2006_04_b.pdf>>>> Der Transmitter kann auf verschiedene Ausgangsleistungen eingestellt>> werden. Dazu benötigt man allerdings ein Datenblatt.>> Naja, da es über I2C geht, regelt der Atmega die Sendeleistung...und> ohne Programm kann man da nix machen :(> Hätte man das nicht "Hardware-Hack" freundlicher regeln können?
Wobei ich hier das Problem absolut nicht verstehe...
Der Atmega wird vom HAndy angesprochen und steuert dann über I2C das
Sendemodul. Da ist doch nun wirklich nichts dabei diesen Datenstrom nun
einfach Mitzusniffen und man hat (fast) alle Befehle die man braucht.
Zumindest die Initialisierung und die Befehle um die gewünschte Frequenz
einzustellen. Einzig vielleicht bei erweiterten Konfigurationsdingen wie
der einstellung der Sendeleistung müsste man erst einmal passen.
Aber alles was man mit dem HAndy kann ist dann doch ganz schnell in eine
eigene Firmware gegossen, genauso schnell wie mit vollem Datenblatt und
Programmieranleitung.
Eventuell hat man auch das Glück das die Befehle derart schematisch
aufgebaut sind das man einfach nach Schema F noch fehlende Möglichkeiten
einfach durch Versuch ermitteln kann. Aber das ist wirklich Glückssache
mit ein wenig knobeln...
Naja, meine Module sind heute erst versendet worden, wenn die
tatsächlich am alten HAndy meiner Freundin laufen werde ich morgen
(sofern DHL schnell genug ist) mal schnell Mitloggen und am Wochenende
eine eigene Firmware schreiben.(habe vorher leider keine Zeit. Evtl.
schaffe ich es aber noch zumindest eine Liste der wichtigsten Befehle
morgen einzustellen)
Gruß
Carsten
Es war ja auch nicht so gemeint, als das es unmöglich sei ;)
Bin mitten im Abi und habe nur bedingt Zeit für die Bastelei...
Danach schaue ich mir das auch mal genauer an!
Nettes kleines Teil. Per RDS wird der Titel des Liedes zum Radio
übertragen. Die Qualität ist mäßig, das kann aber auch an der (zu)
geringen erlaubten Sendeleistung liegen.
Ich habe den Stecker abgelötet und über Drähte mit der Platine
verbunden. Genauer gesagt nur 5 Stück:
Pin 5 (SP_LEFT)
Pin 6 (SP_RIGHT)
Pin 8 (VPPFLASH)
Pin 9 (GND)
Pin 12 (VCC)
mehr sind nicht nötig, damit der Transmitter funktioniert.
Dann habe ich die Leitung zu Pin 8 durchtrennt. Das Handy erkennt
daraufhin, dass der Transmitter nicht mehr angeschlossen ist und
schaltet die Audio-Ausgänge (5&6) und die Versorgungspannung ab!
Ich habe es mit "fremder" Versorgung und Audio versucht. Dann hört der
Transmitter auf zu senden und die LED beginnt zu blinken.
Auf dem Bild ist das Signal auf Pin 8 zu erkennen. Ich kann daraus
leider nur wenig Informationen ziehen - One-Wire? Die Länge des
kürzesten High-Pegels beträgt 20µS.
Silvan König schrieb:> Dann habe ich die Leitung zu Pin 8 durchtrennt. Das Handy erkennt> daraufhin, dass der Transmitter nicht mehr angeschlossen ist und> schaltet die Audio-Ausgänge (5&6) und die Versorgungspannung ab!> Ich habe es mit "fremder" Versorgung und Audio versucht. Dann hört der> Transmitter auf zu senden und die LED beginnt zu blinken.
Mit welchem Handy hast Du es ausprobiert? Kommt beim Anstecken des
Transmitters eine Meldung?
Ich habe hier ein T280i, leider wird der Transmitter dort nicht erkannt.
An der LED tut sich gar nichts, es ist auch keine Spannung zwischen Pin
12 und 9 messbar. Im Handy finde ich auch nirgends ein "Zubehör"-Menü.
Wenn ich Pin 8 über einen 100 Ohm Widerstand kurz mit GND verbinde, dann
erkennt das Handy ein Headset. Das bleibt dann aber auch ohne Widerstand
noch solange aktiv, bis ich das Handy ausschalte.
BillX schrieb:> könntest du das mal mit verschiedenen frequenzen eingestellt capturen?> und bitte jeweils dazu schreiben welche frequenz eingestellt ist?!
Habe ich getan. Habe aber keine Änderung feststellen können :-(
Allerdings flackert das Bild kurz, wenn die Frequenz geändert wird.
Das Handy ist ein K610i und auf dem Bildschirm erscheint die Meldung:
1
MMR-70:
2
Sendefrequenz
3
xx.xMHz?
Wobei xx.x die zuletzt eingestellte Frequenz ist.
HV schrieb:> Was mich interessieren würde, kann man den Atmega der da drauf ist ohne> HV programmierung neu programmieren?
Hat jemand 2 Stück und kann das mal testen? Es wäre sehr gut, wenn das
möglich wäre, weil wir dann aus dem I²C Mitschnitt eine neue Firmware
entwickeln könnten.
Also auslesen konnte ich den Flash, wenn auch nichts sinnvolles bei raus
gekommen ist.
Montag bin ich wieder daheim, da werde ich mal flashen testen.
Gruß und schönes Wochenende!
Hi,
ICh habe jetzt mal auf die Schnelle etwas probiert und ein paar Traces
zwischendurch gemacht.
Also: Die eingestellte Frequenz wird (SCHEINBAR) im ATMEGA abgelegt und
da auc gespeichert. Hat man mehrere Transmitter so erscheint beim
Anmelden jeweils die letzte bei genau diesem Transmitter eingegeben
Frequenz.
ICh habe jetzt Traces sowohl vom Handyanschluss PIN8 für die
Kommunikation Mobiltelefon / Transmitter und von dem IIC Anschluss
gemacht.
ISt der Sender aktiv läuft über beide eine dauerhafte Kommunikation.
Wobei es mir deutlich einacher Erscheint Rückschlüsse aus den IIC Daten
zu ziehen.
ICh habe die Daten noch nicht Ausgewertet, stelle jetzt einfach mal die
reinen Mitschnitte im Originalformat des LogicAnalyzers (Zeroplus
C16200)rein. Als Grfaik oder irgendein anderes Format sit das einfach zu
unhandlich!
Das Programm für diesen LA kann frei heruntergeladen werden und läuft
ohne HArdware im DEMO Modus. Ein betrachten abgespeicherter Files ist
damit möglich. Die Buseinstellungen sind jetzt NOCHT NICHT auf
korrektheit überprüft, die Dekodierten Inhalte des Transfers dürften
also noch nicht ganz stimmen. Da ist noch etwas probieren mit den
Einstellungen des Dekoders gefragt. (KAnn jeder aber mit den
aufgezeichneten Daten machen, dafür braucht man nicht neu Samplen
sondern es reicht die Einstellungen zu ändern und schon wird die neue
Anzeigeeinstellung verwendet.)
WEr sich die Daten ansehen will kann die Software am abesten hier
runterladen: http://www.zeroplus.ch/bus.html
Die Verbindung direkt zur Originalseite des Herstellers in TW ist
grottenlangsam.
Evtl. ist es aber nötig die Dekodermodule nachzuladen. Diese geht dann
aber nur von der Herstellerseite selbst.
http://www.zeroplus.com.tw/logic-analyzer_en/products.php?pdn=7&product_id=31
(Die meisten Dekodermodule müssen aktiviert werden, IIC und UART sowie
ähnliche sollten aber frei sein und ohne Aktivierung funktionieren.)
Bei den Traces handelt es sich um Aufzeichnungen von folgenden Aktionen:
Anmeldung am Mobiltelefon (Einstecken): INitial_xxMhz.ALC
Einstellen und bestätigen der SEndefrequenz:
Parametrierung xxxMHz.alc
Starten eines Musikstücks (erst dann wird der Sender auch aktiviert)
Strartbefehl_xxxMHz.alc
Durchgehende Übertragung während Sendung läuft.
Durchgehende ÜbertragungxxxMhz.alc
Ich habe auch mal ein Transceivermodul runtergelötet unm Festzustellen
welche Leitungen überhaupt benutzt sind.
Als ersten Test hier die Leitungen die Benutzt scheinen (Nicht auf GND
liegen). Bennenung und Richtung laut dem bekannten Kurzdatenblatt was
oben verlinkt ist.
In Benutzung: 2, 6, 13, 14, 16, 18-22 (Und natürlich die anzen GND
Anschlüsse)
ICh werde später auch mal den Atmega runterholen und mal die genaue
Verbindung durchklingeln.
Beim LowVolt Programmierversuch muss ich momentan aber passen, habe zwar
alles dafür da und auch kein Problem damit einoder zwei Sender zu
zerlegen, allerdings habe ich gerade keine aVR Software auf dem
Elektronikrechner und ich befinde mich gerade in der heißen Phase einer
kommerziellen Auftragsentwicklung. Da möchte ich drei Tage vor der
Fertigstellung jetzt keinerlei Änderungen am System vornehmen!
(diese Bastellei ist so etwas ein Pausenfüller um zwischendurch auf
andere Gedanken zu kommen und etwas Abstand zu gewinnen.)
ICh hoffe die obigen Traces helfen schon etwas weiter.
Gruß
Carsten
PS: A1 & A2 sind IIC, A3 die HAndy/Transmitter kommunikation
Ich habe mal versucht mit dem Programm zurecht zu kommen.
Im Dekoder habe ich eingestellt:
Adressbits: 7
Registerbits: 8
Datenbits: 8
Die Adresse (7bit) des Chips ist 0x66. Die Frequenz wird (scheinbar) in
den Registern 0x0A und 0x0B festgelegt.
Aus Parametrierung:
102Mhz:
1
adress data adress data
2
/0X0A /0XA3 /0X0B /0X30
88.6Mhz:
1
adress data adress data
2
/0X0A /0X3F /0X0B /0X2A
Kannst du das mal mit Maximalfrequenz (107.9) und Minimalfrequenz (87.6)
testen?
Interessant wäre auch beispielsweise 88.7Mhz, um zu erfahren, in welchem
der beiden Register das LSB steckt.
Silvan König schrieb:> Kannst du das mal mit Maximalfrequenz (107.9) und Minimalfrequenz (87.6)> testen?>> Interessant wäre auch beispielsweise 88.7Mhz, um zu erfahren, in welchem> der beiden Register das LSB steckt.
Dein Wunsch wurde erhört ;-)
Beachte auch das bei den Mitschnitten der PArametrierung auf ungefähr
75% noch ein weiterer Datenburst kommt!
Wenn ich noch weitere Dinge mitschneiden soll ist das kein Problem, nur
wirklich mit vollem EInsatz mich auf das Thema konzentieren und tiefer
in die Materie einsteigen, das ist frühestens ab Mitte der kommenden
Woche möglich! Dieses WE heisst es für mich Durcharbeiten...
Im Anhang sind jetzt mitschnitte der Parametrierung auf 87.6MHz,
88.7MHz,105.2MHz und 107.9Mhz!
Gruß
Carsten
WORD ist das Datenwort, wobei das MSB hinten steht und das LSB vorn.
Silvan König schrieb:> 88.6Mhz:> adress data adress data> /0X0A /0X3F /0X0B /0X2A
WORD = 256*2A + 3F = 10815
Frequenz = (10815·67+143)·1/818·1/10 = 886·1/10 = 88,6 [MHz]
Hi,
Ich habe mich jetzt zur Ablenkung doch noch mal etwas mit der
Programmierung beschäftigt und mal geschaut ob ich ein Schema hinter den
DAten erkenne. Und zumindest für die Frequenzeinstellung denke das habe
ich es jetzt raus.
Alexander Schmidt schrieb:> WORD ist das Datenwort, wobei das MSB hinten steht und das LSB vorn.>> Silvan König schrieb:>> 88.6Mhz:>> adress data adress data>> /0X0A /0X3F /0X0B /0X2A> WORD = 256*2A + 3F = 10815> Frequenz = (10815·67+143)·1/818·1/10 = 886·1/10 = 88,6 [MHz]
Das gibt zum großen Teil gültige Datenwörter, ist aber nicht ganz
korrekt. In Warheit ist es viel einfacher ;-)
Das hier ist aber soweit richtig:
Alexander Schmidt schrieb:> WORD ist das Datenwort, wobei das MSB hinten steht und das LSB vorn.
Der Schlüssel dabei liegt auch in dem Wissen das der Sender nicht
wirklich immer auf der glatten Frequenz sendet sondern in den meisten
Fällen knapp darüber oder knapp darunter, (+/- 10Khz in den meisten
Fällen). Ein SpectrumAnalyzer ist manchmal ganz nützlich ;-)
Hier zur Programmierung:
Das Datenwort setzt sich wie von Alexander geschrieben aus den beiden
auf Adresse 0x66 & Unteradresse 0x0A folgenden Bytes. Die beiden Bytes
ergeben zusammen ein 16Bit Datenwort, wobei der zuerst übertragene Wert
den unteren Teil und das zweite Byte die oberen zwei Stellen darstellt.
Das Frequenzraster ist genau 8,192 KHz. Das ist 1/400 des Referenztaktes
der von einem Uhrenquarz erzeugt wird. (=Ein Schritt weiter sind
8,192KHz mehr). Der übertragene 16Bit Wert multipliziert mit dem
Rasterwert ergibt die SEndefrequenz. Einen Offset oder irgendwelche
Frequenzumsetzungen sind nicht zu berücksichtigen.
Die Sendefrequenz aus dem oberen Beispiel berechnet sich daher :
0x2A3F * Rasterschritt = 10815(d) * 8,192KHz = 88,59648MHz ~ 88,6MHz
Für das Beispiel aus meinem Screenshot ergibt sich:
0x2A1A * 8,192KHz = 88,293376MHz ~88,3MHZ (Und damit der Eingestellte
wert.)
Beim Transmitter ist es so gelöst das zwischen zwei Frequenzschritten
(seinstellbar sind immer 100Khz Schritte) gewöhnlich der TEilerwert um
0x0C = 12(d) erhöht wird. Jeder fünfte Schritt ist allerdings nicht 12
sondern 0x0d = 13(d) Schritte groß um den immer größer werdenden Offset
auszugleichen. EIn Abstand von 1 MHZ entspricht einem Schritt von 0x7C =
122(d)
Jetzt müssen wir nur noch herausbekommen was sonst noch so übertragen
wird und welchen TEil der Übertragung der Sender braucht und wir können
das Ding selbst steuern, Entweder das Sendemodul ablöten und in eigener
Schaltung einsetzen (Mein Ziel) oder aber den Atmega umprogrammieren und
anstelle des Handysteckers irgendeine Stiftleiste einsetzen.
Aber das Schaffen wir auch noch!
Gruß
Carsten
Kannst du mal bei der durchgehenden Übertragung (88.6MHz) den Pin D2 des
ATMega mitloggen?
Der ist als Pad verfügbar, siehe Bild:
http://www.mikrocontroller.net/attachment/138730/Controller_pins_small.jpg
Dieser Pin ist direkt mit dem RDSINT-Ausgang des ALPS-Moduls verbunden.
Scheinbar kann das Modul immer zwei Zeichen (in den Registern 0x05 und
0x06) buffern und zeigt über RDSINT an, wenn sie gesendet wurden.
Silvan König schrieb:> Kannst du mal bei der durchgehenden Übertragung (88.6MHz) den Pin D2 des> ATMega mitloggen?> Der ist als Pad verfügbar, siehe Bild:> http://www.mikrocontroller.net/attachment/138730/Controller_pins_small.jpg>> Dieser Pin ist direkt mit dem RDSINT-Ausgang des ALPS-Moduls verbunden.>> Scheinbar kann das Modul immer zwei Zeichen (in den Registern 0x05 und> 0x06) buffern und zeigt über RDSINT an, wenn sie gesendet wurden.
Ich habe jetzt gerade mal einen ersten Trace gemacht.
Songtitel habe ich dafür auf aaaaaaa... geändert.
Ich mache gleich noch einen Trace mit bbbbbbb... sowie ccccccc... und
auch noch a1b2c3d4e5f6g7... Unser Speedy (HAmster) hat nur gerade das
erste Modul geschrottet nachdem er sich die Anschlusslitze hat schmecken
lassen. Muss gleich erst noch ein neues Präparieren ;-)
Im Anhang einmal der Original Trace und die Exportierte Telegrammliste
im TXT Format.
Gruß
Carsten
Ach Ja - NAchtrag:
Es ist wohl so, das über den PIN RDSINT keine Daten übertragen werden
sondern der Transmitter darüber nur einen Interreupt auslöst wenn er
bereits ist neue Daten zu Empfangen. Die Datenübertragung läuft ganz
normal über IIC.
Das passt auch zu dem oben verlinkten Einzeldatenblatt vom IC, denn da
ist ja der PIN RDINT (da ohne S) als "Nur Ausgang" gekennzeichnet.
(ICh habe ja auch einen offenen Transmitter hier, beim Auslöten mit
Heißluft.geht ja zwangsläufig das Metallblech als erstes ab. warum bin
ich nicht auf die Idee gekommen mit den IC mal genauer anzusehen)
Die HErstellerfirma des ICs scheint im übrigen eher soetwas sein wie ein
Dienstleister für die Feertigung von IC (und Baugruppen) sowie auch das
direkte Bonden auf Leiterplatte. LAut der WEbsite sieht es so aus als ob
die die ganze Kette des Fertigungsprozesses ab fertigstellung der
Schaltung auf dem Wafer anbieten, allerdings die Halbleiterelemente
selbst werden wohl nicht bei denen gefertigt.
Gruß
Carsten
Hier nun die weiteren Captures!
ICh habe zuerst nur die andauernde Übertragung mitgeschnitten,
allerdings scheint diese bei allen Titeln Identisch zu sein.
Daher habe ich noch einmal einen sehr langen Scan gemacht der mit der
Parametrierung beginnt und alles erfasst was dazwischen bis zur
kontinuierlichen Übertragung übertragen wird. (Aber noch nicht weiter
ausgeführt).
In welcher Form die RDS Übertragung tatsächlich ankommt kann ich
momentan leider nicht sagen. Da ich es in Richtung Anlage eher
Oldschoolmäßig mag und da auf Dinge setze die ungefähr genauso Alt sind
wie ich, aber damals richtig teuer waren (Von mir natürlich überholt)
und unsere beiden billigen Kofferradios kein RDS haben sind die einzigen
Radios die wir mit RDS Empfang haben sind unsere Autoradios. Und da
wollte ich jetzt nicht mehr runtergehen, vielleicht morgen mal. (Nicht
das dieses HAndy den Namen gar nicht ausgibt und deshalb alles gleich
aussah)
Zu den Mitschnitten:
Ich habe die Übertragung bei vier verschiedenen Titelnamen von der
Parametrierung während eines laufenden Titels mitgeschnitten.
Bei den Titalnamen handelt es sich um folgende:
aaaaaaaaaaaaa.mp3
bbbbbbbbbbbbb.mp3
ccccccccccccc.mp3
abcdefghijkl.mp3
a1b2c3e4f5g6h7.mp3
Frequenz ist immer 88.6Mhz
(Die Länge der Titel kann anders sein, ist aber bei allen Titeln gleich.
Hinter allen Namen steckt dasselbe Musikstück)
Die Dateien habe ich einmal im Originalen FileFormat und als reine
Textdateien die nur die Ausgewerteten Pakete beinhalten angehangen um
die auch ohne Installation der Originalsoftware ansehen zu können.
Gruß
Carsten
Das es zwar grundsätzlich rds bei den modulen gibt, es aber anscheint
weder alle handys noch alle radios richtig können. Es muss sich also
irgendwer mit der richtigen kombi finden um das auszuprobieren...
jedenfalls scheint da irgendwie was im argen zu liegen.
Carsten Sch. schrieb:> Bei den Titalnamen handelt es sich um folgende:> aaaaaaaaaaaaa.mp3> bbbbbbbbbbbbb.mp3> ccccccccccccc.mp3> abcdefghijkl.mp3> a1b2c3e4f5g6h7.mp3
Mein Handy ist grad leer, deshalb kann ich es nicht prüfen, mir ist nur
der Gedanke gekommen, dass es sehr wahrscheinlich ist, dass das Handy
per RDS nicht den Dateinamen, sondern den Titel aus dem ID3-Tag nimmt
(wie im Display angezeigt). Und wenn das alles dieselben mp3s waren,
wird die Übertragung immer dieselbe sein....unabhängig vom Dateinamen...
Ich werds nachher mal testen...
UPDATE:
Also, dass Handy sendet tatsächlich den Titelnamen aus dem ID3-Tag und
NICHT den Dateinamen...
Und nochwas: im Hauptmenü unter Einstellungen --> Verbindungen -->
Zubehör --> MMR-70 kann man so Sachen wie Lichteffekte...RDS...u.s.w.
einstellen und: die Frequenz im laufenden Betrieb ändern!
PS. Die meisten Handys heute haben doch Radio mit RDS integriert ;)
(Als alternative zum Autoradio)
Chris L. schrieb:> PS. Die meisten Handys heute haben doch Radio mit RDS integriert ;)> (Als alternative zum Autoradio)
So habe ich es gemacht. Allerdings zeigt mein Handy immer MMR-70 an. Ich
habe daraufhin recherchiert und herausgefunden, dass der Stationsname
aus maximal 8 Buchstaben bestehen darf.
Radiosender, bei denen der Name eines Songs angezeigt wird, wechseln
diese 8 Zeichen ständig. Aus den Mitschnitten von Carsten lässt sich
erkennen, dass dies bei dem Transmitter nicht der Fall ist. Es wird in
regelmäßigen Abständen MMR-70 übermittelt.
Ich kann auch noch anrufer info bei den einstellungen setzen und die led
in dem ding abschalten.... ich hab nen k800i.... ich tippe das meiste
davon steuert das handy direkt ?!
Habe mir auch mal 3 Transmitter geordert. Danke für den Tip.
Ich werde versuchen, etwas zur Erforschung beizutragen, sobald sie
angekommen sind.
Jetzt muss ich nur mal sehen, wo ich ein kompatibles Handy herbekomme.
So, ich habe mal auch direkt zwei bei der EBucht bestellt, kennt
zufällig wer den Orginalpreis? Mich wundert es ziemlich, dass die für
'nen Euro weggehen bei Sofortkauf und man dann auch keine Versandkosten
hat…
Chris L. schrieb:> PS. Die meisten Handys heute haben doch Radio mit RDS integriert ;)> (Als alternative zum Autoradio)
OK, daran habe ich gar nicht mehr gedacht!
HAbe dann doch mal nach langer Sucher das Headset für mein Handy
gefunden welches von diesem für Radioempfang zwingend erforferlich ist
(Antenne...)
HAndys sind für mich nur zum Telefonieren da... Ausser fleissiger
Sprachkommunikation , seltener mal Kamerabenutzung und noch seltener
eine SMS Schreiben mache ich halt nichts mit dem Ding. (Und ich bin auch
kein Freund von Alles können, aber nichts davon richtig)
HAbe nun RDS getestet und auch noch mal mit dem Autoradio verifiziert...
Daher weiß ich nun mehr:
Chris L. schrieb:> Also, dass Handy sendet tatsächlich den Titelnamen aus dem ID3-Tag und> NICHT den Dateinamen...
JAIN: ICh habe festgestellt das dies nur richtig ist wenn ein solcher
Tag vorhanden und mit Informationen gefüllt ist. Da meine Testdateinen
keine Infos mehr beinhalten wird hier doch der Titel verwendet.
ABER: Zumindest bei dem von mir verwendetem Testhandy (K770i) wird RDS
mit SInnvollen Information übertragen soald ein Musikstück im
Mediaplayer agespielt wird.
WENN ABER das Musikstück nicht im Mediaplayer sondern über den
Dateimanager aufgerufen wird, dann wird zwar die RDS Flag übertragen -
aber der Inhalt ist leer. Es steht also NICHTS im Display. Auch nicht
RFM70.
Leider habe ich gestern die Dateien aus dem Dateimanger und nicht aus
dem Mediaplayer heraus aufgerufen. Daher wird NICHTS übertragen!
Silvan König schrieb:> Aus den Mitschnitten von Carsten lässt sich> erkennen, dass dies bei dem Transmitter nicht der Fall ist. Es wird in> regelmäßigen Abständen MMR-70 übermittelt.
Nee, da wird leider nichts übermittelt. (bzw. nur Leerzeichen)
Siehe oben. Die Dateien taugen daher leider nur Referenz für ein leeres
Telegramm.
Aber hier jetzt der Aufbau wie ers sich für mich Darstellt.
Das RDS Telegramm wird scheinbar in Form eines Frames übertragen welches
nach folgendem Schema aufgebaut ist:
03 E0 00 05 01 22 05 E0 CD 05 xx xx
03 E0 00 05 01 27 05 E0 CD 05 xx xx
03 E0 00 05 01 24 05 E0 CD 05 xx xx
03 E0 00 05 01 21 05 E0 CD 05 xx xx
03 E0 00 05 A1 20 05 4D 4D 05 52 2D
03 E0 00 05 01 22 05 E0 CD 05 xx xx
03 E0 00 05 01 27 05 E0 CD 05 xx xx
03 E0 00 05 01 24 05 E0 CD 05 xx xx
03 E0 00 05 01 21 05 E0 CD 05 xx xx
03 E0 00 05 A1 21 05 4D 4D 05 52 2D
...
Wobei:
03 E0 00 05 01 22 05 E0 CD 05 xx xx
^^ Dies ist die Speicheradresse in der die jeweiligen
folgenden zwei Bytes eingetragen werden.
03 E0 00 05 01 22 05 E0 CD 05 xx xx
^^ ^^ Hier stehen die zwei in die
Speicheradresse einzutragenden Zeichen in Ascii Codierter Form.
Der Rest scheint fix zu sein...
Die obigen Zeichenketten wiederholen sich Zyklisch alle paar ms.
Wobei ich Anfang und Ende des Frames jetzt nur geschätzt habe, es kann
auch an anderer Stelle der Startpunkt liegen.
Nach diesem Schema erkennt man dann auch das in meinen Logs von
gestern/Vorgestern Nacht nur llerzeichen enthalten sind.
ICh habe noch einmal zwei Logs einer durchgehenden Übertragung
angehangen.
Leider ist es mir auf die Schnelle jetzt nicht gelungen einen Log zu
machen der mit der Startsequenz beginnt. Wenn ich das Modul einstecke
während ein Lied läuft wird kein ordentliches RDS Telegramm übertragen.
DER ANFANG DER FILES ZEIGT DIE ÜBERTRAGUNG EINES ANDEREN TITELS, NACH
WENIGEN AUGENLICKEN WIRD AUF DIE Titel umgestellt.
(a1b2c3d4e5f6 sowie 01234567890abcdefgh)
Gruß
Carsten
Carsten Sch. schrieb:> Silvan König schrieb:>> Aus den Mitschnitten von Carsten lässt sich>> erkennen, dass dies bei dem Transmitter nicht der Fall ist. Es wird in>> regelmäßigen Abständen MMR-70 übermittelt.>> Nee, da wird leider nichts übermittelt. (bzw. nur Leerzeichen)> Siehe oben. Die Dateien taugen daher leider nur Referenz für ein leeres> Telegramm.
Das sehe ich anders:
Carsten Sch. schrieb:> 03 E0 00 05 A1 20 05 4D 4D 05 52 2D
^M ^M ^R ^-
"MMR-" wird da übermittelt. Die "70" kommt aber viel später, was mich
sehr irritiert... :-(
Die Leerzeichen, von denen du gesprochen hast, sind 0x20 (in ASCII) und
davon werden 2 Stück nach der "70" übertragen. Vermutlich, damit es
insgesamt die von RDS geforderten 8 Zeichen sind?
Silvan König schrieb:> Das sehe ich anders:>> Carsten Sch. schrieb:>> 03 E0 00 05 A1 20 05 4D 4D 05 52 2D> ^M ^M ^R ^->> "MMR-" wird da übermittelt. Die "70" kommt aber viel später, was mich> sehr irritiert... :-(>> Die Leerzeichen, von denen du gesprochen hast, sind 0x20 (in ASCII) und> davon werden 2 Stück nach der "70" übertragen. Vermutlich, damit es> insgesamt die von RDS geforderten 8 Zeichen sind?
Oh, diese Zeichenfolge ist tatsächlich MMR-70 ! Das ist mir gar nicht
aufgefallen ;-)
Aber das hat trotzdem nichts mit der übertragenen Kennung zu tun!
WEnn du dir meinen vorherigen Beitrag zum Aufbau noch einmal genau
ansiehst, dann siehst du das der angezeigte Text in den spalten
DAZWISCHEN übertragenen wird. Die mit 03 E0 00 05 A1 2x
beginnenden Spalten haben scheinbar nichts mit der angezeigten
Statioskennung zu tun.
Hier noch mal ein Auszug aus der Übertragung des Namens
"01234567890abcdefgh".
In folgenden Abschnitt wird die Folge 12345678 übertragen.
03 E0 00 05 01 22 05 E0 CD 05 35 36 // 5 , 6
03 E0 00 05 01 27 05 E0 CD 05 37 38 // 7, 8
03 E0 00 05 01 24 05 E0 CD 05 31 32 // 1, 2
03 E0 00 05 01 21 05 E0 CD 05 33 34 // 3, 4
03 E0 00 05 A1 20 05 4D 4D 05 52 2D
03 E0 00 05 01 22 05 E0 CD 05 35 36 // 5 , 6
03 E0 00 05 01 27 05 E0 CD 05 37 38 // 7, 8
03 E0 00 05 01 24 05 E0 CD 05 31 32 // 1, 2
03 E0 00 05 01 21 05 E0 CD 05 33 34 // 3, 4
03 E0 00 05 A1 21 05 37 30 05 20 20
Und zum VErgleich hier noch einmal ein Auszug aus der als allererstes
mitgeschnittenen Übertragung RDS_aaaaaaaaaaa wo, wie ich mittlerweile
festgestellt habe nur Leerzeichen übertragen wurden.
03 E0 00 05 01 22 05 E0 CD 05 20 20
03 E0 00 05 01 27 05 E0 CD 05 20 20
03 E0 00 05 01 24 05 E0 CD 05 20 20
03 E0 00 05 01 21 05 E0 CD 05 20 20
03 E0 00 05 A1 20 05 4D 4D 05 52 2D
03 E0 00 05 01 22 05 E0 CD 05 20 20
03 E0 00 05 01 27 05 E0 CD 05 20 20
03 E0 00 05 01 24 05 E0 CD 05 20 20
03 E0 00 05 01 21 05 E0 CD 05 20 20
03 E0 00 05 A1 21 05 37 30 05 20 20
Da sind alle Felder die in den anderen Mitschnitten den später am
Display angezeigten Text enthalten mit 20 für "Leerzeichen" gefüllt.
Wenn ich Titelinfo deaktiviere und dann MMR-70 stattdessen übermittelt
wird und in Display steht, dann findet sich die Information auch genau
da wieder wo im obigen Trace die "20" und im obersten Abschnitt die
Werte 31...38 Hex stehen.
Die Folge
03 E0 00 05 A1 20 05 4D 4D 05 52 2D
[...]
03 E0 00 05 A1 21 05 37 30 05 20 20
die ist unabhängig vom Titel und vom Angezeigten Text immer da und immer
Identisch. Was es mit dieser Folge aus sich hat müsste man noch
ergründen, es hat aber DEFINITV nichts mit dem angezeigten TExt zu tun.
Es könnte sich allerdings um einen anderen RDS Unterdienst handeln.
Vielleicht ist es aber auch bloß ein "ICh lebe noch " Signal das gar
nicht ON AIR geht und nur dazu dient zu erkennen ob das Programm noch
vernünftig läuft oder ob das steuernde System ausgefallen ist (um zu
verhindern das das Modul unkontrolliert und unnötig auf Dauersenden
geht) und ein Ausbleiben führt zum Deaktivieren der Sendefunktion.
Wir dürfen ja nicht vergessen das es sich hier ja nur um den Datenstrom
vom ATMEGA zum Sendemodul handelt und nicht um einen Mitschnitt der
tatsächlich ausgesendeten Daten.
LEider habe ich nichts um die RDS Daten richtig zu analysieren. Daher
bleibt wohl nur der Versuch um herauszbekommen was es damit auf sich
hat.
Gruß
Carsten
zu RDS:
Vermutlich schiebt der Atmel immer einen vollen RDS-Block in den
Transmitter-Chip. Das wären 26Bit, also vermutlich 4 bytebreite
Register, da i2c immer eine Breite von Byte hat. Die Register sind
vermutlich gebuffert und der Transmitter schickt einen Interrupt, sobald
er die letzten geschriebenen Daten in den 4 Registern in das
Schattenregister überträgt.
Tadaaa:
Die erste neue Firmware für den Controller.
Damit sendet das Modul auf 88.6 MHz. RDS-Daten werden nicht
übertragen. Die Frequenz, die im Makefile angegeben ist (F_CPU) stimmt
nicht. Ich kann nicht entziffern, was auf dem Quarz steht :-(
Kann mir jemand die richtige Frequenz sagen?
Diese Software ist bitte als Proof-Of-Concept zu verstehen. Ich habe
noch nie mit dem Hardware I²C gearbeitet und deshalb ist die
Implementierung (fast) komplett aus dem Datenblatt abgeschrieben.
(Viele) Verbesserungen folgen...
Danke Silvan,
Der Keramikresonator hat wahrscheinlich 3,68 MHz (typischer
Baudratentakt).
Lass doch 'mal die LED langsam blinken, dann kannst du den Takt
bestimmen.
Gruß
Einhart
Hat schon mal jemand eine neue Firmware in den AVR geflasht?
Die Chips sind ja in der MLF-Bauform, also nicht besonders
Bastlerfreundlich, aber es gibt dort ja einige Pins die nach Außen
führen und genutzt werden können.
Silvan König schrieb:> B.A. schrieb:>> Hat schon mal jemand eine neue Firmware in den AVR geflasht?>> Lern lesen...
Das wäre doch zu viel verlangt, da müßte er doch tatsächlich die letzten
beiden Posts lesen. BTW coole Arbeit, ich werds mir morgen mal
anschaun.
evt auf internen Quarz umstellen, dann hast du ne Basis.
GRADE RDS halte ich für eine zweckmäßige Sache: Damit ließe sich z:b:
relativ unkompliziert eine "Anzeige" (im Sinne von
Informationsübermittlung) im Auto realisieren, z.B. um OBD-Informationen
anzuzeigen. Autoradio hat schließlich jedes Auto, und RDS-Anzeige ist ja
nicht unüblich
Mikel schrieb:> Silvan König welches Dokument hast du für die Steuercodes verwendet? das> vom NS741?
Nein, wo sollte ich das her haben?
Ich habe mich ein wenig am Datenblatt des NS73 (siehe oben) und vor
allem an den Mitschnitten von Carsten orientiert.
hi,
Silvan König schrieb:> Die Frequenz, die im Makefile angegeben ist (F_CPU) stimmt> nicht. Ich kann nicht entziffern, was auf dem Quarz steht :-(> Kann mir jemand die richtige Frequenz sagen?
ja ;-)
Einhart Pape schrieb:> Der Keramikresonator hat wahrscheinlich 3,68 MHz (typischer> Baudratentakt).
zumindest steht mal 368 drauf...
jay
Auch ich habe 3x 1,09€ investiert ;)
Folgender Bascom-Code (bitte nicht schlagen) läßt die LED im
Sekundentakt blinken.
1
$regfile "m32def.dat"
2
$crystal = 3680000 '3,68MHz
3
4
Config Portd = Output
5
6
Do
7
Wait 1
8
Toggle Portd.7
9
Loop
@Silvian:
Mit deine Firmware hört das Rauschen auf 88,6 auf. Das Radio zeigt
'tuned' und 'Stereo' an. RDS-RT:NoData; RDS-PS:NoData; RDY-PTY:NoData
Würde das Radio schon was hörbares empfangen, wenn ich Line-Pegel an
Pin5/6 anlege? Hab grade kein "Opfer-Kabel" zur Hand.
Würde dann als nächstes Versuchen deinen C-Code zu verstehen und in
Bascom umzusetzen.
Ist Pin 8 jetzt Uart-RX? TTL-kompatibel?
Gruß,
Torsten
Torsten F. schrieb:> @Silvian:> Mit deine Firmware hört das Rauschen auf 88,6 auf. Das Radio zeigt> 'tuned' und 'Stereo' an. RDS-RT:NoData; RDS-PS:NoData; RDY-PTY:NoData> Würde das Radio schon was hörbares empfangen, wenn ich Line-Pegel an> Pin5/6 anlege? Hab grade kein "Opfer-Kabel" zur Hand.
Mein Name enthält nur ein 'i'.
Ja, wenn du auf Pin5/6 das Audiosignal legst, dann wird es ans Radio
übertragen.
Silvan König schrieb:> Tadaaa:> Die erste neue Firmware für den Controller.
Du hast ja schon damit rumgespielt.
Was ist die minimal notwendige Sequenz um die Sendefrequenz im Betrieb
zu verstellen?
a.c:
1
TWI_send(0,0);//init
a.c:
1
TWI_send(0x03,0x00);//Modul aktivieren
Wie hast du das rausbekommen?
a.c:
1
//parametrierung
2
TWI_send(0x0B,0x02);
3
TWI_send(0x3F,0x0A);
4
TWI_send(0x2A,0x0B);
5
TWI_send(0x7E,0x07);
6
TWI_send(0x0E,0x08);
Weißt du wie sich diese Schreibzyklen im einzelnen auswirken?
Gruß Oliver
Oliver J. schrieb:> a.c:TWI_send(0,0); //init
In den Mitschnitten von Carsten ist zu erkennen, dass bei der
Initialisierung zu Beginn leere Takte übertragen werden. Das mache ich
hier. Vermutlich geht es auch ohne.
> a.c:TWI_send(0x03, 0x00); //Modul aktivieren> Wie hast du das rausbekommen?
Hier habe ich in das Datenblatt des NS73 geguckt. Außerdem habe ich es
getestet (Bit 0 = an/aus).
Oliver J. schrieb:> Weißt du wie sich diese Schreibzyklen im einzelnen auswirken?
Nicht alle. Nur die Frequenzeinstellung ist bekannt (Register 0x0A und
0x0B). Falls du mehr wissen willst, musst du dir das Datenblatt vom NS73
und die Mitschnitte von Carsten ansehen.
Danke für die rasche Antwort Silvan. Ich werde mich nächste Woche, wenn
ich wieder zu Hause bin, mit an der Programmiergeschichte beteiligen.
Silvan König schrieb:> Falls du mehr wissen willst, musst du dir das Datenblatt vom NS73> und die Mitschnitte von Carsten ansehen.
Wo hast du Überschneidungen zwischen dem NS73 und dem NS741 gefunden?
Abgesehen vom on/off natürlich.
Gruß Oliver
Silvan König schrieb:> Keine. Allerdings habe ich auch nix getestet, bis auf An/Aus.
Also ist es nicht gesagt, dass es wirklich das besagte AN/AUS-Bit ist.
Könnte also auch etwas Anderes sein, dass benötigt wird, damit der
Tramsmitter etwas senden kann?
Gruß Oliver
Carsten Sch. schrieb:> Die Folge> 03 E0 00 05 A1 20 05 4D 4D 05 52 2D> [...]> 03 E0 00 05 A1 21 05 37 30 05 20 20> die ist unabhängig vom Titel und vom Angezeigten Text immer da und immer> Identisch. Was es mit dieser Folge aus sich hat müsste man noch> ergründen, es hat aber DEFINITV nichts mit dem angezeigten TExt zu tun.> Es könnte sich allerdings um einen anderen RDS Unterdienst handeln.
Es ist tatsächlich ein anderer RDS-Dienst:
Program Type Name (Group type 10A)
Das sind die Informationswörter der 4 Blöcke der ersten Group:
Block 1: E0 00 : PI-Code
Block 2: A1 20 : Group = 10A; PTY = Top40; first 4 Characters
Block 3: 4D 4D : "MM"
Block 4: 52 2D : "R-"
Das Checkword scheint der Chip allein zu berechnen und anzuhängen der
Offset wird auch vom Chip drangehangen. Wahrscheinlich wird der Offset
über das erste Byte synchronisiert:
03 Offset = A
05 Offset erhöhen
>> 03 E0 00 05 01 22 05 E0 CD 05 35 36 // 5 , 6>> 03 E0 00 05 01 27 05 E0 CD 05 37 38 // 7, 8>> 03 E0 00 05 01 24 05 E0 CD 05 31 32 // 1, 2>> 03 E0 00 05 01 21 05 E0 CD 05 33 34 // 3, 4
Dabei handelt es sich wahrscheinlich um 4 verschiedene 0A-Groupen. Diese
codieren den "Program service name".
Man kann wahrscheinlich alles Mögliche über RDS übertragen, denn man
scheint alle 4 Informationswörter selbst erzeugen zu können. :)
Hier ein Link zur Spec:
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Shields/RBDS%20Standard.pdf
Gruß Oliver
So ich habe RDS jetzt soweit, dass es den Program service name
überträgt. Werde noch den Code aufräumen und dann poste ich ihn hier.
Schönen Abend noch.
Oliver
Wollen wir den FM-Transmitter zu einem Projekt ausbauen? Hab jetzt eine
Tüte voll zu liegen und es wäre ja Schade darum, wenn die darin
vergammeln ;)
Ideen:
Das serielle Protokoll zwischen Handy mitschneiden und reversen. Da
könnte man über die originale Firmware Frequenz einstellen und RDS-Daten
(PS) übertragen. Mann könnte auch die alternative Firmware für den
ATmega32 ausbauen, um z.B. auch Radio Text (64 Zeichen) zu übertragen.
Man önnte auch könnte versuchen V-USB auf dem AVR zum laufen zu
bekommen. Das sollte laut USB-Spec. mit 2.8V funktionieren. INT0 ist
zwar schon belegt, aber mit INT1 oder INT2 sollte das auch
funktionieren. Den Resonator müsste man dann allerdings gegen einen 12
MHz Quarz austauschen. Vielleicht läuft es ja, wenn auch out of Spec.
Damit könnte man dann einen vom PC gesteuerten und versorgten
Transmitter bauen. Audio müsste dann aber noch extra über eine Klinke
oder so übertragen werden.
Habt ihr daran Interesse bzw. weitere Ideen. Wäre doch Schade, wenn sich
das hier im Sande verläuft.
Gruß Oliver
Hallo,
ich oute mich mal als Besitzer eines Apple Produkts. Eine Schnittstelle
zum Ipod wäre interessant, ob das Ipod Protokoll bekannt ist weiß ich
auf die Schnelle nicht, denke aber da findet sich bestimmt was.
Fred Feuerstein schrieb:> Hallo,> ich oute mich mal als Besitzer eines Apple Produkts. Eine Schnittstelle> zum Ipod wäre interessant, ob das Ipod Protokoll bekannt ist weiß ich> auf die Schnelle nicht, denke aber da findet sich bestimmt was.
Von Apple hab ich zwar keine Ahnung, aber dass diese Firma OpenSoure
klein schreibt, sollte kein Geheimnis sein. Ein solches Vorhaben halte
ich vorsichtig ausgedrückt für schwierig bis unmöglich.
Den Thread erkläre ich hiermit (jedenfalls für mich), erst einmal als
gestorben. Falls jemand tatsächliches Interesse haben/entwickeln sollte,
dieses Projekt voranzutreiben, dann kann er/sie ruhig eine PN an mich
schreiben - ich wäre dabei.
Echt schade, dass scheinbar niemand mehr Bock hat...
Gruß Oliver
Hallo,
ich hoffe nicht, dass das Wort "Apple" Schuld ist wenn du nicht mehr
weitermachen willst. Ein Ipod könnte auch mit der jetzigen Version
laufen, genau wie alle anderen Player. Eine Kleinigkeit wäre aber noch
sinnvoll, 2 Taster am Transmitter mit denen die Sendefrequenz verstellt
werden kann. Damit wäre der Transmitter für alle Geräte benutzbar.
Hallo,
ich habe mir ebenfalls einige dieser Transmitter besorgt und möchte mich
nun mal in die Diskussion einklinken.
Mein Ziel ist es, das Transmitter-Modul in einer eigenen Schaltung
einzusetzen. Dazu habe ich mal eine kleine Testschaltung und -platine
entwickelt, die im Anhang zu finden ist. Es handelt sich dabei um eine
Minimalschaltung, die z.B. an ein STK500 angeschlossen werden kann. Die
Beschaltung der Audioeingänge ist etwas improvisiert. Ich möchte auf
diese Weise möglichst flexibel sein, da ich nicht genau weiß, wie die
Eingänge im Modul oder die Ausgänge des Telefons realisiert sind.
Vielleicht weiß ja jemand genaueres oder hat eine Vermutung?
Wenn ich Zeit finde, dann werde ich die Schaltung dieses Wochenende
aufbauen und erproben. Mal sehen, ob das so funktioniert. Wenn ja, dann
machen ich mich auf die Suche nach der Sendeleistungseinstellung. Das
wäre neben RDS noch ganz interessant.
Die Schaltung in der Zip-Datei ist mit Eagle 5.10.0 erstellt worden.
Tim
Ich möchte mich auch mal kurz melden. Ich verfolge diesen Thread
regelmäßig, habe aber leider im Moment so gut wie keine Zeit, selber was
zu machen. Habe aber schon ne Menge Ideen was man damit machen kann :)
Als erstes werde ich mir nen Bootloader draufmachen, um über 3 wire
arbeiten zu können. Meine Ideen gehen aber alle eigentlich in die
Richtung eigene Software draufzumachen. Ich habe auch kein Sony um damit
zu testen.
Ob es sinnvoll ist, das Protokoll zu analysieren?, ich glaube ehr
nicht, da man den Stecker nicht bekommen wird, und dadrüber auch
vermutlich nur eingeschränkt Einstellungen vornehmen kann. Mit eigene
Software könnte man am I²C noch nen uhrenchip dranhängen, oder ne
Softwareuhr laufen lassen. Ich denke sie Verwendung von dem Modul sind
vielfältig.
Fred Feuerstein schrieb:> 2 Taster am Transmitter mit denen die Sendefrequenz verstellt> werden kann.
Und wie weißt du dann, welche Frequenz eingestellt ist?
Gruß Oliver
Tim M. schrieb:> Dazu habe ich mal eine kleine Testschaltung und -platine> entwickelt, die im Anhang zu finden ist.
Tolles Board. Und danke für die Library. Ich war nämlich zu faul den
Footprint für den Transmitter zu erstellen und hab bei mir nur einen
Dummy.
Mal eine andere Sache. Mit welchen Equipment lötest du den Transmitter
aus? Ich hab da bei Heißluft Angst, die Bauteile von der
Transmitterplatine zu lösen.
Gruß Oliver
Mikel schrieb:> Ob es sinnvoll ist, das Protokoll zu analysieren?, ich glaube ehr> nicht, da man den Stecker nicht bekommen wird, und dadrüber auch> vermutlich nur eingeschränkt Einstellungen vornehmen kann.
Da hast du wohl recht. War auch nur so eine Idee von mir.
> Mit eigene> Software könnte man am I²C noch nen uhrenchip dranhängen, oder ne> Softwareuhr laufen lassen
Willst du über RDS die Zeit mitschicken über CT(4A-Group)?
> Ich denke sie Verwendung von dem Modul sind> vielfältig.
ACK.
Gruß Oliver
Ich hatte ebenfalls Bedenken mit der Heißluft, da bei dieser Methode die
Wärme von oben kommt :) Also habe ich das andersrum gemacht. Ich habe
auf unseren Herd (Elektroherd...) eine Aluplatte gelegt und darauf die
Platine des FM-Transmitters. Die BE auf der Unterseite habe ich vorher
schon entfernt, damit der Wärmekontakt zwischen Alu und Platine gut ist.
Dann einfach die Herdplatte einschalten und warten bis das Zinn auf der
Oberseite schmiltzt (Man kann als Indikator ein Stück Lötzinn auf die
Aluplatte legen). Den Transmitter kannst du dann einfach mit einer
Pinzette abheben. Der Vorteil ist eben, dass die BE auf der kleinen
Transmitterplatine nicht zu warm werden. Hat auf Anhieb geklappt.
Der nächste Versuch ist, ob man das Transmittermodul so auch wieder
auflöten kann...
Tim
Tim M. schrieb:> Der nächste Versuch ist, ob man das Transmittermodul so auch wieder> auflöten kann...
Das wird glaub ich das geringere Übel sein. Mit genug Flussmittel kann
man das sicher löten.
Und Danke für den Tip mit dem Herd.
Oliver J. schrieb:> Habe mal eine Schaltung des MMR-70 erstellt.> (Kein Ansprunch auf Vollständigkeit und Richtigkeit)
Habe mal eine Frage zu deinem Schaltplan. Hast du die Kondensatoren
ausgemessen, die du eingezeichnet hast? Ich habe nicht alle abgelötet,
jedoch definitiv den an der Antenne. Unter denen, die in Frage kommen,
befinden sich 2 mal 100nF und einmal 220nF. Ich würde daher fast
behaupten, dass 220nF im Antennenpfad sitzen. Ich hätte die gleich nach
dem Ablöten ausmessen sollen... ;)
Tim
Oliver J. schrieb:> Habt ihr daran Interesse bzw. weitere Ideen. Wäre doch Schade, wenn sich> das hier im Sande verläuft.Oliver J. schrieb:> Den Thread erkläre ich hiermit (jedenfalls für mich), erst einmal als> gestorben.> [...]> Echt schade, dass scheinbar niemand mehr Bock hat...
Na komm...
15 Stunden nach deiner Ideenmeldung schon die Flinte ins Korn schmeissen
bei einem Thread der nur von einer handvoll Hauptakteure vorangetragen
wird. (wenn dies auch recht Zielgerichtet) ist doch ein wenig früh.
Aber das hast du jetzt ja auch wohl gemerkt ;-)
Zum Thema:
ALso das wichtigste Ziel hier im Thread war ja meiner Meinung nach die
Vorraussetzungen zu schaffen um das Modul in eigenen Anwendungen
einzusetzen, sowohl als komplettes Modul wie auch für die Verwendung des
reinen ALPS Moduls in eigenen Anwendungen.
Das ist ja zum größten Teil auch erfolgreich gewesen.
Die Schaltung ist bekannt und auch alle zum Betrieb NOTWENDIGEN
Steuerbefehle sind ermittelt. Beispielprogramme haben wir auch.
Damit kann schon jeder der zumindest Grundlagen der µC Programmierung
beherscht das Modul in Betrieb nehmen.
Somit ist dieser Teil ja Erfolgreich abgeschlossen.
Bonus währe jetzt noch die Ermittlung weiterer Funktionen/Befehle.
In erster Linie fällt mir da die Stereo/Mono Umschaltung und die
Sendeleistungsregelung ein.
Eine Vervollständigung der Möglichkeiten beim RDS ist sicher auch nicht
schlecht. Aber funktionieren kann es ja auch so ;-)
Trotzdem spricht natürlich nichts dagegen noch etwas weiterzumachen,
einfach als Zugabe.
Aber zu deinen Ideen:
Ein Mitschneiden der Kommunikation HANDY/MODUL zwecks Entschlüsselung
des Protokolls halte ich nicht für Sinnvoll. Aus den selben Gründen wie
Mikel sie genannt hat. Die Buchse zum konnektieren bekommen wir ja eh
nicht
und dann ist die Verbindung dem Anschein nach Bidirektional über EINE
Leitung was sowohl die Auswertung als auch die Implementierung
erschwert.
Dazu müsste man dann ja noch für die Anpassung an jedes Gerät wieder
irgendetwas zwischenschalten, was bedeutet das sich sowieso jeder der
das verwenden möchte damit beschäftigen muss...
Daher halte ich die weiterverwendung der Originalen Firware für unnötig
kompliziert. Eine neue Firmware für den internen ATMEGA32 die eine
SEriell-I2C Umsetzung realisiert (Ok etwas umfangreicher schon) würde da
DEUTLICH WENIGER Arbeit machen und hätte einen wesentlich höheren
Nutzwert für alle.
Also anstelle der Bidirektionalen Kommunikation läuft über den Anschluss
dann eine normale Serielle 8N1, 9K6 (oder was gerade so passt)
Kommunikation die entweder über Seriell USB Wandler an den PC gehen kann
(natürlich bei älteren PC auch über MAX232, oder einfach von jeden
Beliebigen IC angesprochen werden kann.
Man kann es ja so machen, das bestimmte Komandos direkt vom µC richtig
umgesetzt werden, also der HOST nicht die genaue Befehlsfolge einhalten
muss sondern nur den Wert senden muss -> Der Rest passiert dann
Automatisch - Es aber auch Befehle gibt die einfach die angehängten
Bytes dann 1-1 durchreichen um so zum Beispiele Aktionen auszuläsen die
beim Schreiben der Firmware kgar nicht bekannt sind.
Vorteil: Keine Modifikationen der internen HArdware nötig (Mit ausnahme
der Jeweiligen Änderungen am Anschlussstecker) und Problemlos von jedem
einsetzbar...
Ein weiteres Feld könnte dann noch der Ausbau/Verbesserung der LIBs sein
um damit ein Hilfsmittel an der HAnd zu haben das die Entwicklung
weiterer eigener Programme im internen Atmega ermöglicht, genauso wie
den Einsatz des Sendemoduls ohne den jetzt verbauten µC in komplett
eigener Umgebung.
(Dafür habe ich mir die Module hautpsächlich gekauft, habe 50 Stück,
wobei natürlich auch ein Verlust beim Probieren durch zerlegen usw.
eingeplant war ;-) )
Ichbin selber momentan zeitlich SEHR eingespannt, kann wie weiter oben
geschrieben Bei der ATMEGA Sache auch nicht aktiv mithelfen da ich die
AVR Entwicklungsumgebung erst wieder Installieren wollte wenn ich die
Brauche.
Aber ich habe zwischenzeitlich auch mal in einer Arbeitspause um auf
andere GEdanken zu kommen auf PIC18F45K20 Basis eine kleine Schaltung
mit LCD und zwei Drucktastern gebaut die den Transmitter einstellt und
die Frequenz anzeigt. Für PIC könnte ich mit ein wenig AUfräumen also
die LIB übernehmen.
Gruß
Carsten
Tim M. schrieb:> Habe mal eine Frage zu deinem Schaltplan. Hast du die Kondensatoren> ausgemessen, die du eingezeichnet hast? Ich habe nicht alle abgelötet,> jedoch definitiv den an der Antenne. Unter denen, die in Frage kommen,> befinden sich 2 mal 100nF und einmal 220nF. Ich würde daher fast> behaupten, dass 220nF im Antennenpfad sitzen. Ich hätte die gleich nach> dem Ablöten ausmessen sollen... ;)>> Tim
C6 in meiner Schaltung ist 1nF groß. Hab ihn zwar beim Messen nicht
ausgebaut, aber denke das sollte so stimmen.
Gruß Oliver
Carsten Sch. schrieb:> Für PIC könnte ich mit ein wenig AUfräumen also> die LIB übernehmen.
Dann können wir uns ja auf eine API zur Hardware einigen und dann auf
den oberen Schichten platformunabhängig zusammen arbeiten.
Was hältst du davon?
Gruß Oliver
Ich habe die Schaltung, die ich gestern gepostet habe, aufgebaut und
erprobt. Es funktioniert! Den Schaltplan hänge ich hier aktualisiert an.
Die Bauelemente L1, L2, L3, C1, R3, C2, C3 und C4 stammen vom
ursprünglichen Transmitter. Als Antenne verwende ich ein einfaches Stück
Draht mit einer Länge von ca. 1 m.
Den Test habe ich mit der Software von Oliver und einem STK500
(Atmega644, bei 8 MHz Takt) durchgeführt. Um auch etwas zu hören erzeugt
der AVR nebenher ein 488-Hz-Rechecksignal, welches mit dem Pin AL der
Testschaltung verbunden ist. Mein Radio summt nun links und zeigt auch
die RDS-Nachricht an. Auch das ca. 10-15 m entfernte Küchenradio gibt
den Ton wieder, wenn auch leiser und verrauscht.
Tim
Tim M. schrieb:> Als Antenne verwende ich ein einfaches Stück> Draht mit einer Länge von ca. 1 m.http://www.selbst.de/forum/test-technik/antennenlaenge-fuer-fm-empang-148253.html#comment-116119> Den Test habe ich mit der Software von Oliver und einem STK500> (Atmega644, bei 8 MHz Takt) durchgeführt. Um auch etwas zu hören erzeugt> der AVR nebenher ein 488-Hz-Rechecksignal, welches mit dem Pin AL der> Testschaltung verbunden ist. Mein Radio summt nun links und zeigt auch> die RDS-Nachricht an.
Schön dass es funktioniert.
Gruß Oliver
Hallo,
hab ein kleines Problem. Wie programmiere ich das Modul?
ISP anschliessen ist klar, ..aber ...
die Schaltung läuft mt 2,8V , ISP macht aber 5V, dem Atmega macht das
nichts aber das FM Modul verträgt es nicht, und wie siehts mit dem
Regler aus, wenn der "rückwärts" Spannung bekommt.
hi,
Bernd schrieb:> die Schaltung läuft mt 2,8V , ISP macht aber 5V, dem Atmega macht das> nichts aber das FM Modul verträgt es nicht, und wie siehts mit dem> Regler aus, wenn der "rückwärts" Spannung bekommt.
"die schaltung" läuft mit allem, was der spannungsregler abkann. und das
sind ganze 16 volt :-)
du stellst deinen isp auf 3,3-3,6v, und schließt die versorgung an tp1
und 13 an.
jay
Ich habe einige wenige Einstellungsmöglichkeiten identifizieren können:
Register 0x00:
Bit 0: Sender ein (1), Sender aus (0) (nur zur Vollständigkeit nochmal)
Bit 1: Quarz-Oszillator ein (1), aus (0); Bereits nach dem Einschalten
der Stromversorgung gesetzt.
Interessant ist, dass das Löschen von Bit 0 zu einer Änderung des
Registers 0x7D führt: von 0x20 auf 0x80. Ich denke daher, dass diese
Register Flags enthalten, die ausgelesen werden können.
Register 0x10:
Bit 6: Mute (0), Ton an (1)
Bit 7: Mono (0), Stereo (1). Schaltet wahrscheinlich wie beim NS73M den
Pilotton
Register 0x7F:
Wird hier der Wert 0xA0 gespeichert, so führt das Modul einen
Hardware-Reset durch. Die Register beinhalten dann die Werte, die sie
direkt nach dem Anschalten der Stromversorgung annehmen.
Hier die Werte der Register direkt nach dem Anlegen der Spannung:
Hi,
Oliver J. schrieb:> Dann können wir uns ja auf eine API zur Hardware einigen und dann auf> den oberen Schichten platformunabhängig zusammen arbeiten.> Was hältst du davon?
Hhmm,
müsste man sich jetzt mal genauer ansehen ob sich das wirklich lohnt die
Lib in einen Plattformabhängigen und einen Unabhängigen Teil zu
Splitten.
Kommt natürlich aber auch ein wenig darauf an welche Funktionalitäten
wir realisieren wollen.
Wenn ausser der Frequenzberechnung alles andere nur eine "schlichte
Übersetzung und Ausgabe" ist würde das die Sache nur unnötig aufblähen.
Die Ausgabe ist ja recht HArdwarenah.
ABER: So oder so, selbst wenn sich das mit der Aufteilung nicht lohnt,
so können wir uns ja immer noch auf die Funkstionsnamen,
Konstanten-/Flagnamen und das Format für die Funktionsaufrufe einigen.
So das zwar die LIBs selbst vom Innenleben unterschiedlich sind, aber
die Benutzung einheitlich wird, es also für den Nutzer keine Rolle
spielt ob er jetzt mit AVR oder PIC arbeitet.
Tim M. schrieb:> Ich habe einige wenige Einstellungsmöglichkeiten identifizieren können:
Super ;-)
Jetzt fehlt an wichtigen Befehlen nur noch die Sendeleistungseinstellung
!
gruß
Carsten
Tim M. schrieb:> Register 0x10:> Bit 6: Mute (0), Ton an (1)> Bit 7: Mono (0), Stereo (1). Schaltet wahrscheinlich wie beim NS73M den> Pilotton
Das ist leider falsch.
Die Mono/Stereo Umschaltung befindet sich aber definitiv in Register 1
Bit 7: 0=Mono und 1=Stereo.
Die Mute-Funktion wird mit Register 2 Bit 0 eingestellt: 0=Mute,
1=Sound. Während der Sender auf Mute gestellt ist, wird auch kein
Pilotton ausgesendet (Mute heißt automatisch auch mono). Der NS741
verhält sich in diesem Punkt also wie der NS73M.
Interessant ist, dass eine Änderung von Register 2 Bit 3 einen ziemlich
starken Einfluss auf den Stromverbrauch beim Senden hat: von 14.21 mA
auf 15.63 mA. Eine Variation der benachbarten Bits ändert jedoch den
Stromverbrauch nicht. Ich bin mir daher nicht sicher, ob diese
Beobachtung auch was mit der Sendeleistung zu tun hat. Theoretisch sind
ja 2 Bit zur Einstellung erforderlich.
Tim
Da beide Chips sich in der Funktion sehr ähneln, wird doch der
Hersteller kein neues Chip-Layout anfangen (Außer der Entwickler ist mal
wieder weggelaufen ;) ). Daher wird der NS741 einfach eine Erweiterung
des bestehenden Layouts sein, inkl. der Registerbelegung. Wenn du diese
für den alten Chip hast, dann schau mal inwieweit da noch unbelegte
Stellen waren. Die kontrollierst du dann ganz gezielt am NS741 auf neue
Funktionen. Möglich, daß aus welchen Gründen auch immer, manche
'lokalen' Registerfunktionen leicht verändert wurden.
Ich werde mal jemanden auf die Anfrage nach dem Datenblatt beim
Hersteller triggern. Kenne da jemanden der sich japanisch artikulieren
kann. Das kommt in Fernost gut an und kann den Unterschied zwischen
"email in Papierkorb" und pdf-Anhang ausmachen! Das Ergebnis poste ich
dann.
Für RDS gibt es sicherlich noch einige Einstellungen.
Abdul K. schrieb:> Ich werde mal jemanden auf die Anfrage nach dem Datenblatt beim> Hersteller triggern.
Das wäre natürlich super! Ich habe mich nämlich mit dem Datenblatt des
NS73M auseinandergesetzt und sehe da kaum Übereinstimmungen. Die Bits
zum Einschalten des Senders und des Quarzes liegen an der gleichen
Stelle. Schon das Mute-Bit sowie die Stereo/Mono-Umschaltung und die
Register für die Frequenzeinstellung sind leider woanders.
Tim
Hi,
Tim M. schrieb:> Interessant ist, dass eine Änderung von Register 2 Bit 3 einen ziemlich> starken Einfluss auf den Stromverbrauch beim Senden hat: von 14.21 mA> auf 15.63 mA. Eine Variation der benachbarten Bits ändert jedoch den> Stromverbrauch nicht. Ich bin mir daher nicht sicher, ob diese> Beobachtung auch was mit der Sendeleistung zu tun hat. Theoretisch sind> ja 2 Bit zur Einstellung erforderlich.
Das mit der Sendeleistung könnte aber schon gut sein, da müsste man mal
ein Skope oder besser einen Spektrum Analyzer (wenn man genaue Werte
möchte) bemühen. 1,4mA mehr Stromaufnahme bei 2,8V Versorgungsspannung
bedeutet 3,9 mW mehr an Leistungsaufnahme. Wenn man nun berücksichtigt
das für HF Verstärker im A (Linear-)betrieb als sehr! grobe Faustformel
ein Wirkungsgrad von 30% angesetzt werden kann dürfte es schon ungefähr
einer erhöhung der Endstufenleistung um 1mW entsprechen...
(Ich vermute eine reine A Endstufe aufgrund der sehr geringen
Leistungen/Spannungen wo AB oder C Konzepte kaum Energieeinsparungen,
aber vermutlich überproportional hohe Verzerrungen mit sich bringen,
obwohl C bei FM ja grundsätzlich möglich ist (AB sowieso))
Evtl. werden die beiden anderen Leistungsstufen ja nicht durch
unterschiedliche Endstufenleistung sondern durch zusätzliche Bedämpfung
erreicht?
Also zwei Signalpfade, einer mit R, der andere Ohne, Umschaltbar.
Und dann zwei Endstufenleistungen umschaltbar.
Evtl. finde ich heute Abend mal etwas zeit mir das am Spekki anzuschauen
ob sich da Leistungsmäßig irgendetwas tut...
(Es ist im übrigen gar icht mal gesagt das dieses Modul in DL mit der
geringsten Leistung läuft, auch wenn hier nur 50nW zugelassen sind...
Die Antennenverluste werden ja mitberücksichtigt und die sind so groß,
das vielleicht auch noch Stufe zwei oder drei Zulässig ist.)
Gruß
Carsten
Carsten Sch. schrieb:> 1,4mA mehr Stromaufnahme bei 2,8V Versorgungsspannung> bedeutet 3,9 mW mehr an Leistungsaufnahme.
Ich betreibe das Modul in meiner eigenen Schaltung bei 3,3 V
Versorgungsspannung. Deine Überlegungen treffen natürlich trotzdem zu.
Ich wollte das nur nochmal erwähnen.
Ich habe mal noch etwas mit dem Register 2 rumgespielt, weil ich hier
die Sendeleistungseinstellung vermutet habe. Ich denke ich habe die
entsprechenden Bits gefunden.
Ich habe festegestellt, dass eine Änderung folgender Bits sich auf den
Stromverbrauch auswirkt (die Anderen zeigen keine Änderung):
1
2
Strom in mA Bit 7,6 Bit 3
3
-------------------------------
4
14,18 00 1
5
14,44 01 1
6
15,01 10 1
7
15,51 11 1
8
9
15,51 00 0
10
16,44 01 0
11
17,18 10 0
12
17,46 11 0
Wie man sieht stellen die beiden höherwertigsten Bits den Stromverbauch
in 4 Stufen. Eine kleinere Zahl bedeutet auch einen kleineren Strom.
Durch Bit 3 steigt der Stromverbrauch bei allen Stufen an. Aus diesem
Grund schlussfolgere ich, dass die Sendeleistung über Bit 7 und 6 in
Register 2 eingestellt wird.
Zum Probieren habe ich die Antenne von meiner Schaltung komplett
entfernt. Mein Radio rauscht jetzt stark, diese Rauschen hängt aber vom
Stromverbrauch des Moduls ab. Das zeigt sicher, dass die Sendeleistung
variiert wird. Eigenartig ist jedoch, dass der beste Empfang vorliegt,
wenn Bit 3 gelöscht ist. Irgendeinen Einfluss muss diese Bit also auch
auf den Sender haben. Ich weiß jedoch nicht genau welchen. Laut
Datenblatt unterstützt der Sender eine sogenannte Pre-Emphasis
(http://de.wikipedia.org/wiki/Pre-Emphasis), die auch ein- und
ausgeschaltet werden kann. Vielleicht wird das ja damit gesteuert. Eine
automatische Verstärkungsreglung ist auch irgendwo aktivierbar.
Es wäre sehr nützliche, wenn irgendwer mal die Sendeleistung messen
könnte. Ich kanns leider nicht.
Tim
Bit 3 ist vielleicht Mono/Stereo-Umschaltung? Die Emphasis sollte keine
Wirkung auf das Rauschen haben - ändert nur leicht den NF-Frequenzgang.
Bei schlechtem Empfang rauscht ein auf Stereo stehender Empfänger mehr
als wenn Mono eingestellt ist. Manche Radios zeigen Stereo als
Statusanzeige an.
Hi,
Tim M. schrieb:> Es wäre sehr nützliche, wenn irgendwer mal die Sendeleistung messen> könnte. Ich kanns leider nicht.
ICh habe vorhin mal einen schnellen Test mit einem HF Millivoltmeter und
50 Abschluss im Leistungsmessbereich gemacht. Am WE kann ich das aber
noch einmal in Ruhe genau am Spektrumanalyzer durchspielen (und auch mal
den NF Frequenzgang bzw. den Modulationsgrad auf Veränderungen
untersuchen - wegen Preemphasis und ähnlichem)
Voerst muss aber dieser - etwas merkwürdige- Zwischenstand reichen:
ALLE drei Bits die von Tim als "verdächtig" eingestuft wurden verändern
die Sendeleistung. ICh habe also ACHT Leistungsstufen und nicht nur
vier...
(Oder genauer 7 Stufen, da Stufe 4 &5 sehr nah beieinander liegen...)
ICh habe die Leistungen gerade an der Anschlussmöglichkeit für die
"Antennenbuchse" gemessen, also RG179 und dann auf SMA. Die
Weiterführende Antenne war dabei abgetrennt, der "zuführende" Pfad
musste natürlich erhalten bleiben...
Die Sendeleistungen waren ERSTAUNLICH NIEDRIG, also viel niedriger als
den Datenblättern zu entnehmen ist. Ob das an der Aussenbeschaltung des
Moduls liegt, ob es noch weitere Einstellmöglichkeiten gibt oder ob
diese Module gar eine veränderte Version sind da die SErienmodule auch
bedämpft noch weit mehr als 50nW abgestrahlt haben, das kann ich zum
jetzigen Zeitpunkt noch nicht sagen.
Hier mal die Messwerte:
(Wie gesagt, mit R&S Millivoltmeter und (Spannungs)Durchgangsmesskopf an
50 Ohm Abschluss aufgenommen, NICHT mit einem echten Leistungsmesskopf,
daher sind deutliche Messfehler möglich, gerade bei DIESEN KLEINEN
Leistungen)
1
Strom in mA Bit 7,6 Bit 3 Leistung in µW
2
-------------------------------------------------
3
! Getauschte Reihenfolge der Tabelle im Vergleich zu TIM!
4
5
15,51 00 0 7,2
6
16,44 01 0 10,37
7
17,18 10 0 18,12
8
17,46 11 0 24,50
9
10
14,18 00 1 26,80
11
14,44 01 1 47,80
12
15,01 10 1 65,67
13
15,51 11 1 72,54
14
15
Die Stromwerte habe ich jetzt von TIM übernommen und nicht noch einmal selbst ermittelt, werde das aber noch nachholen. Interessant ist aber das bei gesetzem Bit3 die Ausgangsleistung SCHEINBAR höher ist obwohl die Eingangsleistung geringer als ohne gesetztes Bit3
16
>
Das sind jetzt wie gesagt nur die einfach ermittelten Werte ohne
Modulation o.ä. Am WE kann ich wie gesagt aber mal "richtig" messen.
Gruß
Carsten
Carsten Sch. schrieb:> Die Stromwerte habe ich jetzt von TIM übernommen und nicht noch einmal selbst
ermittelt, werde das aber noch nachholen. Interessant ist aber das bei gesetzem
Bit3 die Ausgangsleistung SCHEINBAR höher ist obwohl die Eingangsleistung geringer
als ohne gesetztes Bit3
Evtl. Möglichkeit zur Umschaltung der externen Antennenbeschaltung?
Eine Art Terminierung z.B.
Hallo,
ich schreibe gerade eine Umsetzung in asm. Der Transmitter läuft auch
schon (ohne RDS), allerdings ist mir die Sache mit diesem RDSint nicht
ganz klar. Ist das so richtig:?
- der NS gibt ein low Signal wenn er empfangsbereit ist
- die Daten werden über I2C geschrieben
Wann ist die Übertragung fertig nach einem Block, 3Byte, allen beiden
Blöcken + PI Info, oder steuert das der NS mit seinem RDSint Pin?
Grüße
feuerstein
Fred Feuerstein schrieb:> Hallo,> ich schreibe gerade eine Umsetzung in asm.
Warum denn das? Gefällt dir C nicht?
> allerdings ist mir die Sache mit diesem RDSint nicht> ganz klar. Ist das so richtig:?> - der NS gibt ein low Signal wenn er empfangsbereit ist> - die Daten werden über I2C geschrieben
Wenn der NS bereit ist, den nächsten RDS-Block in Empfang zu nehmen,
dann löst der einen RDSINT aus. Die Polarität des Interrupts kenne ich
nicht. Hab da einfach beim Programmieren ins Blaue geraten und es
scheint ja so zu funktionieren.
> Wann ist die Übertragung fertig nach einem Block, 3Byte, allen beiden> Blöcken + PI Info, oder steuert das der NS mit seinem RDSint Pin?
Der NS sagt über RDSINT Bescheid, wenn er einen neuen Block haben
möchte.
Die Übertragung für eine Gruppe (hier 0A) sieht so aus:
RDSINT -> Block1 per i2c-schreiben (03 E0 00)
RDSINT -> Block2 per i2c-schreiben (05 01 22)
RDSINT -> Block3 per i2c-schreiben (05 E0 CD)
RDSINT -> Block4 per i2c-schreiben (05 35 36)
Und dann die nächste Gruppe .....
Gruß Oliver
Danke das hilft mir erst mal weiter.
Fred Feuerstein schrieb:
> Hallo,> ich schreibe gerade eine Umsetzung in asm.
Warum denn das? Gefällt dir C nicht?
Ich habe mal versucht mit C klarzukommen, aber da versteh ich nur
Bahnhof ist für mich (wenn ich wüsste wie es geht wäre das mich jetzt
fettgedruckt) alles sehr kryptisch.
mfg feuerstein
Hallo,
ist noch jemand dabei? Ich habe inzwischen das Datenblatt für das
Sendemodul, bin mir aber nicht sicher ob ich das hier einfach
veröffentlichen darf.
mfg
feuerstein
Hi,
ich habe mir auch zwei solcher Module besorgt und wollte ihnen einen USB
Anschluss verpassen, um sie am Rechner zu benutzen, was aber nicht so
einfach möglich ist mit dem atmega32 und deshalb warte ich jetzt noch
etwas bis ich etwas mehr Zeit habe um mich damit zu beschäftigen.
@Fred Feuerstein
Ob du das Datenblatt veröffentlichen darfst weiß ich nicht, aber was du
zumindest tun könntest wäre zu sagen, ob die bisher gefundenen Register
und deren Bedeutung korrekt sind.
Und ob noch Funktionen existieren die noch nicht entdeckt worden.
Obwohl eigentlich sollte es auch keine Problem darstellen die komplette
Liste mit Registern zu veröffentlichen, da wenn du ein Programm
schreibst diese ja indirekt auch zugänglich sind.
Gruß
Heiner
Hallo,
ich habe das Datenblatt vom Hersteller bekommen ohne irgendwelche
Auflagen oder Bemerkungen (der Chip ist abgekündigt, vermutlich
deshalb). Auf dem Datenblatt steht "Confidential", hat das nun
irgendeine rechtliche Bedeutung für mich? Abtippen und programmieren
könnte noch ein wenig dauern (permanetes Zeitdefizit).
mfg
feuerstein
der Aufdruck "Confidential" ist dann relevant, wenn Du eine
Vertraulichkeitserklärung (Non disclosure Agreement, NDA) unterschrieben
hast. Mit einem NDA wird der Empfänger des Dokumentes zur vertraulichen
Handhabung verpflichtet.
Wenn Dir der Hersteller das Dokument ohne die Verpflichtung zur
Vertraulichkeit überlassen hat und Du das Dokument nicht auf "unlautere
Art und Weise" erhalten hast, kannst Du es m. E. auch weitergeben.
Es ist noch zu überlegen, ob eine Weitergabe per Mail oder eine
Veröffentlichung im Internet der geeignetere Weg ist. U. U. ist der
Hersteller mit einer Internet-Veröffentlichung nicht einverstanden.
Gruß
Joachim
Das sind doch super Nachrichten. Das Datenblatt würde sehr helfen.
Kannst du verraten, ob die Bits 7 und 6 in Register 2 wirklich die
Sendeleistung einstellen und welche Funktion Bit 3 (auch Reg 2) hat?
Ob du das Datenblatt einfach veröffentlichen darfst, kann ich dir leider
auch nicht sagen. Aber wenn die dir das ohne irgendwelche Bedingungen
gegeben haben, sollte das vielleicht kein Problem sein.
Grüße
Tim
Hallo,
Register 0x02 :
bit0=Mute 0=off, 1=on
bit5,4,3,2,1=00101 per default und eigentlich nicht zum ändern gedacht
bit7,6
00=0,5mW
01=0,8mW
10=1,0mW
11=2,0mW
ich kenne mich mit solchen rechtlichen Geschichten nicht aus. Aber
irgendein Weg wirds wohl geben (Mail, oder hier, oder Abschreiben was
relevant ist)
mfg
feuerstein
du kannst es posten falls :
- du kein NDA unterschrieben hast UND in dem NDA auch davon die
rede ist.
- die quelle legal war (der hersteller selber) UND der absender
nicht explizit die geheimhaltung verlangt hat.
- das dokument nicht für dich namentlich ausgestellt war (wird in den
eingenschaften stehen) UND "confidential" markiert ist.
Und übrigens, du hast schon informationen aus dem datasheet gepostet,
damit wäre (falls eins von den 3 punkten zutrift) schon zu spät und
du dann eigentlich das ganze dokument posten könntest.
Wie stehts bei euch mit dem Projekt? Habe mir durch diesen Thread solche
Module mitbesorgen lassen. Leider hat die zeit noch nicht gereicht um ne
eigene Lib zu schreiben. Was ich aber definitiv sagen kann ist, dass
original der empfangene sound vom radio echt nicht prickelnd war und das
schon wenige meter neben dem radio. Hab jetzt ca. 1Meter starrdraht in
dieses Pad der Antenne eingelötet nun stimmt die Qualität ;-) Also
Holzhammermethode zur Antennenverlängerung funktioniert...
Hallo Peter,
ich habe mir auch ein Kilo ;) mmr70 bestellt
und Olivers CODE um Radiotext ergänzt. (Anhang)
Geht ganz gut soweit ich getestet habe.
Ist alles noch recht unsauber, vor allem die
Initialisierung. Da gibt es erhebliche Abweichungen
zum Datenblatt (603A). Wenn ich Zeit finde..
Es gibt schon noch viele Möglichkeiten z.B. TMC oder OpenData
Eine Serielle Schnittstelle ist auch nicht schwer.
Gruß
Rolle
Rolle schrieb:> mir ist es gelungen eine TMC Nachricht zu senden> und im Autoradio zu empfangen. Da das wohl in Deutschland> nicht ganz legal ist hier kein Quellcode.
was soll daran denn illegal sein?
die dinger sind (wegen der geringen reichweite) vollkommen legal.
du darfst deinen quelltext also gerne mit uns teilen, statt nur zu
erzählen, wie toll du bist ;-)
Ich hab mir auch nochmal ne Hand voll davon besorgt... Ich schau nach
meinen Klausuren nochmal das ich ein bischen damit Spiel.
Was habt ihr so an Reichweiten erreicht? Ich bräuchte wohl minimal mehr
als das was die kiste von Haus aus macht.
BillX schrieb:> Was habt ihr so an Reichweiten erreicht? Ich bräuchte wohl minimal mehr> als das was die kiste von Haus aus macht.
Also mit der ursprünglichen Sendeleistung und einer längeren Antenne
erreicht man ca. 10-15m (s.o.). Dann rauscht es aber bereits. Wenn man
zusätzlich die Sendeleistung auf das Maximum stellt, sind auch 20m ohne
Rauschen kein Problem. Wie weit es mit diesem Aufbau aber maximal geht,
habe ich ich nicht ausprobiert, da mir die 20m völlig ausreichen.
Mit ordentlicher Antenne sieht es dann wohl noch etwas anders aus:
Trivix ... schrieb:> Naja...jetzt habe ich in geschätzten 300m noch Empfang :)> Und das im Ort!
Tim
HI,
ich habe gestern meinen RadiotextPlus (RT+) Empfänger bekommen.
Hier also die ersten Erfolge im Anhang.
Implementiert sind die Items [item.title] und [item.artist]
alles mit der heißen Nadel aber es geht soweit..
Wer sich einlesen möchte (english):
http://www.radioworld.com/article/let%E2%80%99s-demystify-rds-%E2%80%98radio-text-plus%E2%80%99-/212227
fand ich sehr anschaulich. Ich hab über RT+ nicht so viel gefunden.
Gruß
Rolle
PS:
RadiotextPlus ist ID3 oder EPG des Radios
und rückwärts kompatibel mit Radiotext
Hi!
Ich hab konkret noch nicht alle Details herausgefunden, aber ich würde
gerne mit den Dingern folgendes realisieren, möglichst ohne viel an der
Schaltung zu ändern.
- Batteriebetrieb, d.H. der Atmega geht in PowerDown und wird per
externem Taster/Interrupt geweckt.
Dazu werd ich wohl den Spannungsregler umgehen, da dessen ON/OFF Leitung
dauerhaft auf HIGH liegt. Den Transmitter kann ich per i2c in Standby
schicken, den Atmega wie gesagt in PowerDown. Den Taster zum Wecken
sollte man an einen der freien Ports anschließen können.
- Generierung von Morsezeichen im Atmega (DAC/PWM) und Einspeisung in
den Sender.
Da der Atmega außer dem gelegentlichen Ändern der RDS Nachricht im
Betrieb nix zu tun hat, kann der sein eigenes Audio-Signal generieren.
Ich dachte hier im einfachsten Fall an ein einfaches Morsesignal, im
besten Fall irgendwas in Richtung 1-Bit-Audio.
Ich bin mir nur noch nicht sicher, wie ich Atmega und Transmitter
miteinander verbinden kann. Was am Atmega rauskommt ist ja nun nicht
unbedingt ein sauberes Sinus-Wechselspannung-Audiosignal.
Hat da einer einen Tip?
Die Teile sollten die Tage kommen, dann schau ich mal was sich da machen
lässt.
Konkret soll das ganze sowas wie ne Art Fuchsjagdsender werden.
Gruß Joachim
Ich habe vor ein paar Tagen versucht nur den Transmitter am i2c des
raspberry pi zum laufen zu bekommen, bis jetzt leider ohne Erfolg,
irgdwie stimmt das was ich lese auch so überhaupt nicht mit dem überein
was oben und im Datenblatt steht! hab jetzt schon ne Menge versucht.
Aktuell antwortet das Ding mir garnicht mehr. Eventuell habe ich ihn
irgendwie kaputt gemacht. Ich werde es nächste Woche nochmal versuchen
versuchen. Und wieder einen atmega von so ner platine runter holen...
Hat man da irgendwie ne chance den heil runter zu bekommen? hab aktuell
leider keinen zugriff auf Heißluft.
Kommt der trancereceiver mit 3,3 V am i2c zurecht? Verstehe ich das
Datenblatt richtig das wenn ich den über den vorhandenen spannungsregler
versorge ich wohl nicht die 3,3 V machen kann? das würde wohl erklären
warum er nicht mehr antwortet...
Grüße
Joachim Schmidt schrieb:> Ich bin mir nur noch nicht sicher, wie ich Atmega und Transmitter> miteinander verbinden kann. Was am Atmega rauskommt ist ja nun nicht> unbedingt ein sauberes Sinus-Wechselspannung-Audiosignal.>> Hat da einer einen Tip?
Ich hatte weiter oben bereits eine Schaltung gepostet, die dafür
geeignet ist. Zur Sicherheit hatte ich damals die Eingänge möglichst
flexibel beschaltet, da wir das Datenblatt noch nicht kannten. Im
Prinzip habe ich genau das realisiert, was du auch machen möchtest:
Tim M. schrieb:> Um auch etwas zu hören erzeugt> der AVR nebenher ein 488-Hz-Rechecksignal, welches mit dem Pin AL der> Testschaltung verbunden ist. Mein Radio summt nun links und zeigt auch> die RDS-Nachricht an.
Mein Projekt versorgt den Sender übrigens mit einer Solarzelle. Das
Ganze soll dann mal Teil eines Geocaches werden, der auch Morse-Code
sendet :) Ist aber noch nicht fertig.
Viele Grüße
Tim
Great information! Works well and RDS is sending to my FM radio.
But i want to do something more: I want to make the RDS dynamic. So i
can use it in my car with TRAFFIC info as RDS text.
Is there a way to use the mmr70v0.06.zip script incombination with
dynamic RDS? If it is possible i want to use a Arduino board to
communicate with the FM transmitter with I2C protocol or something.
Can anybody help with this?
TWBR=((F_CPU/SCL_CLOCK)-16)/2;/* must be > 10 for stable operation */
14
15
}/* i2c_init */
Bei 3,6864 MHz Quarztakt sind aber die bei SCL_CLOCK angegebenen 400 kHz
gar nicht möglich, sondern max. 230400 kHz.
Hat schon mal jemand gemessen welche SCL-Frequenz mit diesen Werten
erzeugt wird?
Erstmal vielen Dank für die viele Arbeit, die in das Projekt gesteckt
wurde! Damit konnte ich das Teil mit einem ISP-Anschluss versehen und
auch die serielle Schnittstelle am TP 14 benutzen. Jetzt ist ein kleines
Bascom-Programm fertig, mit dem man die Frequenz verstellen kann.
Default ist 98,8 MHz. Man kann dann jederzeit mit 9600 Baud eine neue
Frequenz als Text senden, in 10-kHz, als 8800 für 88 MHz. Der Sender
geht dann sofort auf die neue Frequenz. Außerdem wird immer die letzte
Frequenz im EEPROM gespeichert, damit sie beim nächsten Start sofort
wieder da ist.
Burkhard
Gerd G. schrieb (pm):
> ich versuche mich gerade in den MMR70 einzuarbeiten und habe den Thread> auf Microkontroller.net entdeckt. Als erstes habe ich dein Programm> mmr70v0.06 getestet. Die Einstellung der Sendefrequenz funktioniert> einwandfrei. Allerdings sendet das Teil kein RDS. Die LED leuchtet nicht> und es wird auch nichts übertragen.>> Hast du an dem MMR70 weiter gebastelt? Gab es mit dieser Version> Probleme? Die Initialisierung sieht ja wie im Datenblatt aus.>> Ich werde mir mal diese Woche einen Logikanalyser organisieren und hoffe> mal, dann was zu entdecken...>> Gruß Gerd
Hallo Gerd,
nein da hab ich nicht weiter gemacht,
aber Initialisierungsprobleme hatte ich
auch. Habe einfach ein anderes Modul genommen,
da ging's.
Die Initialisierung habe ich von Oliver übernommen,
ist nicht Datenblatt (603A) konform und dort recht
umfangreich.
Gruß
Rolle
Hier meine Rückmeldung: Der MMR70 läuft bei mir gerade mit dem Raspberry
Pi als FMBerry. Auch RDS funktioniert. Umsetzen auf den eingebauten
Atmega32 fehlt noch.
Gerd G. schrieb:> Hier meine Rückmeldung: Der MMR70 läuft bei mir gerade mit dem Raspberry> Pi als FMBerry. Auch RDS funktioniert. Umsetzen auf den eingebauten> Atmega32 fehlt noch.
Veröffentlichst du den Code noch? Ich hatte mit nem Bekannten mal mit
ner python lib für en pi angefangen ... zum senden haben wirs
gebracht... danach ists eingeschlafen ;)
Moin,
FMBerry war mein erstes Projekt in C und für mich ein relativ cooles
Anfangs/Einstiegsprojekt.
https://github.com/manawyrm/FMBerry
Viel Spass,
Tobias
Silvan König schrieb:> Ich habe den Stecker abgelötet und über Drähte mit der Platine> verbunden. Genauer gesagt nur 5 Stück:> Pin 5 (SP_LEFT)> Pin 6 (SP_RIGHT)> Pin 8 (VPPFLASH)> Pin 9 (GND)> Pin 12 (VCC)>> mehr sind nicht nötig, damit der Transmitter funktioniert.> Dann habe ich die Leitung zu Pin 8 durchtrennt. Das Handy erkennt> daraufhin, dass der Transmitter nicht mehr angeschlossen ist und> schaltet die Audio-Ausgänge (5&6) und die Versorgungspannung ab!> Ich habe es mit "fremder" Versorgung und Audio versucht. Dann hört der> Transmitter auf zu senden und die LED beginnt zu blinken.>> Auf dem Bild ist das Signal auf Pin 8 zu erkennen. Ich kann daraus> leider nur wenig Informationen ziehen - One-Wire? Die Länge des> kürzesten High-Pegels beträgt 20µS.
Hallo werte Leute. Habt Ihr vllt. eine Lösung wie man das kleine Gerät
mit fremder Spannungsversorgung und Audio zum Senden bekommt?
Über eine antwort würde ich mich freuen.
MfG Kashiwado
Ich habe es geahnt das ich nicht drum rum komme. :-(
Mit dem Flashen von Mikrokontrollern habe ich noch nichts zu tun gehabt.
Würde sich jemand bereit erklären mir zu helfen und das flashen für mich
zu übernehmen?
Tobias Mädel schrieb:> Moin,>> FMBerry war mein erstes Projekt in C und für mich ein relativ cooles> Anfangs/Einstiegsprojekt.>> https://github.com/manawyrm/FMBerry>> Viel Spass,> Tobias
Mir war so, als hätte ich den Test-Code [1] damals unter GPL gestellt.
Offensichtlich ist dem nicht so. Moment mal - doch - da steht ja
drinnen. Wäre toll, wenn du das wieder mit rein nimmst... .
Genaugenommen ist es sogar notwendig, dass du dein ganzes Projekt
ebenfalls unter die GPL stellst, da du GPL-Code verwendest.
Grüße Oliver
[1] Beitrag "Re: [AVR] FM-Transmitter für 1,50EUR --> Ansteuerung?"
Hallo Oliver,
Der Code ist sowieso GPL lizensiert, irgendwo dachte ich hätt ich das
auch geschrieben, aber ich pack da gleich mal den Header mit überall
rein :)
Viele Grüsse,
Tobias
Hallo Oliver,
ich habe den Text jetzt entsprechend angepasst und die Änderungen
commited.
Der Hinweis auf Code von Silvan König ist immernoch drin, aber kein
Hinweis auf dich. Wenn du in der ns741.h/.c namentlich erwähnt werden
würden willst, bräuchte ich noch nen Namen/Mail von dir.
Der Code steht unter GPLv3 (im Gegensatz zu v2 des Originalcodes), weil
dort auch noch andere Teile (Andrey Chilikin's MIT-lizensierte
Raspberry-Bibliothek) drin sind.
So angemessen/Änderungsvorschläge?
Viele Grüße,
Tobias
Cooler Thread, bin leider erst durch Hackaday auf das Teil gekommen.
Nach langem Lesen bin ich mir immer noch nicht ganz sicher was es denn
nun an Endergebnissen gibt.
- Raspberry mit FMBerry. OK
- Gibt es für den AVR eine Lib? Also GCC, Arduino, Bascom?
- Gibt es eine Firmware für den Onboard-AVR?
- Hat schonmal jemand die passenden Anschlüsse verbaut?
http://www.aliexpress.com/item/10pcs-lot-new-charging-charger-dock-connector-port-plug-for-Sony-ericsson-K550-W760-R306-S302/32229718371.html
Das Originalmodul ohne rausbaumelnde Kabel und mit eigener FW wäre doch
traumhaft! Ein kleines Platinchen / Shield für den Connector
zusammenwürfeln mit Tastern und Display und zum Programmieren kann man
sich einmal einen Adapter aus Testpoint-Nadeln basteln.
Eine Projektseite mit allen Infos wäre glaube ich sehr hilfreich!
Wenn also die entsprechenden hellen Lichter hier im Thread alle Infos zu
ihrem Teilbereich nochmal in einem Thread bündeln könnten, würde ich
eine Projektseite anlegen.
Connectors und Platinen würde ich auch besorgen, wer welche haben will
könnte sich dann melden…
Stefan
Hallo Stefan,
die Antwort auf alle der fragen dürfte Ja sein.
- Gibt es für den AVR eine Lib? Also GCC, Arduino, Bascom?
Für AVR-GCC gibts hier den Code im Thread, ob das nun auf dem internen
MCU läuft oder nicht, ist auch egal, Bascom hatte ich bei Kainka auf der
HP gesehen, und Arduino hab ich mal testweise gemacht, geht durch 1:1
ersetzen der I2C Calls im GCC Code.
- Gibt es eine Firmware für den Onboard-AVR?
Siehe obere Frage :D
- Hat schonmal jemand die passenden Anschlüsse verbaut?
http://www.aliexpress.com/item/10pcs-lot-new-charg...
Ja, funktioniert. Hatte mir mal welche von ebay geschnappt für
Standalone-Betrieb.
MMR-70 hab ich übr. noch genug -> siehe Attachment.
Viele Grüße,
Tobias
Ich benutze aktuell eine "Antenne" aus Litze (69,4 cm) um das Rauschen
zu minimieren, in 3m Abstand kein Problem, im 6m Abstand (im Haus, durch
mehrere Wände) habe ich leider viel Rauschen.
Am Empfänger (Badradio) kann ich keine Antenne anschließen.
Was für eine Antenne kann ich dem Sender verpassen?
Thomas O. schrieb:> Was für eine Antenne kann ich dem Sender verpassen?
Laut Datenblatt eine Antenne mit 50 Ohm Impedanz.
Da wohl der "FM ANT"-Ausgang 50 Ohm hat solltest du den im Schaltplan
(Beitrag "Re: [AVR] FM-Transmitter für 1,50EUR --> Ansteuerung?") eingezeichneten
seriellen Widerstand, Kondensator und Spule kurzzuschließen bzw. die
Antenne direkt am Ausgang anschließen.
Ich habe mal die Version von Rolle um RDS-CT (Zeitsynchronisation) und
Funktionen zum Ein-/Ausschalten des Pilottons erweitert. Zum
programmieren verwende ich einen USBasp. Falls etwas anderes verwendet
wird muss das Makefile entsprechend angepasst werden.
Die serielle Schnittstelle auf dem MMR70 ist übrigens halb-duplex mit
RX/TX auf dem selben Pin. Empfangsseitig geht es über einen NMOS in
Sourceschaltung mit einem Lastwiderstand auf RX des AVR und senderseitig
von TX des AVR über einen Widerstand an der Basis eines PNP in
Emitterschaltung an Vcc über eine Schottky-Diode an dessen Kollektor auf
den halb-duplex Pin zum Handy. Wenn man die Schottky-Diode und den PNP
entfernt und statt dessen einen NPN in Emitterschaltung mit 1k Ohm
Lastwiderstand gegen 5V auflötet kann man direkt mit RS232 Pegeln mit
dem MMR70 kommunizieren.
Irgendwann soll aus meiner Bastelei mal DAB+ Autoadapter auf Basis eines
Frontier-Silicon Verona Moduls mit SERMMI Firmware werden, der das
User-Interface des DAB Moduls über RDS auf dem Autoradio anzeigt und
über eine IR Fernbedienung gesteuert wird.
Ich habe meinen MMR-70 als Paket zusammen mit einer MRC-60 inkl.
Fernbedienung für 1,-€ in der Bucht geschossen. Von der MRC-60 wurden
scheinbar auch zu viele produziert, die jetzt in der Bucht verschleudert
werden. Hat sich schonmal jemand die MRC-60 vorgenommen?
Darin steckt im Wesentlichen ein ATMega168V mit einem 3,68MHz
Quarzoszillator, Spannungsregler, blaue LEDs und ein IR-Receiver. Auf
der Rückseite sind wie beim MMR-70 viele beschriftete Testpunkte
zugänglich, darunter auch die ISP Signale. Die Platine sollte sich also
leicht zu etwas anderem umfunktionieren lassen.
@morus
Hi, ich habe mir mal die Sourcen angesehen da ich im Moment auch mit dem
MMR70 bastele. Dabei fielen mir in der ns741.c folgende Zeilen auf:
void ns741_unmute(void) {TWI_send(0x01, ns741_reg10 | 0x40);}
void ns741_mute(void) {TWI_send(0x01, ns741_reg10 & 0xbf);}
Nun meine Frage. Nach Durchsicht des Datenblattes ist die Mute-Funktion
im Register 2, Bit 0. Was steuerst du im Regsiter 1 da an. Ist ja das
Register für die Stereogeschichte wie zwei Zeilen drüber auch steht.
Ein Bug oder Feature?
mfg.
Joachim
@Joachim
Hi, ich meine, dass das Muten so funktioniert hat, bin mir aber grad
nicht mehr zu 100% sicher. Könnte also auch ein Bug sein. Leider komme
ich gerade nicht dazu mir das nochmal näher anzusehen.
@thbaum
Hört sich gut an. Ich könnte noch Code für einen einfachen NEC IR
Dekoder beisteuern, falls dir IRMP zu klobig ist. Den hatte ich mal für
den 8051er geschrieben. Müsste also etwas angepasst werden. Dafür
dekodiert der dann auch on-the-fly direkt innerhalb der Puls-ISR mit
minimaler Prozessorlast.
> Hört sich gut an. Ich könnte noch Code für einen einfachen NEC IR> Dekoder beisteuern, falls dir IRMP zu klobig ist. Den hatte ich mal für> den 8051er geschrieben. Müsste also etwas angepasst werden. Dafür> dekodiert der dann auch on-the-fly direkt innerhalb der Puls-ISR mit> minimaler Prozessorlast.
Ja nur her damit. Ich schreibe gerade an einer einfachen API. Schlanke
Lösungen sind mir da immer willkommen.
Könntest deinen Code im MRC-60-Thread posten dann wären die Infos schön
sortiert.
Gruß Thomas