- Get link
- X
- Other Apps
- Get link
- X
- Other Apps
Introduction to Bit Walloping SPI communication via Bit Banging
Communication Interfaces are one of the
elements that can be considered when selecting a microcontroller for an
undertaking. The designer guarantees that the microcontroller chosen has all
the interfaces required to speak with all the other machinery used for the
product. The existence of a number of those interfaces like SPI and I2C on
microcontrollers continuously will increase the cost of such microcontrollers,
and depending on the BOM budget, it may make a favored microcontroller now not
less expensive. In situations like those the strategies like Bit Banging are
available in play.
What is Bit Banging?
Bit banging is a method for serial
conversation in which the entire communication procedure is treated via
software in preference to committed hardware. To transmit information, the
method includes the use of software to encode the data into signals and pulses
that govern the nation of an I/O pin of a microcontroller which helps as the Tx
pin to send information to the goal tool. To acquire knowledge, the method
involves sampling the country of the Rx pin after positive periods that are
decided with the aid of the communication baud price. The software units all
the parameters needed to acquire this conversation together with
synchronization, timing, tiers, etc., which can be customarily determined utilizing
dedicated hardware while bit banging isn't used.
When to apply Bit Banging
Bit-Banging is typically utilized when a
microcontroller with the specified interface isn't available or switching to a
microcontroller with the desired interface is probably too costly. It thus
presents a reasonably-priced way of enabling the paired device to talk the
usage of several protocols. For example, microcontroller al previously
Algorithm for Serial Communication thru
Bit Banging
While the code to put in force bit banging
might also vary throughout numerous microcontrollers and may additionally go
for specific serial protocols, the method/algorithm for implementing Bit
banging is equal throughout all systems.
To ship statistics, for example, the
pseudo-code underneath is rummage-sale;
Start
Send jump bit
Wait for the timing to resemble the baud
charge of the receiver
Send statistics bit
Wait for a period to correspond with the
baud rate of the receiver once more
Check if all records bits were despatched.
If no, go to 4. If sure, goto 7
Send stop bit
Stop
Receiving data tends to be a bit greater
complex. Generally, an interrupt is used to decide while information is
available at the receiver pin. This enables making certain the microcontroller
doesn't waste too much processing energy. Although specific applications use
any of the microcontroller's I/O pins, the probability of noise and mistakes,
if no longer probably dealt with, is better. The algorithm to obtain
information on the usage of interrupts is defined underneath.
Start
Enable interrupt on Rx pin
When the interrupt is precipitated, achieve
the start bit
Wait for timing in keeping with the baud
rate
Read the Rx pin
Repeat from four till all facts have been
received
Wait for timing according to the baud price
Check for forestall bit
Stop
Bit Banging over SPI
As mentioned above, a bit of thumping for
different protocols paintings otherwise, and it's crucial to read approximately
every protocol to understand facts framing and clocking earlier than trying to
implement. Taking SPI mode 1, for example, the bottom fee of the clock is usually
zero, and information is generally despatched or received at the rising fringe
of the watch. The judgment drawing for the SPI Mode 1 conversation protocol is
shown below.
- Get link
- X
- Other Apps
Comments
Post a Comment