Sunteți pe pagina 1din 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 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 LOOP1

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

S-ar putea să vă placă și