Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

Embedded MCU's NXP Controllers S32 Automotive Platform S32K1

NXP S32K144 Evalution Board

Overview

So hello guys, welcome back to another series of Microcontroller tutorials. As Microcontrollers are new big thing happening across the globe, but to learn about microcontrollers becomes quite challenging as most of the content on web is theoretical based and quite unorganized. Or the content is only roaming around 2-3 microcontrollers (Arduino, ESP or PIC), even though there are number of Microcontrollers of different vendors. Also, framework of Arduino and Arduino IDE hides most of the things that are going inside the microcontrollers.

Here at Gettobyte, you will get content on microcontroller tutorials for different vendors and much more via practical way. Which will help you to learn important skills to build you Carrer on Semiconductor Industry and also help you in product development/DIY projects for different Industries, so as to make embedded devices with Industry standard Microcontroller.

Would recommend viewers to read below blogs, if you are newbie, who is just coming from Arduino environment and wanna explore microcontrollers and wanna build Carrer into semiconductor industry, then this blog will give you overview of what all things are there to be needed for making projects and to play along with the different microcontrollers.

This Time we are going to start with NXP Semiconductors S32K144 automotive MCU. Objective of this blog, will be to:

  • Learn About NXP Semiconductors.
  • Get to know about S32, S32K & S32K144 Platform of NXP Semiconductor.
  • Hardware Development Kit of S32K144 MCU.
  • Software Development Kit of S32K144

After this Introduction blog on s32K144 MCU, we will be doing hands on different peripherals of this MCU starting with GPIO, UART, I2C, SPI and…

Table of Contents

About NXP Semiconductor

NXP Semiconductors is a global semiconductor company that designs and produces a broad range of semiconductor solutions providing hardware and software for them. It is a fabless company that designs the Microcontrollers, Microprocessor, ASICS’s and other discrete electronic components, targeting the industries like but not only limited to automotive, industrial automation, communication infrastructure, IoT, Robotics, Medical, Consumer Electronics, drones and Security Chips.

Apart from these chips and IC’s, NXP semiconductors also provide software to run these chips and demonstrating different applications where its products can be used. NXP semiconductor also works in AI/ML and edge computing.Making it not only giant hardware-based semiconductor company but software company too.

History of NXP Semiconductors roots back to 1950’s. It was founded in 1953 as part of the electronics giant Philips, at that time the company name is Philips Semiconductors. In 2006 it become independent company and its name changed to present name: NXP Semiconductors. After that it had acquired several companies and had done partnership deals with companies like Silicon labs, STMicroelectronics, Trident Microsystems, Conexant Systems and to expand its product lines and business revenue. In March 2015, merger agreement was announced through which NXP semiconductors acquired The Freescale semiconductors. After this merger NXP semiconductor become one of the largest semiconductor companies in the world. Both NXP and Freescale had deep roots stretching back to when they were part of Philips (NXP), and Motorola (Freescale). NXP primarily focusing on near field communication (NFC) and high-performance mixed signal (HPMS) hardware, and Freescale focusing on its microprocessor and microcontroller businesses. NXP semiconductor chips are used in almost every electronic gadget we see around us. To know more about NXP semiconductors, one can navigate to NXP website and Wiki page.

In this blog we are going to start with Automotive Industry. NXP semiconductors has a S32 Platform of microcontrollers and microprocessors specially targeting the Automotive industry. S32 platform has all the kind of MCU’s and MPU’s targeting different Domains of Automotive. There are broadly five domains in automotivePower Train, Chassis, Body & Comfort, HMI, and
Telematics. These 5 domains cover all the devices embedded in Automotive.

About NXP S32 Platform

S32 is a series of Microcontroller which are designed and manufactures by NXP Semiconductors, specially targeting for automotive applications but not only limited to them. Then with in S32, there are further categories as S32K, S32G, S32R, S32V.

NXP S32 Product Platform

Each of the category, can be used in one of the domains of automotive. Like say in powertrain one can use S32K for motor control applications and for telematics one can use S32R for radar processing, to get information about nearby objects. This is what something ADAS system is. Like when some car come nearby to a car, some sensor senses that distance (That is telematics zone) and after a certain threshold car speed automatically changes by controlling its motor RPM (that is part of powertrain).

NXP S32 Platform is being designed, providing end to end solutions for Automotive Industry. Not only MCU’s and MPU’s but NXP also provides large number of tools and software to build the applications for Automotive from S32 Platform. Dedicated IDE, Debugging tools and drivers, Real-time Drivers (RTD), RTOSes(FreeRTOS, Zephyr, NXP RTOS) and Autosar complaint SDK.

Almost every MCU of S32 family has support of Automotive protocols: CAN, LIN, FlexIO and etc. Ranging from ARM CortexM3(single core) to ARM Cortex A9(triple core). Having advance features to support automotive needs like : Hardware security modules(HSM) for safety and security, High Bandwidth Ethernet and USB support for connectivity and etc.

We are going to start with S32K312 MCU, which is part of S32K family. It is based on ARM Cortex M7 and has dedicated HSM-H that too upto EVITA specs and also ASIB/D complaint. Making it a perfect MCU to start for building general purpose Automotive applications.

Would get to know more about S32 platform along with tutorial series on S32K312 MCU. 

S32K MCU family series

We are going to start with S32K platform which are general purpose Microcontrollers designed to make different ECU in zonal and body control modules for automotive applications.

NXP S32K1 MCU series

S32K is further categorized into S32K1 and S32K3 series. S32K144 is part of S32K1 series.

About S32K144 MCU

S32K144 MCU is part of the S32K series of MCU of NXP, which are General purpose Microcontrollers for developing body & control, powertrain related applications automotive Industry. S32K144 is single core ARM cortex M4F processor based MCU with rich set of peripherals for Automotive Industry.

  • It has upto 89 General Purpose Input/Output (GPIO) pins for connecting large number of I/O sensors and modules to act as HMI, thus perfect choice for acting as ECU node in domain or zonal Architecture of E/E automotive.
  • It has 512 KB of on chip flash memory and 256KB of SRAM with ECC feature to have secure memory regions.
  • It operates at Voltage range (Vdd) of 2.7V to 5.5V, with temperature range of -40 to 150 degree Celsius.

Means if Voltage of 2.7V is supplied to IC then it will recognize input signal of 1.89V(0.7* Vdd) to 3V (Vdd+ 0.3) as High signal and input signal of -0.3V(Vss-0.3) to 0.81V(0.3*Vdd) as Low Signal. If Voltage of 5.5V(Vdd) is supplied to IC, then it will recognize input signal of 3.5V(0.65*Vdd) to 5.8V(Vdd+0.3) as High Signal and input signal of -0.3V(Vss-0.3) to 1.9V(0.35*Vdd) as Low Signal.            (Analyzed from DC electrical specification of S32K1-DS)

Thus, IC can be used to measure Input signals for low voltage sensors like accelerometers, Capacitive and Inductive sensors.

  • S32K144 IC has Arm Cortex M4 core, with Integrated DSP, Configured NVIC, Single Precision FPU and Debug CoreSite architecture. ARM Cortex M4 Core supports ARMv7 Architecture and Thumb2-ISA.
  •  IC can run up to at 112MHZ frequency when running at System Phase Locked Loop (SPLL). It has Fast Internal RC Oscillator (FIRC), Slow Internal RC Oscillator (SIRC), Low Power Oscillator (LPO), Real Time Counter External clock (RTC_CLK).
  • ADC peripheral is essential for applications involving Electrification. Thus, IC has two 12-bit SAR ADC modules of 16 channels. IC also has 8-bit internal DAC module for integrating power IC\’s in the case of electrification.
  •  IC also has onchip Debug facilities of Serial Wire Debug (SWD), Serial Wire Output (SWO) and JTAG combined. And IC inherits the CoreSight Debug Architecture of ARM processors.
  • In terms of On-board Communication peripherals. IC has 3 Low Power SPI, Low Power UART and FlexCAN peripheral, 1 Low Power I2C, one FlexIO module for emulation of on board communication protocols. Various and Different types of Automotive Sensors and modules can be connected along with this IC with rich support of Communication peripherals.
  • Automotive involves high secure and safety ECU nodes. Thus, IC has Cryptographic Service Engine (CSEc) implemented. It includes AES-128,CBC,ECB and CMAC. Pseudo and True Random Number Generators(PRNG,TRNG) with sequential, parallel and strict Boot Mode.
  • In addition TO CSEc, IC has Error Correction Code(ECC) and Cyclic Redundancy Check module, system memory protection units with Internal(WDOG) and external(EWM) Watchdog monitor.
  • For offloading the load on CPU while transferring data from memory regions of chip, IC has 16 channel DMA with 63 requests sources using DMAMUX.
  • IC also has Timing and Control module for capturing and outputting digital signals. It has 4 16 bit FlexTimers Module(FTM), 1 16 bit Low Power Timer Module(LPTMR),  1 32 bit Low Power Interrupt Timer(LPIT) and 1 32 bit Real time Clock(RTC).
  • IC comes only in LQFP packaging of 48,64 and 100 pins.

S32K144 MCU Block Diagram

 

Above is the high-level architectural view of S32K144 MCU. As told in my previous blogs, one can consider Microcontrollers as human body, in which there is one human brain and all other body parts are connected to it, to interact with outside world. In the case of Microcontrollers brain is processor and peripherals connected to processor are body parts. 

  • The first block in above diagram is ARM cortex M4F Processor, which is most important unit of MCU. It has additional features integrated in it like that of NVIC,DSP, Debug and etc. as one can see in the block diagram.
  • Second block is clock generation. As digital systems need to run at some frequency that is provided by clock peripheral. So this block takes care of generating clocks for various sub-units of MCU by having different clocks as shown in block diagram.
  • Third block is the analogous to body parts of human body that interact with outside world. Here 3rd part comprises of wide number of on chip peripherals, which are connected to external sensors or modules to have interaction with external world.
  • Fourth block is the memory block, which comprises of flash memory, SRAM and memory protection features.
  • These are the main 4 blocks which covers majority of IC features, but in addition to it there are also small blocks like DMA, CSEc and etc. which would be further discussed in upcoming blogs.

S32K144 Hardware Development Kit(HDK)

S32K144EVB Evaluation Board

 
S32K144 MCU and Evaluation board

 

S32K144-Q100 is general purpose Evaluation Board designed and manufactured by NXP Semiconductor. It is built around S32K General Purpose Microcontroller S32K144. The board is designed to showcase general purpose Automotive and Industrial applications.

S32K144EVB evaluation board

 S32K144-Q100 General Purpose Evaluation Board

For easy development and fast prototyping, NXP manufactures the evaluation board of S32K144.  The board has many header pins exposing almost all the Input/output pins of S32K144 MCU. The board also has many on-board features for quick application prototyping and demonstration.

  1. S32K144 32-bit ARM Cortex M4F processor based automotive MCU.
  2. The board has on-board Mini High speed CAN Transceiver and System Basis Chip: UJA1169TK.(CAN_TX –> PTE5&CAN_RX –> PTE4).
  3. Single and multichannel LIN transceivers: TJA1027(LIN_TX–> PTD7 & LIN_RX -> PTD6).
  4. 2x touchpads (PTC3&PTC0), 1x Potentiometer (PTC14), 1x RGB LEDS (RED: PTD15, Blue: PTD0 and Green: PTD16) and 2x push buttons.
  5. OpenSDA Debug feature: which is built around various NXP evaluation board for industry standard debug interface.
  6. Flexible power supply options: micro-USB and 12V DC supply adaptor.
  7. Six Headers : J1,J2,J3,J4,J5,J6 which exposes all the input/output pins of S32k144 MCU.\"\" S32K144EVB evaluation board.

S32K144EVB Board PinOut

 
PINOUT of NXP S32K144 Evaluation Board

Above is the pinout of Evaluation board. We can easily connect sensor and modules via Jumper wires. Also the board has Arduino uno compatible expansion shield support.

  1. The board has on-board Mini High speed CAN Transceiver and System Basis Chip: UJA1169TK.( CAN_TX –> PTE5&CAN_RX –> PTE4).
  2. Single and multichannel LIN transceivers: TJA1027( LIN_TX–> PTD7 & LIN_RX -> PTD6).
  3. 2x touchpads(PTC3&PTC0), 1x Potientiometer(PTC14), 1x RGB LEDS( RED: PTD15, Blue: PTD0 and Green: PTD16) and 2x push buttons.

Debuggers

NXP S32K144 EVB has mainly JTAG Debug connector, SWD debug connector: both Debug and Trace features (SWD and SWO) and OpenSDA USB Connector for Debugging and flashing the firmware into it.

S32K144 Software Development Kit

IDE(Integrated Development Environment)

NXP provides the Integrated Development Environment especially for S32 platform products, S32 Design Studio which is built on Eclipse IDE.  S32 Design studio is based on open-source GNU Compiler collection (GCC) and also has GNU debugger (GDB).

S32 Design Studio Home page

One can easily download the S32 design studio from NXP website after logging in from here.

S32 Design Studio also provides various features for debugging and flashing the firmware. In addition to that we can add various extensions and install SDK packages of S32 platform directly from S32 design Studio.

S32 Design Studio is the Integrated Development Environment (IDE) which is used for writing, building and debugging the code to run on S32K144 MCU. S32 DS has many inbuilt features for debugging and analyzing the code, for efficient and fast implementation. Steps to install S32 Design studio are pretty straight forward and can be referred from here. Am skipping that part as that is pretty well documented on NXP Website and directly moving to GPIO Peripheral specific API’s and Files.

SDK(Software Development Packages)

NXP also provides built-in Software packages for fast development of applications: S32 Software Development Kit for S32K1. The SDK includes: Real Time Drivers, FreeRTOS support, Ethernet Stack, NXP motor control Libraries and etc. The SDK support 5 compilers for compilation: GCC, GreenHills(GHS), ARM Compiler, IAR and WindRiver DIAB.

Now there are 2 SDK’s, which are provided for S32K144 MCU by NXP Semiconductors.

One is Autosar 4.4.0 complaint, in which all the peripheral drivers and RTD’s of the MCU peripherals are build based on Autosar classic standard. For the sake of refernce thorughout the series i will be naming this SDK as Autosar Complaint Drivers for S32K. Naming convention of these are like this: SW32K1_RTD_4_4_1_0_0_D2108

And other is generic one, based on MISRA C guidelines and Standards in which all the peripheral drivers, RTD’s and other software stacks (FreeRTOS and middleware: TCP/IP) are built on easy-to-use architecture, with less abstraction layers and complexities as compared to Autosar based for easy to use. Would be naming this as S32K Software Development Kit (S32 SDK). It boast an impressive array of features, including a comprehensive suite of robust hardware abstraction layers, peripheral drivers, RTOS, stacks, and middleware. These tools are specifically designed to simplify and accelerate the application development process, making it easier for developers to create high-quality applications with ease. Naming convention for these are like: S32_SDK_S32K1xx_RTM_4.02

 

S32K SDK

We will be using SDK based on MISRA C guidelines and standards, the S32K Software Development Kit at first: S32SDK_S32K1xx_RTM_4.0.2.

S32K Software Development Kit (S32 SDK) boasts an impressive array of features, including a comprehensive suite of robust hardware abstraction layers (HAL), peripheral drivers, RTOS, stacks, and middleware. These tools are specifically designed to simplify and accelerate the application development process, making it easier for developers to create high-quality applications with ease

As This SDK can also be downloaded easily from website. Am skipping the part of its installation part, in case of any Douts do reach out to me.

S32K Software Development Kit consists of several key components that can be used for Application development. When we download the package of S32K SDK, one will see following folder structure:

//just some overview on what each folder does!

We will be initially focusing on Hardware Abstraction Layer and peripheral drivers. For that folder platform is key component. Under the Platform, their are 3 folders as shown below:

  • devices folder: contains the controller specific register header files, core specific register header files, controller specific feature configuration file, linker scripts and startup codes for different S32K MCU’s.
  • drivers folder: this contains the low level drivers for the peripherals of the MCU. Depending on the configurations done, low level drivers would be implemented.
  • pal folder: this contains the Peripheral Abstraction Layer for providing the unified interface for families of peripheral, allowing for cross -platform compatibility of application code.

As we are using S32K144 MCU, so we will find 2 files in devices folder: S32K144.h & S32K144_features.h files.

These are kind of configuration files, peripheral register address files and enables/disables the features that are to be supported in S32K144 MCU. These 2 files are one of the key files and would be used time to time.

				
					/*
** ###################################################################
**     Processor:           S32K144
**     Reference manual:    S32K1XX RM Rev.13
**     Version:             rev. 4.4, 2021-04-26
**     Build:               b210426
**
**     Abstract:
**         Peripheral Access Layer for S32K144
**
**     Copyright 1997-2016 Freescale Semiconductor, Inc.
**     Copyright 2016-2021 NXP
**
**     NXP Confidential. This software is owned or controlled by NXP and may only be
**     used strictly in accordance with the applicable license terms. By expressly
**     accepting such terms or by downloading, installing, activating and/or otherwise
**     using the software, you are agreeing that you have read, and that you agree to
**     comply with and are bound by, such license terms. If you do not agree to be
**     bound by the applicable license terms, then you may not retain, install,
**     activate or otherwise use the software. The production use license in
**     Section 2.3 is expressly granted for this software.
**
**     http:                 www.nxp.com
**     mail:                 support@nxp.com
**
** ###################################################################
*/
/*!
 * @file S32K144.h
 * @version 4.4
 * @date 2021-04-26
 * @brief Peripheral Access Layer for S32K144
 *
 * This file contains register definitions and macros for easy access to their
 * bit fields.
 *
 * This file assumes LITTLE endian system.
 */
				
			
				
					/*
 * Copyright (c) 2015 Freescale Semiconductor, Inc.
 * Copyright 2016-2020 NXP
 * All rights reserved.
 *
 * NXP Confidential. This software is owned or controlled by NXP and may only be
 * used strictly in accordance with the applicable license terms. By expressly
 * accepting such terms or by downloading, installing, activating and/or otherwise
 * using the software, you are agreeing that you have read, and that you agree to
 * comply with and are bound by, such license terms. If you do not agree to be
 * bound by the applicable license terms, then you may not retain, install,
 * activate or otherwise use the software. The production use license in
 * Section 2.3 is expressly granted for this software.
 */

/*!
 * @file S32K144_features.h
 * @brief Chip specific module features
 *
 * @page misra_violations MISRA-C:2012 violations
 *
 */


				
			

Run Time Debugging Tool: FreeMaster

FreeMaster Run-Time debugging tool

 FreeMaster Run-Time debugging tool

NXP Also provides the FreeMaster tool for run-time debugging. We will get onto this in upcoming blog, for the time being we are going to start with S32 Design Studio and S32K1 SDK.

Getting Started

 Getting Started with S32K144 Evaluation Board

We will get started with NXP S32K144 EVB board by running the Hello world program. In Microcontroller world Hello World example is Blink LED project. But before that we need above mentioned IDE and SDK for setting up the environment of S32K144 to do cross compilation in our Desktop/Laptop.

Refer this link: Get Started with the S32K144EVB | NXP Semiconductors for IDE, SDK installation and building Hello World program on S32K144 Evaluation board. Starting from the next blog we are going to develop application projects by interfacing different sensors and modules.

Further blogs to read
HOW TO START WITH PCB DESIGNING?

Hello Friends, I’m Taral Mehta. I\’m an Electronics Engineer, This is the first blog of the series to discuss and learn the basics of PCB designing. In this blog, we will discuss, Introduction of PCB and its designing techniques. As well as we will discuss various software that are used for designing the PCB. Table of Contents Starting with Basics of ELectricity Before going to start with PCB designing, we will understand the basic components required: Current – Current is the rate of flow of electric charge. at all points in a series circuit, the current has the same value. If a circuit has a branch, the current flowing into the junction must equal the current flowing out of it.   Voltage – Voltage is also known as potential difference.In a circuit loop, the sum of the voltages across the power supplies is always equal to the sum of the voltages across the rest of the components. RESISTOR – Resistance is a measure of the opposition to current flow in an electrical circuit. Resistance is measured in ohms CAPACITOR – A capacitor is an electronic component that stores and releases electricity in a circuit. It also passes alternating current without passing direct current. Introduction to PCB (Printed Circuit Board) As an Engineer, whether is Mechanical Engineer, Computer Engineer, or IT Engineer, now and then everybody comes across one of the vital parts of the respective industry i.e. Electronic Circuit. This electronic circuit is made or created on a special type of board, which is called PCB (Printed Circuit Board). As you can see in the above image, PCB has electronic components which are connected through conductive pathways, which are usually called Tracks. A PCB is a thin board made of Fiberglass, composite epoxy or other laminate material. Tracks are etched or printed onto a board, which connects different components on PCB, such as Diode, Resistors, Capacitors and Integrated Circuits (IC). These blue and red lines going criss-cross are the Tracks, which form electrical connections between components. And these Yellow and grey objects are actually footprints or pads of components. I Know that tracks, via and Pads are new parameters for you but don’t worry I will give you a simple answer for your understanding. Traces or Tracks: A trace is a piece of copper, think of a wire, that makes an electrical connection between 2 or more points on a pcb. Traces carry current between these two points on the printed circuit board. You can see an image where RED and BLUE are tracked. Pads: Pads are small areas of copper in predetermined shapes normally used to make a connection to a component pin. Vias: A via is a physical piece of metal that makes electrical connections between layers on the printed circuit board. Vias can carry signals or power between layers using plated through holes. Using this technology a via is formed by drilling a hole through the layers to be connected and then plating the inner surface of the drilled hole. Vias should be sized according to the traces connecting between layers and ultimately how much power it must carry. I think You got a basic idea about what exactly a PCB is… correct? So let’s move further and discuss, What are the designing tools of PCB? PCB Designing Software 1) Eagle 2) OrCAD 3) Proteus 4) KiCad 5) Altium Designer 6) EasyEDA These are some of the famous EDA software presently available in the market. One can use any one of the above lists as per their convenience of use. These are some of the famous EDA software presently available in the market. One can use any one of the above lists as per their convenience of use.EagleorCadProteusKiCadAltium DesignerEasyEDA Previous Next Application: Medical and Healthcare Industry Illumination and Lighting Industry Consumer Electronics Industry Industrial Equipment Industry Aerospace Industry Automotive Industry Safety and Security Equipment Industry Telecommunications Industry Military and Defense Summary To summarize, in this blog first, we did an introduction of PCB. Then we discussed the basics of Electronics. We introduce the Basic Concepts of PCB like Schematic, PCB layers, etc. We discuss some of the PCB designing software and applications currently used in the market. References 1.http://www.pic-control.com/pcb-design-service/ 2.https://qualityinspection.org/electronics-videos-basics-pcb-pcba-smt-process/ 3.https://kitflix.com/how-to-study-pcb-design-getting-started-with-printed-circuit-boards/ 4.https://usa.pcbpower.com/application-and-use-of-pcbs.html  5.https://www.goldphoenixpcb.com/html/Support_Resource/arc_177.html Author: Kunal Gupta

Read More »
DESIGNING STEPS OF PCB

Hello Friends, This is the second blog of the series of PCB designing. Today we are discussing Steps for PCB Designing, Types of Component and methods for mounting components onto a PCB and designing steps. So before discussing the Method for Mounting Components on PCB, first we will discuss the process or different stages of PCB designing. In order to design a PCB, one has to follow below steps : 1. Create the schematic 2. Link footprints to the components in the schematic 3. Generate a netlist 4. Create desired PCB shape in PCB editor 5. Import the netlist in PCB editor 6. Define design rules 7. Place the footprint of the component at desired location 8. Route the tracks to form electrical connections       between various components 9. Add labels and identifiers on PCB 10. Generate design file Types of Components and Its Symbol :- So these are some symbols that are used to prepare the schematic. Methods for mounting components onto a PCB. 1. Through Hole: Through-hole components are best used for high-reliability products that require stronger connections between layers. Through-hole component leads run through the board, allowing the components to withstand more environmental stress. This is why through-hole technology is commonly used in military, automobile, and aerospace products that may experience extreme accelerations, collisions, or high temperatures. Through-hole technology is also useful in test and prototyping applications that sometimes require manual adjustment and replacement. 2. SMD (surface-mount devices): SMD components are much smaller than THM components. This will increase the overall density of the board tremendously. Using a Pick and Place machine for placing the components will reduce production time.SMD components are mostly cheaper compared to THM components. surface-mount devices (SMDs) are secured only by solder on the surface of the board SMD components are not suitable for prototyping or testing of small circuits. SMDs cannot be used directly with breadboards SMD solder connections may be damaged by potting compounds going through thermal cycling. EasyEDA Online Tool We will start from EasyEDA, a great web-based EDA(Electronics Design Automation) tool for electronics engineers, educators, students, makers, and enthusiasts. There is no need to install any software. Just open EasyEDA in Browser. EasyEDA Provides: Simple, Easy, Friendly, and Powerful drawing capabilities Works Anywhere, Anytime, on Any Device Real-time Team Cooperation Sharing Online Thousands of open-source projects Integrated PCB fabrication and Components purchase workflow API provided Script support Schematic Capture PCB Layout: Design Rules Checking(DRC) Multi-Layer, 6 copper layer supported Document export(PDF, PNG, SVG) Altium Designer format export BOM export 3D View Generate fabrication file(Gerber) Export Pick and Place file Auto Router Designing Steps Open EasyEDA Tool On Browser Register in EasyEDA Create New Project Draw Schematic Convert that file into BoARD FILE Track the air wire Select needed layers Print the Document Summary In this second blog, we introduced designing steps. Then we discussed the method of mounting components. Introduced the Easyeda Online tool. Reference : https://payatu.com/blog/rupesh/PCB%20Designing%20-%20Basics https://blog.thedigisource.com/through-hole-smt https://www.vishay.com/docs/45242/throughholevssmdcomponents.pdf https://eprpartner.com/through-hole-vs-surface-mounted https://docs.easyeda.com/en/Introduction/Introduction-to-EasyEDA/index.html https://circuitdigest.com/article/design-electronic-circuits-online-with-easyeda Author: Kunal Gupta

Read More »
INTRODUCTION TO MPU6050IC

Most of us are fans of Video Games. We played a lot of games on our mobiles like PUBG, Call Of Duty and my personal favorite Asphalt. In all these games one thing we all notice is that as we rotate or bend our phone, the car also rotates in the same direction.  Have you ever imagined how this would happen? Well their are electronic sensors:  accelerometer and Gyroscope Lets dive into this blog, to know the Ans for this!!! What is an ACCELEROMETER WORKING Let us assume a small ball being placed in a box filled with vacuum and no external force is applied to it (i.e., consider the situation of outer space). Now initially the ball will be at the center of the box. Consider each side of the box as an axis. Suddenly we start moving the box to the left side  with the acceleration of ‘g’ (i.e., 9.8m/s2), the ball will hit the +X side of the box. Since no external force is acting on it, and the entire thing is weightless (vacuum state), hence the force comes out to be ‘g’. Consider another scenario when the box is moved upwards with the same acceleration ‘g’. Now again the ball will hit the downward side of the box i.e. +Z axis with the force equal to ‘g’. This is just a simple explanation on how an accelerometer works but in practical scenario accelerometers are based on MEMS technology built on a silicon wafer with companion CMOS electronics through wafer-level bonding. Taking the above situation in mind, there consists of a silicon wafer having polysilicon springs connected with a suspended plate covered with fixed mass around it on the wafer where in between the space, this fixed plate moves. This entire structure reflects the changes whenever acceleration is applied across the X,Y and Z axis. This reflection is reflected by the capacitance change placed in between the fixed masses as the suspended plate moves thus the sensor records this change in capacitance as the final reading. GYROSCOPE WORKING Since the accelerometer measures the linear acceleration, the gyroscope on the other hand measures the angular rotation which is accomplished by Coriolis Effect. Coriolis Effect The Coriolis Effect states that when a mass (m) moves in a specific direction with a velocity (v) and an external angular rate (Ω) is applied, the Coriolis Effect generates a force (F) that causes the mass to move perpendicularly. The value of this displacement is directly related to the angular rate applied. Consider two masses oscillating in opposite directions at a constant frequency. When an angular rate is applied, the Coriolis effect produced by each mass is in opposite directions, resulting in a proportional change in capacitance between the masses. By measuring this change in capacitance, the angular rate can be calculated. The MEMS sensor consists of a proof mass (i.e., it consists of 4 parts M1, M2, M3. M4) that continuously oscillates inward and outwards in the plane, thus causing a coriolis effect. When the structure is being rotated, the Coriolis Force acts on the moving mass causing oscillations in the plane. There are three modes depending upon the axis along which the angular rotation is applied: Roll Mode: When the angular rate is applied at the X-axis Pitch Mode: When the angular rate is applied at the Y-axis Yaw Mode: When the angular rate is applied at the Z-axis What is A MUST HAVE Motion Interfacing one finds in almost every smartphone and tablet. It is a 3-axis gyroscope and 3-axis accelerometer, in total an integrated 6-axis MotionTracking device all in a single small 4x4x0.9mm package. This package size has been achieved by the MEMS (MicroElectroMechanical System) innovation. Coming to some technical aspect of the IC, It comes with a dedicated I2C sensor bus at 400KHz Features 3 16-bit analog-to-digital converters (ADC) each for digitizing gyroscope and accelerometer outputs. Gyroscope full-scale range of 250,500,1000 and 2000 degree/sec (DPS). Accelerometer full-scale range of 2g,4g,8g,16g and On-chip 1024 Byte FIFO buffer which enables the system to read the sensor data in burst and then enter the low-power mode. Lastly, it operates at a power supply voltage range of 2.375V – 3.46V. Features of ACCELEROMETER in MPU6050IC Features of GYROSCOPE in MPU6050IC Features of ACCELEROMETER in MPU6050IC Features of Accelerometer in MPU6050IC The triple-axis MEMS accelerometer in MPU-60X0 includes a wide range of features:  Digital-output triple-axis accelerometer with a programmable full scale range of ±2g, ±4g, ±8g and ±16g Integrated 16-bit ADCs enable simultaneous sampling of accelerometers while requiring no external multiplexer Accelerometer normal operating current: 500µA  Low power accelerometer mode current: 10µA at 1.25Hz, 20µA at 5Hz, 60µA at 20Hz, 110µA at 40Hz Orientation detection and signaling  Tap detection User-programmable interrupts. Features of GYROSCOPE in MPU6050IC GYROSCOPE FEATURES The triple-axis MEMS gyroscope in the MPU-60X0 includes a wide range of features: Digital-output X-, Y-, and Z-Axis angular rate sensors (gyroscopes) with a user-programmable fullscale range of ±250, ±500, ±1000, and ±2000°/sec  External sync signal connected to the FSYNC pin supports image, video and GPS synchronization Integrated 16-bit ADCs enable simultaneous sampling of gyros Enhanced bias and sensitivity temperature stability reduces the need for user calibration Improved low-frequency noise performance Digitally programmable low-pass filter Gyroscope operating current: 3.6mA Standby current: 5µA  Factory calibrated sensitivity scale factor MPU6050 of MPU6050 Block Diagram of MPU6050 IC Gyroscope sensor Accelerometer sensor Digital Motion Processor (DMP) engine Primary I2C Auxiliary I2C Clock Generation Sensor Data Register FIFO Buffer Interrupts Digital Output Temperature Sensor Bias and LDO Charge Pump Gyroscope sensor Three-axis MEMS rate gyroscope sensor with 16-bit ADCs and signal conditioning It consists of three independent vibratory MEMS gyroscopes, which detect the rotation about the X, Y, Z axis. The capacitive change due to Coriolis Effect is observed whenever a rotation is caused about any of the axes. The corresponding signal is then amplified, demodulated and filtered to the corresponding voltage levels that relate to the angular rate. The sensor has an on chip 16 bit ADC to

Read More »
FlexCAN Peripheral Software Stack Explanation using NXP S32K144 MCU

Overview and motive Objective is to: To get to know what is FlexCAN driver and its features. To Understand How to use FlexCAN Driver(software environment setup and chronology in software configuration)). FlexCAN Driver GUI explanation for configuring FlexCAN Peripheral. Relation of functions of FlexCAN Driver functions via FlexCAN peripheral features. In Depth Understanding of FlexCAN driver functions/data types, with questions like What and why? Chronology of APIs for using basic features of FlexCAN Peripheral for doing CAN communication(How and When?) By basic features we mean the CAN transmission and reception via Mailbox and FiFo mechanism using polling&Interrupt method. What is FlexCAN Driver FlexCAN Driver are set of libraries which are used for using FlexCAN peripheral to do CAN communication via NXP S32K1xx Microcontrollers. Here by library, we mean a set of .h and .c files written in c language. These set of FlexCAN libraries are: Library of FlexCAN Peripheral Hardware registers. Library for FlexCAN Peripheral Interrupt Handlers. Library for FlexCAN peripheral API’s. Miscellaneous files for FlexCAN. Now in FlexCAN Driver there are 3 sets: FlexCAN_Ip.h/.c FlexCAN_Ip_Hw_Access.h/.c FlexCAN IP_Irq.h/.c 3 extra header files: FlexCAN_Ip_DeviceReg.h/FlexCAN_Ip_Types.h/FlexCAN_Ip_Wrapper.h: The first one contains the function and data types through which different features of FlexCAN peripheral are used. Features like of sending data, receiving data, configuring message id filter table and etc. It contains functions like: FlexCAN_IP_Send(). FlexCAN_IP_receive, FlexCAN_IP_RXFIFO and etc. The Second one also contains the functions and data types through which FlexCAN Peripheral registers. Are accessed. Kind of like Bare Metal codes of FlexCAN peripheral are written in this files. And the Functions of this file are used by FlexCAN_Ip.h/.c files. Third one contains the function definition and data types for for IRQ handler of FlexCAN Peripheral And the last one contains the misceeleneours Data types and macros for using flexCAN peripheral. In our application code, we are just going to add FlexCAN_Ip.h header file to access the FlexCAN Driver in our code. And these files are located in the root directory of S32 DS where software installtion of RTD package takes place. FlexCAN Driver and Code Configuration tool relation. Now for using the FlexCAN peripheral, there is a feature of code configuration tool in S32DS via which we can configure the FlexCAN Driver in Gui base. That is instead of writing code, we can confiure how to use FlexCAN Module by GUI presentation. The code configuration tool in S32 Design Studio, generates the set of .c/.h files for FlexCAN peripheral. These are different from library files which I have explained above.  In these generated files it defines and initializes some of the variables. These variables are then used by FlexCAN APIs in the application code. This support of code configuration tool makes it easy for configuring FlexCAN module in easy way via GUI presentation and variables which are generated by code configuration tool are used as parameters in FlexCAN APIs to use them in application code. So, in short to say, code configuration tool generates the values of some of the parameters that has to be send in FlexCAN Driver API. Closure of FlexCAN Driver: There are number of files, functions and data types but for now we are going to concentrate on those which will be required for using FlexCAN in Standard CAN, in normal mode for transmitting and receiving via mailbox and FiFo mechanism. In FlexCAN library there are number of functions and data types through which all the features of FlexCAN peripheral can be used. But we are not going to dwell into all functions and data types. We are just going to cover the functions and data types through which we can send and transmit can data via mailbox/rxfifo mechanisms. As this is the scope of this course and module, for other functions and features you can explore our Advance CAN Courses or can reach out to us privately, Software to install to use FlexCAN Peripheral Driver To use FlexCAN Peripheral Driver, we need to install following things in your Host Desktop/PC: S32 Design Studio IDE 3.4 or 3.5 (any will work though here, we are going to use S32 Design Studio 3.4) S32K1 Real Time Drivers Version 1.0.0 S32 Design Studio 3.4 S32K1 Real Time Drivers Version 1.0.0 S32K1 RTD V1.0.0 is Software Stack for using NXP S32K1xx microcontrollers. It Contains Peripheral Driver library files for using the S32K1xx microcontroller peripherals. It supports all peripherals of S32K1xx MCU’s.  This Software Stack contains 2 packages: Autosaur MCAL layer complaint and standard based peripheral driver files for S32K1xx MCU’s. It is Autosar 4.4.0 complaint. Non-Autosar based peripheral driver files for S32K1xx MCU’s.  It is a collection of peripheral drivers designed to simplify and accelerate application development on NXP microcontrollers. From Learning point of view and long-term skill development, having handson with Autosaur MCAL layer based peripheral driver file would be a good starting point. But as a fresher it might be more challenging to start with autosar standard. So In this blog, we are going to explore Non-Autosar based peripheral driver for FlexCAN module.  Further once having basic Handson with Non-Autosar, will explore Autosar MCAL layer based peripheral driver. Refer to this blog/video to get to know how to install S32 Design Studio 3.4 and Install S32K1 Real Time Drivers v1.0.0. Also it is recommended to explore Code Configuration Tool and Project Creation Modules of S32 Design Studio IDE, so as to get understanding how to use S32 Design Studio throughout the learning cycle. How to use FlexCAN Peripheral Driver FlexCAN Driver can be used via S32 Design Studio Code Configuration tool which provides Graphical User Interface manner in S32 Design Studio IDE, through which we can generate the FlexCAN driver libraries and code automatically in our project. This thing makes it easy to develop applications fast and easy way. The Code Configuration tool generates 2 things: Library Files to use FlexCAN Peripheral. Configured parameters in the form of Data Types (structures, macros, arrays and etc.), which are used as input parameters in different functions of library files. Chronology to follow

Read More »
What is Altium

What is Altium? Altium is a PCB design tool,  PCB stands for Printed Circuit Boards and the designing process for a PCB include: Schematic capture, Layout, SPICE simulations, Library and footprint creation, Part tracking, sourcing and revision tracking of both the components used in the design and design itself. It is like git for PCBs and Altium provides tools and resources for all parts of the PCB design workflow.The Altium designer comes with an easy-to-use interface that has lots of features for the PCB designer, like revision control and hot-keys. Altium has 4 SoftwareAltium DesignerAltium NexusAltium Circuit StudioAltium Circuit Maker Previous Next All these software provide a robust framework for the PCB designer to acquire skills of a cross-function multidisciplinary role, because PCB design requires understanding and knowledge of electronic, electrical, and mechanical theory and implementation mechanisms like testing equipment used, designing equipment, and of course manufacturing. Altium software offers the user the ability to interact and collaborate with the mechanical, electronic, and electrical designer through various tools integrated into the software which provide a seamless and robust framework for the designer. Figure 1 Altium 3D mechanical rendering. With the increase in remote working Altium software also offer cloud storage for saving projects, rendering projects, and even saving and running SPICE simulations! Author: Kunal Gupta

Read More »
Kunal Gupta
Author: Kunal Gupta

Author

Kunal Gupta

Leave a comment

Stay Updated With Us

Error: Contact form not found.

      Blog