Forum: Mikrocontroller und Digitale Elektronik [AVR] FM-Transmitter für 1,50EUR --> Ansteuerung?


von Chris L. (zweistein)


Angehängte Dateien:

Lesenswert?

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

von Martin P. (billx)


Lesenswert?

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

von bitemychiniesmetalass (Gast)


Lesenswert?

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.

von Chris L. (zweistein)


Lesenswert?

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!

von Bastler (Gast)


Lesenswert?

Welche Pins gehen an den Handysteker?

Könnte auch UART/I2C sein da es zwei leitungen sind.

von STK500-Besitzer (Gast)


Lesenswert?

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.

von Silvan K. (silvan) Benutzerseite


Lesenswert?

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.

von Alexander S. (esko) Benutzerseite


Lesenswert?

Auch bei eBay gibts die Teile recht günstig und in großen Mengen:
http://www.ebay.de/sch/i.html?_nkw=MMR-70&rt=nc&_sop=15

von Bastler (Gast)


Lesenswert?

Wer hat einen Atmega32L schon einmal günstiger gesehen?

von Silvan K. (silvan) Benutzerseite


Lesenswert?

Vorrausgesetzt, er lässt sich Programmieren!
(Ich bin nicht im Besitz eines HVP)

von Chris L. (zweistein)


Lesenswert?

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!

von Bastler (Gast)


Lesenswert?

Sieht ziehmlich nach UART aus. Kannst du das einmal mit dem Computer 
abhorchen? Ist ein Oszi vorhanden?

von Martin (Gast)


Lesenswert?

Chris L. schrieb:
> Mein Problem: kein Oszi...

Wohl nicht ...

von hidemyass (Gast)


Lesenswert?

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

von Trivix .. (trivix)


Lesenswert?

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

von Trivix .. (trivix)


Angehängte Dateien:

Lesenswert?

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?

von Einhart P. (einhart)


Lesenswert?

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.

von Silvan K. (silvan) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.

von Trivix .. (trivix)


Lesenswert?

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...

von Trivix .. (trivix)


Lesenswert?

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?

von Chris L. (zweistein)


Angehängte Dateien:

Lesenswert?

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!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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 ...
1
:1000000000000101020203030404050506060707B8
2
:10001000080809090A0A0B0B0C0C0D0D0E0E0F0F28
3
:100020001010111112121313141415151616171798
4
:10003000181819191A1A1B1B1C1C1D1D1E1E1F1F08
5
:100040002020212122222323242425252626272778
6
:10005000282829292A2A2B2B2C2C2D2D2E2E2F2FE8
7
:100060003030313132323333343435353636373758
8
:10007000383839393A3A3B3B3C3C3D3D3E3E3F3FC8
9
...

Fällt dir was auf? :)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Das Datenblatt hat übrigens schon mal jemand (offenbar vergeblich)
gesucht:

Beitrag "Datenblatt Alps TMS 1-6 (FM Transmitter)"

Vielleicht mag ja jemand mal bei ALPS anfragen?

von Alexander S. (esko) Benutzerseite


Lesenswert?

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.

von Trivix .. (trivix)


Lesenswert?

Meine Antenne...jaaaaaaaaaaa :D
Wir haben da noch so ne alte UKW Antenne aufm Dach, die nimmer in 
Betrieb ist...glaube das sagt alles ^^

von Carsten S. (dg3ycs)


Lesenswert?

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

von Trivix .. (trivix)


Lesenswert?

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!

von Alexander S. (esko) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.
1
Atmel
2
AtMega32L
3
8MU0808D
4
Taiwan-P
5
35574D
6
7J4121

Auf dem ALPS TSM1-6 steht folgendes:
1
603A
2
88D 20
3
ALPS

von Silvan K. (silvan) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.

von BillX (Gast)


Lesenswert?

könntest du das mal mit verschiedenen frequenzen eingestellt capturen? 
und bitte jeweils dazu schreiben welche frequenz eingestellt ist?!

von M. G. (looking)


Lesenswert?

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.

von HV (Gast)


Lesenswert?

Was mich interessieren würde, kann man den Atmega der da drauf ist ohne 
HV programmierung neu programmieren?

von Silvan K. (silvan) Benutzerseite


Lesenswert?

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.

von Chris L. (zweistein)


Lesenswert?

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!

von Mikel (Gast)


Lesenswert?

ich hab mir auch Module bestellt, sind aber noch nicht da.

Vielleicht hilft dieses zum sniffen:
Beitrag "I2C (TWI) Sniffer mit AVR"

von Carsten S. (dg3ycs)


Angehängte Dateien:

Lesenswert?

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

von Silvan K. (silvan) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.

von Carsten S. (dg3ycs)


Angehängte Dateien:

Lesenswert?

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

von Alexander S. (esko) Benutzerseite


Lesenswert?

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]

von Carsten S. (dg3ycs)


Angehängte Dateien:

Lesenswert?

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

von Silvan K. (silvan) Benutzerseite


Lesenswert?

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.

von M. G. (looking)


Lesenswert?

Ich habe mal das kleine Abdeckblech des Alps-Moduls entfernt, darunter 
kommt ein NS741 zum Vorschein. Leider habe ich kein ausführliches 
Datenblatt gefunden, sondern nur das hier:
http://electroschematics.com/wp-content/uploads/2008/05/ns741_catalog.pdf

von Silvan K. (silvan) Benutzerseite


Lesenswert?

Tadaa, der AVR lässt sich flashen.
Falls es jemand testen will, die LED ist an Pin D7.

von Carsten S. (dg3ycs)


Angehängte Dateien:

Lesenswert?

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

von Carsten S. (dg3ycs)


Lesenswert?

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

von Carsten S. (dg3ycs)


Angehängte Dateien:

Lesenswert?

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

von Einhart P. (einhart)


Lesenswert?

Moin,

vielleicht kann das etwas weiterhelfen: zum älterer Transmitter-Chip 
NS73 ist mehr im Netz zufinden. Der kann allerdings kein RDS :-(

Bei Sparkfun gibt's ein Modul und Datenblatt dazu:

http://www.sparkfun.com/datasheets/Wireless/General/NS73_Datasheet.pdf

Gruß
Einhart

von BillX (Gast)


Lesenswert?


von Silvan K. (silvan) Benutzerseite


Lesenswert?


von BillX (Gast)


Lesenswert?

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.

von Chris L. (zweistein)


Lesenswert?

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)

von Silvan K. (silvan) Benutzerseite


Lesenswert?

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.

von Chris L. (zweistein)


Lesenswert?

"MMR-70" wird bei mir gesendet, wenn ich in den Einstellungen 
"Titelinfo" deaktiviere

Info: Ich nutze ein SE W910i Walkman-Handy....

von BillX (Gast)


Lesenswert?

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 ?!

von Mitbastler (Gast)


Lesenswert?

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.

von Markus W. (feuerrot)


Lesenswert?

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…

von Carsten S. (dg3ycs)


Angehängte Dateien:

Lesenswert?

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

von Chris L. (zweistein)


Lesenswert?

Markus Witt schrieb:
> So, ich habe mal auch direkt zwei bei der EBucht bestellt, kennt
> zufällig wer den Orginalpreis?

25€ --> 
http://www.sonyericsson-shop.de/epages/Store.sf/de_DE/?ObjectPath=/Shops/Ignition/Products/DPY901634

von Silvan K. (silvan) Benutzerseite


Lesenswert?

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?

von Carsten S. (dg3ycs)


Lesenswert?

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

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

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.

von Silvan K. (silvan) Benutzerseite


Angehängte Dateien:

Lesenswert?

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...

von Einhart P. (einhart)


Lesenswert?

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

von B.A. (Gast)


Lesenswert?

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.

von Silvan K. (silvan) Benutzerseite


Lesenswert?

B.A. schrieb:
> Hat schon mal jemand eine neue Firmware in den AVR geflasht?

Lern lesen...

von Mikel (Gast)


Lesenswert?

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.

von Mikel (Gast)


Lesenswert?

Silvan König welches Dokument hast du für die Steuercodes verwendet? das 
vom NS741?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

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

von Silvan K. (silvan) Benutzerseite


Lesenswert?

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.

von Jay B. (jay_)


Lesenswert?

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

von Torsten F. (tnetwork)


Lesenswert?

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

von Silvan K. (silvan) Benutzerseite


Lesenswert?

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.

von Torsten F. (tnetwork)


Lesenswert?

Sorry wegen dem i!
Ich probier das mit dem Audiosignal die Tage mal aus.
Jetzt les ich mir erstmal I2C Grundlagen an.

Gruß,
Torsten

von Oliver J. (skriptkiddy)


Angehängte Dateien:

Lesenswert?

Habe mal eine Schaltung des MMR-70 erstellt.
(Kein Ansprunch auf Vollständigkeit und Richtigkeit)

Gruß Oliver

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Silvan K. (silvan) Benutzerseite


Lesenswert?

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.

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Silvan K. (silvan) Benutzerseite


Lesenswert?

Keine. Allerdings habe ich auch nix getestet, bis auf An/Aus.

von Oliver J. (skriptkiddy)


Lesenswert?

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

von hidemyass (Gast)


Lesenswert?

sendeleistungsbit :D

von Oliver J. (skriptkiddy)


Lesenswert?

hidemyass schrieb:
> sendeleistungsbit :D
Natürlich was auch sonst.

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Oliver J. (skriptkiddy)


Angehängte Dateien:

Lesenswert?

So hier ist der Code. An dieser Stelle nochmal vielen Dank an Silvan und 
Karsten für die ganze Vorarbeit.

Viel Spaß damit. :)

Gruß Oliver

von Jay B. (jay_)


Lesenswert?

heiße sache :)

von Mario (Gast)


Lesenswert?

Super :)

habt ihr auch die Leistungseinstellung gefunden ?

von Oliver J. (skriptkiddy)


Lesenswert?

Mario schrieb:
> habt ihr auch die Leistungseinstellung gefunden ?
Leider nein. Du könntest ja probieren das herauszufinden.

Gruß Oliver

von Oliver J. (skriptkiddy)


Lesenswert?

Oliver J. schrieb:
> Karsten
Sorry meinte natürlich Carsten. Hoffe du verzeihst mir das. War schon 
spät.

Gruß Oliver

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

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 Oliver J. (skriptkiddy)


Lesenswert?

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

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

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.

von Tim M. (tml)


Angehängte Dateien:

Lesenswert?

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

von Mikel (Gast)


Lesenswert?

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.

von Schrott (Gast)


Lesenswert?

Ich habe mir keinen Transmitter gekauft und das ist auch gut so!

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Tim M. (tml)


Lesenswert?

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

von Oliver J. (skriptkiddy)


Lesenswert?

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.

von Tim M. (tml)


Lesenswert?

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

von Carsten S. (dg3ycs)


Lesenswert?

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

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Tim M. (tml)


Angehängte Dateien:

Lesenswert?

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

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Bernd (Gast)


Lesenswert?

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.

von Jay B. (jay_)


Lesenswert?

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

von Tim M. (tml)


Lesenswert?

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:
1
Reg 0: 0x02
2
Reg 1: 0x93
3
Reg 2: 0x0a
4
Reg 12: 0x0c
5
Reg 16: 0x20
6
Reg 17: 0x04
7
Reg 19: 0x40
8
Reg 21: 0x40
9
Reg 22: 0x80
10
Reg 125: 0xc0
11
Reg 126: 0x20
12
Reg 128: 0xbf
13
Reg 129: 0x7d
14
Reg 255: 0x52
Die nicht aufgeführten Register sind 0.

Tim

von Carsten S. (dg3ycs)


Lesenswert?

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

von Tim M. (tml)


Lesenswert?

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

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

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.

von Tim M. (tml)


Lesenswert?

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

von Carsten S. (dg3ycs)


Lesenswert?

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

von Tim M. (tml)


Lesenswert?

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.

von Tim M. (tml)


Lesenswert?

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

von Kev (Gast)


Lesenswert?

Wie bekomme ich die Firmware mit meinem STK500 auf den Atmega32?
Welche pins muss ich wie verbinden?

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

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.

von Oliver J. (skriptkiddy)


Lesenswert?

Gratuliere Tim. Sieht so aus als hättest du die Bits zur 
Sendeleistungseinstellung gefunden.

Gruß Oliver

von Carsten S. (dg3ycs)


Lesenswert?

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

von Martin (Gast)


Lesenswert?

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.

von Oliver J. (skriptkiddy)


Lesenswert?

@dg3ycs
Und hast du neue Erkenntnisse gewonnen?

Gruß Oliver

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

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

von Oliver J. (skriptkiddy)


Lesenswert?

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

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

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

von müllmann (Gast)


Lesenswert?

@Fred Feuerstein
1
*fett*
2
/kursiv/
3
_unterstrichen_

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

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

von Heinervdm (Gast)


Lesenswert?

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

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

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

von Joachim B. (joachimb)


Lesenswert?

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

von Tim M. (tml)


Lesenswert?

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

von idee (Gast)


Lesenswert?

Fragt doch einfach bei der Firma nach bezüglich der Veröffentlichung des 
Datenblattes...

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

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

von Thomas R. (tinman) Benutzerseite


Lesenswert?

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.

von Martin (Gast)


Lesenswert?

Hallo Feuerstein,

kannst du mir das Datenblatt schien ?

geheimedaten at g m x .de

das ist keine fake adresse ;)

Martin

von Martin (Gast)


Lesenswert?

schicken natürlich :/

von Oliver J. (skriptkiddy)


Lesenswert?

Mir bitte auch. Hab dir schon eine PN geschickt.

Danke schon mal.
Gruß Oliver

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Angehängte Dateien:

Lesenswert?

Hallo,
was solls

von Oliver J. (skriptkiddy)


Lesenswert?

Vielen Dank Fred.
Dann steht einer sauberen Lib jetzt nichts mehr im Wege.

Gruß Oliver

von Mikel (Gast)


Lesenswert?

Ich sage auch mal ein fettes Danke @ Fred. Mein Paket mit Modulen ist 
gestern angekommen. Dann kanns ja jetzt richtig losgehn.

von UTB (Gast)


Lesenswert?

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...

von Peter (Gast)


Lesenswert?

Hallo,

habe gerade meine Module wieder in einer Kiste gefunden und wollte mal 
fragen ob irgendwer noch weiter was damit angestellt hat.

von Rolle (Gast)


Angehängte Dateien:

Lesenswert?

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

von BillX (Gast)


Lesenswert?


von Mikel M. (mikelm)


Lesenswert?

BillX schrieb:
> Derweils übrigends für 1,30 :)!
>
> http://www.ebay.de/sch/i.html?_from=R40&_sacat=0&_...

Wenn du nen 10er pack nimmst kostet es  60-70 cent das Stück

von Rolle (Gast)


Lesenswert?

HI,

ich hab meine von Amazon 1,20 
http://www.amazon.de/Sony-DPY901634-Ericsson-MMR-70-FM-Transmitter/dp/B000UTMOF0

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.

Dann habe ich noch dGPS 
http://de.wikipedia.org/wiki/Differential_Global_Positioning_System bzw.
RASANT http://www.qsl.net/d/dk7in/RASANT.html vor zu implementieren.
Mittels eines Referenzpunktes wird die GPS-Abweichung per RDS
übertragen. Ich muss mir nur erst einen dGPS-Empfänger besorgen
und schaun welche Frequenzen der haben möchte..
Super um z.B. auf 'ner Baustelle die GPS Qualität zu verbessern.


Gruß
Rolle - rolle(ä)habmalnefrage.de

von j. (Gast)


Lesenswert?

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 ;-)

von BillX (Gast)


Lesenswert?

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.

von Tim M. (tml)


Lesenswert?

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

von Rolle (Gast)


Angehängte Dateien:

Lesenswert?

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

von Joachim S. (mithotyn)


Lesenswert?

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

von Martin P. (billx)


Lesenswert?

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

von Tim M. (tml)


Lesenswert?

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

von Paul E. (Gast)


Lesenswert?

Wo find ich infos über das TMC Protokoll? Aufbau usw.

von Saum (Gast)


Lesenswert?

Paul E. schrieb:
> Wo find ich infos über das TMC Protokoll? Aufbau usw.

Vielleicht hilft dir diese Veröffentlichung von der CanSecWest 
Konferenz: "Unusual Car Navigation Tricks: Injecting RDS-TMC Traffic 
Information Signals"
http://dev.inversepath.com/download/rds/blackhat_df-whitepaper.pdf
http://dev.inversepath.com/download/rds/cansecwest_2007.pdf
bzw der Überordner
http://dev.inversepath.com/download/rds/

von menno (Gast)


Lesenswert?

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?

von M. G. (looking)


Lesenswert?

Im I2C-Code aus der zip-Datei von 
Beitrag "Re: [AVR] FM-Transmitter für 1,50EUR --> Ansteuerung?"
steht drin:
1
/* I2C clock in Hz */
2
#define SCL_CLOCK  400000L
3
4
5
/*************************************************************************
6
 Initialization of the I2C bus interface. Need to be called only once
7
*************************************************************************/
8
void i2c_init(void)
9
{
10
  /* initialize TWI clock: 100 kHz clock, TWPS = 0 => prescaler = 1 */
11
  
12
  TWSR = 0;                         /* no prescaler */
13
  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?

von Karol B. (johnpatcher)


Lesenswert?

Bei I2C sind i.d.R. 100 kHz üblich. Auch der Kommentar deutet noch 
darauf hin:
1
  /* initialize TWI clock: 100 kHz clock, TWPS = 0 => prescaler = 1 */

Gemessen habe ich da noch nichts, aber wofür werden die 400 kHz 
überhaupt benötigt?

Mit freundlichen Grüßen,
Karol Babioch

von Burkhard (Gast)


Angehängte Dateien:

Lesenswert?

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

von Rolle (Gast)


Lesenswert?

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

von Gerd G. (Gast)


Lesenswert?

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.

von Manawyrm (manawyrm)


Lesenswert?

Prima! Freut mich :)

War die Anleitung so ok, ließ sich die Software gut installieren?

Viele Grüße,
Tobias

von Martin P. (billx)


Lesenswert?

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 ;)

von Manawyrm (manawyrm)


Lesenswert?

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

von Andre P. (kashiwado)


Lesenswert?

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

: Bearbeitet durch User
von Manawyrm am Handy (Gast)


Lesenswert?

Ja, geh halt hin und lies mal den Thread :D

Ist fertiger Sourecode da, brauchst nur noch nen ISP-Programmer^^

von Andre P. (kashiwado)


Lesenswert?

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?

von Oliver J. (skriptkiddy)


Lesenswert?

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
1
/*************************************************************************
2
3
    This program is free software; you can redistribute it and/or modify
4
    it under the terms of the GNU General Public License as published by
5
    the Free Software Foundation; either version 2 of the License, or
6
    any later version.
7
8
    This program is distributed in the hope that it will be useful,
9
    but WITHOUT ANY WARRANTY; without even the implied warranty of
10
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
    GNU General Public License for more details.
12
13
************************************************************************
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?"

von Manawyrm am Handy (Gast)


Lesenswert?

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

von Manawyrm (manawyrm)


Lesenswert?

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

von Oliver J. (skriptkiddy)


Lesenswert?

Danke Dir. Passt für mich so.

Grüße Oliver

von Stefan Z. (stefan_z)


Lesenswert?

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

: Bearbeitet durch User
von Manawyrm (manawyrm)


Angehängte Dateien:

Lesenswert?

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

von Thomas O. (thomas_o95)


Lesenswert?

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?

von Meise (Gast)


Lesenswert?

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.

von morus (Gast)


Angehängte Dateien:

Lesenswert?

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.

von morus (Gast)


Lesenswert?

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.

von Joachim R. (bastelbaer)


Lesenswert?

@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

von Th. B. (thbaum)


Lesenswert?

morus schrieb:
> Hat sich schonmal jemand die MRC-60 vorgenommen?

Bin gerade dabei. Erste Erfolge gibt es bereits. Der Controller ist 
programmierbar. Die Beleuchtung lässt sich schonmal steuern. (PortD 7)

Hier der Thread dazu:
Beitrag "[AVR] Hackbare Handy-Dockingstation mit IR (MRC-60)"

von morus (Gast)


Lesenswert?

@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.

von Th. B. (thbaum)


Lesenswert?

> 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

von Gefunden Habe (Gast)


Lesenswert?

Hallo Leute,

hab mich gefragt, was diese Station so kann und bin dabei auf Eure 
Unterhaltung gestoßen.

Hier hat momentan jemand einige davon zum verkauf:

http://www.ebay.de/sch/kapa19/m.html?item=231518383855&hash=item35e7922eef&pt=LH_DefaultDomain_77&rt=nc&_trksid=p2047675.l2562

Vielleicht könnt Ihr´s gebrauchen.

;)

Beitrag #6216411 wurde von einem Moderator gelöscht.
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
Noch kein Account? Hier anmelden.