Was ist das für eine DVB-s Karte ?

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



    cu e.b

  • Hallo e.b.


    Zitat

    Original 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,


    Zitat

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


    Zitat

    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 ?


    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

  • Zitat

    Original 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

  • Zitat

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


    Zitat

    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.


    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,

    Zitat

    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.


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


    Code
    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

  • Zitat

    Original 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,


    Zitat

    Original 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 ;D

    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 :rolleyes: . Laut Phillips soll der TDA8083h ja Register- und Pin-kompatibel sein zum TDA8044, bei dem sieht es aber auch nicht besser aus.


    nospam

  • Hi,


    Zitat

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


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


    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

  • Zitat

    Original von e.b

    Code
    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


    aehm - ist das oben nen tippfehler? ist doch genau das selbe, oder? ;)



    -- randy

  • Hallo UFO,


    Zitat

    Original 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,


    Zitat

    Wie ist die Beschaltung eingangsseitig (Pin 11, 12)? Geht die auch an einen 512-Zähler oder waren Siemens da wieder kreativ?


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


    randy

    Zitat

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

  • Zitat

    Original 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 ;D


    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.


    Zitat

    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?


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

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!