Está en la página 1de 15

Decodificador de CATV Cablevision - Multicanal - Telecentro

Ac les dejo un circuito de Decodificacin de CATV. Si bien los mtodos son muchos, dejo esta
informacin meramente didactica y con fines educativos, a la realizacin de un mtodo general para
los sistemas de CATV. Funciona unicamente en, Cablevision y Multicanal, en ambos casos con
resultados optimos y una estabilidad lograda muy aceptable, y por sobre todas las cosas, a un costo
infimo.
El circuito consta de un microcontrolador 16F84A /20P, todo alimentado con 9Vcc, el cual se intercala
en la seal de video compuesto VIDEO (IN) y VIDEO (OUT), el cual es facilmente adaptable a VCRs y
conversores, TVs, etc etc, quedando a criterio de cada uno.
Aqui les dejo adjuntamente, el PCB y una imagen con la relacin de componentes. Asi como el
programa para que lo compilen, esta en .txt solo faltaria pasarlo a .hex para programar el PIC.
Placa terminada:

Montaje de componentes:

PCB:

Programas para el PIC:


Programa para compilar en el PIC (Para Cablevision y Multicanal - Falta convertirlo a .hex)
http://www.filelodge.com/files/room17/439030/16f84a20p.txt
Programa para compilar el PIC (Para Telecentro - Ya est en .hex)
http://www.filelodge.com/files/room17/439030/telecentro.hex
Resultados:

Cinecanal 2

Cinemax

HBO

HBO Plus

Moviecity

Pay Per View 1

Pay Per View 2

Pay Per View 3

Venus

Playboy

Nota: Las pequeas lineas que aparecen en las imagenes son debido a que el CCD de la cmara
toma los FPS de la tele, mientras que el ojo no los ve... La imagen se ve como cualquier canal comn
sin ninguna alteracin.

*******************************************************
16f84a20p.txt
*******************************************************
PROCESSOR 16f84
#include

"p16f84.inc"

__CONFIG _CP_OFF & _WDT_OFF & _HS_OSC


RADIX DEC
VideoMode
equ 20h
Loops
equ 21h
LineaCnt
equ 22h
SearchCnt
equ 23h
CntSyncOk
equ 24h
CntSyncErr
equ 25h
Slower
equ 26h
Faster
equ 27h
DataSample
equ 28h
PASSVIDEO
equ 00010011b
PASSINVER
equ 00110010b
PASSBLACK
equ 10010000b
MAKESYNC
equ 10000000b
MAKEBURST
equ 11010000b
NEG
equ 2
POS
equ 3
M_NEG
equ 00000100b
M_POS
equ 00001000b
DEC
equ 0
INV
equ 1
BLK
equ 2
ERR
equ 3
L318
equ 4
FIND
equ 5
OSCTRLON
equ 00001000b
OSCTRLOFF
equ 00001001b
ORG 0
goto MAIN
HORLINEA
nop
nop
nop
nop
nop
nop
nop
nop
incf Faster,f
incf Slower,f
movlw PASSBLACK
btfss VideoMode,DEC
movlw PASSVIDEO
movwf PORTB
nop

nop
nop
nop
movlw MAKESYNC
btfss VideoMode,DEC
movlw PASSVIDEO
movwf PORTB
movlw 6
movwf Loops
L1
decfsz Loops,f
goto L1
movlw MAKEBURST
btfss VideoMode,DEC
movlw PASSVIDEO
movwf PORTB
movf PORTB,W
movwf DataSample
nop
nop
btfsc DataSample,NEG
bsf DataSample,POS
bcf PORTA,0
btfsc DataSample,POS
bsf PORTA,0
movlw OSCTRLON
tris PORTA
btfss DataSample,POS
clrf Faster
btfsc DataSample,POS
clrf Slower
btfsc Faster,6
goto L2
btfsc Slower,6
goto L2
L2
nop
nop
movlw PASSVIDEO
btfsc VideoMode,INV
movlw PASSINVER
btfsc VideoMode,BLK
movlw PASSBLACK
btfss VideoMode,DEC
movlw PASSVIDEO
movwf PORTB
movf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W

iorwf PORTB,W
movwf DataSample
btfsc VideoMode,FIND
goto SEARCH
movlw 73
movwf Loops
L3
decfsz Loops,f
goto L3
nop
nop
movlw OSCTRLOFF
tris PORTA
decf LineaCnt,f
btfsc STATUS,Z
retlw 1
goto L4
L4
goto L5
L5
goto L6
L6
goto HORLINEA
SEARCH
movlw 7
movwf SearchCnt
S1
btfsc PORTB,POS
goto SEARCH
btfsc PORTB,POS
goto SEARCH
btfsc PORTB,POS
goto SEARCH
btfsc PORTB,POS
goto SEARCH
btfsc PORTB,POS
goto SEARCH
btfsc PORTB,POS
goto SEARCH
btfsc PORTB,POS
goto SEARCH
decfsz SearchCnt,1
goto S1
S2
btfss PORTB,POS
goto S2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop

movf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
movwf DataSample
btfsc DataSample,NEG
goto SEARCH
btfsc DataSample,POS
goto SEARCH
movf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
movwf DataSample
btfss DataSample,NEG
goto SEARCH
nop
nop
nop
nop
nop
nop
movf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
movwf DataSample
btfss DataSample,POS
goto SEARCH
movlw 100
movwf Loops
S3
decfsz Loops,1
goto S3
movf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
movwf DataSample
btfss DataSample,NEG
goto SEARCH
movlw 157
movwf Loops
S4
decfsz Loops,1
goto S4
nop
movf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
movwf DataSample
btfss DataSample,NEG
goto SEARCH
nop
nop
movlw 199

movwf Loops
S5
decfsz Loops,1
goto S5
bcf VideoMode,FIND
movlw OSCTRLOFF
tris PORTA
retlw 1
MODE
btfss VideoMode,ERR
clrf CntSyncErr
incf CntSyncErr,f
btfsc CntSyncErr,2
bcf VideoMode,DEC
btfsc CntSyncErr,2
bsf VideoMode,FIND
btfsc CntSyncErr,2
clrf CntSyncErr
incf CntSyncOk,f
btfsc VideoMode,ERR
clrf CntSyncOk
btfsc CntSyncOk,2
bsf VideoMode,DEC
bcf VideoMode,ERR
bsf PORTA,1
btfsc VideoMode,DEC
bcf PORTA,1
movlw 44
movwf Loops
LOOPM
decfsz Loops,f
goto LOOPM
retlw 1
MEDLINEA
movlw 5
movwf Loops
ML1
decfsz Loops,f
goto ML1
nop
movlw MAKESYNC
btfss VideoMode,DEC
movlw PASSVIDEO
btfss VideoMode,L318
movwf PORTB
movlw 5
movwf Loops
ML2
decfsz Loops,f
goto ML2
nop
nop
movlw MAKEBURST
btfss VideoMode,DEC

movlw PASSVIDEO
btfss VideoMode,L318
movwf PORTB
movlw 8
movwf Loops
ML3
decfsz Loops,f
goto ML3
movlw PASSBLACK
btfss VideoMode,DEC
movlw PASSVIDEO
movwf PORTB
movlw 25
movwf Loops
ML4
decfsz Loops,f
goto
nop

ML4

retlw 1
VBI
nop
clrf DataSample
movlw 05
movwf Loops
V1
decfsz Loops,f
goto V1
PREEQ
movlw MAKESYNC
btfss VideoMode,DEC
movlw PASSVIDEO
movwf PORTB
nop
movlw 2
movwf Loops
V2
decfsz Loops,f
goto V2
movlw PASSBLACK
btfss VideoMode,DEC
movlw PASSVIDEO
movwf PORTB
nop
movlw 46
movwf Loops
V3
decfsz Loops,f
goto V3
movlw 5
decfsz LineaCnt,f
goto PREEQ
movwf LineaCnt

VSYNC
movlw MAKESYNC
btfss VideoMode,DEC
movlw PASSVIDEO
movwf PORTB
movlw 44
movwf Loops
V4
decfsz Loops,f
goto V4
movlw PASSBLACK
btfss VideoMode,DEC
movlw PASSVIDEO
movwf PORTB
movf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
iorwf PORTB,W
movwf DataSample
btfss DataSample,POS
bsf VideoMode,ERR
movlw 5
decfsz LineaCnt,f
goto VSYNC
movwf LineaCnt
POSEQ
movlw MAKESYNC
btfss VideoMode, DEC
movlw PASSVIDEO
movwf PORTB
nop
movlw 2
movwf Loops
V5
decfsz Loops,f
goto V5
movlw PASSBLACK
btfss VideoMode,DEC
movlw PASSVIDEO
movwf PORTB
movlw 38
movwf Loops
V6
decfsz Loops,f
goto V6
decf LineaCnt,f

btfsc STATUS,Z
retlw 1
nop
nop
movlw 07
movwf Loops
V7
decfsz Loops,f
goto V7
goto POSEQ
MAIN ; bsf STATUS,RP0
movlw 00001001b
tris PORTA
movlw M_POS+M_NEG
tris PORTB
; bcf STATUS,RP0
movlw PASSVIDEO
movwf PORTB
bsf PORTA,1
clrf VideoMode
movlw 1
goto START
LOOP1
nop
movlw 5
movwf LineaCnt
call VBI
nop
nop
nop
nop
bsf VideoMode,L318
call MEDLINEA
nop
nop
bcf VideoMode,L318
movlw 17
movwf LineaCnt
call HORLINEA
nop
nop
bcf VideoMode,BLK
movlw 200
movwf LineaCnt
call HORLINEA
nop
nop
nop
movlw 82
movwf LineaCnt
call HORLINEA

nop
nop
bsf VideoMode,BLK
movlw 5
movwf LineaCnt
call HORLINEA
nop
nop
nop
btfsc DataSample,NEG
bcf VideoMode,INV
call MEDLINEA
nop
nop
nop
movlw 5
movwf LineaCnt
call VBI
nop
nop
nop
nop
nop
call MEDLINEA
nop
nop
nop
nop
nop
call MODE
START nop
nop
nop
nop
movwf LineaCnt
call HORLINEA
nop
nop
nop
movlw 16
movwf LineaCnt
call HORLINEA
bcf VideoMode,BLK
btfsc DataSample,POS
bsf VideoMode,INV
movlw 200
movwf LineaCnt
call HORLINEA

nop
nop
nop
movlw 82
movwf LineaCnt
call HORLINEA
nop
nop
bsf VideoMode,BLK
movlw 5
movwf LineaCnt
call HORLINEA
goto

LOOP1

END
**********************************************************
telecentro.hex
**********************************************************
:020000040000FA
:10000000162900009030201C1330860000000000EC
:100010008030201C1330860000000000000000002B
:10002000000005100000D030201C133086000608A8
:10003000A6000830A619093065001330A018323028
:1000400020199030201C133086000B30A100A10B2A
:1000500027280608060406040604A6001630A10098
:10006000A10B3028000000000000000009306500EE
:100070000000A2030319013400000000000000008A
:1000800000000000012805160330A300861943284C
:100090008619432886194328861943288619432838
:1000A00086194328A30B4628861D542800000608FD
:1000B00006040604A60026194328A61943280608A4
:1000C000A600261D4328000000000608A600A61D65
:1000D00043283130A100A10B6B2800000000060866
:1000E000A600261D43284E30A100A10B7528000054
:1000F0000608A600261D43280630A100A10B7E2875
:100100000000000006080604060406040604A60013
:10011000A012A619A0162430A100A10B8D28201230
:100120000516013400000000A01DA501A50A25192F
:100130002010251920162519A501A40AA019A4012B
:1001400024192014A011851420188510A01E201039
:100150000512201805160F30A100A10BAD2801349F
:100160000230A100A10BB2288030201C1330860081
:100170000230A100A10BBA28D030201C1330860019
:100180000330A100A10BC2289030201C1330860040
:1001900000000B30A100A10BCB2801340230A100DC
:1001A000A10BD0288030201C1330860000000000F6
:1001B0009030201C13308600000000001530A10094
:1001C000A10BE0280530A20BD228A2008030201C11
:1001D00013308600060806040000A600261DA015A0
:1001E0001330A100A10BF2289030201C13308600A0
:1001F00000000000000000000530A20BE628A2006D
:100200008030201C13308600000000009030201C3D
:10021000133086001130A100A10B0C29A203031991
:1002200001340430A100A10B132900290930650015

:100230000C306600133086008514A00120142016AF
:100240000130562900000530A200CE200000000039
:1002500000000000000092200000000000001130AB
:10026000A2000120000000002011C830A2000120DF
:100270000000000000005230A20001200000000039
:1002800020150530A2000120000000000000261902
:10029000A010B0200000000000000530A200CE2019
:1002A0000000000000000000A20001200000201A51
:1002B00043200F30A20001200000000000002011A8
:1002C000A2000120A010261DA014C930A200012008
:1002D0000000000000005230A200012000000000D9
:0A02E00020150530A200012022299C
:02400E00FA3F77
:00000001FF
*************************************************************

http://www.psicofxp.com/forums/electronica.149/346124-decodificador-de-catv-cablevisionmulticanal.html
Decodificador Full
El archivo .hex anda perfecto; los bits de configuracion que se encuentran en su compilacion no deben
ser modificados, grabar el micro con el programa tal como esta. Solo se debe indicar la configuracion
XT, dado que el PIC16F84A-4 no corre a mas de 4 MHz teoricamente!!! Por lo tanto se debe indicar
unicamente el parametro anterior; de nada sirve activar los otros flags (watchdog, etc.) dado que el
soft debe correr sin ningun tipo de condicion interna ni externa (decodificacion forzada si o si). Es muy
util activar el flag de proteccion de codigo (code_protect) para que no se pueda leer el soft del micro,
aunque esto resta la posibilidad de que otros se beneficien con el proyecto.
Para saber si el pic arranca, sintonizar un canal normal y se vera mucho brillo de fondo: eso indica que
esta oscilando. Atencion: no usar el IC-Prog 1.05D que no anda bien !!!! Limitarse a grabar los pics
con la version 1.05C que funciona bien.
Con paciencia se puede hacer la serigrafia en forma manual con marcador indeleble fino, con el
metodo de impresion por calor con una plancha electrica y el diseo impreso en algun medio que
utilice toner (impresora laser, fotocopiadora, etc.), o bien hacer una serigrafia con negativo y revelador.
Quiere alguien tambien un cafe y un curso para soldar?
Si hay seguridad de que el micro esta oscilando (brillo en un canal normal) y no decodifica, entonces
puede ser que la seal de cable sea muy debil debido a demasiadas divisiones (splitter): recordemos
que los metodos de codificacion actuales incluyen la atenuacion aleatoria de las seales codificadas
entre 0 y -10 dB (por eso se ven bien los canales normales y los otros no). Tambien puede ocurrir que
el cable con la ficha RCA este roto o mal conectado; otra razon es que puedan estar mal calibrados
los trimmers: a recalibrar entonces.

También podría gustarte