Forum: Mikrocontroller und Digitale Elektronik Polyphone Töne erzeugen


von Uwe W. (uwel)


Lesenswert?

Hi
In der bisherigen Anwendung wird mit einem Log H und unterschiedlicher 
Dauer  ein Tonfrequenz mit der entsprechenden Länge  erzeugt.
Das Ganze >30 mal ( 30 x cd 4047 )

Um die Anzahl der IC zu vermindern , wird nun nach einer Lösung gesucht. 
Angedacht ist die Verwendung eines Oldi- IC SAA 1900 der im Prinzip ein 
Polyphoner Soundchip ist wie er früher für Heimorgeln verwendet wurde.

Suche nach weiteren Ideen
Jeder Hinweis ist willkommen

UweL

von hinz (Gast)


Lesenswert?


von cppler (Gast)


Lesenswert?

Schau dir z.B. DDS an, kleines Beispiel z.B. hier:
http://elm-chan.org/works/mxb/report.html

von jojo (Gast)


Lesenswert?


von Steffen H. (Firma: www.shotech.de) (mc_sho) Benutzerseite


Lesenswert?

man könnte auch den BU8793KN (ROHM) nehmen, dann wird es etwas 
einfacher. Den gibt es z.B. bei alibaba. Ich habe aber auch noch einige 
über.


https://engineering.purdue.edu/ece477/Webs/F07-Grp02/Documents/Parts/Datasheets/bu8793kn_spec_01-29-03.pdf

von c-hater (Gast)


Lesenswert?

Uwe W. schrieb:

> Um die Anzahl der IC zu vermindern , wird nun nach einer Lösung gesucht.

µC und DSP -> 2 ICs. Oder sogar nur einer, wenn man einen DSP nimmt, der 
einen µC-Core schon onboard mitbringt.

> Jeder Hinweis ist willkommen

Das glaube ich nicht. Meiner wird dir nicht willkommen sein, um was 
wollen wir wetten?

von Uwe W. (uwel)


Lesenswert?

Danke für die Hinweise.
ELM und BU8793KN (ROHM) habe ich mir angesehen sowie UM 3561 den SAA 
1900

Bis auf den SAA1900, wird EINE Melodie oder Tonfolge bei Aktivierung 
abgespielt wird.
Beim SAA1900 erfolgt die Ansteuerung über eine Matrix, sodaß es mit 
einem H oder L auf einer leitung nicht getan ist.( Weis nicht, wie man 
dies lösen könnte).

Die Vorgabe ist, wie schon bei der Anfrage genannt, das, vereinfacht 
gesagt n- Leitungen ankommen und mit jeder Leitung EIN Ton erzeugt 
werden muß.

Mein Ansatz ist deshalb dass eine Peripherie mit n- Eingängen benötigt 
wird. Diese müßte dann in BCD umgewandelt werden um dann einen ELM oder 
DDS anzusteuern.
Wie man dies umsetzt ist mir z.Zt (noch) unklar.

Uwe

von Falk B. (falk)


Lesenswert?

@ Uwe W. (uwel)

>Die Vorgabe ist, wie schon bei der Anfrage genannt, das, vereinfacht
>gesagt n- Leitungen ankommen und mit jeder Leitung EIN Ton erzeugt
>werden muß.

Wie groß ist N? Im einfachsten Fall nimmt man für jede Leitung EINEN 
AVR. Mit etwas Grips kann man aber auch N einfache (DDS) Synthesizer in 
EINEN AVR programmieren.

>Mein Ansatz ist deshalb dass eine Peripherie mit n- Eingängen benötigt
>wird. Diese müßte dann in BCD umgewandelt werden um dann einen ELM oder
>DDS anzusteuern.

>Wie man dies umsetzt ist mir z.Zt (noch) unklar.

Mit EINEM AVR/uC.

von Uwe W. (uwel)


Lesenswert?

Ja AVR klar- aber mit 30 Eingängen ?

Uwe

von Falk B. (falk)


Lesenswert?

@ Uwe W. (uwel)

>Ja AVR klar- aber mit 30 Eingängen ?

Es gibt AVRs mit bis zu 100(?) Pins. Aber die braucht man gar nicht, ein 
DIL40 AVR reicht. Der hat 4x8 IOs, 30 für die Eigänge, einer für den 
PWM-Audioausgang, fertig. Alternativ nimmt man 4x 74HC165 
Schieberegister, um die Eingänge einzulesen.

von Falk B. (falk)


Lesenswert?

Ahhh, jetzt seh ich auch die 30 im Originalposting 8-0
Egal, 30 DDS-Kanäle bei  humaner Samplingrate in einen AVR zu packen 
ist kein Problem. Dann alles addieren und per PWM ausgeben. 
Eingentlich fast zu einfach.

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.