Hallo!
Ich arbeite zur zeit an einem DSP mit dem Chip PCM3070 von Texas
Instruments.
Beschreiben werden die Register via I2C und einem Arduino.
Eine Methode fürs Schreiben und eine fürs Lesen für die Daten auf den
PCM3070 habe ich geschrieben --> beide funktionieren und erfüllen ihren
Zweck.
Kommunizieren mit dem Chip funktioniert soweit!!!
So jetzt hab ich mich gefreut das mein Chip (PCM) die ersten Töne von
sich gibt, durch diesen Code, den ich bei TI gefunden hab:
1 | ###############################################
|
2 | # PGA Analog Bypass
|
3 | # ---------------------------------------------
|
4 | # This script routes IN1_L/R inputs to HPL/R
|
5 | # outputs through MicPGA. Connect a portable
|
6 | # media player to J1 (IN1_L/R) and headphones
|
7 | # to J9.
|
8 | #
|
9 | # Ensure the input signal does not exceed the
|
10 | # maximum rated input voltage.
|
11 | ###############################################
|
12 | ###############################################
|
13 | # Software Reset
|
14 | ###############################################
|
15 | # Select Page 0
|
16 | w 30 00 00
|
17 | # Initialize the device through software reset
|
18 | w 30 01 01
|
19 | ###############################################
|
20 | # Initialize Codec
|
21 | ###############################################
|
22 | # Select Page 1
|
23 | w 30 00 01
|
24 | # Disable weak AVDD in presence of external
|
25 | # AVDD supply
|
26 | w 30 01 08
|
27 | # Enable Master Analog Power Control
|
28 | w 30 02 00
|
29 | # Set the input powerup time to 3.1ms (for ADC)
|
30 | # w 30 47 32
|
31 | # Set the REF charging time to 40ms
|
32 | w 30 7b 01
|
33 | ###############################################
|
34 | # Playback Setup
|
35 | ###############################################
|
36 | # Select Page 1
|
37 | w 30 00 01
|
38 | # De-pop
|
39 | w 30 14 25
|
40 | # Route IN_1L to Left MicPGA P
|
41 | w 30 34 40
|
42 | w 30 36 40
|
43 | # Route IN_1R to Right MicPGA P
|
44 | w 30 37 40
|
45 | w 30 39 40
|
46 | # Mixer Amp -> HP outs
|
47 | w 30 0C 02 02
|
48 | # Mixer Amp -> Lineouts
|
49 | w 30 0E 02 02
|
50 | # PGA Bypass Gain = 0dB
|
51 | w 30 18 00 00
|
52 | # Power up HPL/HPR, LOL/LOR and MAL/MAR drivers
|
53 | w 30 09 3F
|
54 | # Unmute HPL/HPR driver, 0dB Gain
|
55 | w 30 10 00 00
|
56 | # Unmute LOL/LOR driver, 0dB Gain
|
57 | w 30 12 00 00
|
58 | ###############################################
|
den Beispielcode (Input1 to HPL/R) eingespielt --> erfolgreich konnte
ich mit den Kopfhörer den Sound genießen ;-)
Ich hab auch schon mir einzelnen Registerwerten (Volumecontrol von HPL/L
oder auch dem Routing) rumgespielt und alles hat ebenfalls geklappt.
So mein Problem jetzt: Ich muss mit PurePath eine Konfiguration für den
DSP basteln (Konfigurationssoftware von TI) und daraus eine Config Datei
generieren lassen.
Diese sieht dann fast so aus wie im obigen Beispiel, bloß viel länger
(6000 Zeilen; ca. 3000 ohne Kommentare)
Diese kann ich dann durch ein Selbst geschriebenes Java Programm
schicken, dass mir dann meinen Arduino Code "Generiert".
Sprich: "w 30 00 00" (von der Config datei) setzt die Software als
Arduino-Methodenaufruf ein: writeDSP(30,0x00,0x00).
Das problem: ich schaffe es mit Purepath nochmal das Beispiel zum laufen
zu bekommen.
Mein Plan: alles so umbauen, sodass ich mit PurePath Studio die
Konfigurationsdatei erstellen kann und die ca. 6000 Zeilen (6000/2=3000
Zeilen, wg. Kommentare) in den Chip bekomme.
Kannst ihr mir jetzt irgendwie weiterhelfen?
mfg
Maximilian