NPEDUCATIONS, Electronic circuits development, electronics tutorials, microcontroller tutorials and projects, advanced microcontroller (ARM) based tutorials and projects, Embedded c development, Embedded c for ARM cortex M, Intel IoT based projects, IoT projects, CC3200 launch pad projects, MSP430 Launchpad tutorials and projects, Tiva C launch pad tutorials and projects, 8051 tutorials and projects, sensor interfacing with microcontroller tutorials, data communications and networking tutorials, peripheral interfacing with microcontroller, led message scrolling display, arduino based tutorials and projects, intel galileo based tutorials and project, ADC interfacing tutorials, LED Blinking, LCD interfacing, Embedded System tutorials and projects, B.tech projects, M.tech projects, online Embedded C training

FUNDAMENTALS OF DATA COMMUNICATIONS - PART2

In this tutorial, we will see the types of serial communication and clear idea about it.


Types of Serial Communication:

Even thought the parallel communication got lot advantages over the serial communication, unfortunately the serial communication got popular for its less cost. Because of the fact, that the not all peripherals that are connected to computer or processors required high speed data communication.
Based on the format of data to be transmitted or received over the serial communication, it is divided into three types.
a.   Synchronous Serial Communication
b.   Asynchronous Serial Communication
c.   Isochronous Serial Communication

Synchronous Serial Communication: In this, the two or more devices which are involved in communication must be synchronized with a clock signal. By doing so, all the devices can receive or transmit the data in sync with clock signal. For example just like, in group dance, all the dancers sync their dance moments (~data) with respect to music beat (~clock signal) as shown in the figure.

Figure 1: Group Dancers sync their moment with respect to Music

Generally, in data communication, the data transmission and reception can be represented by using timing diagrams as shown below.

Figure 2: Timing diagram for Synchronous serial communication protocol


One may have still doubt, how this synchronous serial communication will work?

For this, let us consider parallel to serial shift register (transmitter) at one end and serial to parallel shift register (receiver) at other end. Both are driven with same clock signal to synchronize the data transmission as shown in the below figure. In this communication, we can do block transfer of bits.

Figure 3: Synchronous Serial communication protocol implementation using shift registers

Asynchronous Serial Communication: In Synchronous serial communication, the end devices are driven with common clock and because of that the receiver knows about the data transfer.

But in Asynchronous serial communication protocol, there is no common clock used to synchronize between transmitter and receiver. So the receiver doesn’t know about when the data will come from transmitter and when to receive it. Hence in this protocol, along with data, some extra bits also transferred to make the receiver to identify weather the valid data is coming or not. Usually, in simple Asynchronous serial communication, a start bit and stop bit are added to actual data to indicate the start and end of the data. Then collectively, the start bit, data bit and end bit are referred as data frame or data packet or protocol data unit (PSU) as shown in the below figure. This technique of adding extra bits are referred as framing and extra bits are called frame over head.

Figure 4: Asynchronous Serial Data Frame 


When the receiver device finds the valid start bit, then it understands about the data incoming and receives the data bits. Finally once the receiver finds the stop bit, it will truncate the receiving data bits.

S.No
Synchronous Serial Communication protocol
Asynchronous Serial Communication protocol
1
All the devices are driven with Common Clock.
No Common Clock
2
Block transfer – Stream of bits
Packet transfer – framing required
3
Less complex to implement the hardware with simple shift registers
Design of hardware is complex to identify the valid start bits, data bits and stop bits.
4
Ex:- Mouse connection with PC
Ex:- Com ports on PC, ATM (asynchronous transfer mode) switching.
5
Data (one or multiple bytes) can be sent in block with block header. Synch characters will be sent till the next block is ready. Break characters are sent to indicate the end of the transmission.
The time interval between successive frames is not fixed
6
Relatively high speed
Relatively low speed due to number of bits and time interval or gap between frames
6
Comparatively costly
Comparatively cheap
7
Data block is not fixed
Frame size is fixed

Isochronous serial communication protocol:

It is the combination of both synchronous and asynchronous protocols. In which we can transfer the block of data as asynchronously at random intervals. For example, video streaming uses this isochronous serial communication protocol. This protocol doesn't have error correction mechanism. Error correction may introduce the jitter in such applications.

FUNDAMENTALS OF DATA COMMUNICATIONS – PART1

In these series of tutorials, I am going to discuss some basics about the data communications like, definitions of data, information, communication, types of communication, basic types of data communications, classification of serial communication, how asynchronous serial communication can be handled, and why it popular, types of communication channels, what is need of OSI model, Data communication standards, Why TCP/IP protocol is popular etc.

Introduction to Data Communication:

1.   What is data?
Data is collection of unorganized raw symbols like letters, symbols, numbers, etc. Data itself has no meaning until it is interpreted.

2.   What is Information?
Information is the well organized data that can be interpreted.

Example1: The light coming from a torch is raw data, if the same torch produces ON –OFF light continuously then it will be treated as information as shown in the below figure. Generally this type of technique is used to send message like “SOS-save our shape”.


Figure1: Sending light signals using torch light - animated



Example2:  Similarly, some signals are used to send messages in olden days.

Figure 2: Sending signals using smoke - animated
                                                             

Data
Information
Raw facts of things                        
Data with exact meaning which can interpreted
No contextual meaning
Meaningful

3.   What is communication?
It is the activity of exchanging or conveying information by using different variety of means (speaking, writing, smoke    signals, light signals etc).
Based on the nature of the signals that can be transmitted, the communication is broadly classified in to two.
a.   Analog Communication – In this communication, the information is conveyed through analog signals.
b.   Digital Communication – Because of advent of digital circuits and computers, it is possible to send the data through digital communication. This is also referred as data communication.

4.   What is data Communication?
It is the way of exchanging of digital data information from one place to another place through digital signals and their processing techniques.

The data communication is further classified into two types based on the number of bits transmitted at a time.
a.   Parallel Communication – In this communication, it is possible to transfer or receive the data as N-bits (8,16, 32, 64) at time. To transfer N bits at time, we need a bus cable. For example, the FRC bus cable is used between hard drive and mother board in your PC for parallel communication.
b.   Serial Communication – Here, the data is transmitted or received bit by bit. A single or two wires are enough to transmit or receive the data in bit by bit pashion. For example, the connection between mouse and CPU is a serial communication.

S.NO
Parallel Communication
Serial Communication
1
N bits are transmitted/received at a time
Bit by bit are transmitted/received at a time
2
Bus cable required      
One or two wire are enough
3
Cost - Bus cable cost increases as distance increases
Cost – comparatively less cost
4
Speed – because of N bits transmission/ reception at a time, the speed is high
Speed – Comparatively low speed due to bit by bit communication.
5
Complexity- easy to implement (a simple latch is enough to copy the data onto a bus and vice versa).
Complexity- difficult to implement (serial data must be converted back to parallel before processing).
5
Ex: FRC bus cable connection between mother board and hard drive or DVD-drive
Ex: connection between PC to mouse or keyboard is an example of serial communication.
To establish a proper communications between two devices, a set of rules (agreements between devices) to be defined and should be followed by the devices at the time of communication. Those set of rules to govern the communication in proper way is referred as “PROTOCOL”. The following types of serial communications are referred as types of serial communication protocols.

FUNDAMENTALS OF DATA COMMUNICATIONS – PART2

Simple and quick way to connect CC3200 Launch pad to internet for IoT applications

In this tutorial, I am going to show how to connect CC3200 launch pad to internet for IoT applications. Basically we do require the following equipment to connect CC3200 launchpad for IoT applications.
  1.  CC3200 launchpad
  2.  Code Composer Studio 6.0 or greater
  3.  Wifi router or smart mobile phone host spot
  4. Web application to display real –time applications (like Exosite).


    A small Introduction to IoT protocol and Standards:
Before going to actual thing, let me discuss some about the standards and protocols of IoT generation. In IoT, the biggest deal is to connect your device to web applications. There are a lot of ways to connect your device to web applications through internet for real time data monitoring, the most generic way is by using HTTP protocol. But the HTTP protocol is heavy weight protocol for IoT web application development. So that, so many other protocols have been developed to support sensor networks and IoT like XMPP, DDS, AMQP, MQTT, CoAP, etc. Even though XMPP (Stands for Extensible Messaging and Presence Protocol) is popular for instant Messaging and it connects the people via instant text messages. But it is heavy weight protocol for IoT applications. At present, MQTT and CoAP are most popular, light weight and suitable protocols for IoT applications. MQTT stands for Message Queuing Telemetry transport protocol, which provides publish/subscribe messaging model. And CoAP stands for Constrained Application Protocol which is simplified version of HTTP protocol for resource-constrained internet devices, like wireless sensor networks.

List of IoT connectivity websites
·         Ti.exosite.com
·         developer.axeda.com
·         forbes.com
·         openhomeautomation.net
·         azurelaunchpad.net
·         blog.benjamin-cabe.com
·         Things fabric
·         developer.arrayent.com
·         xively.com/partners/ti/
·         https://developer.ibm.com/recipes/tutorials/connect-a-simplelink-wi-fi-cc3200-launchpad-to-the-iot-foundation/



In this tutorial, I am not going to use any of these IoT protocols discussed instead generic HTTP protocol is used, because the demo IoT application code provided by exosite website uses these basic HTTP protocol functions (like post and get functions). To get started with this,

First of all, you download the CCS code for CC3200 launch pad to connect with exosite website from the following link (https://support.exosite.com/hc/en-us/articles/202271424--CC3200-Wi-Fi-Launchpad). If you successfully worked with CC3200 launch pad, then you can directly run the code downloaded. Otherwise refer getting started with CC3200 launch pad article in this website. Off course, install the tera-term application or any other serial monitor application to monitor the status of the CC3200 launch pad. When you run this application in code composer studio, firstly, CC3200 launch pad is configured in access point (wifi).

Step1: Now connect your PC to that access point. Ensure that jumper pin is connected between P58 and VCC as shown below. Otherwise place your jumper pin on J15-SOP (for programming)
CC3200 Launch pad as wifi Access Point
Step2: Open CMD and type command “ipconfig”, it will list out the IP address of the access point (like 192.168.1.1).



Accessing CC3200 launch pad router default web page
Step3: Open the web browser and type the above IP address; it will open a static web page as shown in the above web page.
Step4: Go to profiles page and your wifi router profiles as shown below

Wifi Profile adding to CC3200 Launch pad

Step5: Connect your PC wifi to internet via wifi router
Step6: Open the tera-term for serial monitoring about the CC3200 status.
Step7: Create an Account in https://ti.exosite.com website and add your CC3200 launch pad to it.

Exosite Account Creation and Adding CC3200 launch pad to Exosite
Step8: Open the dashboard of your and click on your device in the device list, then it will show the data monitoring page as shown below.


CC3200 launch pad Monitoring and Control panel on exosite

Step9: Now place the jumper to J15 on the board, again run the program in code composer studio and load it into the CC3200 launch pad.

Step10: Once the device is connected to exosite through then you will find a message (Exosite Init) in tera term as shown below and you will see the real time data on the web page.

Real Time Data View for CC3200 on Exosite
Note: Sometimes it’s very difficult to get the username and password of the wifi, in such cases your can turn your mobile phone into Wi-fi access point by make use of hotspot. By enabling the hotspot technology in smart mobile phones can be used to connect your CC3200 launch pad to internet. You should provide user name and password for that mobile hotspot otherwise the CC3200 launch pad doesn’t connect to hotspot. It is the simple way and recommended to use mobile phone into wifi access point and your device CC3200 launch pad directly connects to internet.



Modulation in communication systems analogy to paper and stone example


What is a Modulation?

Definition:  Translation of Low Frequency signal to high frequency signal is generally referred as modulation. By doing so, we transfer the low frequency message signal to longer distances. This can be illustrated with paper and stone example as discussed below.

Take a paper of some size and try to through it to 5-10meter distance. It is impossible to through a plain paper to such longer distance, because the weight of that paper is very less. Now take a stone of some size and place the stone in the paper and enclose the stone. Now through the paper enclosed stone and then observe the distance travel by it. Obviously, the paper enclosed stone travels long distance than a plain paper because, the weight of the plain paper translated to higher weight of stone.


Modulation analogy with paper throw



The same analogy can be applied to our communication systems, where message signal of lower frequency can be sent to longer distance by translating the message signal frequency to higher frequencies. This technique is called “frequency translation or modulation”.

If f1(t) is the message signal (paper) contains information to be transmitted and f2(t) as carrier signal (stone), then the modulated signal will be given as f1(t) X f2(t). The carrier signal is enclosed by the message signal.

If you really like this tutorial, Don't forget to give the comment or please subscribe to the RSS feed by submitting your E-mail or like our Facebook page.
Related Posts Plugin for WordPress, Blogger...

 
Powered by Blogger