Search

Thursday 31 May 2012

I2C Tutorial

This I2C tutorial shows you how the I2C protocol works at the physical bit level. It only discusses single master mode (a single controlling device) as this is the most common use for I2C in a small system.

I²C (pronounced I-squared-C) created by Philips Semiconductors and commonly written as 'I2C' stands for Inter-Integrated Circuit and allows communication of data between I2C devices over two wires. It sends information serially using one line for data (SDA) and one for clock (SCL).
i2c tutorial master and slaves diagram

Master and slave

The phillips I2C protocol defines the concept of master and slave devices. A master device is simply the device that is in charge of the bus at the present time and this device controls the clock and generates START and STOP signals. Slaves simply listen to the bus and act on controls and data that they are sent.
The master can send data to a slave or receive data from a slave - slaves do not transfer data between themselves.

Multi Master

Multi master operation is a more complex use of I2C that lets you have different controlling devices on the same bus. You only need to use this mode if you have more than one microcontroller on the bus (and you want either of them to be the bus master).
Multi master operation involves arbitration of the bus (where a master has to fight to get control of the bus) and clock synchronisation (each may a use a different clock e.g. because of separate crystal clocks for each micro).
Note: Multi master is not covered in this I2C tutorial as the more common use of I2C is to use a single bus master to control peripheral devices e.g. serial memory, ADC, RTC etc.

Data and Clock

The I2C interface uses two bi-directional lines meaning that any device could drive either line. In a single master system the master device drives the clock most of the time - the master is in charge of the clock but slaves can influence it to slow it down (See Slow Peripherals below).
The two wires must be driven as open collector/drain outputs and must be pulled high using one resistor each - this implements a 'wired AND function' - any device pulling the wire low causes all devices to see a low logic value - for high logic value all devices must stop driving the wire.
Note : If you use I2C you can not put any other (non I2C) devices on the bus as both lines are used as clock at some point (generation of START and STOP bits toggles the data line). So you can not do something clever such as keeping the clock line inactive and use the data line as a button press detector (to save pins).
You will often will find devices that you realise are I2C compatible but they are labelled as using a '2 wire interface'. The manufacturer is avoiding paying royalties by not using the words 'I2C'!
There are two wires (three if you include ground!) :
I2C Turorial: Signals definition

SDA : Serial Data
SCL : Serial Clock

I2C Turorial: end of signal definition

I2C Tutorial : Typical SDA and SCL signals
typical i2c signals

Speed

Standard clock speeds are 100kHz and 10kHz but the standard lets you use clock speeds from zero to 100kHz and a fast mode is also available (400kHz - Fast-mode). An even higher speed (3.4MHz - High-speed mode) for more demanding applications - The mid range PIC won't be up this mode yet!
Note that the low-speed mode has been omitted (10kHz) as the standard now specifies the basic system operating from 0 to 100kHz.

Slow peripherals

A slow slave device may need to stop the bus while it gathers data or services an interrupt etc. It can do this while holding the clock line (SCL) low forcing the master into the wait state. The master must then wait until SCL is released before proceeding.

Data transfer sequence

A basic Master to slave read or write sequence for I2C follows the following order:
I2C Tutorial : I2C basic command sequence.
  • 1. Send the START bit (S).
  • 2. Send the slave address (ADDR).
  • 3. Send the Read(R)-1 / Write(W)-0 bit.
  • 4. Wait for/Send an acknowledge bit (A).
  • 5. Send/Receive the data byte (8 bits) (DATA).
  • 6. Expect/Send acknowledge bit (A).
  • 7. Send the STOP bit (P).
I2C Tutorial : end of I2C basic command sequence.
Note: You can use 7 bit or 10 bit addresses.
The sequence 5 and 6 can be repeated so that a multibyte block can be read or written.

Data Transfer from master to slave


I2C Tutorial : Instruction sequence data from master to slave
i2c tutorial master to slave
A master device sends the sequence S ADDR W and then waits for an acknowledge bit (A) from the slave which the slave will only generate if its internal address matches the value sent by the master. If this happens then the master sends DATA and waits for acknowledge (A) from the slave. The master completes the byte transfer by generating a stop bit (P) (or repeated start).

Data transfer from slave to master


I2C Tutorial : Instruction sequence data from slave to master
i2c tutorial slave to master
A similar process happens when a master reads from the slave but in this case, instead of W, R is sent. After the data is transmitted from the slave to the master the master sends the acknowledge (A). If instead the master does not want any more data it must send a not-acknowledge which indicates to the slave that it should release the bus. This lets the master send the STOP or repeated START signal.

Device addresses

Each device you use on the I2C bus must have a unique address. For some devices e.g. serial memory you can set the lower address bits using input pins on the device others have a fixed internal address setting e.g. a real time clock DS1307. You can put several memory devices on the same IC bus by using a different address for each.
Note: The maximum number of devices is limited by the number of available addresses and by the total bus capacitance (maximum 400pF).

General call

The general call address is a reserved address which when output by the bus master should address all devices which should respond with an acknowledge.Its value is 0000000 (7 bits) and written by the master 0000000W. If a device does not need data from the general call it does not need to respond to it.
I2C Tutorial : Reserved addresses.
0000 000 1 START byte - for slow micros without I2C h/w
0000 001 X CBUS address - a different bus protocol
0000 010 X Reserved for different bus format
0000 011 X Reserved for future purposes
0000 1XX X Hs-mode master code
1111 1XX X Reserved for future purposes
1111 0XX X 10-bit slave addressing
I2C Tutorial : End of reserved addresses.
Most of these are not that useful for PIC microcontrollers except perhaps the START byte and 10 bit addressing.

START (S) and STOP (P) bits

START (S) and STOP (P) bits are unique signals that can be generated on the bus but only by a bus master.
Reception of a START bit by an I2C slave device resets its internal bus logic. This can be done at any time so you can force a restart if anything goes wrong even in the middle of communication.
START and STOP bits are defined as rising or falling edges on the data line while the clock line is kept high.
I2C Tutorial : text definition of START and STOP signals
START condition (S) SCL = 1, SDA falling edge
STOP condition (P) SCL = 1, SDA rising edge

I2C Tutorial : end of text definition of START and STOP signals
The following diagram shows the above information graphically - these are the signals you would see on the I2C bus.
I2C Tutorial : end of definition of START and STOP signals

I2C Tutorial : START (S) and STOP (P) bits.
i2c tutorial START and STOP

I2C Tutorial : end of definition of START and STOP signals
Note : In a single master system the only difference between a slave and a master is the master's ability to generate START and STOP bits. Both slave and master can control SDA and SCL.

Repeated START (Sr)

This seems like a confusing term at first as you ask yourself why bother with it as it is functionally identical to the sequence :
S ADDR (R/W) DATA A P
The only difference is that for a repeated start you can repeat the sequence starting from the stop bit (replacing the stop bit with another start bit).
S ADDR (R/W) DATA A Sr ADDR (R/W) DATA A P
and you can do this indefinitely.
Note: Reception of both S or Sr force any I2C device reset its internal bus logic so sending S or Sr is really resetting all the bus devices. This can be done at any time - it is a forced reset.
The main reason that the Sr bit exists is in a multi master configuration where the current bus master does not want to release its mastership. Using the repeated start keeps the bus busy so that no other master can grab the bus.
Because of this when used in a Single master configuration it is just a curiosity.

Data

All data blocks are composed of 8 bits. The initial block has 7 address bits followed by a direction bit (Read or Write). Following blocks have 8 data bits. Acknowledge bits are squeezed in between each block.
Each data byte is transmitted MSB first including the address byte.
To allow START and STOP bit generation by the master the data line (SDA) must not be changed while the clock (SCL) is high - it can only be changed when the clock is low.

Acknowledge

The acknowledge bit (generated by the receiving device) indicates to the transmitter that the the data transfer was ok. Note that the clock pulse for the acknowledge bit is always created by the bus master.
The acknowledge data bit is generated by either the master or slave depending on the data direction. For the master writing to a slave (W) the acknowledge is generated by the slave. For the master receiving (R) data from a slave the master generates the acknowledge bit.
I2C Tutorial : Definition of ACK bits
Acknowledge 0 volts
Not acknowledge High volts

I2C Tutorial : End of definition of ACK bits

ACK data master --> slave

In this case the slave generates the acknowledge signal.
When a not-acknowledge is received by the bus master the transfer has failed and the master must generate a STOP or repeated START to abort the sequence.

ACK data slave --> master

In this case the master generates the acknowledge signal.
Normally the master will generate an acknowledge after it has received data but to indicate to the slave that no more data is required on the last byte transfer the master must generate a 'not-acknowledge'. This indicates to the slave that it should stop sending data. The master can then generate the STOP bit (or repeated START).

I2C Tutorial : Specifics for the 16F88

Pin configuration

To use the I2C mode in the 16F88 the SDA and SCL pins must be initialised as inputs (TRIS bit = 1) so that an open drain effect is created. By setting them as inputs they are not driving the wires and an external pull up resistor will pull the signals high.

Slave mode

The 16F88 fully implements all slave functions except general call.
The general call function does not really matter as it is quite specialised commanding all devices on the bus to use some data.
A low output is generated by driving the signal line low and changing the pin direction to an output. A high output is generated by changing the pin direction to an input so that the external resistor pulls the signal high.
In slave mode this action is done for you by the SSP module (the outputs of the register at SDA and SCL are driven low automatically - regardless of the state of the register value).

Master mode

Basically there is very limited master mode functionality.
There are two elements that are provided:
  • Interrupts
  • Pin control
16F88 Interrupts
There are two interrupts that activate on reception of either a START or STOP condition. These two interrupts are only useful in a multi master mode system where it is necessary for the non-master device to detect the start and stop conditions. So for a single master system they are of no use at all!
16F88 Pin control
Note When the SSP module is active SDA and SCL output are always set at zero regardless of the state of the register values. So all you have to do is control the port direction.
In master mode (16F88) SDA and SCL must be controlled using software.

I2C Tutorial : Specifics for 16F877A

It does it all for you!
  • Full master mode.
  • Full slave mode.
  • Full general call.
Note if you want a chip with full master and slave mode operation look for the MSSP module in a PIC chip e.g. 16F877A - then you won't need more software - just enough to drive the module.

Tuesday 29 May 2012

Revolutionary Chipset for High-Speed Wireless Data Transfer

NTU and I²R scientists invent revolutionary chipset for high-speed wireless data transfer, new microchip that can transfer data the size of 80 MP3 song files (or 250 megabytes) wirelessly between mobile devices, in the flick of a second, 1000 times faster than Bluetooth.

Data can now be transmitted 1,000 times faster than Bluetooth
Here is a new microchip that can transfer data the size of 80 MP3 song files (or 250 megabytes) wirelessly between mobile devices, in the flick of a second.
Or how about transferring a typical 2-hour, 8-gigabyte DVD movie in just half a minute compared to 8.5 hours on Bluetooth?
Such unprecedented speeds on the wireless platform are now a reality as scientists from the Nanyang Technological University (NTU) and A*STAR's Institute for Infocomm Research (I²R) have developed a revolutionary microchip that can transmit large volumes of data at ultra-high speeds of 2 Gigabits per second (or 1,000 times faster than Bluetooth^).
The chipset employs wireless millimeter-wave (mm-wave) technology to transmit large packets of information while consuming little power. This enables low-power applications, like smart phones and tablets, to transmit/receive data between platforms, like projectors and TVs, without the need for cables for the very first time.
"The demand for ultra high-speed wireless connectivity has fueled the need for faster data transfer rates. Unfortunately, current technologies are unable to meet these stringent demands. The NTU-I2R team, being at the cutting edge of research and development, has successfully demonstrated an integrated 60GHz chipset for multi-gigabits per second wireless transmission," said Professor Yeo Kiat Seng, the Principal Investigator of the project and Associate Chair of Research at NTU's School of Electrical & Electronic Engineering.

How the VIRTUS chipset works?
Named the VIRTUS chipset, it consists of three components: an antenna, a full radio-frequency transceiver (developed by NTU) and a baseband processor (developed by I²R). The antenna is connected to the transceiver, which filters and amplifies the signals. It then passes the signals to the baseband processor, which comprises non-linear analog signal processing and unique digital parallel processing and decoder architecture -- key to lower power consumption.
The team of scientists from NTU and I²R is the first in the world to successfully put together an integrated low-power 60 Gigahertz (GHz) chipset solution consisting of the three components, making it one step closer to commercialisation. It is also the first team to demonstrate one of the technology's applications -- in the form of a high-definition wireless video stream.
The VIRTUS chipset has garnered 16 international patents. It has also been featured in 51 top-tier international journal and conference papers, on top of its other international accolades such as two best paper awards and two best chip design awards.
"This ground-breaking mm-wave integrated circuit (IC) technology will have significant commercial impact, enabling a wide range of new applications such as wireless display, mobile-distributed computing, live high-definition video streaming, real-time interactive multi-user gaming, and more," added NTU's Prof Yeo, who is also founding director of NTU's VIRTUS IC Design Centre of Excellence.
The collaboration, which began in December 2009, was funded by A*STAR's technology transfer arm, Exploit Technologies Pte Ltd. The team has been approached by leading players and global brand names in the electronics and semiconductor industry to develop the chipset commercially. It will also showcase the technology at a leading technical innovation event in June this year -- Computex (Taiwan).
^ Compared to today's standard Bluetooth technology (v2.0 +EDR's maximum application throughput of 2.1Mbps)

Internet controlled appliances



According to their final year project report, Adam and Jeremy took on the challenge of designing a system that would make it easy to control appliances from the Internet. We’ve seen the concept many times before; it involves some method of switching mains power and connecting that mechanism to the Internet. This design is both well planned and nicely executed.


We’re always very interested in the power switching for a project like this. It’s good that an approved electrical box houses all of the high-voltage parts in the project. Here a GA8-2B02 solid state relay switches power between the incoming cord and the two outlets. We didn’t get a look in the box, but hopefully there’s a partition between those wires and the low-voltage control wiring which uses a standard 3.5 mm audio jack as an interconnect.
An ATmega644 drives the control signal for the relay. It’s connected via Ethernet cable to the Internet through the use of an ENC28J60 chip which takes care of LAN communications. This is essentially a light-weight web server that will be easy to adapt to receive commands from just about any web-connected sender.

Sunday 27 May 2012

Introduction to Digital Electronics

Click here if you want to be a freelance designer and you want to enter the exiting world of microcontrollers.
RegisterHere are the links on my page for the embedded electronics beginners.
Link1 : Embedded Basics
Link2 : Digital Electronics Basics
Link3 : Numbering System

Saturday 19 May 2012

Conductive ink lets you freehand circuits on the cheap


silver-ink-on-glass
Jordan likes the flexibility that conductive inks offer when putting together electronic circuits, but says that they are often too expensive to purchase in decent quantities, and that they usually require substrate-damaging temperatures to cure. After reading a UIUC Materials Research Lab article about making conductive ink that anneals at relatively low temperatures, he decided to give it a shot.
Jordan started out by picking up various chemicals and lab supplies online, setting up shop at Pumping Station: One. The process is pretty straightforward, and seems like something just about anyone who took high school chemistry can manage. That said, he does note that some of the chemicals, such as Formic Acid, can be quite painful if mishandled.
After just a few minutes of work and about 12 hours waiting time, [Jordan] had himself a decently-sized vial of conductive ink. He tried it out on a few different substrates with varying results, and in the end found that etched glass made the best circuits. He says that there are plenty of experiments to try, so expect even more helpful info from him in the near future.

Conductive ink circuit experiments


This glowing LED is proof that the experiments Nvermeer is doing with conductive ink are working. We’re filing this one as a chemistry hack because  you need to hit the lab ahead of time in order to get the conductivity necessary for success. He reports that this technique uses a copper powder suspended in an epoxy intended for spray painting. Before mixing the two he etched the powder in ammonium persulfate, then washed it in deionized water which made it a much better conductor.
We gather that the ink was applied with the brush seen in the photo. But since this uses that spray paint friendly solution to host the copper powder we wonder about stenciling with something like masking tape in order to spray the circuit paths onto the substrate.



Kinect & Programmable Automation Controller (PAC's)

An Integrated gesture-based control with a Programmable Automation Controller (PAC). The purpose of this simple follow-on experiment is to demonstrate interactions between a control program running in a PAC and a Windows-based HMI program that uses both conventional mouse-based input and gesture input.

PACs are used extensively in automation and machine control applications. They can be programmed to perform advanced data acquisition and control tasks, and offer many flexible options for communicating with other hardware devices and SCADA/HMI systems. The concept I am trying to promote in my experimentation is the use of advanced natural user interface (NUI) devices like the Microsoft Kinect in automation and machine control applications. There are many practical uses for NUI technologies in industrial applications, where conventional "hands-on" human-machine interactions may otherwise prove to be difficult or potentially hazardous.
This project was created with the recently released Kinect for Windows sensor and the Microsoft v1.0 commercial SDK. The hardware device used in this demonstration is a Snap PAC Learning Center courtesy of Opto 22 Corporation, which includes a PAC-R1 controller and I/O rack containing a mix of various input and output modules. The Learning Center provides a convenient platform for these types of experiments, as it includes switches, LEDs and other components for simulating real-world operating conditions.
A simple PAC program that monitors state transitions of an ON-OFF toggle switch. The toggle switch provides a voltage to one of the DC input modules on the rack, and another DC output module switches one of the panel LEDs on and off. The PAC program monitors both state transitions of the switch and the on/off status of the LED; if a switch-state change is detected, the program toggles the voltage to the LED. This could have easily been accomplished by directly mapping the input module to the output module, but the idea here is to allow an external HMI program to also interact with the I/O points.

The Windows-based HMI program superimposes a simple control panel on the screen with On and Off buttons and an Output Status indicator. As demonstrated in the video (which was captured using the Kinect’s built-in RGB camera), the LED can be controlled on or off by any combination of On/Off screen button clicks, physical switching of the toggle switch, or gesture-based control. All gesture recognition and control is done through skeletal tracking of the left hand, which has an on-screen indicator to show relative hand positioning when it is inside the virtual control panel.


As BK Brown tried to show in the video, body positioning is not critical for mapping the hand coordinates to the On/Off screen buttons. The HMI program interacts with the PAC by using MMP messages to control the LED as well as retrieve the On/Off status of the DC output module, which allows the HMI program to know the status of the LED even when it gets switched on or off manually by the toggle switch.


Introduction to Kinect


Check out these Videos:

Wednesday 9 May 2012

Introduction to Microsoft KINECT



Kinect sensorMicrosoft Kinect is poised to shake up the video game console experience. Announced and demonstrated as Project Natal in June 2009, Kinect seems almost magical the way it can "see" every movement of your body and reproduce it within the video game you're playing. Plus, it recognizes your face and voice so it can pick you out in the room and know who you are, even if you're playing with a group of friends. November 2010 marks Kinect's historic and anticipated release as a new addition to Microsoft's Xbox 360 product line.

Full Body Gaming

Controller-free gaming means full body play. Kinect responds to how you move. So if you have to kick, then kick. If you have to jump, then jump. You already know how to play. All you have to do now is to get off the couch.

It’s All About You

Once you wave your hand to activate the sensor, your Kinect will be able to recognize you and access your Avatar. Then you'll be able to jump in and out of different games, and show off and share your moves.

Use Your Voice

Kinect uses advanced entertainment technology to respond to the sound of your voice. Just say "Xbox" to reveal a series of voice commands. So you'll be able to control HD movies with the sound of your voice—no remote required.

The Kinect Sensors

The innovative technology behind Kinect is a combination of hardware and software contained within the Kinect sensor accessory that can be added to any existing Xbox 360. The Kinect sensor is a flat black box that sits on a small platform, placed on a table or shelf near the television you're using with your Xbox 360. Newer Xbox 360s have a Kinect port from which the device can draw power, but the Kinect sensor comes with a power supply at no additional charge for users of older Xbox 360 models. For a video game to use the features of the hardware, it must also use the proprietary layer of Kinect software that enables body and voice recognition from the Kinect sensor.
There's a trio of hardware innovations working together within the Kinect sensor:
  • Color VGA video camera - This video camera aids in facial recognition and other detection features by detecting three color components: red, green and blue. Microsoft calls this an "RGB camera" referring to the color components it detects.
  • Depth sensor - An infrared projector and a monochrome CMOS (complimentary metal-oxide semiconductor) sensor work together to "see" the room in 3-D regardless of the lighting conditions.
  • Multi-array microphone - This is an array of four microphones that can isolate the voices of the players from the noise in the room. This allows the player to be a few feet away from the microphone and still use voice controls.
A further look at the technical specifications for Kinect reveal that both the video and depth sensor cameras have a 640 x 480-pixel resolution and run at 30 FPS (frames per second). The specifications also suggest that you should allow about 6 feet (1.8 meters) of play space between you and the Kinect sensor, though this could vary depending on where you put the sensor [source: Microsoft Store].
The Kinect hardware, though, would be nothing without the breakthrough software that makes use of the data it gathers. Leap forward to the next page to read about the "brain" behind the camera lens.
The Kinect software goes a step further than just detecting and reacting to what it can "see." Kinect can also distinguish players and their movements even if they're partially hidden. Kinect extrapolates what the rest of your body is doing as long as it can detect some parts of it. This allows players to jump in front of each other during a game or to stand behind pieces of furniture in the room.

Something For Everyone

Whether you're a gamer or not, anyone can play and have a blast. And with advanced parental controls and movies for the family, Kinect promises a gaming experience that's safe, secure and fun for everyone.
Not just we can play games with it we can do many more, visit my next post "KINECT FOR EMBEDDED & AUTOMATION APPLICATIONS" for electronics hackers like us.
I say, It will be a bang..!!

Sunday 6 May 2012

Flying Robots that can Cooperate Autonomously

The video above demonstrates what Vijay Kumar and his team are building. We have seen some toy quadcopters that have some impressive capabilities but I can’t wait till a tiny and smart quadcopter as agile as these are available. If you don’t have the time to watch the entire video make sure you see the flight demonstrations at 10:05.
 
In his lab at Penn, Vijay Kumar and his team build flying quadrotors, small, agile robots that swarm, sense each other, and form ad hoc teams — for construction, surveying disasters and far more.

Saturday 5 May 2012

Wifi Robot : Non Line of Sight


wifi robot A remote control car that can be driven over the internet or with a laptop wirelessly from up to 500m away. It has a live-feed network camera so that it can be driven without line of sight and a horn so that you can honk at people.The goal of this article is to give a high-level overview of the project and provide some implementation details of the software and electronics. It is not meant to be a step-by-step how-to guide, but there should be enough information for someone with motivation and some background knowledge in electronics and software to be able to make their own Wifi Robot.
Link : 
Wifi Robots : JBProjects


Friday 4 May 2012

Arduino PIC programmer for 18F family

Arduino-based PIC programmer. It is capable of writing to the 18F family of chips, including 18F2XXX and 18F4XXX. We think that’s pretty exciting because this line of chips has USB functionality and there are bootloaders out there that let you program them via USB.

Controlling a Propeller wirelessly with Bluetooth


A great tutorial on connecting a cheap Bluetooth module to a Parallax microcontroller. In addition to getting a terminal to the Propeller up and running from his computer, Jeff was able to toggle IO pins and even control servos and Android devices – perfect for your next wireless robot.
QS_LED_Bluetooth
Connecting the Bluetooth module to the Propeller dev board was easy enough – just two wires for power and two for transmitting and receiving. The computer side of the setup was easy as well; just entering a Bluetooth passcode. Once that was done, the Propeller could talk to the computer and vice versa.
Of course, without the ability to control pins on the microcontroller wirelessly the build was for naught. [Jeff] wrote a simple blinking LED demo. After that, a servo was connected and the build finished off by connecting to an Android terminal.
Although it’s a relatively simple build, we’ve noticed the Propeller doesn’t get much love around the Internet. While it may not have won the microcontroller holy war, it’s nice to see an underrated mcu getting some attention.

Intel-Powered In-Vehicle Infotainment System Featured in Kia Motors Corporation’s New K9 luxury Sedan


Intel Corporation announced today that the Intel® Atom™ processor powers the in-vehicle infotainment (IVI) system in Kia Motors Corporation’s new K9 luxury sedan available in Korea. The IVI system features dual, independent displays. The dashboard display allows the driver to take advantage of state-of-the-art functions and services like voice recognition, smartphone remote start, stolen vehicle location tracking, and Internet access. The rear seat display features 3-D graphic performance and supports various video formats, as well as Bluetooth functionality. For more information, view the press release.
2013 Kia K9 Series Debut in South Korea



Intel Corporation announced today that the new in-vehicle infotainment (IVI) system available in Kia Motors Corporation’s K9 luxury sedan will be powered by the Intel® Atom™ processor. The K9 IVI system is the first product deployment to be announced from the ongoing collaboration between Intel and Kia.

“The automobile is a state-of-the-art mobile device that is becoming a more integral part of our digital lives,” said Hee-Sung Lee, country manager of Intel Korea. “Our engagement with Kia has resulted in an innovative, cutting-edge IVI system that is expected to provide a safe, aware, and compelling driving experience and we look forward to our continued collaboration on future connected car technologies.”
The IVI system features dual independent displays and is available in the K9 as an option. There is a 9.2-inch touchscreen on the dashboard for front seats and a clone display for backseats, so that drivers and passengers can enjoy desired content anywhere in the car.
The touchscreen on the dashboard interfaces with the driver information system (DIS) navigation and the UVO eServices for telematics. This allows the driver to take advantage of state-of-the-art functions and services such as voice recognition, smartphone remote start, stolen vehicle location tracking as well as access to the Internet.
The backseat display for passengers also supports various video formats such as MPEG1/2/4, WMV9, Divx4/5/6, Xvid and H264, and excellent 3-D graphic performance and Bluetooth. These enhancements allow passengers to enjoy rich multimedia with premium sound on a wide screen.
“K9 will not only maximize the safety and convenience of customers with the most competitive hi-tech profile in its class by cooperating with Intel on the IVI platform, but also establish K9 as a new standard in the large luxury sedan market by providing the best IT environment” said Chun-Kwan Seo, VP and head of marketing -- Domestic of Kia Motors Corporation.
As the car becomes a key part of peoples’ digital lives, Intel brings a wealth of experience in consumer devices and technology to help deliver a new world of driver and passenger experiences. This announcement follows additional efforts from Intel to fuel the connected car transformation, including the creation of the $100 million Intel Capital Connected Car Fund, the opening of a new global Automotive Innovation and Product Development Center in Karlsruhe,
Germany, an academic outreach program focused on IVI and telematics, and the expansion of Intel
Labs Experience and Interaction Research in automotive.


Courtesy : Intel Newsroom

Thursday 3 May 2012

Program PIC using Arduino Board..!!!


This is a wiring diagram that Soranne put together when developing a method of programming PIC microcontrollers using an Arduino board. You can see that he takes care of the 12V issue by connecting the Master Clear (MCLR) pin to an external source. This comes with one warning that the Arduino should always be reset just before making that connection.
He’s tested this with a 16F628 and is happy to report that he can successfully flash the program memory, but hasn’t implemented a way to write to the EEPROM as of yet. This should work for any of the 16F family of chips, but we’d bet this will be extended if some knowledgeable folks decide to lend a hand.
On the PC side of things Soraane has been working on a program to push code to the Arduino via the USB connection. He’s developing it in C# and even has a GUI worked up for the project. You can get your hands on the software in the second post of the thread linked above but you’ll have to be logged into the Arduino forum to see the download link.
We think the 12V issue is why we don’t see more roll-your-own programmers for PIC. But there are a few solutions out there like this ATmega8 version.
ATmega8 Version [via Dangerous Prototypes]
Fezoj likes to play around with microcontrollers and decided that he wanted to try a Bus Pirate as a new tool in his adventures. Since it’s open hardware he had his own board made and populated it himself. The trouble is, he works only with AVR chips and doesn’t have a PIC programmer. No problem, he figured out how to flash the PIC24FJ using an ATmega8.
To get started, he grabbed a copy of the flash programming specifications from Microchip. Once he had implemented the protocol in the AVR code, it was just a matter of getting the downloaded PIC firmware to the AVR. An RS232 chip gives him the serial connection he needs, with the help of his own programming software written with Visual Studio.
It’s not a robust solution for prototyping on the PIC platform, but maybe it could be developed for that purpose. For now, all he needed was a bootloader so that he could flash the Bus Pirate via a USB connection.


Tuesday 1 May 2012

Controlling the power with Bluetooth



Mike dropped us a tip to show off a system he has built to control some power sockets based on his proximity.  Initially the project started as a parallel port controlled box to switch the mains power. 
 Then he got the idea of turning this into a little more interactive of an automation tool. He is utilizing the bluetooth from his cell phone as a locator. When the box senses that he’s in the room, the power is on. When he leaves the area, the power is off.  You can see his ruby code on his web site if you wanted to give it a try or offer improvements.