Archive for the ‘System on Chip’ Category

Building U-Boot PicoZed

Tuesday, January 2nd, 2018

Recently I needed to build U-Boot for the Picozed.  Mainly because we needed to get our control platform running on another Picozed variant but also to de-risk part of our process. For those of you that don’t know the control platform (called the Fyfe) is made from our IP blocks is in the Zynq fabric with Linux running on the Zynq A9 cores as the software host.  This gives us dedicated FPGA speed real time control in the fabric and all the good things that Linux provides such as networking, scripting , python and the like.  We use a PicoZed as the System on Module (SoM) for our control platform.  So this is the first post in the article series Building U-Boot Picozed.

Building U-Boot PicoZed

U-Boot is the ubiquitous boot loader for booting Linux.  It can be used to boot other systems as well but I just needed to create a U-Boot that would get me up and running on the Picozed.  Building U-Boot had never been my thing but it was decided that I should build and learn it for myself.

U-Boot or more correctly Das U-Boot is supported and maintained by the people at  https://www.denx.de/wiki/U-Boot.

Submarines

As an aside I think that the name Das U-Boot is a reference to the 1981 movie Das Boot about a U boat submarine.  This is a great movie with superb German dialog version.  Check it out.  Information on the movie is here https://en.wikipedia.org/wiki/Das_Boot.  The German language version is the better version.

Help!

So as I have been doing this whole software development thing for a while and as always the first thing I did was ask an expert.  It is always good to ask an expert.  It actually doesn’t matter which expert as the experts generally all know each other.

I asked Adam Taylor from Aduivo Engineering and of Microzed chronicle fame.  He helps with tricky FPGA issues and also helps with our IP blocks and test-benches.  Adam, it turns out, is not a U-Boot guy but recommended a number of people.  He also put a LinkedIn post out for me.  And I got recommended through Adam T. to Matteo Vit.  Matteo is extremely helpful.

FSBL

So I need to fill in some of the story as to how I was constrained.  We have this one client who likes Vivado 2016.2 and so we have residual development and support requirements that are in Vivado 2016.2.  Vivado moves on regularly and it generally gets better.  At the moment on my Linux laptop I have Vivado 2016.2, 2016.4, 2017.1 and 2017.2 all installed and all with projects.  I also have SDK for all these Vivado varients also.  I run straight Ubuntu 16.04 and all the Vivado versions go.

The risks of updating to new versions or providing support with historic Vivado versions are really beyond what I want to get into here.  I hope to write another blog series about that later.

Before we built U-Boot we needed the FSBL.  Before I did this I asked about whether this was the best way to go forward.

SPL or not?

I also consulted with Charles M. who is a very good Linux and U-Boot guy, a really good consultant on flash memory usage and also he is great company.  He proposed that I take the SPL route to U-Boot.  The SPL approach is where the processor configuration is done by including the hardware specific initialization code (ps7_init_gpl) into the U-Boot build.  This SPL is not officially supported by Xilinx for the Zynq U-Boot release.  The Xilinx description of the process is here http://www.wiki.xilinx.com/U-Boot+Secondary+Program+Loader.  I did not pursue this SPL but I plan to go through this process in the future for completeness.

Which U-Boot version?

It’s clear when you look at it that the U-Boot version and the Linux version need not be the same.  This was a really big realization for me.  And an important realization for those building Linux systems.

U-Boot is a boot-loader and it moves the binaries of the kernel, ramdisk and device tree from storage media to memory.  That is all it does.  U-Boot isn’t actually a Linux specific program.

U-Boot for PicoZed – should just work right?

So some of you will be wondering why I am writing this as the PicoZed must have an off the shelf from the git repo U-Boot version that just goes?  I found that the answer to this is no.  The U-Boot build when I selected PicoZed for the make option from the repo I pulled from the xilinx git did not work on a PicoZed.  I also found that the defconfig used for the picozed (don’t worry if you don’t know what that is I’ll get to that in a follow up blog) was not correctly setup to support the flash memory on the PicoZed.

Well this was a surprise.

So as a relative new U-Boot software user I decided that I would build U-Boot for the PicoZed myself and share the process with you.  I take the FSBL approach so what I do is compatible with the Xilinx supported U-Boot.  And I got it working.  Over the next couple of months I will show you what I have learned in building U-Boot.

 

 

 

 

 

 

Free Webinar High Performance Digital Control on Zynq

Sunday, July 10th, 2016

If you have just sat down at your desk with a coffee, then put that aside for a minute and grab your diary.

Review your schedule for Tuesday 12th July 2016 and consider this stellar opportunity: on that day ELMG Digital Power will be hosting a FREE webinar on Digital Power using Xilinx Zynq SoC.

That’s right, from the comfort of your own desk you can join ELMG Digital Power (Members of the Xilinx Alliance Program) for their Zynq Digital Power Webinar and expand your knowledge and expertise by discovering:

* What is important in digital power, including numeric precision and latency
* How to design a compensator in the digital domain
* Why you would use a FPGA for digital power and why the Zynq SoC in particular
* Key issues in digital controllers in programmable logic, such as the serial-parallel trade-off, fixed or floating point,      choosing sample rates and what precision to use
* The building blocks for digital control and ELMG’s licensable IP cores
* IIR digital filter design (a case study) along with understanding the delta operator
* Using the ARM cores in the Zynq to your full advantage.

This webinar will be hosted and presented by Dr. Tim King, ELMG Digital Power’s Principal FPGA Engineer. Tim has considerable experience the design and implementation of varied digital control systems and IP for power electronics on FPGA platforms.

The webinar, which includes a short Q&A session, will be held on Tuesday 12th July and is available globally. Just choose a time that best suits you from these three options:

1. July 12th 2016 – commencing at 4pm in Christchurch NZ. (This will be 2pm Sydney, 1pm Tokyo, and 9:30am Delhi)





Register for Asia-Pacific




 

2. July 12th 2016 – commencing at 9am London (10am Berlin)





Register for Europe




 

3. July 12th 2016 – commencing at 1pm San Francisco (3pm Houston, 4pm New York)





Register for USA



Spaces are limited.  

See you at the webinar

 

 

PCIM 2016 Highlights

Monday, May 30th, 2016

PCIM was big – again

PCIM 2016 Highlights

This year PCIM filled three of the Messe exhibition hall in the Nuremberg.  There were a large number of exhibitors.  This large turnout of exhibitors and the crowds attending shows that power electronics is going well in Europe and the world.  The recent reasonable GDP growth in Europe suggests that the financial crisis of 2008 may finally no longer be a drag on the European economies.

Devices

Always at PCIM there are new and exciting devices launched.  There is always lots of talk of how these devices will solve all the power loss and control problems.  Better devices are always worth having and they add to the toolbox for power electronics engineers.  Typically these new and improved switching devices allow higher power density by reducing losses and increasing the operating temperatures.  As an end in themselves new devices are often a bit of a distraction.  The fundamentals of the power converters job stay the same.  Thermal design to keep the heat out, EM design to keep the noise in and control the converter to be stable and useful.

Gallium Nitride GaN

The GaN story is a good one. It is easy to be cynical about why GaN has appeared in the commercial market after being used extensively in military application for some time. The key issues that were clear in talking to GaN people was that the expected improvement from silicon is not as large as expected or as was initially indicated and that driving the devices is a challenge. As GaN devices are FET type devices with ON resistance they will be limited to lower voltages possibly up to 700VDC to 800VDC.

Gallium Nitride Molecular structure PCIM 2016 Highlights

GaN is touted as the future for semiconductors. Solving the reliability issues may be the most pressing challenge to enable adoption.

Another issue with GaN devices is a perceived low reliability.  This may resolve and my guess is it will as I remember when I first started working with IGBTs in 1990 they too were considered “unreliable.”

Silicon Carbide

Silicon carbide devices are well established and there are lots of switching devices and diodes available.  These devices are being used to move the switching frequency up which is often assumed to be a good thing.  The question that industry veteran Marty Brown so eloquently asks about this is “why go faster?”  Time will tell whether faster switching gives the advantages that it should.

Silicon and stacks

Silicon devices are going from strength to strength. The effort being put into system design with gate drives and cooling is high. It is now possible to buy megawatt converters in cabinets ready for deployment into wind and solar applications. Vendors like Semikron, Danfoss and Infineon are leading the way with smaller vendors like Oztech and Agilestack either following quickly and at times leading.

It is still possible to use discrete devices. When talking with a vendor of an impressive graphite thermal interface material it was clear that they were surprised by the large numbers of TO247 packages being used in high volumes.

Capacitors

The trade off between required capacitor size and the switching frequency of three phase inverters is one of those design iteration choices that defines the physical size of the converter. If the switching is faster then there is less DC side capacitance needed but the switching losses are higher. And as we all switch faster is this optimization is starting to be limited by the inductance of the commutation loop. The available DC bus capacitors are very low inductance and the laminated DC bus bars are also extremely low inductance. There are opportunities to connect the capacitors directly onto the DC bus bars reducing the inductance to a very low value. SBE Capacitors have an excellent solution

Infineon-450V-1000uF-290

Safety Critical Controllers – Functional Safety

The use of safety critical approaches in digital power control is recent. The automotive power electronic people have ISO 26262 requirements for how the gate drives and how the hardware need to behave in a fault. Medical device compliance requirements have long required risk management and safety critical partitioning of the system. Even household appliances have safety critical requirements in their product standards like IEC/EN 60335 and IEC/EN 60730. We have had 60730 code libraries for a number of processors for a while now and have IEC 61508 as the basis for our high reliability controllers. And the work that we do with controllers in equipment covered by the Machinery Safety Directive gives us a good insight into product risk management over the complete product lifecycle.

For a long while, and until recently, there has been little support for safety critical systems in power electronics. Partitioning of the controller is the way to meet the fault detection requirements of safety critical systems was a challenge. With the advent of ISO26262 in the auto industry there is now a demand for safety critical assessment and traceability inside the power converter controller. The use of safety critical techniques has long been useful in power converter control due to the inherent ability of bridge power converters to self-destruct.

There were microprocessors at PCIM which have (or will have) safety critical function as key to their function.  These microprocessors have multiple cores that can implement either dual redundant systems or primary and secondary control to implement the safety critical control. This development is a great acknowledgement that there is need to treat power electronic systems as part of the safety critical development. Often times in the past the digital control in the power converter was not subjected to the same level of review and revision control.  And often the digital control in the power converter can be updated in the field, leading to security issues for the digital power converter controller.

While micros with the partition and the safety critical features are a good step toward this there is probably still risk of hackers compromising the security of network connected safety critical systems. Engineering to avoid a Stuxnet type vulnerability in power converter controllers will be the challenge.

ELMG Control Platform for Safety Critical Systems

The ELMG Digital Power Control Platform allows safety critical partitioning of the FPGA function. The Xilinx isolated design flow ensures that each part of the the system can be separately verified and maintained. ELMG Digital Power experience in digital control for safety critical applications such as medical, household appliances and automotive traction allows safety critical analysis and design to appropriate process and performance standards.

Contact us to discuss your safety critical system.

 

 

Demonstration of a simple car dash on 7z010 Zynq SoC

Saturday, August 29th, 2015

This demonstration of a simple car dash on 7z010 Zynq SoC from Xilinx implements an touch screen automotive car dash cluster with speedometer and rev counter.

 

The hardware target is the Avnet MicroZed which is mounted on a carrier board.  The LCD is a seven inch touch display.

 

We put this together using the Xilinx Vivado Design Suite.

Contact us for touch screen and display solutions using Zynq.

P.S. Subscribe to ELMG Digital Power on Youtube

Contact us for touch screen and display solutions using Zynq.