The Kynix Blog - General electronic semiconductor
Stay Ahead with Expert Electronics Insights,
Industry Trends, and Innovative Tips
- Electronic Components
- News Room
- General electronic semiconductor
- Components Guide
- Sort by
- Robots
- Transmitters
- Capacitors
- IC Chips
- PCBs
- Connectors
- Amplifiers
- Memory
- LED
- Diodes
- Transistors
- Battery
- Oscillators
- Resistors
- Transceiver
- RFID
- FPGA
- Mosfets
- Sensor
- Motors, Solenoids, Driver Boards/Modules
- Relays
- Optoelectronics
- Power
- Transformer
- Fuse
- Thyristor
- potentiometer
- Development Boards
- RF/IF
- Semiconductor Information
- Sensors
- PCB
- transistor
DescriptionIt's not weird to discover that applications are becoming more complex,with connectivity just one of the drivers. And,as it become more complex.the number of sensors grows,as does the need for more capable user interfaces. At the same time,algoriths need more processing power,wireless stacks mandate larger memories and power budgets are shrinking.In order to coping with the growing list of demands, a great number of leading MCU manufacturers have recently launched Micro Controller Unit built around the ARM Cortex-M4 core. BodyThe M3 is general purpse and the M0+is low cost but the M4 is a more capable core in general if look at the Cortex range. Oivind Loe,a senior strategic marketing manager with Sillicon Laboratories said. Microchip's product marketing manager--Anand Rangara commented:“Something that sat around without the need to communicate now needs connectivity. When that happens, you need more flash and RAM, as well as graphics capability and perhaps the ability to support a touch interface. All this has to be offered at good power/performance and an attractive price.” 'Industrial Strength' MCUsSilicon Labs has expanded its EFM32 Gecko portfolio with what it calls ‘industrial strength’ MCUs. It says the EFM32GG11 Giant Gecko MCU family offers the ‘most advanced’ feature set available in the low-power MCU market.Loe noted that MCU development isn’t just about power. “It’s also about executing tasks efficiently. A simple program with a few clocks will run efficiently on an M0+ core. But if the workload is larger, the M4 core has some special instructions that can allow it to use less energy than the M0+ and more efficiently than some larger cores – and that's crucial for a range of application.” GG11 Geckos offer up to 2Mbyte of flash and 512kbyte of RAM to accommodate more code and comms stacks, such as a 10/100 Ethernet MAC and a dual CAN interface. Looking to meet power budgets, the parts boast an active power consumption of 77μA/MHz, while drawing 1.6μA in deep sleep mode. FPU to Increase System EffiencyMicrochip’s SAM D5x/E5x MCUs also take advantage of the Cortex-M4’s floating point unit (FPU) to increase system efficiency. Running at up to 120MHz, the D5x and E5x MCUs come with up to 1Mbyte of dual-panel flash and up to 256kbyte of SRAM. Rangarajan noted: “We’ve listened to our customers, so we’ve included more connectivity in these MCUs. But it's not just about adding memory , it’s also about more performance and the ability to provide more flexible peripherals, interfaces and connectivity options.” Meanwhile,he pointed out that the original SAM D MCUs – developed by Atmel prior to its acquisition by Microchip – were based on the Cortex-M0+. “But we’ve always wanted to take the product line to the next level of performance. This allows Microchip to address a broader range of consumer and industrial automation applications.” Limited the Clock RateBucking the trend to a certain extent, both Silicon Labs and Microchip have limited the clock rate in their latest MCUs. Giant Geckos, for example, have a maximum clock of 72MHz. “These products are focused on energy efficiency,” Loe claimed. “If you build an MCU to run at 200MHz, for example, then each clock cycle will consume more energy than in an MCU running at 72MHz. A lot of MCUs will be used in battery powered apps, so we need to be energy efficient and to enable the CPU to sleep a lot.” Rangarajan agreed that clock rate is not always the primary factor when it comes to developing MCU portfolios. “We hear our customers saying don’t give me faster clock rates, make sure the MCUs meet my requirements. An app that runs from a battery requires a power efficient MCU. If you want a fast MCU, then you have to make trade offs.” In Loe’s views, MCU selection is all about the ability to perform certain tasks at a particular power efficiency. “That is always going to involve trade offs, but an M4 based MCU will generally be good for embedded applications with challenging energy consumption requirements.” Adopt the Concept of Smart PeripheralsBoth companies have adopted the concept of smart peripherals in their recent products. Loe explained: “Twenty years ago, most MCUs saw the CPU doing everything. That took a lot of CPU cycles, which meant you couldn’t do as much as you might have liked.“Today, most apps will take advantage of DMA, which offloads the CPU. In turn, this allows the CPU to do more.” Rangarajan said Microchip provides what he called ‘sleepwalking’ peripherals. “If there’s a requirement for them to do small numbers of transactions, this can be done without waking the CPU.” On the other hand,Sillicon Loe Noted that It’s all about when you have to wake up the M4 core. We’re trying to allow it to sleep for as much as possible. More than half of the peripherals in a Giant Gecko can run autonomously in deep sleep mode. Both Companies are Keen to Highlight Their Provision Silicon Labs has launched a starter kit to support Giant Gecko based application development(following picture) With this approach, a Giant Gecko’s A/D converter can operate while the CPU is in deep sleep mode. “It can sample and use DMA to pull the data into RAM,” Loe continued.Loe highlighted a couple of aspects. “We have included a cyrotimer that runs in shut off; the lowest energy mode. It’s a simple timer that’s useful when you need the CPU to be asleep for minutes. there’s the Peripheral Reflex System, which allows peripherals to talk. For example, the real time clock could tell the A/D converter to take a sample. It gives a level of determinism which you don’t get from a CPU. Microchip's Product brings better power efficiency How does an MCU developer differentiate their products from similar devices with an M4 core? Rangarajan pointed to the integration of a buck regulator. “This brings better power efficiency,” he claimed, “which means lower active power consumption; as little as 65µA/MHz. The parts also support flexible pin options.”“We’re offering the best integrated security features,” Rangarajan contended. “SAM Dx/Ex MCUs have crypto hardware acceleration – symmetrical and asymmetrical – and public key encryption, amongst other features. It’s something Microchip has taken to heart and has made sure it’s all in the MCU.“We’re offering the best integrated security features,” Rangarajan contended. “SAM Dx/Ex MCUs have crypto hardware acceleration – symmetrical and asymmetrical – and public key encryption, amongst other features. It’s something Microchip has taken to heart and has made sure it’s all in the MCU. EndLoe pointed to the security management unit (SMU) as an ‘upgrade’ to the memory protection unit (MPU) associated with the M4’s core. “While the MPU allows you to segment memory into eight regions, the SMU takes that further. The MPU is restricted to eight regions, so there is limited granularity. The SMU allows you to selectively say which pieces of code can access each peripheral.” “All of this is important,” Rangarajan concluded, “as security will become standard in the next few years.”
kynix On 2017-11-24
This is a good day because kynix will share an interesting project with you -- Luminous Halloween Costume ! Halloween is coming soon and I know at least that some of you are still procrastinationg you costume build. That's ok,I would share a fun and easy luminous Halloween costume that takes almost no time to buildstill impresses the pants off your friendsis appropriate for all ages So at first,we should prepare some components as follow: Knit Hat in Red, Green, Blue or White,etcBlack T-shirtElectrical TapeHot Glue Gun and GlueSoldering IronSolderQduino Mini Dev BoardWS2812 LED StripLiPo Battery Next,let's start to make it. The first step,I made the shirt which will represent the anode and cathode of the LED.Ake the electrical tape and cut it into two pieces. One should be about 2 inches shorter than your shirt, and the other about 4 inches shorter. On each piece cut one edge into a point. Then place them on the shirt parallel to each other, pointing downward from the collar. Set this aside. The second step, place the hat on whoever will be wearing the costume — or someone with a head similar in size. Fold up the bottom to make a small lip. Starting in the back, hot glue the LED strip to the hat, wrapping it around the hat from the bottom and moving up. Cut the LED strip when there is about 1 to 2 inches of hat left at the top. Next,take the hat off and count the number of LEDs on it. After that,we need to use the program provided below to program Qduino.You will need to make two small edits. First, update numPix variable to the number of LEDs on your hat. Then find the four colorWipe commands in the loop function. You will notice that I have included red, green, blue and white. Comment out the lines that are not the same color as your hat. If you have not already, you will need to install Adafruit’s Neopixel Library and the Qduino board into your board manager in Arduino. For more instructions on how to do this, please visit this Qduino Hookup Guide and our Arduino Library Installation tutorial. Upload your program using the code below://Melissa Felderman for SparkFun Electronics. Functions have been taken from the adafruit neopixel library example code. #include <Adafruit_NeoPixel.h> #define PIN 2 int numPix=150; Adafruit_NeoPixel strip = Adafruit_NeoPixel(numPix, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); strip.show(); // Initialize all pixels to 'off'} void loop() { // comment out all lines except the color you want on your hat. colorWipe(strip.Color(255, 0, 0), 50); // Red colorWipe(strip.Color(0, 255, 0), 50); // Green colorWipe(strip.Color(0, 0, 255), 50); // Blue colorWipe(strip.Color(0, 0, 0), 50); // White } // Fill the dots one after the other with a colorvoid colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i<strip.numPixels(); i++) { strip.setPixelColor(i, c); strip.show(); delay(wait); }} Finally,Solder the LED strip’s leads to the Qduino. The DIN lead should go to D2 on the Qduino, VCC to VCC, and GND to GND. Pop in a LiPo battery to your Qduino and turn on to test. Put on the black shirt and then the hat. Fold the bottom edge over again to make a lip. Hide the Qduino and LiPo inside, and then turn it on. Now you are a luminous human!
kynix On 2017-10-25
Today,let's talk something about MSP430 interrupts and times. About "Interrupt" Do you know what is an "interrupt"? Interrupt is a signal that informs our MCU that a certain event has happened,causing the interruption of the normal flow of the main program and the execution of an "interrupt routine",that handles the event and takes a specified action. Interrupts are essential to avoid wasting the processor's valuable time in polling loops, waiting for external events (in fact they are used in Real-Time Operating Systems, RTOS). In the MSP430 architecture, there are several types of interrupts: timer interrupts, port interrupts, ADC interrupts and so on. Each one of them needs to be enabled and configured to work, and there is a separate "service routine" for every interrupt. About code Now let's see how to use timer and port interrupts to flash some LEDs,we will keep the ADC interrupt for the next turorial. So,let's write some code! #include "msp430g2231.h" void main(void){ WDTCTL = WDTPW + WDTHOLD; // Stop WDT You should recognize those lines,we used them in the last tutorial to add the definition file for our MCU, declare the main function and stop the watchdog timer. CCTL0 = CCIE; // CCR0 interrupt enabled TACTL = TASSEL_2 + MC_1 + ID_3; // SMCLK/8, upmode CCR0 = 10000; // 12.5 Hz Here's some interesting stuff. These lines configure the timer interrupt. We first enable it by setting the CCIE bit in the CCTL0 register. Then we set the clock for the timer module in the TimerA control register. If you have a look at the msp430g2231.h file, you can see that: TASSEL_2 selects the SMCLK (supplied by an internal DCO which runs at about 1 MHz); MC_1 selects the "UP mode", the timer counts up to the number stored in the CCR0 register; ID_3 selects an internal 8x divider for the supplied clock (in our case we have SMCLK/8). Finally, we set the CCR0 register. We configured the TimerA module to count up to the number stored in this register before overflowing and triggering the interrupt. By setting it at 10000, we get an overflow-frequency of 12,5 Hz. In fact we have (SMCLK/8)/10000 = 12,5 . You may obtain several frequencies by changing this number (remember that the MSP430 has a 16-bit timer, so the value stored in the CCR0 register must not be higher than 65535), changing the dividers or adding an if-else block with a counter in the interrupt routine. Let's go ahead. P1OUT &= 0x00; // Shut down everything P1DIR &= 0x00; P1DIR |= BIT0 + BIT6; // P1.0 and P1.6 pins output the rest are input P1REN |= BIT3; // Enable internal pull-up/down resistors P1OUT |= BIT3; //Select pull-up mode for P1.3 These lines should be familiar too, but there are some additions: firstly, we clear the PORT1 output and direction registers. Then we set the P1.0 and P1.6 pins as outputs and the rest as inputs. The last two lines enable the pull-up resistor on the switch (BIT3) so that the normal state (button not pressed) will be "1". P1IE |= BIT3; // P1.3 interrupt enabled P1IES |= BIT3; // P1.3 Hi/lo edge P1IFG &= ~BIT3; // P1.3 IFG cleared With these lines of code, we first tell the MCU to listen to the P1.3 pin for logic-state changes (effectively enabling the interrupt on that particular pin). Then we select the edge when the interrupt is raised (from High to Low or Low to High); remember that the button on the LaunchPad connects the input pin to GND when pushed and to VCC when not. For this reason we seletct Hi/Lo edge. Finally we clear the interrupt flag for that pin. The interrput flag register P1IFG reports when an interrupt is raised, and it should be cleared at the end of the interrupt service routine. _BIS_SR(CPUOFF + GIE); // Enter LPM0 w/ interrupt while(1) //Loop forever, we do everything with interrupts! {}} With this line, as you can remember, we shut down the CPU to spare some power while keeping the interrupts enabled. Then we enter a loop to be sure the MCU does nothing else, as we do our job with interrupts. // Timer A0 interrupt service routine#pragma vector=TIMERA0_VECTOR__interrupt void Timer_A (void){ P1OUT ^= BIT0; // Toggle P1.0} This is the TimerA interrupt service routine. Every time the TimerA overflows, the code inserted in this routine (note the special declaration) is executed. As you can see we only toggle the P1.0 pin (red led on LaunchPad), then we return to normal execution. // Port 1 interrupt service routine#pragma vector=PORT1_VECTOR__interrupt void Port_1(void){ P1OUT ^= BIT6; // Toggle P1.6 P1IFG &=~BIT3; // P1.3 IFG cleared } This is the Port1 interrupt service routine. Every time the we push the P1.3 button, the code inserted in this routine (note the special declaration) is executed. We toggle the P1.6 pin (greenled on LaunchPad), clear the P1.3 interrupt flag (very important) and then we return to normal execution. Compile and program the LaunchPad, you should see the red led blink, and the green led toggle when you press the P1.3 button. Here's the full code, enjoy! #include "msp430g2231.h" void main(void){ WDTCTL = WDTPW + WDTHOLD; // Stop WDT CCTL0 = CCIE; // CCR0 interrupt enabled TACTL = TASSEL_2 + MC_1 + ID_3; // SMCLK/8, upmode CCR0 = 10000; // 12.5 Hz P1OUT &= 0x00; // Shut down everything P1DIR &= 0x00; P1DIR |= BIT0 + BIT6; // P1.0 and P1.6 pins output the rest are input P1REN |= BIT3; // Enable internal pull-up/down resistors P1OUT |= BIT3; //Select pull-up mode for P1.3 P1IE |= BIT3; // P1.3 interrupt enabled P1IES |= BIT3; // P1.3 Hi/lo edge P1IFG &= ~BIT3; // P1.3 IFG cleared _BIS_SR(CPUOFF + GIE); // Enter LPM0 w/ interrupt while(1) //Loop forever, we work with interrupts! {}} // Timer A0 interrupt service routine #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A (void) { P1OUT ^= BIT0; // Toggle P1.0 } // Port 1 interrupt service routine#pragma vector=PORT1_VECTOR__interrupt void Port_1(void){ P1OUT ^= BIT6; // Toggle P1.6 P1IFG &= ~BIT3; // P1.3 IFG cleared }
kynix On 2017-10-14
Background Nowadays,more and more people need wifi and they can not leave it.More and more family has connected with wifi even in undeveloping country or area.Today,let's make a wifi based home automation project to realize that controlling home devices by using wifi as wireless communication. In this project,we will using esp8266 wifi module and Arduino Uno R3,We have also posted a similar project using pic microcontroller based home automation over wifi. you may also like to check it. components we needESP8266 Wifi Module: ESP8266 is a wifi chip that provides Transfer Control Protocol (TCP) and Internet Protocol (IP). There are different ESP8266modules available in the market. In this project we are using the first model. It has 6 pins and operates on 3.3v. ESP8266 was initialized via the following commands:ATAT+CWMODE = 3AT+CIFSRAT+CIPMUX = 1ESP8266 was then connected to the mobile hotspot by the following commands:AT+CWLAP (returns the list of the available Wi-Fi networks available)AT+CWJAP = “SSID”, “password” Example: AT+CWJAP = “PTCL-BB”, “12345467”Arduino Uno: Arduino is development boards build around ATmega 328P. Arduino is perfect for this project as it provides much pins to interface relay module,16×2 LCD and ESP8266 wifi module4 channel Relay Module: Relay is used to switch on and off higher voltages devices by using low dc voltages such as signal from Arduino digital pin. In this project we used 4 channel relay module it is easy to interface with Arduino instead of connecting each relay separately. It can bears up to 250VAC and 10 amps of current.16X2 LCD: 16×2 LCD is used to display 16 characters in two lines. It is easy to interface with Arduino due to its available library. In this project this LCD is used to display the status of the appliances whether it is on or off. Project Circuit Diagram Connections 16×2 LCD:VSS to ground.VDD to supply voltage.VO to adjust pin of 10k potentiometer.RS to Pin A0.RW to ground.Enable to Pin A1.LCD D4 to Pin A2.LCD D5 to Pin A3.LCD D6 to Pin A4.LCD D7 to Pin A5.Ground one end of potentiometer.5v to other end of potentiometer. 4 Channel Relay modules:External 5 volt to JD VCC.Ground to ground.Ini1 to Pin 3.Ini2 to Pin 4.Ini3 to Pin5.Vcc to Arduino 5v.Connect one terminal of all bulbs to normally open terminal of relays. One end of 220VAC to all common terminals of relay and other end with other terminal of bulbs. ESP8266 wifi module to Arduino:Module Vcc to 3.3v.Module CH_PD to 3.3v.Module Ground to Arduino ground.Module Tx to Arduino Rx.Module Rx to Arduino Tx. Working Download the S Remote application from Google Play Store. Open the application, go to Setting>>Advance>>Layout and select the Button according to your desire. Then select IP and enter the IP address which is get when we initialize ESP8266 wifi module using this command “AT+CIFSR”. IP address is written in third line such as “192.168.10.4”. Then write the port which is “80” in port option. Go to Setting>>Keys and then select key1 and write the label to display on button and then the data which you want to send to Arduino. Click the TCP button. Similarly write the label and data in others keys. If you connect everything correctly then power up the circuit and open serial monitor, it takes few seconds to initialize wifi module. Press the button on application, the data is send by application to Arduino through Wifi and then Arduino performs operations according to instructions and the status on devices are display on LCD.
kynix On 2017-10-13
(Researchers have developed an algorithm that allows residential customers to share power from the renewable energy sources in their homes during an outage.) If you think you can use the solar panels on your roof to power your home during an outage, think again. During an outage, while your home remains connected to the grid, the devices that manage your solar panels are powered down for safety reasons. In other words, this permanent connection to the grid makes it impossible for homeowners to draw on power generated by their own renewable energy resources. A team of engineers at the University of California San Diego wants to change this. They have developed algorithms that would allow homes to use and share power from their renewable energy sources during outages by strategically disconnecting these devices, called solar inverters, from the grid. The algorithms work with existing technology and would improve systems' reliability by 25 to 35 percent. Researchers detail the algorithms and their applications in a paper they presented at the American Control Conference in Seattle, Wash. "We were inspired to start investigating a way to use renewable power during outages after Hurricane Sandy affected eight million people on the East Coast and left some without power for up to two weeks," said Abdulelah H. Habib, a Ph.D. candidate in mechanical engineering at UC San Diego and the paper's first author. Our Society is Dependent upon ElectricityJust a few hours without power can cause massive losses to both product and revenue.We rely on electricity much more than we realize. Even if you live "off the grid," as I did for years, you are still living in a world and a society that is deeply dependent upon electricity. If the power is out for a few hours, we have all experienced that; of course you'll be fine. Maybe you will be a little bored and inconvenienced, but if the outage is lengthy and widespread, the consequences can be much more severe, even deadly. What would happen if the electricity was out for a week?Every year, 7 million customers experience power outages. Outages that last more than 5 to 10 minutes cost customers more than $80 billion each year. How the Algorithm WorksThe innovation here is the algorithm's capability to prioritize distribution of power from renewable resources during an outage. The equations take into account forecasts for solar and wind power generation as well as how much energy storage is available, including electric vehicles, batteries and so on. The algorithm combines that information with the amount of energy that the residents are projected to use as well as the amount of energy that a cluster of homes can generate.The algorithm could also be programmed to include a priority function, based on different parameters. For example, customers who are willing to pay more could get priority to get power during an outage. Or customers who generate more energy than they produce during normal operations would not lose power during an outage. More importantly, the algorithm could give priority to customers who are in urgent need of power, because they use life support equipment, for example. Ref.KY605-LC-R064R5PKY605-0860-0004
kynix On 2017-09-16
(Metal-semiconductor-metal junction (tunnel barrier) incorporated into a single graphene nanoribbon: The atomic and electronic structure of the nanoribbons can be probed with atomic resolution using advanced microscopic techniques.) Essential electronic components, such as diodes and tunnel barriers, can be incorporated in single graphene wires (nanoribbons) with atomic precision. The goal is to create graphene-based electronic devices with extremely fast operational speeds. The discovery was made in a collaboration between Aalto University and their colleagues at Utrecht University and TU Delft in the Netherlands. The work is published in Nature Communications. The 'wonder material' graphene has many interesting characteristics, and researchers around the world are looking for new ways to utilise them. Graphene itself does not have the characteristics needed to switch electrical currents on and off and smart solutions must be found for this particular problem. "We can make graphene structures with atomic precision. By selecting certain precursor substances (molecules), we can code the structure of the electrical circuit with extreme accuracy," explains Peter Liljeroth from Aalto University, who conceived the research project together with Ingmar Swart from Utrecht University. Seamless integration The electronic properties of graphene can be controlled by synthesizing it into very narrow strips (graphene nanoribbons). Previous research has shown that the ribbon's electronic characteristics are dependent on its atomic width. A ribbon that is five atoms wide behaves similarly to a metallic wire with extremely good conduction characteristics, but adding two atoms makes the ribbon a semiconductor. "We are now able to seamlessly integrate five atom-wide ribbons with seven atom-wide ribbons. That gives you a metal-semiconductor junction, which is a basic building block of electronic components," according to Ingmar Swart. Chemistry on a surface The researchers produced their electronic graphene structures through a chemical reaction. They evaporated the precursor molecules onto a gold crystal, where they react in a very controlled way to yield new chemical compounds. "This is a different method from that currently used to produce electrical nanostructures, such as those on computer chips. For graphene, it is so important that the structure is precise at the atomic level and it is likely that the chemical route is the only effective method," Ingmar Swart concludes. Electronic characteristics The researchers used advanced microscopic techniques to also determine the electronic and transport characteristics of the resulting structures. It was possible to measure electrical current through a graphene nanoribbon device with an exactly known atomic structure. "This is the first time where we can create e.g. a tunnel barrier and really know its exact atomic structure. Simultaneous measurement of electrical current through the device allows us to compare theory and experiment on a very quantitative level," says Peter Liljeroth. Source:Aalto University Ref.MN3306STTH2002G-TR
kynix On 2017-08-02
Join our mailing list!
Be the first to know about new products, special offers, and more.
Feature Posts
How Resistors Work: From Basic Principles to Advanced Applications2025-07-30
DC Switching Regulators: Principles, Selection, and Applications2025-05-30
FPGA vs CPLD: In-depth Analysis of Architecture, Performance and Application2025-05-07
MOSFET Technology: Essential Guide to Working Principles & Applications2025-05-04
SMD Resistor: Types, Applications, and Selection Guide2025-04-30