Playing with the Cyclone V SoC system – DE0-Nano-SoC Kit/Atlas-SoC

Recently I bought the DE0-Nano-SoC Kit/Atlas-SoC development board from Terasic which contains a Cyclone V SoC from Altera.
The board is a good starting point to get involved in embedded system development with SoCs.
The Cyclone V SoC is a FPGA combined with a dual-core ARM® Cortex®-A9 hard processor system (HPS) and some peripherals.

The test system which was designed is meant as a starting point for further designs, and to explore the possibilities of the Cyclone V SoC system.

The design demonstrates:

  • HPS-to-FPGA bridge
  • lightweight HPS-to-FPGA bridge
  • Control of LED via HPS-to-FPGA bridge
  • Hardware accelerated calculations outside the HPS
  • On chip RAM
  • DMA controller transfer RAM to RAM and RAM to GPIO
  • Scattering Gather DMA controller DDR-RAM to GPIO
  • Clock crossing bridge
  • Reserve a dedicated amount of the DDR-RAM for Linux and the FPGA
  • The whole description can be found under Playing with the Cyclone V SoC system – DE0-Nano-SoC Kit/Atlas-SoC

    Tagged with: , , , , , , , , , , , , , , , , ,
    Posted in Uncategorized

    Frequency generator based on the LTC6946

    A new project is online: A frequency generator from theoretically 0.37 GHz to 3.740 GHz output frequency. It is based on the LTC6946-1 from Linear Technology, an Ultralow Noise 0.37 GHz to 3.740 GHz Integer N Synthesizer with Integrated VCO.

    The generator is controllable via the serial bus, but also stand alone via push buttons on the PCB and a LCD display.

    The whole project description can be found under:
    Frequency generator based on the LTC6946

    Tagged with: , , , , , , , , , , , , , ,
    Posted in Uncategorized

    Variable Gain Amplifier

    This project is a design of a low frequency Variable Gain Amplifier which is intended to be used for amplitude adjustment in order, to for example use the full dynamic range of an ADC.

    The project came up when experimenting with opamps.

    The front-end can be controlled fully digitally, example code for an Arduino is provided.

    The full description can be found under:

    Variable Gain Amplifier

    Tagged with: , , , , , , , , , , , , ,
    Posted in Uncategorized

    Using a PIC MCU to read out the MAX6675 temperature sensor (LCD,USB)

    This project is about using the Microchip PIC18F13K50 MCU as a USB-serial controller, read out the MAX6675 temperature sensor and write some output on a LCD display.
    It came up to gain experience with the PIC18 MCU and see how they can be programmed.

    A detailed description and my experience can be found under the link:

    Using a PIC MCU to read out the MAX6675 temperature sensor (LCD,USB)

    Tagged with: , , , , , , , , , , , , ,
    Posted in Uncategorized

    PICkit2 programming with MPlabX – PIC16F690 UART ADC

    A while ago I discovered that I own a PICkit2, which I had bought a while ago when I started to study microprocessors.
    With MPLabX Microchip has a IDE which runs under Linux, so I gave the kit a second try. I implemented UART communication together with ADC readout and usage of some digital pins.

    A detailed description can be found under:

    PICkit2 programming with MPlabX – PIC16F690 UART ADC

    Tagged with: , , , , , , , , , , ,
    Posted in Uncategorized

    Arduino Due clone based on the Atmel SAM3X8E, KiCAD design

    This project came up to test PCB design with KiCAD. Some Atmel SAM3X8E microprocessors were available, the same as one finds on the Arduino Due, and I got tired on the limitations of the free version of Eagle.

    So I decided to test the open source PCB design program KiCAD and design a Arduino Due clone 8)

    The full description of the project an be found here

    Tagged with: , , , , , , , , , , , , , , , ,
    Posted in Uncategorized

    Interpolation implementation in VHDL

    This is a follow up on the previews article on the low and high pass filter designer.
    An algorithm is developed in order to perform interpolation.
    The FIR low pass filter from the last post is used in the interpolation step.

    The whole description can be found under the following link:
    Interpolation implementation in VHDL

    Tagged with: , , , , , , , , , , ,
    Posted in Uncategorized

    Low and High pass filter designer for implementation in VHDL

    This post is about digital low and high pass FIR filter design in VHDL.
    Implementing high/low pass filter in the digital domain has a lot of benefits compared to implementations in the analog domain.
    The VHDL code for an implementation using convolution is provided. To design the filter, a MATLAB/OCTAVE script was written, in order to derive the filter kernel. The kernel can directly be copied into the VHDL code and can be tested with an VHDL test bench.

    The whole description of the project can be found under:

    Low and High pass filter designer for implementation in VHDL

    Tagged with: , , , , , , , , , , , , , , , , , , , , , , ,
    Posted in Uncategorized

    Breakout board for the DAC900E a 165 MSPS @ 10 Bit DAC

    This breakout board helps me to interface my FPGA with the DAC900E from Texas Instruments.
    The DAC has 165 MSPS and 10 bits which is quite some speed.
    The combination FPGA and DAC opens up for experiments with digital signal processing, like making a direct digital synthesizer (DDS), digital modulation and many more. The DAC is fast enough to use it in the TX part for a shortwave radio without any analog mixer required.

    A detailed description can be found:

    Breakout board for the DAC900E a 165 MSPS @ 10 Bit DAC

    Tagged with: , , , , , , , , , , , , , , , , , , ,
    Posted in Uncategorized

    Arduino controlled Frequency Generator 1kHz – 68 MHz

    This project is a description of how to build a signal generator with an output frequency from 1kHz to 68 MHz.
    The frequency generation is handled by a small Programmable Oscillator from Linear Technology the LTC6903.

    The control of the Programmable Oscillator is done by the ATMEGA328 microprocessor, the output frequency is shown on a 7 segment display.

    The hole description can be found here:

    Arduino controlled Frequency Generator 1kHz – 68 MHz

    Tagged with: , , , , , , , , , , , , , , , , ,
    Posted in Uncategorized