Translate

Tuesday 26 February 2013

I have tested the input stage (with the exceptions of the 2 relays). I'm using as signal generator an HP 8116A, (50 MHz sin,saw,square)... the frequency response is quite flat, and I can compensate the input stage with the input compensation network I designed.
I'm using an old Tektronix 2205-40 as oscilloscope... not the best this days... but good enough for the job.

I have also finished to design the FPGA (for the time being) and in the next few days I need to go back on the SW side and design the API to communicate (from my SW) with the FPGA.
To do this I'm using a FTDI chip that is delivered with a *.dll that simplify the design of the API!

Keep watching the next few days this blog! I bet at the end of the week I will be able to see some waveforms from my GUI.


Thursday 21 February 2013

Oscilloscope assembly part2 + FPGA JTAG

I have almost finished to assemble channel 1 of the oscilloscope.
so far everything seems working!

I connected the Xilinx's USB programmer to the JTAG chain of the FPGA ad Impact sees the FPGA:
That is a very good news! I can now program the FPGA and start doing basic testing like switch the AC DC relays...control the attenuation, gain, etc.
I'm still waiting an op amp from RS which is supposed arrive tomorrow.
if everything goes well, next weekend I should be able to start to test the input amp. stage!

Wednesday 20 February 2013

Start to build the Oscilloscope + FPGA block diagram

I started to build the oscilloscope. I tested the 3V analog, the 1.2V digital, the 3.3V digital. and they seems OK. I'm waiting some components, tomorrow I should be able to test the -5V and check the susceptibility on the 5V analog as well. Each amplification stage can be powered individually, so if there is a fault on the board it should be easily fixed. I believe in the next 2 days I should manage to assemble the board.



It would be nice to be so proficient at  work, unfortunately I'm tagged as "digital" designer and I can only do 30% of what I could...I get very frustrated for that... well... life is too short to get too upset I guess...


FPGA Block diagram


The above is the FPGA block diagram. The FPGA has got an UART to communicate externally with an FTDI chip or a wiznet. the RX_UART (uups I wrote TX_UART above) send the received data to the interpreter which decode the input and drive the trigger unit, the AC_DC relay or the attenuator.
on the TX side the trigger unit gets the CH1, CH2 data, and accordingly to the command received from the INTERPRETER trigger CH1 or CH2. data are then send to a module that I call TX_CPU, and finally sent to the UART_TX.



THE PCB has just arrived


The PCB has just arrived.
I'm starting populating the PCB next week end. Tonight I want to finish to design the FPGA which is almost done.
the PCB fits perfectly in the metallic box

The box also looks quite pretty.


Monday 18 February 2013

FPGA for the Digital Oscilloscope


FPGA

The oscilloscope has a Xilinx FPGA  Spartan-3AN-50-TQ144. I have chose this FPGA for 2 reasons:
  1.  it doesn't need an external Flash memory, making therefore the assembly slightly easy.
  2. the package
the negative side of the FPGA are:
  1. quite small ( I can't ecpect complex triggering functionality)
  2. I can have only 2Kbyte of buffer for each channel. t
As I have designed FPGA for most of my career I believe I can manage to get the best from this small device. I'm using ISE Webpack 13.4. And I've just designed the UART to communicate with an FTDI chip.
Follow a list of register to communicate with the FPGA:

ADDRESSREG NAMER/WD7D6D5D4D3D2D1D0











0ID_PRODUCTR

ID_PRODUCT




1REV.R

REVISION




2CHAN_SELW



CH4CH3CH2CH1
3AC_DCW






AC/DC
4ATTNW




ATTN2ATTN1ATTN0
5TRIG_ARMW




FORCENORMAUTO
6TRIG_TYPEW





FALLINGRISING
7TRIG_AMPLITUDEW







8TRIG_OPTIONW







9DATA_READYR








On the next post I will show the Oscilloscope block diagram.

Saturday 16 February 2013

Yet Another Digital Oscilloscope

I discovered to love electronics from at the age of 12 when I started read my daddy's book "how to build your own radio".  
After that book I read another one and then another and another and so on...Today I'm one of the few lucky guys that get payed for something that would probably do for free. I design electronics ... but unfortunately at  work I don't decide what to design... so one day I said..."why don't start to design something for fun?"
What about an Oscilloscope?

Designing a good oscilloscope is challenging...this will be my first real attempt to do it. As I am aware of the challenge I decided to design a low specs. If the experiment will be successful I will design an higher specs in the future.

Let's start with some basic specifications:

  1. Analog Bandwidth, DC- 60 MHz with 1% max ripple or better
  2.  +-20V max input signal
  3. USB/Ethernet connected
  4.  trigger AUTO, NORMAL, (rising, falling)
  5. 4 Kbyte buffer
  6. 2 channels

A few months later...

YES the PCB is done! I have used DesignSpark from RS. I think is probably the best free CAD around.



I have placed the order on www.pcbtrain.co.uk I have used them in the past and I think they are quite good!
The PCB costed me around 115£ for one in 15 working day...
While waiting the PCB coming I started designing the  GUI interface.
What tool to use? I wanted the GUI to work on Windows and Linux...
I have found Lazarus from http://www.lazarus.freepascal.org/ if you have used Delphi in the past you shouldn't found any problem using it. it looks like the old interface of Delphi.

After 2 weeks of work mostly in the weekend and in the evening after work I managed to have that:


Not too bad... for a home project...
In the next blogs I will explain more in details the project....