Hallo,
kann jemand an einer "normalen" nova oder KNC karte messen, wie Pin160 des SAA7146 (= PXQ_B) geschaltet ist ? (an den Tuner oder ebenfalls ein Pullup Widerstand).
gruß e.b
Hallo,
kann jemand an einer "normalen" nova oder KNC karte messen, wie Pin160 des SAA7146 (= PXQ_B) geschaltet ist ? (an den Tuner oder ebenfalls ein Pullup Widerstand).
gruß e.b
Port B und A verbinden:
Beide Ports liegen imPrinzip auf der Steckerleiste. Das Verbinden könnte evtl. dort möglich sein, sofern die Gesamtlänge der Leitungen nicht zu groß wird und der Widerstand stimmt, damit die Signalqualität nicht zu schlecht wird.
Die Daten und Control-Leitungen vom Tuner zur Steckerleiste haben einen Serienwiderstand von100 Ohm.
Tuner SAA7146 Steckerleiste
-------------------------------------------------------------------------------------
????? Pin13 --> +Vcc
-------------------------------------------------------------------------------------
data0 Pin14 --> Pin 1 = VDA0 --> Pin 2
data1 Pin15 --> Pin 2 = VDA1 --> Pin 4
data2 Pin16 --> Pin 3 = VDA2 --> Pin 6
data3 Pin17 --> Pin 4 = VDA3 --> Pin 8
data4 Pin18 --> Pin 7 = VDA4 --> Pin 10
data5 Pin19 --> Pin 8 = VDA5 --> Pin 12
data6 Pin20 --> Pin 9 = VDA6 --> Pin 14
data7 Pin21 --> Pin 106 = VDA7 --> Pin 16
-------------------------------------------------------------------------------------
pullup [Pin22,R not fitted]--> Pin 14 = PXQ_A
VCOUNT HCT74 Pin5 --> Pin 11 = VS_A
HSYNC Pin23 --> Pin 12 = HS_A Pin 22
PSYNC Pin24 --> Pin 18
Pin25 --> Pin 13 = LLC_A Pin 20
-------------------------------------------------------------------------------------
Pin 24 VCC ?
Pin 136 = SCL Pin 25
Pin 137 = SDA Pin 26
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
--> Pin 145 = VDB0 Pin 50
--> Pin 146 = VDB1 Pin 48
--> Pin 147 = VDB2 Pin 46
--> Pin 148 = VDB3 Pin 44
--> Pin 151 = VDB4 Pin 42
--> Pin 152 = VDB5 Pin 40
--> Pin 153 = VDB6 Pin 38
--> Pin 154 = VDB7 Pin 36
-------------------------------------------------------------------------------------
--> Pin 157 = LLC_B Pin 32
VCOUNT HCT74 Pin9 --> Pin 158 = VS_B
--> Pin 159 = HS_B Pin 30
pullup [Pin22, R not fitted] Pin 160 = PXQ_B
Pin 141 = GPIO3 Pin 28
(alles nach bestem Wissen und Gewissen ausgemessen, aber ohne Garantie)
Alles anzeigen
cu e.b
Hallo e.b.
ZitatOriginal von e.b
kann jemand an einer "normalen" nova oder KNC karte messen, wie Pin160 des SAA7146 (= PXQ_B) geschaltet ist ? (an den Tuner oder ebenfalls ein Pullup Widerstand).
Ich habe hier noch eine Budget-Karte, die mit "City Com" und "S-DVB Data Rev. 1.1 TT2000.6" beschriftet ist. Pin 160 geht bei der auf den Tuner.
nospam2000
Hallo nospam,
auf der Activy Karte findest Du einen Pullup Widerstand und daneben Platz für einen (nichtbestückten) Widerstand. Du hast ja nun schon einiges ausprobiert. Ist es erfolgversprechend dieses Tuner Signal weiterzuleiten ?
cu e.b
Hi,
ZitatOriginal von e.b
Port B und A verbinden:
Beide Ports liegen imPrinzip auf der Steckerleiste. Das Verbinden könnte evtl. dort möglich sein, sofern die Gesamtlänge der Leitungen nicht zu groß wird und der Widerstand stimmt, damit die Signalqualität nicht zu schlecht wird.
Die Daten und Control-Leitungen vom Tuner zur Steckerleiste haben einen Serienwiderstand von100 Ohm.
...
Danke für die Infos.
Ich warte noch auf meine Karte. Falls ich die Umstellung auf Port A nicht auch so hinbekomme, werde ich mal diesen Ansatz versuchen. Sollte für einen Test keine Rolle spielen, ob die Signale wirklich 100% sauber sind.
Zitatauf der Activy Karte findest Du einen Pullup Widerstand und daneben Platz für einen (nichtbestückten) Widerstand. Du hast ja nun schon einiges ausprobiert. Ist es erfolgversprechend dieses Tuner Signal weiterzuleiten ?
Liefert der eingesetzte Tuner dieses Signal überhaupt? Laut Datenblatt des SAA7146 dient PXQ_[A|B] == Low nur dazu, zu verhindern, daß der SAA7146 Daten übernimmt (z.B. wenn das Frontend keinen Lock hat)...
Gruß,
Oliver
hey,
fyi: ich hab grade eine karte in meinem neuen linux bastelrechner laufen;
ein szap bringt zwar haufen filter timeouts, aber auch channels!
d.h. das teil laeuft halbert schon mal mit nospam's patch
mal schaun obma des letze auch noch hinbekommen...
gruss,
-- randy
ZitatOriginal von randy
fyi: ich hab grade eine karte in meinem neuen linux bastelrechner laufen;
ein szap bringt zwar haufen filter timeouts, aber auch channels!
d.h. das teil laeuft halbert schon mal mit nospam's patch
mal schaun obma des letze auch noch hinbekommen...
Hab leider irgendwie übersehen, daß es eine zweite Version des Patches gibt. Hätte mir einige Arbeit erspart. Egal. Sobald die Karte da ist, werde ich mich näher damit befassen. DiSEqC sollte auch hinzukriegen sein...
CU
Oliver
ZitatOriginal von UFO
Hätte mir einige Arbeit erspart. Egal. Sobald die Karte da ist, werde ich mich näher damit befassen. DiSEqC sollte auch hinzukriegen sein...
... was ich leider nicht testen kann.
aber eins hab ich grade festgestellt: sobald man das mir dem gpio3 / vsync
vom budget_patch mit aufnimmt, empfaengt die karte so gut wie nichts mehr.
auch ist der pin verdrahtet, aber hab jetzt kein bock mehr das rauszumessen.
ergo scheint siemens da irgendwas zusammengebacken zu haben
(odern dummer zufall...)
gruss,
-- randy
Hallo,
ich glaube auch nicht, das es etwas mit dem PXQ zu tun hat.
Bei meinen Tests habe ich folgendes festgestellt:
Aufnahmen mit VDR funktionieren generell (kein Absturz, Daten werden auf Platte geschrieben), es fehlen aber ca. 65% der Daten und die Aufnahme enthält keine sinnvollen Daten.
Ein Dauertest mit "dvbtune -i" (dump SI) hat gezeigt, dass dies in ca. einem von 24 Fällen funktioniert (bei insgesamt 1000 Durchläufen).
Die Ursache muss daher meines Erachtens ein timing problem sein, z.B. wegen Interrupts, oder einer fehlenden Synchronisierung des Starts der Datenerfassung, etc. Es kann nichts sein, was immer falsch läuft (z.B. falscher Port, falsche Tuner-Einstellung, etc.).
Zwischen dem TDA8083h und dem SAA7146 wird ja der komplette Datenstrom eines Transponders als TS Pakete übertragen. Der SAA7146 ist aber eigentlich für die Übertragung von Bildsignalen ausgelegt (even/odd frame, HSYNC, VSYNC, scaling, etc.). Das alles passt für den Anwendungsfall nicht so richtig, da er nur als DMA-Controller misbraucht wird.
Das VSYNC Signal muss künstlich über den 74HC4040 und den 74HC74 erzeugt werden. Wie das mit dem HSYNC Signal funktioniert, ist mir noch nicht klar, da der TDA8083h ja keine Bilddaten hat, sondern nur TS Pakete, kann er ja kein echtes HSYNC haben. Das VSYNC Signal
Der Budget Treiber aktiviert jetzt den DMA3 des SAA7146 um die Daten direkt vom TDA8083h über den PCI-Bus in den Hauptspeicher des PC zu schreiben. Er geht davon aus, dass eine Zeile aus 376 Bytes (2 TS Pakete) besteht und dass es 512 Zeilen gibt. Wann genau der der Interrupt zum Auslesen des Puffers erzeugt wird und wie der wrap-around zum Puffer Anfang erfolgt, ist mir nicht klar.
nospam2000
Hallo,
Zitat[DiSEqC]
... was ich leider nicht testen kann.
Kein Problem. Kann ich implementieren und testen.
Zitataber eins hab ich grade festgestellt: sobald man das mir dem gpio3 / vsync
vom budget_patch mit aufnimmt, empfaengt die karte so gut wie nichts mehr.
auch ist der pin verdrahtet, aber hab jetzt kein bock mehr das rauszumessen.
Den Budget-Patch brauchen wir vermutlich nicht, denn die erforderliche Logik (Counter/Flipflop) ist ja vorhanden. Diese Logik erzeugt ein Pseudo-Video-Signal für den SAA7146. Ich beziehe mich auf das Referenzdesign, vermutlich ist das jedoch gleich:
- LLC: Byte-Takt
- PXQ: s.u.
- HS: Packet Start Signal
- VS: Packet Count 512
Der SAA7146 empfängt die Daten über einen Video-Port (B bzw. A) und sendet sie über den BRS (Binary Ratio Scaler) über DMA-Kanal 3 an die CPU. Interrupts werden über den VPE (Video address Protection Error) Mechanismus ausgelöst.
Zurück zum PXQ-Signal. Im Referenzdesign ist es mit dem Data-Parity-Signal des Tuners verbunden. Ist das bei einer Nova auch der Fall, d.h. geht es an Pin 26 des BSRU6? Ich vermute ja, denn mit diesem Signal kann man die Parity-Information aus den Daten herausfiltern.
Hier haben wir allerdings einen anderen Tuner. Möglicherweise liefert dieser das Signal nicht. Möglicherwise filtert er auch schon intern die Parity-Daten aus.
Gruß
Oliver
Hallo randy,
Zitataber eins hab ich grade festgestellt: sobald man das mir dem gpio3 / vsync
vom budget_patch mit aufnimmt, empfaengt die karte so gut wie nichts mehr.
auch ist der pin verdrahtet, aber hab jetzt kein bock mehr das rauszumessen.
- Meiner Meinung nach geht der GPIO3 lediglich auf die Steckerleiste, hast Du noch ein anderes Ziel festgestellt ?
- GrundigTuner / pin22 scheint bei der 1.6 FF Karte nicht verwendet zu werden.
- GrundigTuner / pin22 --> pin 48 / TDA8083 =PDOERR transport error indicator output
Da könnte es natürlich interessant sein, mit einem Oszilloskopzu prüfen, ob sich was tut. Nach Euren Meldungen glaube ich das aber eher nicht.
Zitat
- LLC: Byte-Takt
- PXQ: s.u.
- HS: Packet Start Signal
- VS: Packet Count 512
Das Referenzdesign ermöglicht auch andere Teilfaktoren:
Der Widerstand 4040/pin15 ist auf dem SiemensBoard unbestückt.
Siemens hat auch noch einen weiteren (nichtbestückten) Widerstand am 4040/pin1 vorgesehen.
Referenzdesign ermöglicht:
4040/pin12 not fitted
4040/pin14 --> Count512
4040/pin15 not fitted
Siemensdesign ermöglicht:
4040/pin14 --> Count512
4040/pin15 not fitted
4040/pin1 not fitted
D.h. alles ist um den Faktor 2 verschoben, dennoch wird der richtige(?) Ausgang verwendet..., hat sich S. dabei etwas gedacht ?? zumindest ist es merkwürdig.
cu e.b
ZitatOriginal von UFO
Zurück zum PXQ-Signal. Im Referenzdesign ist es mit dem Data-Parity-Signal des Tuners verbunden. Ist das bei einer Nova auch der Fall, d.h. geht es an Pin 26 des BSRU6? Ich vermute ja, denn mit diesem Signal kann man die Parity-Information aus den Daten herausfiltern.
Hier haben wir allerdings einen anderen Tuner. Möglicherweise liefert dieser das Signal nicht. Möglicherwise filtert er auch schon intern die Parity-Daten aus.
hey,
das problem ist, das ich zumindest keine genaue doku vom 1.6er grundig
tuner habe; daher ist es recht muehsam, die zusammehaenge zu erkennen;
auch ist mir die funktion des 2. 4040 noch nicht klar. wobei _ich_ mittlerweile
dort das problem vermuten wuerde - diese chip ist neu *g* desweiteren
ist die verkabelung von den gpio's und llc/pxq ja "bekannt" und koennen
auch nicht ohne weiteres von siemens geaendert worden sein
(ausser von b nach a)...
haja, erstmal nen kaffee trinken
ps: es gibt nen chat - da tut sich sowas leichter
(portalseite, rechts oben, irc oder webchat)
-- randy
Hallo UFO,
ZitatOriginal von UFO
Kein Problem. Kann ich implementieren und testen.
Musst Du nicht implementieren, das sollte mit meinem 2. Patch funktionieren. Der IO-ctrl wird damit an an den grundig 491 frontend Treiber weitergeleitet, der dann das 22Khz Signal über den TDA8083h erzeugt. Da 22kHz definitiv funktioniert, sollte auch DiSEqC gehen. Testen schadet aber garantiert nichts
Zitat
Der SAA7146 empfängt die Daten über einen Video-Port (B bzw. A) und sendet sie über den BRS (Binary Ratio Scaler) über DMA-Kanal 3 an die CPU. Interrupts werden über den VPE (Video address Protection Error) Mechanismus ausgelöst.
Müsste der DMA nicht neu aufgesetzt werden, wenn eine VPE auftritt, oder setzt der SAA7146 beim Auslesen der ISR oder des VDP3 automatisch den DMA Zeiger auf den Anfang zurück? Eigentlich müsste doch eine Art Double-Buffering zum Einsatz kommen, d.h. die Hälfte des DMA-Datenbereichs wird vom Rechner ausgelesen, während die andere Hälfte vom SAA7146 gefüllt wird.
Wenn man traces einbaut in budget-core.c/vpeirq(), kann man beobachten, dass tatsächlich ca. zur Hälfte der Puffergröße ein IRQ ausgelöst wird, aber wo der Code ist, der das veranlasst und den DMA neu startet, ist mir ein Rätsel.
Zitat
Zurück zum PXQ-Signal. Im Referenzdesign ist es mit dem Data-Parity-Signal des Tuners verbunden. Ist das bei einer Nova auch der Fall, d.h. geht es an Pin 26 des BSRU6? Ich vermute ja, denn mit diesem Signal kann man die Parity-Information aus den Daten herausfiltern.
Ich bin mir nicht mehr sicher, ob es PIN26 war. Muss ich nochmal prüfen, wenn ich wieder daheim bin.
Wie sieht denn die Parity-Information aus? Die müsste man doch auch per Software rausfiltern können, oder? Gibt es da ein/mehrere Bytes pro TS Paket? Hast Du eine Ahnung, wo das beschrieben ist?
Zitat
Hier haben wir allerdings einen anderen Tuner. Möglicherweise liefert dieser das Signal nicht. Möglicherwise filtert er auch schon intern die Parity-Daten aus.
Da war es wieder, das Thema der Doku zum grundig 29504-491/451 bzw. zum Phillips TDA8083h . Laut Phillips soll der TDA8083h ja Register- und Pin-kompatibel sein zum TDA8044, bei dem sieht es aber auch nicht besser aus.
nospam
ZitatOriginal von nospam2000
Ich bin mir nicht mehr sicher, ob es PIN26 war. Muss ich nochmal prüfen, wenn ich wieder daheim bin.
jops, war pin26 aufm bsru6 (D/P)..
-- randy
Hi,
ZitatOriginal von e.b
Das Referenzdesign ermöglicht auch andere Teilfaktoren:
Der Widerstand 4040/pin15 ist auf dem SiemensBoard unbestückt.
Siemens hat auch noch einen weiteren (nichtbestückten) Widerstand am 4040/pin1 vorgesehen.
CodeReferenzdesign ermöglicht: 4040/pin12 not fitted 4040/pin14 --> Count512 4040/pin15 not fitted Siemensdesign ermöglicht: 4040/pin14 --> Count512 4040/pin15 not fitted 4040/pin1 not fitted
D.h. alles ist um den Faktor 2 verschoben, dennoch wird der richtige(?) Ausgang verwendet..., hat sich S. dabei etwas gedacht ?? zumindest ist es merkwürdig.
Durch eine Änderung des Teilerfaktors verändert man die "Zeilenlänge" für den saa7146. Man müßte den Chip dann allerdings entsprechend programmieren. Verwendet die Nova auch 512?
Zitat[7474 2. Flipflop]
gleiche Schaltung, aber auf den anderen Port verdrahtet.
Wie ist die Beschaltung eingangsseitig (Pin 11, 12)? Geht die auch an einen 512-Zähler oder waren Siemens da wieder kreativ?
Gruß
Oliver
Hallo UFO,
ZitatOriginal von UFO
Hier haben wir allerdings einen anderen Tuner. Möglicherweise liefert dieser das Signal nicht. Möglicherwise filtert er auch schon intern die Parity-Daten aus.
Der budget-core Treiber geht davon aus, dass er die reinen TS-Daten ohne Reed-Solomon error correction bekommt. Er liefert sie per dvb_dmx_swfilter_packets() weiter an den demux. Wenn das Frontend die Reed-Solomon Korrektur nicht entfernt, dann sind die Pakete aber nicht 188 sondern 204 Byte gross und die checksumme muss vor der Weiterverarbeitung entfernt werden.
Wenn heute jemand Zeit hat, könnte der den Aufruf von dvb_dmx_swfilter_packets() in budget-core.c ersetzen durch dvb_dmx_swfilter_204() (wenn das nicht geht, dann durch dvb_dmx_swfilter()). Heute komm ich nicht an meine Karte ran und kann nur Theorien aufstellen. Aber die scheint mir ziemlich plausibel
nospam
Hallo,
ZitatWie ist die Beschaltung eingangsseitig (Pin 11, 12)? Geht die auch an einen 512-Zähler oder waren Siemens da wieder kreativ?
PSYNC2 : 4040-2/pin10 --> kommt von CI Steckerleiste/pin34
74/pin11 --> dito
Count512-2: 74/pin12 --> kommt von 4040-2/pin 14
d.h. Die Quelle kommt von der Steckerleiste des CI, die restliche Teilerschaltung ist gleich.
Zitataehm - ist das oben nen tippfehler? ist doch genau das selbe, oder?
ja, ist genauso verdrahtet, ermöglicht aber andere Teilerfaktoren durch Umbestücken eines Widerstands...
cu e.b
ZitatOriginal von nospam2000
Musst Du nicht implementieren, das sollte mit meinem 2. Patch funktionieren. Der IO-ctrl wird damit an an den grundig 491 frontend Treiber weitergeleitet, der dann das 22Khz Signal über den TDA8083h erzeugt. Da 22kHz definitiv funktioniert, sollte auch DiSEqC gehen. Testen schadet aber garantiert nichts
Ich hoffe, die Karte kommt bis Dienstag. Dann werde ich einfach mal Deinen Patch ausprobieren und sehen, wo es noch hakt. :).
Zitat
Müsste der DMA nicht neu aufgesetzt werden, wenn eine VPE auftritt, oder setzt der SAA7146 beim Auslesen der ISR oder des VDP3 automatisch den DMA Zeiger auf den Anfang zurück? Eigentlich müsste doch eine Art Double-Buffering zum Einsatz kommen, d.h. die Hälfte des DMA-Datenbereichs wird vom Rechner ausgelesen, während die andere Hälfte vom SAA7146 gefüllt wird.
Wenn man traces einbaut in budget-core.c/vpeirq(), kann man beobachten, dass tatsächlich ca. zur Hälfte der Puffergröße ein IRQ ausgelöst wird, aber wo der Code ist, der das veranlasst und den DMA neu startet, ist mir ein Rätsel.
Der SAA7146 macht das alles offenbar automatisch. Ich muß mir allerdings erst mal das Datenblatt genauer anschauen. Gemäß Sourcecode wird beim Interrupt einfach nur ein Tasklet gestartet, das den Ringbuffer ausliest. Es werden immer komplette TS-Pakete ausgelesen. Ein evtl. verbleibender Rest (nämlich das Paket, das der SAA7146 gerade schreibt) wird dann beim nächsten Mal geholt...
Zitat
Ich bin mir nicht mehr sicher, ob es PIN26 war. Muss ich nochmal prüfen, wenn ich wieder daheim bin
...
jops, war pin26 aufm bsru6 (D/P).
Also ist klar, daß bei der Nova die Fehlerkorrekturdaten hardwaremäßig entfernt werden. Evtl. müssen wir das hier in SW erledigen. Sollte aber kein Problem sein.
ZitatWie sieht denn die Parity-Information aus? Die müsste man doch auch per Software rausfiltern können, oder? Gibt es da ein/mehrere Bytes pro TS Paket? Hast Du eine Ahnung, wo das beschrieben ist?
Im Rohformat verwendet DVB 204 Byte große Datenpakete. Sie bestehen aus 188 Byte Daten plus 16 Byte Parity (Reed-Solomon Code). Diese 16 zusätzlichen Bytes sind die Fehlerkorrektur-Bytes, die vom Frondend verwendet werden, um Bitfehler automatisch zu korrigieren. Ich habe aber keine Ahnung, wo das genau spezifiziert ist...
Zitat
Da war es wieder, das Thema der Doku zum grundig 29504-491/451 bzw. zum Phillips TDA8083h . Laut Phillips soll der TDA8083h ja Register- und Pin-kompatibel sein zum TDA8044, bei dem sieht es aber auch nicht besser aus.
Dazu habe ich leider auch keinerlei Infos.
Gruß
Oliver
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!