element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • Experts & Guidance
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • Product Groups
  • Store
    Store
    • Visit Your Store
    • 'Choose another store...'
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Personal Blogs
  • Members
  • More
Personal Blogs
Legacy Personal Blogs Bit Banging
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: LargoLobo
  • Date Created: 2 Apr 2021 7:09 PM Date Created
  • Views 501 views
  • Likes 0 likes
  • Comments 0 comments
  • digital logic
  • bit-banging
  • software controlled interfaces
Related
Recommended

Bit Banging

LargoLobo
LargoLobo
2 Apr 2021

A lot of people don't realize that digital data is only valid when read with exacting timing. They assume data is royal and does its own thing. Bit banging is a vernacular way of describing this process but lacks any real information so here's the skinny. Bit banging is transmitting digital data across an interface by means of software control versus hardware switches or direct means. There are many serial and parallel interfaces that fall into this description like UARTs and various bus specifications. This is the abstract view, but it's important to realize the physical conditions to accomplish this task as well. When processor speed increased, various protocols to accomplish data transmission serially to overcome massive wiring requirements of parallel interfaces became desirable. The idea of bit-banging became commonplace but the actual signal conditions must be addressed as well.

 

Data contained within a PCB or digital circuit benefits from minimum influences from parasitic capacitance, inductance, and debilitating resistive leaks to ground so the typical squarewave data pulse goes unscathed. Once out into the world, data begins to suffer leading and trailing-edge decay, noise adheres to all edges, and the signal level begins to droop. The first rule of bit-banging is to sample data pulses as close to the center as possible to avoid the rough edges. This implies two things: a clock signal (or strobe) and a clock rate that is basically twice the frequency of the data. So the clocking its self has to be hearty. You have to manage the shape of the data pulses. Spikes can damage IC innards and signal levels below the ability of the receiving circuit to discern a "1" from a "0" does you no good. This implies you are aware of the IC family specs you are working with and what these levels are and understand noise elimination techniques.

 

So bit-banging is a basic phenomenon in electrical engineering that is here to say and touches on many technologies and protocol descriptions. How these individual use-cases are constructed is fertile ground for hobbyists in which to build projects. Over the years, I have had a few websites attempting to present such projects to the public. The latest rendition can be found at WolfDenElectronics.com. I welcome your comments and project descriptions. Maybe we can both work on some use-cases to advance the understanding of bit-banging.

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube