How to connect a PC to a Videocrypt decoder ------------------------------------------- 1994-04-25 The easiest way to connect your PC to a decoder is to use the card slot as an interface and connect it with a voltage converter (MAX232) and a TTL open collector driver (74LS07) to the RS-232 serial port. This way, you don't even have to open the decoder. WARNING: In order to build the adapter described below, you will at least require some basic hobby electronics experience. If you don't understand, how the described circuitry works, better don't use it! Although the described procedure is relatively secure, serious errors might in the worst case damage both your PC and your TV system. The chip cards used by the Videocrypt pay-TV decoders follow exactly the specification ISO 7816 (you might find this international standard in a local library, if you are interested). Also, the protocol is the "asynchronous half-duplex T=0 protocol" with "active low reset" and "inverse convention" as defined in this standard. According to ISO, a chip card is 85.60 mm long, 53.98 mm high, 0.76 mm thick and the edges are rounded with a radius of 3.18 mm. It has eight defined contact areas (C1 - C8 in the diagram below), each of which is at least 2 mm wide and 1.7 mm heigh: ______________________________________ / \ | | | | | C1 C5 | | C2 C6 | | C3 C7 | | C4 C8 | | | | | | | \________________________________________/ These contacts have the following purpose: C1 VCC Supply voltage (+5 V, max. 200 mA) C2 RST Reset signal C3 CLK Clock signal C4 - reserved C5 GND Ground C6 VPP Programming voltage (5-25 V) C7 I/O Data input/output C8 - reserved The following table gives the precise location of the contact areas. These areas are only minimum areas, the actual contacts might be larger but must of course be properly isolated from each other. In the following table, A represents the maximum distance between the card's left edge and the contact area's left edge, B represents the minimum distance between the card's left edge and the contact area's right edge, C represents the maximum distance between the card's top edge and the contact area's upper edge, D represents the minimum distance between the card's top edge and the contact area's lower edge. A B C D ----------------------------------------- C1 10.25 12.25 19.23 20.93 C2 10.25 12.25 21.77 23.47 C3 10.25 12.25 24.31 26.01 C4 10.25 12.25 26.85 28.55 C5 17.87 19.87 19.23 20.93 C6 17.87 19.87 21.77 23.47 C7 17.87 19.87 24.31 26.01 C8 17.87 19.87 26.85 28.55 Older card systems (defined in a French AFNOR standard) had these contacts located higher (distance from the top between 9.07 mm and 18.39 mm, distance from the left identical). As some decoders support both contact area alternatives, make sure that this old contact area is properly isolated or you'll produce a short circuit when inserting your card. You might have noticed, that the contacts are arranged in the usual 1/10 inch (= 2.54 mm) system (i.e. like the pins of a 8-pin DIL chip). You can produce your card adapter by making a PCB with contact areas at the above listed locations. The PCB must have precisely the thickness and width of a real card, but it may be longer, so that you can locate the interface electronics on the part which remains outside the slot. Cards are inserted in most decoders with the contacts on the bottom side, but check this on your system. Normal PCBs are about 1.3 mm think and won't fit into the slot. Either you get a PCB which is about 0.8 mm thick or you make it thinner, e.g. by using a sander machine. Perhaps you find also ready to use test cards with connectors instead of producing your own or you simply open the decoder, clamp contacts to the resistors near the card slot and insert a normal plastic card in order to activate the card-presence-switch (this is NOT recommended: there are unisolated 230 V parts inside the decoder and they could kill you if you are not very carefull!!!). The adapter will only need the card contacts I/O, GND, RST and VCC. On the RS-232 side, only the following contacts will be used: Sub-D 25-pin Sub-D 9-pin --------------------------------------------------------- TxD 2 3 transmit data RxD 3 2 receive data CTS 5 8 clear to send DSR 6 6 data set ready GND 7 5 ground DCD 8 1 carrier detect (here: reset) DTR 20 4 data terminal ready The pins DTR, DSR and CTS are not actually needed, they are just connected together in the adapter, so that defined levels are available on them because some software might need this. The following components are necessary for the adapter 1 0.5-0.8 mm PCB single sided or test card 1 IC Maxim MAX232CPE (or Linear Technology LT1081CN) 1 IC 74LS07 4 capacitors 1 uF (or higher), 16 V 1 female Sub-D connector (9 or 25-pin) These components cost together less than 20 DM. The MAX232 converts the RS-232 levels (about +10 and -10 V) to TTL voltage (0 and +5 V) and vice versa without requiring anything else than +5 V power supply. This chip contains two TTL->RS-232 and two RS-232->TTL drivers and needs four external 1 uF capacitors in order to generate the RS-232 voltage internally. The adapter electronic gets its power supply from the decoder's VCC line or you can use an external 5 V supply if you wish. The card slot's RST line is connected using one of the TTL->RS-232 drivers in the MAX232 to DCD, so that the software and the decoder can easily resynchronize in case of a protocol error. The I/O line is a bidirectional half-duplex asynchronous TTL level serial port that is operated in a Videocrypt system with 9600 bits/s. We can connect this line to a MAX232 TTL input driver (which is connected to RxD and sends bytes to the PC) in order to receive data from the decoder. The TxD line's signal is converted in the MAX232 to TTL level and is connected with an open collector TTL driver to I/O. This open collector driver (one of six in the 74LS07) has a high impedance output during idle state and 1 and is connected to GND during a 0 on it's input. As there is already a pull-up resistor to +5 V on I/O in the decoder, this circuitry guarantees, that the adapter is in high impedance state if the TxD line is idle and delivers the correct voltage if the PC sends bytes and the decoder is in reception mode. As we don't connect totem-pole or tristate outputs to I/O, a short circuit should be impossible in the adapter. The following diagram describes the whole interface: +-------------+ +-----------|1 V 16|----o +5V (VCC) +| +| | === +5V o-||-|2 MAX232 15|----o GND (card & RS-232) | | | +-----------|3 +---14|----o DCD +-<-o DTR + | | | | +---||---|4 | +-13|- (unused RS-232 input) +->-o DSR | | | v | | +--------|5 | +-12|- (unused TTL output) +->-o CTS + | | | GND o-||-|6 +-<-11|----o RST | | RxD o----|7 ---<--- 10|-------------------+----o I/O | | |\ | TxD o----|8 --->--- 9|--------------| |--+ +-------------+ 1|/ 2 74LS07 At the MAX232, pin 2 delivers +10 V and pin 6 delivers -10 V. (also connected to 74LS07: pin 7=GND, pin 14=VCC) Pay attention to the polarity of the capacitors (marked with a + in the diagram next to each capacitor)! It is not necessary to ground unused chip input pins. As a side effect of this simple interface design, every byte sent by the PC is at the same time also received by the PC. Consequently, you can test the circuit with a terminal emulator and external +5 V supply by switching of local echo: if you still see every typed immediately character on