Sunday, 5 July 2015

Further work on MyriadRF - Zedboard project

ARM CPU configuration

System block diagram

Random data being transmitted

After a lot of studying I have managed to make some progress on my next gen DATV
project. This is all relatively new technology for me so it has taken a lot longer than
I had hoped. Some of the time was wasted by the rather poor documentation of
the sample clock generation chip on the Zipper board but I think I have it correct now.

I have a working PetaLinux installation, GPIO, I2C and SPI control of the devices
on the Zipper and MyriadRF boards.

Interfacing of my custom IP logic in the FPGA to the ARM device uses generic io
and interrupts.

The IP in the PL (FPGA) is currently very simple but will be expanded to provide
many more advanced features. It takes IQ samples from the host and sends them
to the MyriadRF board for transmission. The ultimate aim will be to add Digital
Pre-Distortion code in the PL logic to correct for non linearities in the transmit
chain. On transmit the receive channel will monitor the transmitter output and
carry out the required real time maths. On the receive obviously the receive channel
will be used for demodulation of the received signal.

In the first phase I am simply going to use a PC based program like GNURadio
or DATV-Express to generate samples that will be sent to the Zedboard via
Gigabit Ethernet. I will probably post again when I have something sensible to
transmit.

Friday, 29 May 2015

Reflow oven revisted



Currently I am trying to finish off a load of projects that have been hanging around
my lab for sometime. First off was the re-flow oven project I bought the parts for
last year. It uses an Arduino Mega 2560 and a touch screen display. The oven is a
'toaster oven' bought on eBay for around 20 pounds. The heating element is controlled
using a Solid State Relay (SSR).

In the top image you can see the solder profile in white and the profile achieved by
the oven in yellow. As you can see it does not cool down fast enough on its own so
once it has achieved maximum heat and is starting to cool it is a good idea to open the
front door.

Another issue with these ovens it getting an even heat across the PCB being cooked.
This is an issue that most people have and I intend to replace the tray in my oven with
a solid piece of thick aluminium. Also where to place the heat sensor is another
issue. Plenty of things to experiment with.

For anyone that wants to make their own, you don't need to go to the expense of using a
touch display like I did. There are plenty of people selling kits both on eBay and on their
own project pages.

The next project to finish off is a small Global Positioning System Disciplined Oscillator
(GPSDO) for my Yig based 10 Ghz DATV transceiver. I bought a cheap CPLD board
for that. To follow ...

Friday, 1 May 2015

Back to the Zynq project

 
Zynq + MyriadRF in 19 inch draw




Now that work is starting to wind down on DATV-Express I have started to look at
what to do next on the DATV front. 

Lime Microcircuits have recently reduced the price of their LMS6002D FPRF chip,
also the price of Zynq based CPU/FPGA boards is starting to come down, for
example the Z Turn   so I thought it was time to look again at the Zedboard I bought
used a while ago.

The picture shows a Zedboard connected via a low density FMC socket to a MyriadRF
board plugged into a Zipper adapter. The PSU to the left is a DC-DC supply for a
car computer and supplies 12v 5v and 3v3 at reasonable current levels to power the
system.

The last few days I have been attempting to create a PetaLinux BSP for the hardware,
after a lot of work I finally have managed to create a basic Linux install for the system
with I2C and SPI support. I hit all the problems that everyone else seem to hit, mainly
with the configuration of the device tree. While this has been very frustrating it has
forced me to learn quite a lot about low level Linux support on ARM platforms.

The next job will be to write the code to configure the MyriadRF then I have to decide
on how I intend to do the signal processing.

For those not familiar with the Zynq, it is basically an FPGA with two ARM cores
connected in the fabric, it also has all the usual ARM peripherals like I2C, SPI,
Ethernet etc.

What I would like to do is to implement the DATV-Express software on it to begin
with, then to add the DPD (Digital Pre Distortion), then DVB-S/T receive. There
may be other things like video capture and MPEG encoding that could be added
but that would be a lot of work and I may not bother as even low end ARM boards
can do that sort of thing now.

My current thoughts are to use one CPU for Linux and the other (in combination
with the programmable logic) to do the DVB-S/T encoding / decoding and DPD.

Even with all these goodies the system still looks expensive, the solution maybe
to throw in a SDR transceiver as well. For the moment this will just be a personal
project. I will let you know how things progress.

Wednesday, 8 April 2015

Follow up to my previous post

On air tests of NIM software

DATV being streamed to an iPhone 5



This shows the initial results of my tests with the Sharp STB0899 based NIM tuner.
On the transmit side I used a USB webcam who's output was captured using Vmix
this was then exported as a DirectShow source to a graphedit script that converted
it into an MPEG2 encoded transport stream. The transport stream was then sent
across my LAN to a remote Odroid-C which was running Express-server software.
The signal was then translated to RF by a DATV-Express transmitter board and
transmitted on 1249 MHz @ 4MS/s FEC=1/2 DVB-S. The signal was received
using a 5 Euro Sharp Tuner module donated by Rob. The resulting transport stream
was sent to a Linux computer using a cheap Chinese EZ-USB board. Once received
on the Linux machine it was sent to the VLC player using UDP packets via 127.0.0.1
the loop-back  address for display. You can see the received picture on the left screen.

The code used to control the tuner is far from a state where it could be used in action
but at least it shows things are moving in the right direction and all the components work.
I have to thank both Evariste F5OEO and Rob M0DTS for getting the project to this
stage.    
 

Saturday, 28 March 2015

I get easily diverted

Sharp BS2F7VZ0164 Tuner
Rob M0DTS sent me a couple of tuner modules that he had bought on eBay.
I added a cheap Chinese EZ-USB module (also available on eBay). To produce a
standalone DVB-S/S2 receiver.

So far I have been able to read and write to the various registers in the chips on
both the tuner and USB2 board using a modified version of the firmware I wrote
for Express. Usually under Linux this is all done using a Kernel module however
I am doing it in user space using libusb, just like I do with Express.

The demodulator chip used in this module is the STB0899 which is the same one
used in the excellent Tutioune software by Jean Pierre F6DZP. Evariste F5OEO
is also working on code for this tuner module as is Rob M0DTS. There is also a
Kernel module available for Linux. This all means that there is more support
available for this rather elderly chip than for many others. The only thing that
needs figuring out is how to program the frontend as it is different to the
TT budget S2-1600 and S2-3200 modules currently being used

I am hoping to use the work done by our fellow Amateurs to get my unit going.
There is no point in re-inventing the wheel so I will be lazy and let them sort
out the configuration information for me.

Unfortunately manufacturers of digital TV chip sets do not like to share information
on their chips with the likes of us Amateurs. It is possible to implement receivers
in software and in fact it has been done. Unfortunatly because of the nature of the
algorithms used it is much more efficient to implement them in an ASIC consuming
a few milliwatts rather than a large PC consuming hundreds of watts.

I have looked at doing this in an FPGA but the cost both in hardware and in time
would be prohibitive.

There are some multi-standard chips available now that do DVB-T/T2/S/S2 and
it would be really nice to use these but while it is always possible to find someone
that will sell you the chips getting hold of the programming information is
something else. While Amateurs follow consumer standards we are always
likely to have these problems.

The broadcasters are trying again to get mobile TV chips into smartphones, DVB-H
was a bit of a failure but now they are pushing DVB-T2 for mobile TV. Sony I
believe are about to release a mobile with TV support so we shall see if they have
any more luck this time. Ron Economos W6RZ has done a nice implemetation of
DVB-T2 for GNURadio, so we are ready!. 


 

Monday, 9 March 2015

Server Developments

Configuration over a LAN
Express Server Box

I continue to work on my remote TV system. DATV-Express and Odroid-C1 fit
nicely into a standard Hammond box (as can be seem in the bottom picture).
Above that is a Techno-Trend Connect S2-3600 DVB-S/S2 satellite receiver
which is now fully supported in the distribution of Linux that the Odroid runs.
Unfortunately the S2-3600 is no longer on sale but that is what happens in
the consumer electronics business. PC Linux tends to be behind the curve on
the devices it supports and ARM Linux is behind PC Linux.

The top picture is the configuration screen viewed on an iPhone 5. Before you
ask why the iPhone is so fat, it is because it is plugged into a FLIR IR camera body

I have yet to install a opto-isolator board into the server so I can do TX/RX and
band switching remotely. Also I have to add support for the receiver so I can
stream video across my LAN to various devices. I have some example code to
work from for the receive streaming so it shouldn't be too long before I have that
done.

I am awaiting arrival of a Black Magic HDMI capture card. I finally got around to
reading the manual for my Cannon Legria HF-S30 Camcorder so I now know how
to stop it going to sleep every few minutes.

I am hoping to get this all done so we can re-start TV activity in the Worthing area
soon. I would also like to start trialling HEVC (h.265) transmissions now that
the codec in ffmpeg has started to mature.


Tuesday, 17 February 2015

vMix

Live transmission using vMix

Transmitter graph
Windows Server Application
This picture shows DATV-Express transmitting a 4 MSymbol/sec signal all running
on Windows 8. The video mixing software is the free version of vMix  which is adding
a caption to the picture. The output is then sent via a directShow capture filter to a
filter graph which does the sound and vision encoding, it is then sent to DATV-Express
via UDP. The rather washed out picture is then being received on a Satlink receiver. It
is only washed out because of the difference in light between the two display screens
was too much for my still camera.
This example was done to show what is possible with a bit of imagination and is not
supported by the DATV-Express group.

The video capture in the picture above used a Logitech C920 webcamera.
vMix is capable of supporting many other devices and formats. The only other
input format I have tried so far is Firewire but that adds a 1/2 second delay. I am
looking at adding HDMI capture. 

The free version of vMix only supports 2 SD input capture devices but is useful for
the budget conscious Ham.