University Programs Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

University Programs Knowledge Base

Discussions

Sort by:
ARM University Programs Lab-in-a-Box (LiB) Freescale and ARM University Programs have teamed up to provide you the Lab in a Box.  If you are interested in adopting the Lab-in-a-Box (LiB) in your course please contact the ARM University Program to request a donation! Development Boards The FRDM-KL25Z is an ultra-low-cost development platform enabled by Kinetis L Series KL1x and KL2x MCUs families built on ARM® Cortex™-M0+ processor. Features include easy access to MCU I/O, battery-ready, low-power operation, a standard-based form factor with expansion board options and a built-in debug interface for flash programming and run-control. The FRDM-KL25Z is supported by a range of Freescale and third-party development software. Freedom Development Platform Lab Exercise for Freescale Freedom KL25Z Board Software Tools ARM offers the Keil Microcontroller Development Kit (MDK-ARM) for ARM powered microcontrollers. It features the industry-standard compiler from ARM, the Keil µVision IDE, and sophisticated debug and data trace capabilities. MDK-ARM offers tailored support for all Cortex-M processor-based devices, and is the recommended solution for students working with standard ARM-based MCU devices. We suggest that students and universities download the free evaluation version of the tools, which offers all the features of the standard version, but with a 32 KByte object code/data limit. Keil Microcontroller Development Kit (MDK-ARM) Textbooks The Definitive Guide to the ARM Cortex-M0 In English, by Joseph Yiu Published by Newnes ISBN-10: 0123854776 ISBN-978-0123854773 C Programming for Embedded Microcontrollers In English, by Warwick A. Smith Published by Elektor ISBN: 978-0-905705-80-4Other ARM-related Books Teaching Materials Teaching Slides ARM Processors and Architectures Comprehensive Overiew - 2012 ARM Processors and Architectures Fundamentals Lab Manuals and Exercises Lab Exercises for Cortex-M4 Freescale Kinetis using Keil MDK Lab Exercises for Cortex-M0+ Freescale Freedom KL25Z Board Application Notes for Students and Faculty AN234: Migrating from PIC Microcontrollers to Cortex-M Other Projects and Resources Variety of Resources and Middleware from onARM Projects-Lab.com - Ideas for Design Projects Other ARM Projects
View full article
Here are some special offers from our partners from around the world: MathWorks support software for The Freescale Cup participants Stay tuned... more to come
View full article
Most embedded systems must operate continuously without any user input, even if something goes wrong. Most of us have experienced having our desktop or laptop computer locking up and requiring a reboot of the system to get it working again. We simply cannot afford to do this in an embedded system. Ideally, we would write our software so that it never crashes or fails. This, as you can guess, is really hard to do and so our microcontroller manufacturer has included a hardware feature called the Computer Operating Properly, or COP, reset generator. If this hardware feature does not receive a confirmation signal that our program is running properly, it will generate a reset to restart our program from the beginning or from a restart place that we can choose. The COP is also called a watchdog timer.  The COP reset circuitry guards against our program not working properly by expecting the program to execute a particular sequence of instructions at some interval. If the COP does not receive this sequence before it times out, it generates a reset by pulling the RESET_L signal low. This can reset all peripherals connected to the reset line. The CPU then fetches a COP reset vector to restart the program again. Thus the COP is treated like other interrupts except that it cannot be masked once the COP timer has been started. Often you would like to restart at the beginning of your program but in some situations you may choose to enter some diagnostic routine, such as updating a counter that counts the number of COP restarts that have occurred or lighting an LED, before restarting the program. You may also wish to leave some debugging breadcrumbs to help you understand why the COP is resetting the program.
View full article
Connection Diagram for TRK-MPC5604B to Rev. 1 Motor Control "Shield" Board Connection Diagram for TRK-MPC5604B to Rev. 0 Motor Control Board For the TRK-MPC5604, connect the flat ribbon cable to PortB as seen in the picture below. Make the cable connections as shown below for dual motor with independent drive connection Make the cable connections as shown below for dual motor with series drive connection Make the cable connections as shown below for Single motor connection Protect your electronics 1. Try not to stop the wheels while in motion.  This can cause current spikes. 2. Don’t disconnect or connect any cable when board is powered [ON]. 3. Don’t discharge the battery below 5.5V 4. Don’t hit stationary objects
View full article
How does a DC Motor work? The DC motor is a machine that transforms electric energy into mechanical energy in form of rotation. Its movement is produced by the physical behavior of electromagnetism. DC motors have inductors inside, which produce the magnetic field used to generate movement. But how does this magnetic field changes if DC current is being used? An electromagnet, which is a piece of iron wrapped with a wire coil that has voltage applied in its terminals. If two fixed magnets are added in both sides of this electromagnet, the repulsive and attractive forces will produce a torque. Then, there are two problems to solve: feeding the current to the rotating electromagnet without the wires getting twisted, and changing the direction of the current at the appropriate time. Both of these problems are solved using two devices: a split-ring commutator, and a pair of brushes. As it can be seen, the commutator has two segments which are connected to each terminal of the electromagnet, besides the two arrows are the brushes which apply electric current to the rotary electromagnet. In real DC motors it can be found three slots instead of two and two brushes. This way, as the electromagnet is moving its polarity is changing and the shaft may keep rotating. Even if it is simple and sounds that it will work great there are some issues which make these motors energy inefficient and mechanically unstable, the principal problem is due to the timing between each polarity inversion. Since polarity in the electromagnet is changed mechanically, at some velocities polarity is changing too soon, which result in reverse impulses and sometimes in changing too late, generating instantaneous “stops” in rotation. Whatever the case, these issues produce current peaks and mechanical instability. How a DC motor can be controlled? DC motors have only two terminals. If you apply a voltage to these terminals the motor will run, if you invert the terminals position the motor will change its direction. If the motor is running and you suddenly disconnect both terminals the motor will keep rotating but slowing down until stopping. Finally if the motor is running and you suddenly short-circuit both terminals the motor will stop. So there is not a third wire to control a DC motor, but knowing the previous behaviors it can be designed a way to control it, and the solution is an H-bridge. Look at the last evolution of the DC Motor above, you can observe that there are four gates and a motor connected between them. This is the simplest H-bridge, where the four gates represent for transistors. By manipulating these gates and connecting the upper and lower terminals to a voltage supply, you can control the motor in all the behaviors as below. Things to Consider When Using Motors With the Motor and Line scan Camera hooked up to the same board there is a significant problem with noise. The higher you turn the PWM on your drive motors the noise produced and the worse the data will appear from the camera. TO significantly reduce this noise you can simply solder an inductor directly across the 2 drive motors. This will allow you to increase the speed of the car without significantly affecting the data you receive back from the camera.
View full article
Some typical variations: Report Requirements Specific Components Usage Additional Tiers of Competition 2017 Rules per Region EMEA University Challenge 2016-2017 2016 Rules per Region Americas, Malaysia and Taiwan.​ EMEA University Program Challenge EMEA High School Challenge 2015 Rules per Region Worldwide Challenge Rules EMEA 2014 Rules per Region EMEA Worldwide Challenge Rules USA [ARCHIVE] 2013 Rules per Region Malaysia Latin America Latin America - Advanced USA Global Championship
View full article
Acronyms related to electronics and embedded systems. Can't find the term you are looking for here?  Add it to the comments section below and I will research and add to this list. A ABIST-Array Built-In Self-Test ADAM-Advanced Doherty Alignment Module  [a special module to do Doherty phase amplifers] ADMA-Asynchronous Direct Memory Access ADC - Analog to Digital Converter APU-​Application Processor Unit AWIC-Asynchronous Wake-up Interrupt Controller B BLE or BTLE - Bluetooth Low Energy BME-Bit Manipulation Engine BOM-Bill of Materials BSP -Board support package. A group of files that are specific to a particular type of processor on a particular type of board. It includes drivers. C CAN-Controller Area Network CMSIS- Cortex™ Microcontroller Software Interface Standard CMT-Carrier Modulator Transmitter CPU-Central Processing Unit CRC-Cyclic Redundancy Check D DAC- Digital to Analog Converter DCSR-Debug configuration and status register​ DCU-Display Control Unit DIMM-dual in-line memory module DMA-Direct Memory Access DPA-Doherty Power Amplifier​ E eTPU-​enhanced Time Processor Unit EWM - External Watchdog Monitor F FPGA-Field programmable gate array FPU-Floating Point Unit FRAM-Ferroelectric Random Access Memory​ FSM-Finite State Machine​ FTM-Flexible Timer Module G-H GPIO - General Purpose Input/Output HID-[USB] Human Interface Device HMI - Human Machine Interface I I2C-Inter Integrated Circuit​ I2S -Inter-IC Sound IDE-Integrated Development Environment IFC-​Integrated Flash Controller IFTT-​Inverse Fast Fourier Transform ICE-In-circuit emulator J-L JTAG - Joint Test Action Group LED-Light Emitting Diode LCD-Liquid Crystal Display LVD-Low Voltage Detect M MAC-Media Access Control mbed- Cloud based IDE for rapid prototyping MCG- Multi-Clock Generation MII-Media Independent Interface MOSFET-Metal Oxide Semiconductor Field Effect Transistor MPU-Memory Protection Unit MSD-mass storage device N-O NMI-Non-maskable interrupt NVIC-nested-vectored interrupt controller NVM-Non-volatile memory OpenSDA-Open-standard Serial and Debug Adapter. P PCIe-PCI Express (Peripheral Component Interconnect Express) PEx-Short form for the Processor Expert PEG - Portable Embedded GUI PGA- Programmable-gain amplifier PIT-Periodic Interrupt Timer PMC-Power Management Controller PSP - Processor Support Package PWM-Pulse Width Modulation R RNG - Random Number Generation RoHS-Restriction of Hazardous substances RTC - Real Time Clock RTOS-Real Time Operating System RRAM-​Resistive Random Access Memory S SCI-Serial Communications Interface (see also UART) SDHC - Secure Digital Host Controller SIM - System Integration Module SPI-Serial Peripheral Interface T TDM - Tamper Detection Module TPMS-Tire Pressure Monitoring System​ TSI-Touch Sensing Interface U-W UART - Universal asynchronous receiver/transmitter WiMAX ​Worldwide Interoperability for Microwave Access
View full article
Students from the University Applied Sciences TDU Deggendorf gave yesterday a demonstration of their Freescale Cup cars. 10 teams had worked during the semester in getting their cars running on their homemade Freescale Cup track based on Tower K60 kits. They ran them with lights on, lights off, in both directions on the track. Solid performance overall. HDU Deggendorf's teams are led by Prof. Gerald Kupris and have enrolled for the 3rd consecutive season into the Freescale Cup EMEA Challenge 2014. They are preparing another set of cars to compete in the upcoming racing season.
View full article
Congratulations to all teams of the inaugural West Coast Freescale Cup event!  Our three fastest times, covering a total distance of 147 feet.  Full collection of event photos and videos!! Top 3 Teams: * First Place - UC Berkeley - 21.27 seconds Second Place - UC Davis - 27.92 seconds Third Place -  UC Davis - 28.00 seconds
View full article
                                                       Robô Explorador      O sistema de investigação feita por robôs através da análise de imagens capturadas está sendo utilizado nas pequenas e grandes empresas. Através da análise de imagens, é possível verificar se um produto está com defeito ou não. Dependendo da imagem, ou até mesmo se a peça estiver em mãos, um operador poderá analisar e qualificar como peça boa, mas através da conversão de uma figura em matriz binária, será possível encontrar um erro. Desta forma o produto final poderá ser adquirido pelo consumidor com mais qualidade e com custo reduzido.      Para sistemas de segurança, é possível analisar um espaço, fotografar o local e saber se existe perigo para o operador, ou até mesmo localizar pessoas em situações de risco de vida.
View full article
Below is one example process of creating a PCB. Create a Bill of Materials (BOM) In other words, decide which devices you want to use and what you will need to construct your circuit. If space is a constraint, picking the right device package is crucial. Create a Pin List Once you have all your devices. Create a simple Excel sheet of the various pin-outs from each of these devices. The goal here is to create a reference of which pin goes to which. This will greatly increase your accuracy in the next step… Create a Schematic You will need to download and install a schematic-and-layout-program. Using your schematic program create any needed device libraries and then create the schematic for the board. Create a Layout Once your done with the schematic, layout is just routing the traces around the PCB as efficiently as possible. Some tips for good routing. Use a ground plane (aka solid fill) - This helps with transient signals, and reduces trace congestion. Keep any noisy signals away from data signals (keep the motor driving lines away from data lines) Generate Gerbers and Drill Files Read the website of the Manufacturer that will be building your boards. Most of them do a good job of explaining what format the design needs to be in for them to do the job correctly. Some manufactures support the layout files from certain software toolsets (usually their own). Gerbers are pretty much the universal language though. Send to Board Manufacturer and order your BOM. Below are some of the most popular ones in the USA. If you have a resource in your area please add to the list below. pcbexpress.com sunstonecircuits.com Related Links Training by Freescale on Effective PCB Design General PCB design Engineering Articles from Quick-teck PCBs
View full article
Congratulations to all the East Coast teams and to UC-Berkeley for the overall fastest car in the USA!  More photos/videos from the event. West vs. East Winner: Jolt - UC-Berekley 17:35 East Coast Teams: First Place: Relativistic Robotic Racers - University of Rhode Island - 22.04 seconds Second Place: Vulcar - California University of Pennsylvania - 25.15 seconds Third Place: Temple Made - Temple University - 25.72 seconds See complete results
View full article
Este proyecto está siendo desarrollado por alumnos del Tecnológico de Monterrey Campus Guadalajara, el cual está orientado para servir como un tipo de terapia para personas discapacitadas. El proyecto en sí consiste en el control de un vehículo de juguete por medio de pulsaciones que serán realizadas con pelotas anti-estrés, de esta forma la persona podrá realizar un ejercicio de fortalecimiento en sus extremidades superiores de una forma más entretenida y menos tediosa que las clásicas terapias. Es importante mencionar que para poder realizar este proyecto es necesario el uso de dos tarjetas Freedom KL25Z de Freescale®, dos módulos Bluetooth®, dos servomotores de rotación continua y dos sensores de presión, los cuales serán incorporados dentro de las pelotas anti-estrés. El vehículo de juguete estará compuesto por los servomotores, que servirán como llantas; un módulo Bluetooth®, el cual recibirá las señales del otro módulo; y una de las tarjetas Freedom KL25Z. Por otro lado una de las tarjetas Freedom KL25Z estará conectada con los sensores integrados en las pelotas anti-estrés y a un módulo cuya función es mandar la información capturada por los sensores al vehículo de juguete. La mecánica del proyecto depende de la pelota que sea presionada, pues si se presiona solamente una pelota, el vehículo avanzará, por otro lado si se presiona la otra pelota, el vehículo girará sobre su propio eje. Este proyecto tiene como fin la implementación de conocimiento prácticos y teóricos en busca de una aportación en beneficio de la sociedad. También es relevante comentar que las visiones a futuro de este proyecto es que pueda ser implementado como una especie de control para una silla de ruedas, con el fin de facilitar la movilidad y aumentar la comodidad al momento de usar este tipo de vehículo. Original Attachment has been moved to: Codigo-tarjetas-freedom.zip
View full article
You can view the history of the "motor control shield" here.  The latest Freescale Cup Motor Control board (part number TFC-SHIELD), which is included by default in the kit, is pinned out to directly connect to the FRDM-KL25Z development board.  If you are using the TRK-MPC560xB or other board you will have to direct-wire the connections, as illustrated below.
View full article
Take some time to get yourself familiar with C programming before you continue on the programming tutorial. Here is a list of topics that you should be comfortable with, and a couple of good tutorials below. Topics included: Program Structure Commenting Variables Keywords Data Types Decimal, Binary and Hexadecimal Equivalents ASCII Text/Number Conversion Math Operators Increment & Decrement Shift Logical Operators Bitwise Operators Loops If Statement Switch Statement Functions Recursion Local Variables vs. Global Arrays Pointers Typdef, struct and union Preprocessor Directives Static, const and Volatile Keywords Tutorial 1: PSU Intro to C for Embedded Design   From PSU Freescale Cup Senior Design Course Tutorial 2: Learning Programming with C This Freescale course consists of a collection of lessons that will introduce you to the fundamentals of programming using the C programming language. Coding for Readability Sometimes when a project has the ability to grow with new features, it is best to code in modules. This allows one to easily take a more modular approach to designing their program. Despite the fact that C does not support Classes like C++ does, you can create structures that can be addressed globally with little code, which is especially useful for microcontroller based projects. An example of a structure which will be made global: This goes in the globals.h file typedef struct {   unsigned char ServoPWM;   char ServoAngle;   unsigned char DrivePWM;   int TimeOut;   int Current;   int Speed; } sMotor; extern volatile sMotor Motor; This will go in any other file that we want our structure to be accessible from #include <Globals.h> volatile sMotor Motor; This is how to address the variable in the structure #include <Globals.h> volatile sMotor Motor; If you decided to have two distinguishable motors you could do this in the globals.h extern volatile sMotor Motor1; extern volatile sMotor Motor2; Then do this in the other files volatile sMotor Motor1; volatile sMotor Motor2; Helpful Hints In developing an algorithm to detect the line position, we found two basic errors in the coding practice which caused catastrophic errors in line detection. Both of these tips are very basic coding practice. First, when using C code, it usually benefits the user to initialize all variables to some value, especially if computations are involved. Often times when the value wasn't initialized it would seem to acquire a wrong value seemingly from nowhere. Secondly, when doing calculations with arrays, make sure to do calculations with array indices that actually exist. Many times we would make the mistake in our loops of trying to use an index that wasn't assigned a value. Therefore it would acquire an unknown value from memory that caused errors in our calculations.
View full article
For those of you wanting to move to 32-bit but miss the ability to whip out that protoboard for a little late night wiring session check out the Teensy 3.0 board from PJRC. http://www.pjrc.com/store/teensy3.html I should also note that this project was featured on kickstarter with a $5K goal and recieved over $70K in backing!!!  Nice.
View full article
Hi,     I will present to you my first personal initiated project named Spectrum analyzer. This spectrum is based on sampling signal and calculating his spectrum using FFT algorithm. Attached here presentation, documentation (french), electrical scheme of amplification circuit and source code of both programs (Computer and PXS20)   Picture of the spectrum analyzer with TWR-PXS20, TWR-SER and TWR-PROTO :   Picture of amplification circuit :   Picture of signal collected by the ADC :   And here we have the spectrum :   Thank you, and I hope you like it
View full article
This document is addressed to the participants and visitors that will join us for The Freescale Cup 2015 Worldwide Finals 2015 The Freescale Cup 2015 Worldwide Finals will be held on 14-15 September 2015 at the Fraunhofer Institute for Integrated Circuits (Fraunhofer IIS) in Erlangen, Germany. Full address is: Fraunhofer IIS Am Wolfsmantel 33 91058 Erlangen Germany Google Maps location The attendees official guide is now online at https://community.nxp.com/docs/DOC-106164 Agenda of the event for the participants (subject to change): Sunday September 13th: Arrival at Hotels Get together in the evening (approximate time 18:00) at A&O Hostel Monday September 14th: 8:30: Departure from Hotel for City Tour 11:30: Prepare for departure for Fraunhofer IIS 12:00: Buses depart for Fraunhofer IIS 13:00: Lunch 14:00: Opening session 15:00: Start of Practice 17:30: High School and Innovation Challenge Demos 18:00: End of Practice - Start of the evening event 21:00: End of evening event - boarding buses for return to hotel Tuesday September 15th: 8:00: Buses depart for Fraunhofer IIS 9:00: Practice 13:00: Technical Inspection & Lunch 14:30: Final Race 16:00: Awards Ceremony 17:30: Buses depart for Awards Dinner 20:30: Buses depart for Hotel The event will be presented via LiveCast by the Fraunhofer IIS. URL is http://www2.iis.fraunhofer.de/freescale/  Hotel information: Students Hotel: Nuremberg Hostel - Stay at the A&O Hostel & Hotel Nuremberg  Google Maps Location Professors and Press Hotel: NH Nürnberg City Center hotel in Nuremberg Bahnhofstr. 17-19 | NH Hotel Group Google Maps Location Freescale will cover the cost of travel, accommodation and meals for the event for all Freescale Cup qualified teams and one faculty advisor per the rules in place. For Visa invitation letters, please contact marion.thierry@freescale.com or flavio.stiffan@freescale.com Travel booking will be organized by your regional Freescale University Program contact. Please have your faculty advisor get in touch with them for more information
View full article
Project Summary In this project, you will learn how to do basic electrical automation and control via the web.  Think of the NEST.... only more open and hackable!   Using Websockets, Javascipt and HTML5,  you will have a simple way of viewing remote data and be able to control some solid state relays.   This framework will allow you to create more complex IoT applications.    The example will combine a FRDM-K64F and a FRDM-AUTO to read a temperature sensor and control a solid state relay. Skills Developed: Embedded Systems Networking Electrical Control Systems HTML5/Javascript - Websockets SOIC8 and 1206 Surface mount soldering Internet of "Things" Materials: FRDM-K64F FRDM-AUTO Development Tools mbed.org Google Chrome Notepad++ Example Code mbed.org Github Step 0: Prerequisite Videos The videos are organized into a nice YouTube playlist: FRDM-AUTO Hardware Overview MonkeyDo Software Overview Websockets & The MonkeyDo communication model Solid state relay introduction & sage Opto-coupler introduction & usage MonkeyDo system demonstration Step 1: Get a FRDM-AUTO & FRDM-K64 The build package is on the FRDM-AUTO site.   Note that for this exercise you only need to build the "OPTION 1" version.  Please let us know if you are interested in a pre-assembled version.  If there is enough demand we will get a lot assembled for purchase, I will get a Kickstarter going!   Don't be afraid to build it yourself,  Soldering is fun!  There is plenty of good stuff on the web on how to do SMT soldering.  All of the parts on the board are fairly simply once you get the hang of it and everything can be hand soldered  The key is having some decent tools. Step 2: Put it Together Assemble the FRDM-AUTO and K64F.   When you get started, do NOT hook up anything to the solid state relays until you are sure  things are working. WARNING:   Wiring to household power can be dangerous!   You are 100% responsible for what you do. Be careful and never apply power until you fundamentally understand what you are wiring up! Step 3: Download If you have never used the mbed environment,   make sure to careful read this page.   Get the "blinky" programming working before you try anything else. Download the example firmware to the FRDM-K64F.    Make sure to press the reset button. Step 4: Follow Along Make sure to watch the demo video.   Load the example javascript pages from the github repo and recreate what you see in the demo video.   Note:   You should NOT use the websocket server used in the demo code.     When you register for an mbed account, you automatically get your own websocket server channel. See Websocket server by Mbed. Step 5: Hack and Slash! Make something cool!   Be cool and publish your work! Some Ideas to Extend the System Get the opto-couplers into the Websocket system and see if you can report their state Make a basic thermostat using the temperature sensor and relay to control a heater. Report status via the websockets interface  
View full article