1
0
mirror of https://github.com/DigitalDevices/dddvb.git synced 2023-10-10 13:37:43 +02:00
dddvb/docs/modulator

131 lines
3.3 KiB
Plaintext
Raw Permalink Normal View History

2015-08-05 17:22:42 +02:00
Modulator channels will automatically be enabled if you redirect data
from a demodulator to it.
E.g._:
first demod on bridge 0 TAB1, modulator on bridge 1.
echo "00 10" > /sys/class/ddbridge/ddbridge0/redirect
Currently it is fixed to QAM256. Controls will be added later.
Rate control is experimental and PCR correction also not
implemented yet. So, depending on the reception device
there can be disturbances in playback.
It is now also possible to chain redirects.
E.g., demod and modulator as above, CI on bridge 0 TAB 2:
echo "00 01" > /sys/class/ddbridge/ddbridge0/redirect
echo "02 10" > /sys/class/ddbridge/ddbridge0/redirect
The stream is also still available at the demux device
belonging to the demod devices.
Now write and start an application (not provided) that
talks to the CI to decrypt the desired services.
For testing one can use a standard application that
supports decryption. Additionally to seeing the
decoded service on the PC it will then also be streamed
into cable by the modulator.
The modulator device can be controlled with the
following properties:
MODULATOR_FREQUENCY:
Set the frequency on Version 2 (FSM) cards
units - Hz
range - 114000000-874000000
allowed values - 114 + 8000000*X
For older cards you have to use the
DVB_MOD_SET ioctl.
MODULATOR_SYMBOLRATE:
Set the symbol rate
units - Hz
range - Version 1 cards: only 6900000
Version 2 cards(FSM): X-7100000
MODULATOR_MODULATION:
Set the modulation type
range: QAM_16 .. QAM_256
MODULATOR_ATTENUATION:
range - 0-31
unit - 1 dB
MODULATOR_GAIN:
range - 0-255
unit - 0.125 dB
The MODULATOR_ATTENUATOR is based on a switched resistor network,
also it is backward compatible to our old modulator.
the MODULATOR_GAIN is based on a variable gain amplifier, so it is less
accurate then the attenuator.
High gain values will drive the output amplifier into clipping. The
limit depends on # of channels active.
MODULATOR_INPUT_BITRATE:
The modulator will ALWAY insert null packets if it
does not get enough data.
If you specify the input bitrate it will insert additional
null packets according to the difference between input
and output bit rate.
The latter is determined by symbol rte and modulation.
So, this property should be set last.
unit - 2^-32 Hz
Debugging features:
MODULATOR_STATUS and MODULATOR_RESET have been added to debug
possible problems with too high temperatures (overtemperature)
or PLL lock loss on FSM type cards.
The MODULATOR_STATUS property returns a __u32 with the following status bits:
- bit 0 : Lock status 1=lock OK, 0 = lock lost
- bit 1 : Sticky lock lost indicator
0 = no PLL lock loss since last status read
1 = lock has been lost since last status read
- bit 2 : 0 = no overtemperature
1 = overtemperature detected
- bit 4 : 0 = PCIe link OK
1 = PCIe link lost
In case of overtemperratur or PCIe link loss you will have to reboot the PC.
Putting a MODULATOR_STATUS property with value 2 will enable the lost lock
interrupt. This will set the gain to 0 and the attenuation to 31 in case
of a lost PLL lock.
The MODULATOR_RESET property can be used to reset the modulator without
needing to reload the driver or rebooting in case of PLL lock loss.
All channels should be stopped before using it and restarted after using it.
Otherwise, results are unpredictable.