STMicroelectronics STV0900A 16APSK 32APSK

From LinuxTVWiki
Jump to: navigation, search

Advanced version of DVB-S2 demodulator STV0900B produced by STMicroelectronics. Supports 16APSK/32APSK and ACM.

16APSK/32APSK on NetUP Dual DVB-S2 CI card

16APSK 2/3 sr=27500 (TS bit rate is 70Mbps) works fine with the following experimental change set - http://udev.netup.ru/cgi-bin/hgwebdir.cgi/v4l-dvb-aospan-stv0900aac 16APSK constellation on NetUP Dual DVB-S2 CI card:

16APSK constellation on NetUP Dual DVB-S2 CI card

32APSK 9/10 sr=27500 (TS bit rate is 119 Mbps) was received successfully but transferring this high bit rate to cx23885 caused loss of TS packets. We are working on this ... 32APSK constellation on NetUP Dual DVB-S2 CI card:

32APSK constellation on NetUP Dual DVB-S2 CI card


Remarks:

1. 16APSK/32APSK modulations were tested with locally connected modulator ( 2m of coax cable ). Signal quality is 22 dB and higher. In real installations signal quality should be lower and may cause broken TS reception.

2. STV0900 demodulator should be marked as "STV0900A". "STV0900B" doesn't support 16APSK/32APSK.

3. STV0900 switched to single mode when receiving 16APSK or 32APSK. Second channel doesn't work in this case. Patch to switch STV0900A to "single mode":

diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c
index 9c5ed10..8f949f1 100644
--- a/drivers/media/pci/cx23885/cx23885-dvb.c
+++ b/drivers/media/pci/cx23885/cx23885-dvb.c
@@ -439,7 +439,7 @@ static struct stv0900_reg stv0900_ts_regs[] = {

 static struct stv0900_config netup_stv0900_config = {
        .demod_address = 0x68,
-       .demod_mode = 1, /* dual */
+       .demod_mode = 0, /* single */
        .xtal = 8000000,
        .clkmode = 3,/* 0-CLKI, 2-XTALI, else AUTO */
        .diseqc_mode = 2,/* 2/3 PWM */