Project Page
Mailing Lists

USB interface k7103-USB
A new USB interface k7103-USB, integrated into the k7103 case, is available in the SVN repository at branch/usb/. A small PCB (100x76mm) directly connects to the digital chips on the k7103 main PCB. It is mounted instead of the small power supply PCB, which is stacked above the k7103-USB PCB.
A Xilinx XC9572-PC84 CPLD is used for the logic. All signals from and to the k7103 and from and to the MCU are routed through the CPLD. This allows great simplification of the PCB layout as well as universal logic for all signals as well as level shifting. After the manufacturing, changes are still possible.
The control and data transfer is performed by a Cypress AN2131Q EZ-USB 8051 microcontroller (MCU) using the USB 1.1 protocol. Its Fast-Read feature is used and supported by the CPLD to transfer the data at maximum USB datarate of 12 MBit/s.
This way a maximum rate of 130 acquisitions per second are possible. The K7103 frontend was extended with an appropriate driver for the new USB interface. It achieves approx. 70 acquisitions per second at my Core-i7 at 2.8GHz.
More details are provided in the README file.
Main Screen -- K7103 Next Generation
The main window of K7103 (Next Generation) has the big scope screen and some buttons at the right. The scope screen shows the waveforms, the buffer overview graph and the infoboxes.
The waveforms can be dragged up and down with the mouse. At the left the GND marker shows the 0V level. At the right of the grid the trigger level will be displayed if trigger function is active. At the bottom the trigger instant is marked with a white line.
The sampling buffer overview graph shows the section of the sampling buffer (blue bar) which is displayed at the grid. Drag it left and right with the mouse to see a different view.
The info boxes show information on the channel, cursors, trigger and time base.
At the right the trigger, channel and time base setup is performed. The five icons at the top right are used to activate a measurement or math function, save a screen shot, and setup. The middle icon (magnifying glass) is currently disabled. It is planned to offer snalysis functions (i.e. protocol analyzer).
The trigger level is shown as a white line at the right of the waveform grid. The trigger instant is shown as a white line at the bottom of the waveform graph and in the waveform overview graph. The trigger level can be changed by dragging it with the mouse.
Horizontal and vertical cursors are available. They are activated by dragging from the top or left border of the screen, respectively. The info box at the bottom shows the difference between the cursors. scaled to both channel scales and the time scale. The frequency (1/t) is also shown.
Measurements provide a single value from a waveform. Currently the program implements vertical values (peak to peak, RMS, mean, min, max) and horizontal values (frequency, periode). The display shows the currently calculated value (from the full waveform, i.e. the full sampling buffer) as well as some statistics of this calculated value. It shows the mean, minimum, maximum, standard deviation and the number of samples.
Math functions offer to calculate new waveforms from one or more waveforms. The screenshot shows the sum of both channels. Currently only this function is implemented.
There are two kinds of the Add function. The first one simply adds the integer values of the sampling buffer and therefore doesn't consider the real values (in volts). The second Add function adds the selected values with regard to their SI unit.
15th August 2000 -- Old Version
This is a shot of the main window after a view changes. You can see that the buttons not usable at the moment are grayed out. A new procedure does this work. It sets the buttons according to to the actual internal variables (e.g. when CH1On is true, then the button is set as pressed). This is a bit backward but helps to keep internal and visible states equal.
I added single shot trigger too, but it can't be seen here. Therefore a little rework on how data is acquired and stored for the foreground process and when it is drawn new was necessary.
This is a very very old shot with only some buttons to setup the osci. There
Here you can see, how the first try was to eliminate the "dial"-buttons, which had the problem, touched only once, the dialer overlayed the labels around it. So I introduced "Plus" and "Minus" buttons and showed the actual
A little while later I moved together the large LabelFrames to spare a bit of place and to have a bit nicer appearance.
This picture shows the measurement facility to get a time difference,
XY-Plot showing a Lissajous-figure developed out of two sine signals with
This is the usefull functions of XY plot. Showing the characteristic curve of a diode. The correspondig signals are shown at ss1.gif.
The osci screen can be saved to a file. The first step was to save as .bmp file. The next three shots are such files converted to .gif with The GIMP.
This is the osci screen saved to a BMP file and converted to GIF with The GIMP. There is a sine signal (green) and the current flowing through a diode (yellow) which is driven by the sine voltage signal.
The XY plot showing the diode characteristic curve is made with the (syntetic) signals form the previous screen shot.
This osci screen shot I made when introduced the measeurement capability. There is measured the double amplitude of the sine signal and the periode time (and frequency).
Hey, this shows the first really native GIF image saved by K7103. It shows a fourier transformation of the diode current signal and the driving sine signal in logarithmic vertical scale. Because the frequency is no integer multiple of storage periode there are no fine needles for single
Here is a first shot of using FFT (= Fast Fourier Transformation). New are the buttons on the top to allow post amplification of the signal (to see tiny harmonics at high frequencies). At this picture there is a logarithmic vertical scale and a linear frequency scale. Give attentions at the buttons
This is a very simple FFT plot. Linear horizontal and vertical axis and the values are marked with small needles from the bottom. Here the signal frequency is an integer multipy of the storace time.
At this screenshot the vertical and the horizontal axes are linearly scaled. There are no labels at the right because you can simply determine them when
This picture shows the sine signal and the diode current with logarithmic vertical axis. All values are connected with a line and not - as in the firstgifshot.gif - with needles from the
Get K7103 PC DSO Console at Fast, secure and Free Open Source software downloads
If you find mistakes at this web site, in my program, if you want to help me or if you have any questions or suggestions please contact me at (c) July 2000 by Johann Glaser, my homepage is http:///