Featured
Latest
Teletext Generation...
 
Share:
Notifications
Clear all

Forum 141

Teletext Generation using Raspberry Pi

3 Posts
2 Users
0 Likes
1,369 Views
hamid_1
(@hamid_1)
Posts: 246
Reputable Member Registered
Topic starter
 

Interesting :thumb

I just recently bought a Raspberry Pi with the idea of using it to generate teletext. There are at least 2 other projects to do just that, but they required additional hardware.

First VBIT-PI : http://teastop.co.uk/vbit-pi/make.html
This one uses some surface-mounted Philips chips to generate the teletext signals; the Raspberry Pi just feeds them with data.

And then there's this one: http://thenewtech.info/2013/06/29/teletext-revival-part-2-making-it-work/
- uses an AVR programmable microcontroller which works together with the Raspberry Pi.

It's based on this : http://al.robotfuzz.com/generating-teletext-in-software/
You don't need a Raspberry Pi at all, just a PC with the right graphics card and software (Linux of course). The same idea of forcing a graphics card to display non-standard video signals was used in the FOTHTV project, which enabled a PC to produce 405-line TV signals.

Anyway, I considered building the above projects, but ruled out the first one fairly quickly as it used surface mount components which are not readily available and difficult to work with at home. The second uses through-hole construction which is easier, but requires a programmed IC for which I don't have a programmer. I was going to contact the authors of the above projects to see if they could supply me with an already made-up board. Now I'll definitely have to try the 'no additional hardware' method first.

Another problem is that, having only just got the Raspberry Pi, I know practically nothing about programming it. So far, all I've managed to do is download an image file of OpenELEC Media Center, write it to a spare 512Mb SD card and put it into the Pi. It worked surprisingly well. The next step will be for me to install a complete Linux desktop, get to grips with it, then try out the teletext generator. Unfortunately I know very little about Linux either, but we all have to start somewhere ...

 
Posted : 17/02/2015 12:20 am
Terrykc
(@terrykc)
Posts: 4005
Member Rest in Peace
 

To avoid the SMD minefield, consider taking an old fashioned approach. If you can find - or possibly salvage - an SAA5020 Teletext timing IC or similar as used in early Teletext decoders which still used different ICs for specific functions, it should be possible to extract the basic timing information - horizontal sync and Data Entry Window - from the incoming video.

The teletext generation itself consists simply of reading data out of suitable memory. You will need a 6.375MHz clock for this but it doesn't need to be synchronised with the video in any way.

The memory needs to be able to store the entire Teletext data for each of the 16 data lines - it is easier to add the Clock Run-in and Framing code bytes in software than using a hardware solution. This also has the advantage that, if the appropriate memory area is left blank (or overwritten with blank data), it ensures that only zeros are read out on that line which, of course, is simply black level!

Each line consists of:

CRI (2 bytes)
FC (1byte)
MRAG (2bytes)
Data (40 bytes)

Thus 45 bytes are required for each of the 16 Teletext rows for a full service. However, as this is only 720 bytes per field, 1k of RAM is plenty big enough and if each line is written into a 64 byte section of memory, the addressing requirements are much simpler than if all the unused memory was left at the end.

Simpler still is to leave blank bytes at the beginning of each data sequence to produce the required timing offset between the horizontal sync pulse and the start of the Teletext sync sequence.

So, all you need to do is to detect the 16 horizontal sync pulses occurring within the Data Entry Window and use them to reset the data timing chain to the correct address for the start of each line.

I think the Broadcast Teletext Specification is in the library - it is much easier to follow than the ETSI one! - but if not, I have a copy.

When all else fails, read the instructions

 
Posted : 17/02/2015 1:15 pm
Terrykc
(@terrykc)
Posts: 4005
Member Rest in Peace
 

You will need a 6.375MHz clock

6.9375MHz

Forum 142

I should have spotted that one myself!

When all else fails, read the instructions

 
Posted : 17/02/2015 5:13 pm
Share: