PEmicro Blog

An Overview of PEcloud

PEmicro has launched PEcloud, a cloud-based production programming Platform for the management of remote production.  Along with PEcloud, an updated version of the Image Creation utility has been released that now has the ability to generate PEcloud connected programming images (Jobs).

PEcloud gives the user a secure delivery method to send programming images to remote Cyclones, enhanced control over their IP being programmed, as well as insight into the production programming process.  It is designed with security in mind, so no matter where in the world the production programming is done, from generation of the programming image on the PC to deployment to PEcloud to downloading onto the Cyclone Production Programmer, customer Firmware IP remains safe. 

Standard Operation 

There are three main components to PEcloud Platform: 

  • A PEcloud account 
  • Jobs: encrypted programming images generated in Image Creation Utility for PEcloud
  • Cyclones uniquely provisioned to the user's PEcloud account.  

Job Images are created in the Cyclone Image Creation Utility.  They may either be deployed directly to PEcloud, and downloaded by authorized Cyclones, or a job may be saved to disk and then loaded onto the Cyclone using Cyclone Control GUI software.  The job is loaded into the Cyclone but all permissions to program, program tracking, data tracking and logging are held in PEcloud.  Virtual Factories in PEcloud are where all the production is managed.

What is a Virtual Factory? It is a construct in the user's PEcloud account where they can  

  • Virtually group together internet connected Cyclones located anywhere in the real world.  
  • Manage Programming Job Images that are deployed to the specified Virtual Factory from the Image Creation Utility.
  • Instantly view all production status and Job Logs

After creating a PEcloud account, the initial setup is easily completed in three easy steps. 

  1. In the PEcloud account, create a Virtual Factory and an associated Cyclone Group 
  2. Provision Cyclones to the Cyclone Group in the Virtual Factory
  3. Upload a programming Job to the Virtual Factory in PEcloud (or directly to an authorized Cyclone)

Effectively, the Virtual Factory is used to track programming jobs and Cloud-Connected Cyclones all in one place.  

A user can have as many Virtual Factories as they wish. They can have as many Cyclone Groups as they wish. However, each real world Cyclone may only belong to one Cyclone Group, and a Cyclone Group can only belong to one Virtual Factory at a time.  

Since the Cyclone may only be provisioned to one Virtual Factory at a time, that Cyclone is dedicated to that VF and its Jobs until the Cyclone is deprovisioned. If a Cyclone is deprovisioned, those Jobs are deleted from the Cyclone.   If a Job is deleted from PEcloud, the next time the Cyclone attempts to connect to PEcloud, it will delete the Job on the Cyclone and update the Cyclone based on what jobs are then available. 

Security of PEcloud

When deployed to PEcloud, Programming jobs must be encrypted with a customer-generated encryption key. Likewise, a programming job may only be downloaded onto Cyclones that are pre-loaded with that same customer encryption key.  This means the customer's IP may only be programmed by Cyclones onto which that customer has loaded their private key.  

It is very important to store this encryption key safely and to NOT share the key with anyone, as this encryption key encrypts Programming Job and makes sure that only the authorized Cyclones can load and program the encrypted Programming Job.

PEcloud adds another layer of control by only allowing Jobs to be downloaded to Cyclones provisioned in the user's Virtual Factory.  It is not possible to download to a Cyclone that is not provisioned to the specified Virtual Factory.  

Visibility and Control

Another advantage to using PEcloud is that once the user Deploys the Job to the Virtual Factory in their PEcloud account, Cyclones provisioned in the Virtual Factory will be able to automatically download it. In this way, the actual Programming Job is never handled by a third party.   

The user also has the ability to add programming restrictions before deploying to PEcloud.  Those restrictions include a date range, as well as Max Programming Attempts and Max Programming Successes.  

Further, the provisioned Cyclones must connect to PEcloud for permission to program every single time programming is requested, either by button press or automated control.  This allows PEcloud to prevent overproduction and track program restrictions set by the user.  It also allows the Cyclone to send back program count and log information.  The user can set up the Job to allow slightly higher programming attempts than successes to give leeway for the occasional failure in their production programming setup.  

PEcloud also allows the user to log into their account to Pause, Resume, Delete, or even Update the Firmware IP in their programming job.  So if the user needs to update the firmware, the user has control over the process and doesn’t need to wait on the manufacturing house to make the update.

Insight

One more advantage to PEcloud is the information that is logged in PEcloud after each programming attempt.  As soon as the program attempt is completed, the user can see the results in their PEcloud account.  For each program of a target, the user can see a Programming data Log which includes:

  • Custom data read from the part (UID)
  • Run Test (Results from Test Code)
  • Dynamic Data 
  • Serialization
  • Production Counts
  • Date programmed
  • Which Cyclone it was programmed on
  • Programming Failure results

In the example below it is possible to see, for this K60 device programming Job: the programming count, date programmed, Serial number, and even which Cyclone it was programmed on. It is also possible to set up the log to track other dynamic data like the UID. 

Insight into the production programming process is one of the biggest advantages of the PEcloud. It is no longer necessary to contact the manufacturer for a status update as the user can see the Job Status in real time, as well as view information about the production programming that has been done.   Once a job is completed, the user can retain and view the log history including the details of each program attempt.  

Once a job reaches either the Max Success, or Attempts, or has its status manually finished by the user, the job status will be completed.  It is possible to view the logs of previously completed jobs.  

PEcloud increases the control and observability of the production programming process, and makes it easier to collaborate with a manufacturer on that process, no matter where the manufacturer is located in the world. 

Tags related to this Blog Post

Cyclone     Cyclone FX     ARM     NXP     Production Programming