Bit-banging
   HOME
*





Bit-banging
In computer engineering and electrical engineering, bit banging is a "term of art" for any method of data transmission that employs software as a substitute for dedicated hardware to generate transmitted signals or process received signals. Software directly sets and samples the states of GPIOs (e.g., pins on a microcontroller), and is responsible for meeting all timing requirements and protocol sequencing of the signals. In contrast to bit banging, dedicated hardware (e.g., UART, SPI, I²C) satisfies these requirements and, if necessary, provides a data buffer to relax software timing requirements. Bit banging can be implemented at very low cost, and is commonly used in some embedded systems. Bit banging allows a device to implement different protocols with minimal or no hardware changes. In some cases, bit banging is made feasible by newer, faster processors because more recent hardware operates much more quickly than hardware did when standard communications protocols were c ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Serial Peripheral Interface
The Serial Peripheral Interface (SPI) is a synchronous serial communication interface specification used for short-distance communication, primarily in embedded systems. The interface was developed by Motorola in the mid-1980s and has become a ''de facto'' standard. Typical applications include Secure Digital cards and liquid crystal displays. SPI devices communicate in full duplex mode using a master-slave architecture usually with a single master (though some Atmel and Silabs devices support changing roles on the fly depending on an external (SS) pin). The master (controller) device originates the frame for reading and writing. Multiple slave-devices may be supported through selection with individual chip select (CS), sometimes called slave select (SS) lines. Sometimes SPI is called a ''four-wire'' serial bus, contrasting with three-, two-, and one-wire serial buses. The SPI may be accurately described as a synchronous serial interface, but it is different from the Sync ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Serial Peripheral Interface Bus
The Serial Peripheral Interface (SPI) is a synchronous serial communication interface specification used for short-distance communication, primarily in embedded systems. The interface was developed by Motorola in the mid-1980s and has become a ''de facto'' standard. Typical applications include Secure Digital cards and liquid crystal displays. SPI devices communicate in full duplex mode using a master-slave architecture usually with a single master (though some Atmel and Silabs devices support changing roles on the fly depending on an external (SS) pin). The master (controller) device originates the frame for reading and writing. Multiple slave-devices may be supported through selection with individual chip select (CS), sometimes called slave select (SS) lines. Sometimes SPI is called a ''four-wire'' serial bus, contrasting with three-, two-, and one-wire serial buses. The SPI may be accurately described as a synchronous serial interface, but it is different from the Sy ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Computer Engineering
Computer engineering (CoE or CpE) is a branch of electrical engineering and computer science that integrates several fields of computer science and electronic engineering required to develop computer hardware and software. Computer engineers not only require training in electronic engineering, software design, and hardware-software integration, but also in software engineering. It uses the techniques and principles of electrical engineering and computer science, but also covers areas such as artificial intelligence (AI), robotics, computer networks, computer architecture and operating systems. Computer engineers are involved in many hardware and software aspects of computing, from the design of individual microcontrollers, microprocessors, personal computers, and supercomputers, to circuit design. This field of engineering not only focuses on how computer systems themselves work, yet it also demands them to integrate into the larger picture. Robots are one of the applicatio ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Data Carrier Detect
Data Carrier Detect, abbreviated as DCD, or alternately Carrier Detect abbreviated as CD, is a control signal present inside an RS-232 serial communications cable that goes between a computer and another device, such as a modem. This signal is a simple "high/low" status bit that is sent "from DCE to DTE", or in a typical scenario, from the peripheral to the computer. It is present on virtually all PC serial ports - pin 1 of a nine-pin ( DE9) serial port, or pin eight over a 25-pin (DB25) port. Its purpose varies depending on the device connected, but the most specific meaning is to indicate when a modem is connected to another remote modem via telephone lines. The word "carrier" is a reference to the analog carrier signal generated by a modem, which is modulated to carry the data. On a data modem, the carrier's loss equates to the connection's termination. Much like the Ring Indicator signal, on a PC's serial port, changes to the DCD signal state can generate a hardware interrupt ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Polling (computer Science)
Polling, or polled operation, in computer science, refers to actively sampling the status of an external device by a client program as a synchronous activity. Polling is most often used in terms of input/output (), and is also referred to as polled or software-driven . A good example of hardware implementation is a watchdog timer. Description Polling is the process where the computer or controlling device waits for an external device to check for its readiness or state, often with low-level hardware. For example, when a printer is connected via a parallel port, the computer waits until the printer has received the next character. These processes can be as minute as only reading one bit. This is sometimes used synonymously with 'busy-wait' polling. In this situation, when an operation is required, the computer does nothing other than check the status of the device until it is ready, at which point the device is accessed. In other words, the computer waits until the device is ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Software-defined Radio
Software-defined radio (SDR) is a radio communication system where components that have been traditionally implemented in analog hardware (e.g. mixers, filters, amplifiers, modulators/demodulators, detectors, etc.) are instead implemented by means of software on a personal computer or embedded system. While the concept of SDR is not new, the rapidly evolving capabilities of digital electronics render practical many processes which were once only theoretically possible. A basic SDR system may consist of a personal computer equipped with a sound card, or other analog-to-digital converter, preceded by some form of RF front end. Significant amounts of signal processing are handed over to the general-purpose processor, rather than being done in special-purpose hardware (electronic circuits). Such a design produces a radio which can receive and transmit widely different radio protocols (sometimes referred to as waveforms) based solely on the software used. Software radios have signif ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Virtual Machine
In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination. Virtual machines differ and are organized by their function, shown here: * '' System virtual machines'' (also termed full virtualization VMs) provide a substitute for a real machine. They provide functionality needed to execute entire operating systems. A hypervisor uses native execution to share and manage hardware, allowing for multiple environments which are isolated from one another, yet exist on the same physical machine. Modern hypervisors use hardware-assisted virtualization, virtualization-specific hardware, primarily from the host CPUs. * Process virtual machines are designed to execute computer programs in a platform-independent environment. Some virtual machine emulators, such as QEMU and video ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


2MGUI
2M is a DOS program by the Spanish programmer Ciriaco García de Celis. It enables higher than normal capacity formatting of floppy disks. It saw active development from 1993 to 1995. The last version, v3.0, was released on 6 March 1995. It was written in C and assembler and compiled using Borland C++ 3.1. The program consisted of two major components: 2M and 2MGUI (from "2M Guinness"). Of these, 2M was the main program enabling the formatting, reading and writing of high density 3.5" disks formatted to a capacity of either 1804 KiB or 1886 KB, and 2MGUI was a proof-of-concept program that demonstrated the ability to format any normal high density 3.5" disk to a capacity of over two million bytes (1972 KiB) on any disk drive. Both programs implemented disk I/O speedups in the form of "Sector Sliding" and "DiskBoost", which work on the principle of ordering the physical sectors on the disk to facilitate pauseless reading over track changes. 2MGUI utilized bit banging and tricked t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




FTDI
Future Technology Devices International Limited, commonly known by its acronym FTDI, is a Scottish privately held semiconductor device company, specialising in Universal Serial Bus (USB) technology. It develops, manufactures, and supports devices and their related cables and software drivers for converting RS-232 or Transistor-transistor logic, TTL Serial communication, serial transmissions to and from USB signals, in order to provide support for Legacy system, legacy devices with modern computers. The company also provides application-specific integrated circuit (ASIC) design services, and consultancy services for product design, specifically in the realm of electronic devices. History FTDI was founded on 13 March 1992 by its current CEO, Fred Dart (whose initials happen to be "FTD") . The company is an indirect descendant of Computer Design Concepts Ltd, a former semiconductor technology startup also founded by Dart. FTDI's initial products were chipsets for personal co ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Integrated Woz Machine
The Integrated Woz Machine (or IWM for short) is a single-chip version of the floppy disk controller for the Apple II. It was also employed in Macintosh computers. History When developing a floppy drive for the Apple II, Apple Inc. co-founder Steve Wozniak felt that the existing models available on the market were too complicated, expensive and inefficient. Rather than use the existing floppy drives from Shugart Associates, Wozniak decided to use the drive mechanism – but develop his own electronics separately for the both drive and the controller. Wozniak successfully came up with a working floppy drive with a greatly reduced number of electronic components. Instead of storing 8–10 sectors (each holding 256 bytes of data) per track on a 5.25-inch floppy disk — something standard at that time, Wozniak utilized group-coded recording (GCR), and with 5-and-3 encoding he managed to squeeze as many as 13 sectors on each track using the same mechanics and the same s ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Fast Loader
A fast loader is a software program for a home computer, such as the Commodore 64 or ZX Spectrum, that accelerates the speed of file loading from floppy disk or compact cassette. Floppy disks Fast loaders came about because of a discrepancy between the actual speed at which floppy drives could transfer data and the speed that was provided by the operating system's default routines. This discrepancy was most pronounced on the VIC-20 and Commodore 64. While the earlier Commodore PET series had used an industry-standard IEEE-488 parallel bus, this was replaced with a custom Commodore serial bus on the VIC-20. The serial bus was intended to be nearly as fast as its predecessor, due to the use of the 6522 VIA as a hardware shift register on both the drive and computer. However, hardware bugs were discovered in the 6522 that prevented this function from working consistently. As a result, the KERNAL ROM routines were hastily rewritten to transfer a single bit at a time, using ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

1-bit Architecture
In computer architecture, 1-bit integers or other data units are those that are (1/8 octet) wide. Also, 1-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers of that size. There are no computers or microcontrollers of any kind that are exclusively 1-bit for all registers and address buses. A 1-bit register can only store 21 different values, i.e. 0 or 1 (off or on, respectively). This is very restrictive and therefore not enough for a program counter which, on modern systems, is implemented in an on-chip register, that isn't implemented on-chip in some 1-bit systems. Opcodes for at least one 1-bit processor architecture were 4-bit and the address bus was 8-bit. While 1-bit CPUs are obsolete, the first carbon nanotube computer from 2013 is a 1-bit one-instruction set computer (and has only 178 transistors). 1-bit A serial computer processes data a single bit at a time. For example, the PDP-8/S was a 12-bit co ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]