Wednesday, June 27, 2012

Understanding Embedded System Protocol - Basics

UART Protocol
  •   UART stands for Universal Asynchronous Receiver Transmitter.
  •   It is a way to transmit data from one device to another.
  •   The 9 pin serial port that are still standard on most computers is an example of a UART.
  •  The baud rate is the number of bits that can be sent in one second. This is NOT the same as the amount of data that can be sent
  •  The data rate is always less than the maximum transmission rate.
  •   Most of the time, you need to send 11 bits to be able to receiver one byte of data.
  • The parity bit is a bit used to check the integrity of the data. Usually it counts the number of ones (or zeros it’s the same thing), and indicates whether the number is even or odd. This ensures that if there is an error in ONE bit, the receiver will be able to detect it.
  •   Overall, the system works like this (one way transmission): A wire connects from the transmission output pin of the transmitter to the reception input pin of the receiver.
  • Once the wires are established and the baud rate is determined on BOTH parties, the transmission can begin.
  •   Each section of the grid represents one time unit equal to the inverse of the baud rate. For example, if we were at 2400 bps, then each section of the grid in the above picture represents 1sec/2400 = 416.7 usec.
  •  When a transmission begins, the transmitter must first pull the line down to a zero, for one baud period. Then it sends the data, with the least significant bit (lsb) of the byte first. Next the transmitter sends the parity, and lastly, pulls the line back to a high, the stop bit, to indicate that the transmission has ended. Another transmission cannot begin until at least the end of the stop bit. (There can be one or more start/stop bits).

I2C Protocol 

  • Most electronics today uses I2c to reduce design cost and pin count, uses the I2C bus for inter-IC.
  •  I2C is a communications bus invented by Philips.Ø
  • The I2C bus requires two wires to be connected between the master and slaves, as well as a return (GND) wire.
  •   There are provisions in the I2C standard for multi-master environments, as well as 10 bit addressing.
  •   The most simple and commonly used configuration is the single master, 7 bit addressing.
  •  I2C is synchronous form of communication.
  • The master device sends both the data signal, as well as the clock signal, with the exception during data reads. The receiver syncs up with the clock signal, and samples the data on the rising edge of the clock. Ultimately, this means that the transmitter and receiver do not need to know the clock rate because a clock signal is sent along with data.
  •   In I2C more than 1 receiver (slave) can be selected. This is the advantage over UART.
  •   The convention is to name the data line SDA, and the clock line SCL. 
  •  
  • Hardware:
  •  Obviously, you’ll need to have two devices: a master I2C device and a slave I2C device.
  • Second, the I2C bus is an open drain pull-down bus. What this means is that the bus needs to be pulled up to a nominal voltage (Vdd) when no devices are occupying the wires. This assures that when the bus is idle, the voltages on data and clock are always at Vdd.
  •  Usually 3.3 to -2v or +5 to -5 V.
  • Communications:
  • Let’s say there is one master device and one slave device on an I2C bus line with pull-up resistors pulling to 3.3V.
  • When the bus is idle, both the SCL and SDA lines are pulled high by the pull-up resistors.
  •   If the master wants to send a byte of data, it must first initiate a start bit (Label S), where the SDA line is pulled to a logical 0, while maintaining a logical 1 on the SCL line.
  •   Next it starts sending a clock signal. Because the SCL is pulled high at the start bit, the master must pull SCL down for half a clock cycle, before the first rising edge.
  • Data is only sampled on the rising edge, at all other times, the master is allowed to transition the SDA between a logical 0 and a logical 1.
  •   On the first rising edge, the SDA line must have stabilized.
  •  The slave device samples the data (Label B1). This process is repeated until the 8th rising edge, or the 8th bit.(7bits for address and 1 bit specifies read(1)/write(0))
  •  Right after the 8th rising edge, the master device releases control of the SDA line. It has finished sending its data, and is now awaiting a response from the slave device.
  •  The slave device has one clock cycle to transition the SDA clock to a logical 0 to acknowledge the reception of the data byte. (/ACK bit)(if ack is 0 slave says data received properly, if 1 ,something went wrong).
  •  The master then sends a 9th rising edge on the SCL line, and samples the SDA line.
  •   Lastly the SCL is held high, and subsequently the SDA line is pulled high to signal a stop bit (P).
  •  
  • I2C Packet
  •   3bytes are send 8bits-device address, wordaddress-8bits, data- 8bits
  •  The first 7 bits is the slave device address. In order for the I2C bus to allow for multiple slaves, the master must indicate which device the message is intended.
  •   Obviously there cannot be multiple slaves with the same address. This would create a collision on the I2C bus.
  •  The 8th bit of the first byte is the read/write indicator.
  •   If the bit is a 0, the master wants to write a byte, if it is a 1, the master intends to read.
  •  Next, on the 9th bit of the first byte, the master waits for an acknowledge bit from the slave.
  • If the /ACK is a 1, a non-acknowledge, then the master thinks there is no slave with the sent address. It terminates the packet with a STOP bit. However, if a slave does send back a /ACK with logical 0, then the master device begins sending the second byte.
  •  Whenever I want to write to the device, I must specify which one of the 256 memory locations I wish to write to. This is what the second byte of the packet is usually used for.
  • On the 9th byte of the second byte the slave device must acknowledge that the specified address exists as one of the slave device’s internal addresses.
  •  Lastly, the master device sends the data it intends to write. This is usually referred to as the data byte.
  •   Finally the slave device acknowledges the received byte, and the communications is terminated by a stop bit.
  • Other pattern packet
  •  
  • I²C is limited to 1Mbps in Fast Mode+ and to 3.4 Mbps in High Speed Mode.

SPI Protocol

  •   This protocol is basically limited to 127 devices, and a memory device address space of 256 bytes.
  •   In SPI, there is no set order on how the data is accessed.
  •   I can set up the data access in any which way I want.
  •   I can have the memory address width to be 8 or 16 bits for example, and set the data width to be 8 or 16 or even 32 bits.
  • There is one big advantages going for the SPI protocol compared to I2c is that it is fast. Any times you have a large amount of access, for example storing/retrieving a large table
  •  The protocol usually allows up to 10Mb/s whereas the I2C usually tapers out at around 400Kb/s.
  •  
  • Physical Connections
  •  
  •   3 common signals + 1 device specific (CS).
  •  SCLK is the serial clock given by the micro controller. It is used by the slave devices to sample the incoming data and output the outgoing data.
  • There are two data lines going to and from the microcontroller.(MOSI –MISO)or (SDO-SDI).
  • Unlike I2C, which selects the device according to the chip address in the first byte of a data packet, device selection in SPI is accomplished by the CSB/SS signal. )“chip select bar” (CSB) or “slave select” (SS)).i.e. (/CS – The signal is active low)
  • When the signal for a particular device is lowered, that device is selected and considered active.
  •  
  • Timing
  •  
  •   When configuring your microcontroller, there are usually two settings that you need to take into account: clock polarity and clock phase.
  •  
  • 1.       CPHA = 0, CPOL = 0 – first bit starts as soon as SS is lowered, data sampled at rising edge of clock, data changes on falling edge.
  • 2.       CPHA = 0, CPOL = 1 –first bit starts as soon as SS is lowered, data sampled at falling edge, data changes on rising edge.
  • 3.       CPHA = 1, CPOL = 0 – first bit starts on first clock edge, data sampled at rising edge, data changes on falling edge.(No wfmS)
  • 4.       CPHA = 1, CPOL = 1 – first bit starts on first clock edge, data sampled at falling edge, data changes on rising edge. .(No wfmS)
  •  
  •  
  •  I can see that the first bit is already active even before the first clock edge. Also the data changes on the falling edge and is sampled at the rising edge.
  • SPI is full duplex
  •                          
  •   Half duplex                                         Full Duplex                                                                                                                                                 
  • SPEED 10MBPS
     
  •  
eMMC/SD Protocol
 
  • SD/MMC (Secure Digital/Multimedia Card) cards are small, high-speed storage media for portable items such as digital cameras, mobile phones, net book computers and similar devices.
  • The communications protocol is similar to SPI protocol.
  • SD was developed out of the MMC format. 
  •  Signals used are CLK, Data and CMD.
  •   Modes – SDR-DDR-BOOT
  •  
  • Concepts:
  •  CLK: Each cycle of this signal directs a one bit transfer on the command and either a one bit (1x) (SDR)or a two bits transfer (2x) (DDR)on all the data lines.
  •  
  • One Bit transfer on CMD line fig1
  •  
  • One Bit transfer on DATA line (SDR)   fig2     (only rising edge)
  • Two Bit transfer on DATA line (DDR) fig3   (rising edge and falling edge)
  •  
  •  CMD: This signal is a bidirectional command channel used for card initialization and transfer of commands.
  • Commands are sent from the Multimedia Card bus master to the card and responses are sent from the card to the host.
  • DAT0-DAT7(Data Lines): These are bidirectional data channels. Only the card or the host is driving these signals at a time.
  •  
  • Packet Format

  •  
  • Total of 48 bits
  •  
  • A command always starts with a start bit (always ‘0’), followed by the bit indicating the direction of transmission (host = ‘1’).(card =0)
  • The next 6 bits indicate the index of the command, this value being interpreted as a binary coded number (between 0 and 63).
  • Some commands need an argument (e.g. an address), which is coded by 32 bits.
  •  All commands are protected by a CRC (7 bits).
  •  1 end bit.
  •  Based on command index we can get to know the state of host or receiver.
  •   Based on transmission bit we will get to know who is communicating.
  •  Data starts sampled at the rising edge of the clock

CAN Protocol 


  • The CAN communication protocol is a CSMA/CD protocol. Carrier Sense Multiple Access with Collision Detection.
  • What this means is that every node on the network must monitor the bus for a period of no activity before trying to send a message on the bus (Carrier Sense).
  • Also, once this period of no activity occurs, every node on the bus has an equal opportunity to transmit a message (Multiple Access).
  •  If two nodes on the network start transmitting at the same time, the nodes will detect the ‘collision’ and take the appropriate action.
  •  
  •  First, logic states need to be defined as dominant (0) or recessive(1).
  • Second, the transmitting node must monitor the state of the bus to see if the logic state it is trying to send actually appears on the bus.
  • A dominant bit state will always win arbitration over a recessive bit state, therefore the lower the value in the Message Identifier (the field used in the message arbitration process), the higher the priority of the message.
  • CAN protocol is a message-based protocol, not an address based protocol.
  • This means that messages are not transmitted from one node to another node based on addresses.
  • Embedded in the CAN message itself is the priority and the contents of the data being transmitted.
  • All nodes in the system receive every message transmitted on the bus (and will acknowledge if the message was properly received).
  • It is up to each node in the system to decide whether the message received should be immediately discarded or kept to be processed.
  •  
  • For example, an automotive airbag sensor can be connected via CAN to a safety system router node only. This router node takes in other safety system information and routes it to all other nodes on the safety system network. Then all the other nodes on the safety system network can receive the latest airbag sensor information from the router at the same time, acknowledge if the message was received properly, and decide whether to utilize this information or discard it.
  •  
  •  Another useful feature built into the CAN protocol is the ability for a node to request information from other nodes. This is called a Remote Transmit Request (RTR).
  •  
  •  For example, a safety system in a car gets frequent updates from critical sensors like the airbags, but it may not receive frequent updates from other sensors like the oil pressure sensor or the low battery sensor to make sure they are functioning properly. Periodically, the safety system can request data from these other sensors and perform a thorough safety system check. The system designer can utilize this feature to minimize network traffic while still maintaining the integrity of the network.
  •  
  • One additional benefit of this message-based protocol is that additional nodes can be added to the system without the necessity to reprogram all other nodes to recognize this addition. This new node will start receiving messages from the network and, based on the message ID, decide whether to process or discard the received information.
  •  
  • FRAME DESCRIPTION
  •  
  • CAN protocol define four different types of messages (or Frames).
  • 1.     DATA FRAME.
  • 2.     Remote Frame, Frame, which is basically a Data Frame with the RTR bit set to signify it is a Remote Transmit Request.
  • 3.      Error Frame – handling errors - Error Frames are generated by nodes that detect any one of the many protocol errors defined by CAN.
  • 4.      Overload Frame –handling errors are generated by nodes that require more time to process messages already received
  •  
  •  
  • DATA FRAME(44 +8N)
  •  
  • 1.     Arbitration Field 12bits (11 identifier bits and 1 RTR bit)
  • 2.     Control Fields 6 bits
  • 3.      Data Fields no of data bytes described in the data length code of control field.
  • 4.      CRC Fields 15 bits + 1 crc delimeter
  • 5.       2-bit Acknowledge Field and an End of Frame(7bits)).


FlexRay Protocol (Image Courtesy - NI )
  •  For automobiles to continue to improve safety, increase performance, reduce environmental impact, and enhance comfort, the speed, quantity and reliability of data communicated between a car's electronic controls units (ECU) must increase.
  •  
  • FlexRay uses unshielded twisted pair cabling to connect nodes together
  •  
  • FlexRay Topology
  • Protocol
  • The FlexRay protocol is a unique time-triggered protocol.
  • FlexRay manages multiple nodes with a Time Division Multiple Access or TDMA scheme.( two nodes were to write at the same time).
  •  Every FlexRay node is synchronized to the same clock, and each nodes waits for its turn to write on the bus.
  •  
  • Communication Cycle
  • Static Segment 
    Reserved slots for deterministic data that arrives at a fixed period. 
  • The segment is broken up into slots, each slot containing a reserved frame of data.  When each slot occurs in time, the reserved ECU has the opportunity to transmit its data into that slot. Once that time passes, the ECU must wait until the next cycle to transmit its data in that slot.
  • If an ECU goes offline or decides not to transmit data, its slot remains open and is not used by any other ECU, as shown in Figure 4. 
  • Dynamic Segment
    The dynamic segment behaves in a fashion similar to CAN and is used for a wider variety of event-based data that does not require determinism. 
  • Symbol Window
    Typically used for network maintenance and signaling for starting the network. 
  • Network Idle Time
    A known "quiet" time used to maintain synchronization between node clocks
    . The ECUs make use of this idle time to make adjustments for any drift that may have occurred during the previous cycle.
  •  
  • FRAME FORMAT
  • The Header is 5 bytes (40 bits) long and includes the following fields: 
  • Status Bits - 5 bits
  • Frame ID - 11 bits
  • Payload Length - 7 bits
  • Header CRC - 11 bits
  • Cycle Count - 6 bits
  • The Frame ID defines the slot in which the frame should be transmitted and is used for prioritizing event-triggered frames.
  •  The Payload Length contains the number of words which are transferred in the frame.
  • The Header CRC is used to detect errors during the transfer.

Friday, January 6, 2012

Application Support Engineer, Mathworks Interview

Interview pattern is good. But the way they conduct it onsite was really bad
1) Phone screening by the TS Manager(Tech Support Manager)(20 mins or so ).Its basically a background check.(Was informed about the technical interview will conduct after 2 days)
2) After 2 days a Telephonic Technical Interview by a Application support Engineer from UK(1 hour)
It consists of Programming skills, Maths, C, MATLAB, Control Theory(One can choose embedded,DSP or control theory)

Maths- Eigen values, eigenvectors, linear diff eqn, partial differential eqn, matrix multiplication, matrix addition,explain differencetion and integration via graphs and their difference, definite n indefine integral, is -inf to +inf indefinite integral, probability prob, singular matrix, identity matrix, dot product etc
MATLAB - difference b/w a*b and a.*b,dot product, cross product in matlab, diffrnec b/w function and scripts, mex functions, workspace, current directory, cell array, transpose, determinant, datatypes in matlab etc
Programming skills - what is x86, x64 n wat do they stand for, string reversal, string palindrome, multicore processor, call by value and reference, pointer, recursive funtions, local and global variables, #define and const difference, mallac, null pointer and its significance, ++a and a++ difference, what is typedef, y we use it, C compilation procedure etc
Control Theory - 2nd order differential eqn, damping ratio, natural req, relationship b/w them, y do we need zeta, stabilty, RH -criterion, LTI systems, ROC, state space representations etc

Well, this one went on good, as I managed to answer more than 95% of them correctly. Even if u dont know try to make an attempt.
After few days of this interview the TS manager called me again for an Onsite interview.

This onsite interview is where things get harder. Even though ppl around acts like friendly but in reality they wern't.

I was told I will be facing a puzzle technical round followed by a application support team meet, video conferencing technical interview,
an casual interview with TS manager nad a few behaviourial round of interviews.

1st Puzzle, Programming Technical interview by a guy 4m developement team:
The guy seemed to be a moron to me. I was asked 3 puzzles and the guy who asked the same didnt put up the questions in the proper way. Finally I forced him to write to down the paper. I explain them here

1 Question: 9 balls out of which one is bigger. how do u find the bigger one. All seems alike. He didnt say that I have a weighing machine. I gave him answer using digital weighing machine. Later
he asked to do with analog weighing. I said it can be done in 3 timesie 4,4,1. He said to optimise it. I couldnt. He only new the answers and ter was no value for yout efforts. The answer was 3,3,3 which can be
resolved in only 2 weighings

2 Question: Bag with 16 red, 15 white, 33 green balls. Number of ways of picking the same. Pick One ball at a time.
I started working with combinations after few minutes he said the answer is simple, I just asked you how many times
I need to put my hand inside bag to get same color. I said him tat he told "Number of ways" to do it. The moron refused it.

Then I said 16+15+1 = times to get green ball
He said he can do tat in 4 ways. I did the above with the ball picking in the succession. I refused it saying he didnt said succession.
Answer: 1 - white, 2-green, 3-red, 4- can be anything. You got 2 colors and they call this as a puzzle. ha ha


3 Question: It was on C. Reverse a string Program.
I wrote and explained him( I used 2 arrays). He said to reduce the memory size WITHOUT USING ANOTHER VARIABLE. I was confused and was trying different.
Later he said he gave a funny clue n said "Do it by swapping".
I told him that one can swap only if he has 2 variables. Then use it he said. I told him tat he had asked me to do it without using another variable. He refused once again
saying that he had only asked me reduce the memory size. I wrote the program with a dummy char variable instead of an array and explained the same.
Still wondering how can Mathworks take such ppl into developement team.


2interview with the Application support engineer:
This is a formal background and get together kind of interview. 2 Application support engineers and me. This is where you get a chance to ask them who they work, whom tey work,
work environment etc. It was a good one indeed. They offered snacks and behaved like friends.


3interview(Pure technical)video conferencing with the US guy

Again the same Math, Matlab, Control Theory, Programming skills

Matlab - why, who, which command, subfunctions
Control Theory - asks you solve the problems. Lots of problems. Eigen values,vectors. Lapnov Stability, obeserbility,system controllable or not kind of prob
I answered and solved the problems but I didnt noe Lapnav stability and couldnt solve its problem



4th interview with TS manager:
I was totally Pissed off by the time and he gave only 4 mins for me to refresh. As I entered the interview room, he started asking me behavioural question

Y mathworks?? what challenge do you find in this job??I said customer prob is my challenge. "What else one can expect a challenge for an Application Support engineer".
Ur strenghts( I kept silent for 4 mins. I was totally out of mind I needed some break and waterto drink, he offered it).
Strengths??, weakness??, greatest disappointment??, what does ur current manager say about u??, wat do u think about ur manager??,
Again what challenges in this job?? ur greatest disappointment??, Ur acheivement??, Ur rewards for the same??, I told him tat ter plans of
doing my Phd 4m IISc while answering these questions. After how many yrs u wanted to do it??I said 3yrs 4m nw. Y only IISc?? Why Phd??U want to call urself a Dr. is it???
That's it. I was out. He said he couldnt able to process me further until technical results wer out.

I never sounded negative in my thoughts but I took a break during this interview which may sound odd to him. I wonder that was an behaviral or stress interview.
I was disappointed not because I was not selected, but because of the way the interview was conducted.

The next day my application in there website turned to "MATCH NOT IDEAL THIS TIME"

-----JUST A WASTE OF TIME-----

Friday, August 5, 2011

A project on Wavelet Transforms

A project on " Analysis of vibration signals to identify cracks in a gear unit using wavelet transforms "

To know more about wavelet transforms: http://users.rowan.edu/~polikar/wavelets/wttutorial.html
Project report link : http://www.mediafire.com/?zif8ika6e2mqo
Project Details
Coding language : C#
Platform :.NET
.exe : Vibration analyzer
To know more about this project and code
Contact : sushanthsjce@gmail.com

Thursday, July 21, 2011

C pressed Interview : The telephonic interview with Cypress semiconductors

Just a few days back I was in the job hunt(Since I was not been placed in the campus interviews because of kinda stuffs happened between me and the placement officer of SJCE), no wonder I has to try through off campus and was busy posting my resumes here and there to find the right career path(God!! Sometimes I even used to forget the positions that I had applied for)though I had few offer letters from Symbol and prodigy technovations (where I did my M Tech internship)and I was just not satisfied with them.

Guess what???My resume was been shortlisted in cypress semiconductors for the Post of Electronic/Electrical design Engineer. I didn't even knew when I updated my resume at the cypress job portal and I didn't even knew the post I had applied for in cypress, until I had a telephonic interview with them. It was great experience to have a telephonic interview with the "c pressed" guy. Initially, the "c pressed" guy called me and told me that my resume was been shortlisted and he asked me to specify a suitable time for the telephonic interview with him(Its a great honor when u specify the date and the time of your interview). I was been told that, the telephonic interviews will be followed by 2 to 3 rounds of "wolf pack" interviews and an HR interview. I told him that I will be fine with next Monday anytime between 11am to 1pm as I used to woke up at 10am during vacations(Keeping in mind that interviewers won't like specific timings, like 2pm, 3pm etc).

Expecting a call on that Monday morning at 10am(Woke up a bit earlier that day, 9am), I started researching on cypress semiconductors in Google. Found few interesting stuffs like Psoc, touchscreen blah blah on their website. It was 2pm and I didn't get a call from them. Now that makes a fresher to think. My brain started working at a nerve speed of 2Ghz(Was that cypress call a prank one?? How about calling TV9??). I was bit tired to refresh myself I decided to watch "Zindagi na milegi dubara" and went to the theater. The next day, it remained the same posting resumes on honeywell and tektronix sites( I had a call by tektronix a month back regarding interviews).

After a week, the same cypress guy called me at 4pm and asked me that whether I will be available for an interview with him on Thursday ie 21st of July, 2011 at 3 pm. I said it will be fine. I asked him what will be the patten of interview??(Just to know what are they concentrating on). With the old interviewers tone he said, Basics of electricals and electronics, basic C, mu P, control systems.I was terrified listening to that. Who will remember all those electrical topics after 2 years?? Can you?? I started to look for those text books in my bedroom. Prepared mu P, control systems, a bit of C and seriously no DSP( I had worked on FFT's, wavelets, sampling n all. So thought no need to refresh on them).

The next day, the "C pressed" guy called me at 3.25pm and the interview was started

CPress: Introduce Yourself.

Me: Sir, my name is....blah blah.. Pursued my blah blah...Did my internship at .....Family background...

CPress: What all subjects you studied in engineering??(He had my resume with him so I had to be precise)

Me: Automotive electronics, DSP, control systems, 8085 mu P, Power electronics, transforms, AC/DC machines, C. I said I had learnt C# .NET during my internship.

CPress: Do you know what post you are applied for??

Me: Application programming( I actually didn't knew the post that I had applied. Thought sometimes bluffing works. Bad luck it didn't)

CPress: No. You had applied for Electronic design engineer post and we are looking for electronic/ electrical guys and not computer application programmers.( "Me: F*CK man!! You said interview will be on basic electronics your pitch was high when you said Basic C")

Me: Sir, basically I am an Electrical engineer and mastered in Industrial Electronics. You can ask me on electronics too.(Intended him to ask on C and .NET)

CPress: Ok sushanth. Lets start the interview.( Me: WTF! What were you doing till now??)

CPress: Tell me about your projects.

Me: My M Tech project was on crack detection in a gear using wavelet transforms. Explained all the analyzing procedure.

Cpress: I am not interested in analyzing. Tell me how you extracted the signal from the gear unit?? what is the signal actually??(I remembered my Prof asking this question to me. "What is signal"?? and I was prepared 4 it)

Me: Signal is a kind of information. Signal which I had captured is a analog signal which is sampled to make it discretized(digital form).(On a true note, I didn't knew how they captured signals in my company. I was given with the digital signals. But I had an idea about how to capture signals). I explained him the procedure.

CPress: To which port you connected the device to your laptop. (It deserves a double F*ck).

Me: Probably USB port. I am not sure with that.( I had been to tektronix during my internships. I had seen my manager connecting his laptop to oscilloscope- DPO 7000, using USB port).

CPress: Do you know the speed of USB.

Me: No, sir.( I have to add Sir's on all answers which Ended up with NO).

CPress: Do you know SPI, UART??( Idiot!! I didn't put up embedded systems in my resume)

Me: UART- Universal asynchronous receiver transmitter. SPI- Serial peripheral Interface.

CPress: Explain them??

Me: UART - rx, tx data. SPI - MOSI, MISO.( MASTER SLAVE I/O was all what I was knowing). Added few more on it.

CPress: What is I2C??? Where do we use them SPI, UART, I2C??

Me: Inter Integrated Circuit. I heard I2C is used in Aerospace domain( in gyroscopes). SPI in automotive electronics. UART - I had connect my laptop to my tv once using RS-232 port.

CPress: Had you worked on embedded systems??(Thank god he asked)

Me: No, sir. But I had studied a bit on them and I like to work on them.

CPress: Tell me Ohm's law??( finally basics started)

Me: Current carrying conductor b/w 2 points is directly proportional to the potential difference b/w 2 points.

CPress: Kirchoff's voltage law??

Me: In a closed loop, the Voltage is directly proportional to sum of currents.(Which was wrong - Correct answer is Sum of voltages in a closed loop is equal to zero. I didn't knew it)

CPress: Then I will give you a parallel circuit with 3 resistors. Can we apply Ohms law KVL to it same time.

Me: Yes. We can.( I knew something was wrong with KVL, since its been 2 long years for me. I didn't recollect it)

CPress: What is a transformer??

Me: Its a device which amplifies or reduces electrical signals like voltage and current without the change in frequency.( I mugged this one during my engineering days. It was the only question which was asked to us during vivavoce. Bad luck, he got a prob with this one too)

CPress: Without the change in frequency???Had you heard about frequency transformers??

Me: No, sir. I didn't heard about FT.( VTU didn't covered Frequency transformers in the syllabus. After interviews, I googled and found that they are developed in the year 2004 by ABB).

CPress: Kinds of transformers??

Me: Power transformers, distribution transformers.

CPress: Suppose I have a 230 V i/p and I need 6v output?? Is it possible??

Me : Yes sir. Its called step down transformer.

CPress: Is it possible to increase output to 400 V?? Is yes how?? How to design??

Me: (F*Ck design) Yes. It is possible. Step up transformers with number of primary turns less than secondary turns. Secondary side magnetic flux increases, which increases secondary current and hence the secondary voltage.Design?(In a low pitch)

CPress: OK. What is frequency??

Me: Some event occurring number of times a sec.(Remembered Cycles/sec)

CPress: Do you know AC/ DC machines?? Its been mentioned in your resume.( Me: I decided to keep them out of resume from now on).

Me: Yes. I read about them during my engineering. I don't have in depth knowledge about them as of now.

CPress: Difference between AC motor and Induction motor.??( Me: brum...brum....lol)

Me:(Loser!! I just said I don't know.) Kept quite.

CPress: What is a structure??

Me: A structure is a collection of one or more variables, of different data types, grouped together under a single name. Structures are similar to arrays with the only difference is that is can hold different data types.(I was been asked this question in all the interviews that I had attended in Bangalore)

CPress: Where can be structures used?? Explain with an example?

Me: (Thank god he started asking questions on C) For example College. College is a structure with students, no of students, class room sections holding different data types.

CPress: What is 8085??Its been mentioned in your resume

Me: (Awesome Dude!!) Sir 8085 is a microprocessor.

CPress: Then what is the difference between 8085 and 8051??

Me: 8085- microprocessor. 8051- Microcontroller.
Microprocessor- general purpose. Microcontroller - Specific purpose
Micro controllers will have timers and blah blah...

CPress: What is PC??

Me: Personal Computer

CPress: PC in microprocessor?? What does it do??

Me:(Kal nan magane..Program counter andidre nim appan mane gant hogoda) Program counter holds the address of the next instruction to be executed.

CPress: How many bits does 8085 have??

Me: 8085 is a 8bit processor.

CPress: Sushanth. Don't feel bad about my views. I felt you are good at programming skills rather than analog and digital electronics. You had worked on .NET , Matlab and LabView. Its better you choose your career with them. Its nice talking to you. Thanks for your time.

Me: It really was a nice interview. Glad to talk with you. (TAk.....ting ting ting..)

That's all folks!! It was a 45 mins telephonic interview(Exactly 47.26 mins). CPress, some how felt that I am not good at analog and electronics stuffs. Probably, he is right. I could have prepared a bit better. But as u all know, how difficult it is for an Electrical (BE) engineers to remember electrical and electronics topics after 4 long years, that too in this computer programming world which wants the engineer to be good at programming skills. Trust me, It really was a good interview as I was been refreshed on electronics stuffs.

People who are trying for cypress semiconductors, make sure you had done your basics right. Keep your resume limited. Only put those subjects in which you are good at. They don't have lots of openings on Application programming. All the best fellas!!

Thursday, June 17, 2010

UBUNTU

While you all must be surprised about my sudden disappearance from the blogging zone recently, the reason you did not see me around was because I got lost into the Linux world and you have no idea how hard it is to make out of this virtual world safe and sound. But very amazingly I managed to do so without much effort.


Linux Ubuntu is one of my new ultimate operating system choice and trust me it is not for the faint of heart. Though I have not left Windows XP completely (I usually have to switch to it to play games and do some work) but after much determination and struggle I have managed to adapt myself in the Linux environment and it is very cool and challenging.

For those of you who think that Linux is terrible and Windows rocks, here is my say on why Ubuntu is better than Windows.

1. No Viruses – Thats true! as Linux does not recognize Win32 Executables so the possibility of having a virus on-board is absolutely 0%
2. Open Source – Unlike Windows, Linux distributions are open source and the source code can be edited and modified to the most to suit your needs.
3. Better Learning – While Windows just teaches you how to install and run a program, Linux helps you do that using a Terminal. So if you fall in a situation where you don’t have a GUI, you can operate things well.
4. Free Software – Every application and software on Linux is free and open source. You don’t need to worry about licenses anymore and you can always find a better and free Linux alternative to a Windows application.
5. Easy to Use – This point may seem ironic but is true to a lot of extent. Linux Ubuntu is one of the most user-friendly and easy to use Linux distribution which even beats Windows XP and Vista in usability and ease of use.
6. Ubuntu Community Help – Ubuntu has a very active support and help community where you can get answer to your questions and problems in minutes.
7. Cool Desktop Effects – For those who think Aero in Windows Vista is damn cool! wait till you experience Compiz on Ubuntu which provides better 3D desktop effects with less resource usage.
8. Easy Upgrade – You can upgrade Linux Ubuntu through the package manager and all applications can be installed/updated through it. There is no need to Google for freewares as the package manager helps you find all of them.
9. Highly Customizable – If you like customizing your operating system without a billion registry and software hacks then Ubuntu is your ultimate choice.
10. Experience Live – Linux Ubuntu CDs come with a pre-installed OS environment which allows you to run the OS without even installing it. Carry your Ubuntu Live CD with you and use it on any PC anywhere around the world.

This may not be all but still these are some of the strong points that tell you how powerful Linux Ubuntu is. It definitely has some bugs and issues but as long as you don’t mingle with commands and updates too much, there shouldn’t be a problem using it.

Tuesday, January 19, 2010

Mechanical seminar reports

AIRCARShttp://www.mediafire.com/?mwtnzndnnzm
Computer Aided Process Planninghttp://www.mediafire.com/?k1ymjjzzwuv
Continuously variable transmission CVThttp://www.mediafire.com/?bznmtmwtyyj
Cryogenic Grindinghttp://www.mediafire.com/?ojlmyjdqtez
Development of a Piezoelectric Controlled Hydraulic Actuator for a Camles
http://www.mediafire.com/?lmwoi2yyndb
EXTREME ULTRAVIOLET LITHOGRAPHYhttp://www.mediafire.com/?nw2y2dj245j
F1 Track Design and Safety Circuithttp://www.mediafire.com/?zkwzmjmum4t
Four-wheel steering drivehttp://www.mediafire.com/?dz1qynyommy
Green Enginehttp://www.mediafire.com/?umjq53z4dfz
HANS -head restrainthttp://www.mediafire.com/?ynihywyqngj
HIGH ALTITUDE AERONAUTICAL PLATFORMS HAAPShttp://www.mediafire.com/?3moktwjdclw
Hydrodrivehttp://www.mediafire.com/?yyqdn5lzdol
VEHICLE HANDLING STABILITY AND BIFURCATION ANALYSIS FOR NONLINEAR VEHICLE MODELS
http://www.mediafire.com/?tw2zm0mtj2y
Design analysis fabrication and testing of composite leafhttp://www.mediafire.com/?hyymyyxjn1j
Integration of information technology in machine toolshttp://www.mediafire.com/?wlvmvnj2mum
Embedded system in automobileshttp://www.mediafire.com/?zkuaqznmony

Monday, January 18, 2010

Electrical Engineering seminar reports

GASOLINE DIRECT INJECTIONhttp://www.mediafire.com/?12ywiyz2wm3
Stegnography n cryptographyhttp://www.mediafire.com/?ttnmhzwyij4
Lightning Protection Using LFA-Mhttp://www.mediafire.com/?yiamnmckymf
Cordect wireless in local loop systemhttp://www.mediafire.com/?wymomzzwmti
Modern-irrigation-systems-towards-fuzzyhttp://www.mediafire.com/?22fgyhjmujz
Data Compression Techniqueshttp://www.mediafire.com/?zoytmy3cmcz
Dense Wavelength Division Multiplexinghttp://www.mediafire.com/?qumzw1wg5yz
CT scanninghttp://www.mediafire.com/?z0yzz0qondw
Night visionhttp://www.mediafire.com/?zmjg0mnmgwz
Digital Theatre Systemhttp://www.mediafire.com/?mmtiwtnijmz
Digital audio broadcastinghttp://www.mediafire.com/?d3kwhxyjvmm

Electrical and chemical diagnostics of transformer insulation
http://www.mediafire.com/?zicljluejmd
Cruise Control Deviceshttp://www.mediafire.com/?mhv2guzzwt5
Crusoe proscessor architecturehttp://www.mediafire.com/?cmrnmzjtzcx
TELEROBOTIC SYSTEM FOR LIVEhttp://www.mediafire.com/?nzznnmtelet
Delay Tolerant Networkinghttp://www.mediafire.com/?yjqmqyonzta
IPFC report and ppt
http://www.mediafire.com/?3mdnnjvvf2z
http://www.mediafire.com/?eznnjnymxjn
http://www.mediafire.com/?oxnmn0mwmgw

Civil/Architecture engg seminar

BURJ seminar reporthttp://www.mediafire.com/?wkrz2mmdomj

Softwares

PDF to WORD converter http://www.mediafire.com/?mjztjoyjyko
Nokia Themes 5230 http://www.mediafire.com/?cyoskzus0gfnxup
GIMP 2.6.10(Photo Editing software) http://www.mediafire.com/?512pix763whqby7