Electromechanical Arithmetic Logic Unit

Size: px
Start display at page:

Download "Electromechanical Arithmetic Logic Unit"

Transcription

1 Electromechanical Arithmetic Logic Unit Design Report 5/8/2009 David Bober E90: Senior Design Advised by: Prof. Cheever Prof. Moreshet

2 Abstract The Electromechanical Arithmetic Logic Unit (EmALU) implements a 4 bit ripple carry adder using mechanical logic gates. Its primary functions are education and amusement, providing a highly visual and physically intuitive representation of digital logic. Binary values are represented by the flow of ball bearings through the device. Each logic gate is entirely controlled by the forces exerted by these ball bearings. A microcontroller regulates both the mechanical adder and a user interface, the latter being composed of a keypad and Liquid Crystal Display (LCD). This unusual adder implementation should help illustrate the abstract principals of digital logic and provide an interesting comparison to more conventional integrated circuit approaches. Mechanical logic also has strong parallels in microfluidic technology.

3 Table of Contents Abstract... 2 Introduction... 4 Background... 5 Design... 8 Mechanical Adder... 8 Electromechanically Adder Actuation Microelectronic Adder Controller Microcontroller Programming Testing and Results Conclusions Bibliography Appendix A... 24

4 Introduction An arithmetic logic unit (ALU) is a component of any microprocessor, being responsible for logical evaluations and arithmetic computations, such as addition, subtraction, division and multiplication. An ALU is typically constructed as an integrated circuit, which implements the desired functionality with Boolean logic created by transistor gates. The design of such Boolean logic is the focus of E15/CS24: Fundamentals of Digital Systems, which studies logic abstracted from its physical implementation. This device seeks to compliment the ideas of E15 with a physical model of digital logic. The operation of the mechanical gates is clearly visible and the centerpiece of the project. The user can visually track the flow of bearings and see the operation of half, full, and ripple carry adders. Figure 1: Complete EmALU Figure 2: MeALU Schematic At the beginning of an operation, the user enters the desired operands using a keypad (see label 1 on figure 1), connected to the microcontroller (2), and the input is displayed on a small LCD (3). When input is complete, the device allows bearings to drop into the mechanical logic array (4), starting the computation. The input of ball bearing is controlled by a row of solenoids (5) that retract to allow ball bearings to fall. The balls complete the operation by flowing downward under the force of gravity. As

5 the ball bearings approach the bottom of the device, their flow is electronically measured by their passage through photointerrupter slots (6). An Auger (7) then lifts the ball bearings to the top of the device to reset for the next calculation. These steps are illustrated schematically in figure 2. Background The addition of binary numbers follows a simple algorithm nearly identical to more familiar decimal addition. Starting with the least significant bits, the operands are added and the most significant bit of their sum is carried over and added to the next most significant operand bits, while the least significant sum bit becomes the output sum. While complicated to describe in words, the procedure is easy to grasped with an example, such as shown in Table 1 for Sum=A+B where, A=0011 and B=1011. The subscripts indicate the digit, with A 0 being the least significant bit (2 0 ). Binary addition of one bit numbers can be easily described with Boolean logic, as shown in Table 2. The logical expressions for the carry C and sum S are can be written as C i+1 = A i *B i and S i =A i B i. Table 1: Binary Addition Example Carry i A i B i Sum i Table 2:1 bit Binary Addition (half adder) A i + B i = C i+1 S i 0 i + 0 i = 0 i+1 0 i 0 i + 1 i = 0 i+1 1 i 1 i + 0 i = 0 i+1 1 i 1 i + 1 i = 1 i+1 0 i

6 It is also often convenient to represent this Boolean logic as a schematic, where each symbol represents a logical gate. The logical system in this device uses only the XOR, AND and OR operations, whose symbols and defining truth table are shown figure 3. Figure 3: Logic schematic To add two single bit numbers and create a two bit output, the logical combination called a half adder is used, its logic was shown in table 2. Combining two half adders into a full adder allows three single bit numbers to be summed and yield a sum and a carry. Both types of adder are shown in figures 4 and 5. Multiple full adders can be used to add two n bit numbers and produce an (n+ +1) bit output. The simplest configuration, shown in figure 6, is called a ripple carry adder. Although easy to construct, the ripple carry adder is relatively slow because the accurate addition of each bit requires that all less significant bits be summed first. Each logical operation requires some finite time, called propagation delay. In the time before all less significant bits are added, the ripple carry adder will produce erroneous results for more significant bits, called propagation error. Figure 4: Half Adder Figure 5: Full Adder

7 Figure 6: 2 bit Ripple Carry Adder

8 Design Mechanical Adder The design of the mechanical ripple carry adder was the most novel aspect of the project. The adder functions through the flow of ball bearings through logic gates. A major design goal was to have electrical components only at the input and output of the adder, which requires each gate to operate only by the force exerted by the balls flowing through it. To simplify the design, the decision was also made to propel the ball bearings with only the force of gravity and no external pressure. A ripple carry adder was selected because it is the simplest digital adder. This section will largely concern the design of mechanical logic gates and their assembly into an adder. Existing microfluidic technology was used as a starting point for design. These systems use fluid flow through micrometer wide channels to perform a huge range of functions, including Boolean logic. They are of current interest in a number of fields, particularly chemistry and biology where they have the potential to dramatically shrink the scale of reactors. Microfluidic logic gates normally have no moving parts and are operated by fluid pressure, inertia being irrelevant at the very low Reynolds numbers found in micron scale channels (P. Tabeling 2005). Treating the ball bearings as a simple fluid, the only types of force available to operate the gates will be inertial and hydrostatic, which simplifies the Bernoulli equation to V 2 /2+gz=constant, where V=velocity, z=head, g=gravity. Unfortunately, the flow of ball bearings is highly non Newtonian and the use of the Bernoulli equation is limited to helping conceptualize the problem. Ball bearings flow as a granular material, which exhibit very complicated dynamics that vary greatly with flow rate and pressure. Luckily, these flows are of significant interest to several fields of engineering, including geotechnical, and are heavily studied. Among the relevant granular flow phenomena is their ability to elastically resist small shear stresses before plastic flow begins. Simply put, the material will act as a solid when under low shear stress and then begin to flow under higher stress. Granular materials also exhibit a property called dilatancy, which means that the bulk material must expand before motion can begin. The combined effect of these phenomena is to cause granular materials to tend to clog when confined (Ristow 2000). The design progressed by exploring the possible gates that could be used to construct a half adder, the basic unit of a ripple carry adder. This required the selection of the proper logical basis. While the AND/OR/INV logical basis is widely known, there are many other equivalent systems that are often more convenient. Digital computers typically use NAND or NOR logic because it is easiest to

9 implement with transistors. For the mechanical adder, inverters were ruled out because of the obvious difficulty of outputting a flow of ball bearings when there is no inflow. This suggested the choice of the XOR/AND/OR, as shown in the preceding section. This basis is convenient because it was suspected that each gate would be relatively simple to construct and only two gates per half adder would be required. This system is also logically complete, which means that it can be used to express any Boolean function 1. This system is also particularly appealing because early prototypes showed the XOR/AND functions had significant potential to be combined into a single gate, as will be discussed later. Assuming such a combination of AND and XOR is possible, a half adder which functions as shown in figure 7 can be produced. Figure 7: XOR/AND Half Adder. 1 Given that AND/OR/INV is known to be complete, XOR/AND/OR can be shown to be complete by demonstrating its equivalence to AND/OR/INV. This is proved by the fact that x =x 1.

10 Figure 8: Half Adder XOR Figure 10: Half Adder XOR Figure 9: Half Adder AND An iterative design process was used to implement this system. Initial gate sketches were created in SolidWorks tm and then cut out of foam using the Roland Modela 3D Printer tm. ¼ inch Ball bearings were selected because of their convenient size and very low cost. This rapid prototyping allowed the easy assessment of many different designs. Gates without moving parts, similar to those used in fluidics, were considered appealing because of their simplicity. These gates were to work by the inertia of the ball bearings and the different trajectories produced when streams collided. They were each intended to work as shown above in figures Although functional gates were produced, they were unreliable and highly dependent on incoming ball velocity (as one could have predicted from M=m*v and Ke=m*v^2). They were also limited by the highly elastic ball collisions and unpredictable ricochets. The next series of attempts introduced a pivoting bell shaped piece to separate the incoming flows and control the unpredictable collisions. Under the new design, the movement of the bell was produced by the force of the incoming balls and its resulting position controlled the output. This design proved much more successful and is used in the final device. Figures 11 and 12 show the final half adder design. Note that in the event of an AND operation, one of the inputs is discarded and the other continues. This has no effect on the logical value but helps prevent jamming by lessening the constriction of flow. All that remained to produce a full adder was the addition of another OR gate. OR gates operating on ball bearings are surprisingly difficult to design because of the tendency of the balls to jam when constricted, as discussed earlier. Fortunately, in the ripple carry adder, there is never a

11 case where both inputs to any OR gate are high. This greatly reduces the possibility of jamming and allows for the full adder design shown in figures These Full Adders were then simply connected to form a ripple carry adder. Figure 11: Half Adder XOR Figure 12: Half Adder AND Figure 13: A+B+B=CS where, A 0 =1, B 0 =0, C 0 =0 C 1 =0, S 1 =1 Figure 14: A+B+B=CS where, A 0 =1, B 0 =1, C 0 =0 C 1 =1, S 1 =0

12 Figure 15: A+B+B=CS where, A 0 =1, B 0 =0, C 0 =1 C 1 =1, S 1 =0 Figure 16: A+B+B=CS where, A 0 =1, B 0 =1, C 0 =1 C 1 =1, S 1 =1 Electromechanical Adder Actuation The mechanical adder requires several other supporting components to functions properly. Mechanisms must be provided to release the ball bearings into the device, sense their passage at the bottom of the device, and also the lift them back to the top once an operation is complete. Each of these systems must also be able to be coordinated by the microcontroller. Their designs are discussed below. Each input control device must be capable of starting or stopping the flow of bearings very quickly to ensure proper device timing. Solenoids are the ideal choice because of their fast response time, low cost and simple operation. Solenoids, see figure 17, function by linear actuation of a ferrous core with a magnetic field produced by a surrounding wire coil. With the bearings initially stored in vertical columns above each input, solenoids with specially made plungers could be used to alternately

13 block or permit ball bearing input. This mechanism was initially prone to jamming, but was quickly fixed by allowing more clearance between the plungers and the adder body. Figure 17: Solenoid (Photo from: The output of the adder must be converted to an electrical signal for the controller to read it. These transducers must register a low value unless a sufficient flow of bearings passes, in which case it registers high. Initially, a row of mechanical snap lever switches was installed 1.25 inches from the bottom of the output channel. If a flow of 5 or more bearing passed, the switches would be activated. This approach was problematic because the highest sensitivity switches economically available produced jams because of the force needed to activate their levers. Also, the high low threshold was fixed by their position and limited the devices robustness. These mechanical switches were replaces with photointerrupter slots. Each slot is composed of an infrared LED and phototransistor separated by 0.3 inches, see figure 18. When a balls pass through this slot the phototransistor changes state. Each slot has a response rate of 3kH and is therefore capable of detecting the passage ball bearings in continuous contact at any speed below 20mph. The microcontroller simply counts the number of balls which have passed and compares it to a programmable high low threshold, which can be adjusted for maximum accuracy.

14 Figure 18: Photointerrupter (Photo from: SX3070,EE SX4070.jpg) Once a computation is complete, the ball bearings must be lifted to the top of the device. This is accomplished with a screw auger, similar to an Archimedes Screw. At the bottom of the device, the balls fall into a channel whose bottom is formed by the top of a custom manufactured screw, see figure 19. The screw was cut with a.126 radius thread profile, allowing ball bearings to seat in the thread root. Rotating the screw forces the balls above it to move horizontally. At the end of the screw is a curved channel leading to the top of the device. The auger forces balls into this channel, which produces an upward displacement of those balls already in the channel. The screw pitch is 4 threads per inch, meaning that each ball is moved ¼ per revolution. This pitch was selected because it is the fastest helix which can be produced in the Engineering Department shop. The maximum number of balls ever released is 64, equivalent to 16 inches. This implies that a maximum of 64 revolutions will be needed to reset the device. To keep reset time to below the arbitrary goal of 20 seconds, a motor capable of 300 RPM was selected. The motor is coupled to the auger with two small set screws. The auger is supported by two ball bearing pillow blocks. Ball type bearings were selected because of the need to resist modest thrust forces from the mass being lifted. Figure 19: Auger

15 Microelectronic Adder Controller The EmALU components require significant coordination and precise timing. The keypad and LCD of the user interface also need processing to communicate with the adder. Some sort of programmable microelectronic computer is the obvious choice for these requirements. Although a PC could be used, a microcontroller is preferable because of its low cost and simple I/O. The ease with which they can be re programmed is also invaluable. The decision to design and construct a custom microcontroller board rather than use a prefabricated one was dictated by both practical and educational reasons. Although microcontroller development boards are readily available, they are expensive and would have required significant modification to interface with the required peripherals. The additional educational value of starting from scratch made it an easy choice. The design of the microcontroller board began by completing the specifications for the devices it would control. This list of peripherals, shown in Table 3, was used to select the proper Microcontroller to meet the I/O demands. Table 3: Peripheral devices Peripheral Requirements Number required LCD 1 serial transmit pin 1 Keypad 8 pins with 4 pull ups 1 photointerrupter 1 pin with pull up 5 Solenoid On/Off 12V and 2oo ma 8 Motor On/Off 12V and 3oo ma 1 The Microchip PIC16f877 tm was selected because it supplied an ample number of I/O pins without the need for complications such as multiplexing. This chip has the added advantage of being identical to those used in E15 laboratories and is therefore well supported by the departments development infrastructure and knowledge base. With the chip selection complete, the supporting architecture was developed in Multisim. For a PIC to operate, it must be provided with proper power and ground connections as well as the necessary programming connections, in this case with an RJ12 connector. This chip model also requires an external oscillator. Figure 20 shows the PIC with only these supporting features in place.

16 Figure 20: Minimum PIC microcontroller circuit. The LCD selected operates by serial transmission and therefore requires only 1 pin and is relatively easy to program, see figure 21. The only significant drawback is that the only Serial Transmit pin must be reserved for it. The remainder of the pins were assigned in blocks to operate the other devices. Figure 21: LCD The photointerrupter connections required the addition of weak pull up resistors to ensure a stable high signal, shown in figure 22. The purpose of these resistors is to maintain a high voltage to the input pins until the switch is closed and they are grounded. This prevents the pins from floating at intermediate values while the switch is open. Although the PIC contains several internal pull ups, there were not a sufficient number. The photointerrupter slots also require one resistor be soldered to each to limit the LED current, their internal circuit is shown in figure 23.

17 Figure 22: Pull up Circuit Figure 23: Internal circuit of Photointerrupter. From Omron EE SX3070/ SX4070 Manual The keypad also requires that half of its inputs be connected to pull ups. It operates on a matrix encoded system where pressing a key shorts two of the inputs, the schematic and decoding table are included in figure 24 and figure 25. Input is sensed by successively setting each column high and scanning the row outputs. The decoding table can then be used to determine which key has been pressed. Figure 24: Keypad schematic (from Figure 25: Keypad decoding table (from ACT data sheet)

18 The solenoid and motor outputs all require significantly more current than the 25 ma each PIC pin can supply. These pins were equipped with simple MOSFET amplifier circuits to boost the available current, shown in figure 26. The diode, acting as a snubber diode, prevents the high voltage created by the inductive loads from damaging the system. Figure 26: amplifier schematic. After the entire microcontroller circuit was designed in schematic form, it had to be transferred to the Ultiboard tm CAD tool to develop a design for the printed circuit board (PCB). Components from the standard Multisim tm library contain their physical footprint, which is used by Ultiboard tm to place the necessary thru holes. Custom components and footprints can also be defined. The user then places each component footprint in the desired location on the PCB. The wire traces are generally routed automatically, although the user can intervene. The trace thickness is calculated with any number of simple online applets 2. This design required the use of separate digital and analog ground networks because of the high current sent to ground by the solenoids and motors. The completed layout is shown in figure 27. The PCB design flies were then sent to Advanced Circuits for fabrication. Upon receipt of the board, the requisite components were soldered into place. The assembled board, with keypad and LCD attached, is shown in figure One such calculator is found at trace widthcalculator/

19 Figure 27: PIC Board Layout Figure 28: Assembled PIC Board

20 Once the board was fabricated and put into use, three small design errors surfaced. Firstly, one of the pins assigned to the keypad is open drain and therefore unable to be set high. Although this is stated in the PIC documentation, it is not emphasized and was overlooked. The addition of a pull up resistor successfully solved the problem. Secondly, the linear voltage regulator used became excessively hot when powering the LCD and receiving a 12 volt input. This problem was corrected by changing to a more expensive switching regulator made by Dimension Engineering. Lastly, the photointerrupters required a 5 volt input which had not been provided because the original design called for mechanical switches. The problem was solved by soldering an addition group of header pins to the 5 volt trace. Microcontroller Programming The microcontroller requires programming to determine its behavior. This software was developed in PIC C and served to coordinate the device. Figure 29 is a flow chart summarizing the basic functioning of the software, with the full code found in Appendix A. The program s default state is to scan the keypad for input. When a key is pressed, the keypad determines which key it is and then acts accordingly. While scanning the keypad, the software acts to de bounce the signal, or filter noise occurring when a key is pressed. This reduces the occurrence of unintended double key presses and inaccurate readings. If a numeral or operand is pressed, then the program adds the character to a string. If the clear key is pressed, then the input string is initialized to null values. Once the Enter key is pressed the software processes the input string and activates the correct solenoids. The solenoids are activated with a precise timing to control the number of balls released and compensate for the adder s inherent propagation delay. The software also then begins to scan the photointerrupter slots to read the devices output. After a set delay, the sum is returned. The Reset function turns on the auger motor to lift the bearings to the top of the device.

21 Figure 29: Software Flowchart

22 Testing and Results The device s reliability was tested for a number of different scenarios. The cases tested and the resulting reliability statistics are shown in table 4. In general, the device exhibits good reliability (>95%) for the addition of two operand bits, regardless of their values (0000 b b and 0001 b b ). The carry function is also reliable when added to a bit equal to zero (0001 b b ). The carry degrades in accuracy when added to a non zero bit (0011 b b ). This is because the carry often arrives at the next full adder slightly ahead or behind the next operand bits because of the propagation delay. When the ball bearings enter the AND/XOR gate non simultaneously, they tend to jam and not compute properly. This problem cannot be corrected by delaying the input of the next operands because the random variation in the time needed to compute the carry is greater than the tolerance of the full adder s need for simultaneous input. The serial carry probabilities are not independent because the timing errors compound, leading to very poor reliability for multiple serial carries (0111 b b ). Nonetheless, the device performs well for operations that have a low number of Carry + non zero operand steps, such as 1010 b b. Table 4: Reliability Statistics Operation Reliability 0000 b b 98% 0001 b b 95% 0011 b b 60% 0111 b b 25% Conclusions The device accomplishes all of its major design goals, although with less reliability than hoped. The EmALU successfully demonstrates a mechanical implementation of digital logic and a simple ALU. The mechanism is clearly visible and hopefully relatively easy to comprehend. The user interface provides an easy input and output, while the microcontroller adds significant flexibility. Were development to continue, the mechanical portion would need to be improved to increase reliability. Jamming could be prevented by introducing greater ball velocities with a taller device and less extreme bends. Changing the adder s material to a hard and smoother plastic would reduce wall friction and also improve performance. One could also imagine a number of possible alternate gate designs.

23 Bibliography P. Tabeling, Suelin Cheng. Introduction to Microfluidics. Oxford University Press, Ristow, Gerald H. Pattern Formation in Granular Materials. Springer, 2000.

24 Appendix A: Microcontroller PIC C Code /* this code controls the microcontroller for the mechanical ALU. created by DBober last modified Sunday April 26th E90 */ #include "H:\E90\software\version 2\PIC_control.h" /* move LCD cursor to bottom line */ void new_line() delay_ms(5); fputc(0xfe, use_lcd); // move to second line delay_ms(5); fputc(0x45, use_lcd); delay_ms(5); fputc(0x40, use_lcd); delay_ms(5); /* blink LCD cursor */ void crsr() delay_ms(5); fputc(0xfe, use_lcd); // set cursor delay_ms(5); fputc(0x4b, use_lcd); delay_ms(5); /* clear LCD */ void clc() delay_ms(5); fputc(0xfe, use_lcd); //clear delay_ms(5); fputc(0x51, use_lcd); delay_ms(5); /* display help file */ void help() clc(); fprintf(use_lcd, "There is no help");

25 /*initializes ALU such that solenoids and motor are off */ void init() int const sol_a[4] = PIN_E2, PIN_C1, PIN_C3, PIN_D1; int const sol_b[4] = PIN_C0, PIN_C2, PIN_D0, PIN_D2; int const motor = PIN_D3; int bit; output_low(motor); for (bit=0; bit<=4; bit++) output_low(sol_a[bit]); output_low(sol_b[bit]); clc(); crsr(); /* clears entry string and entry index */ void clear_str(int *str) int k = 0; for(k = 0; k<=6; k++) str[k] = '\0'; /* converts string of characters into 1 decimal number */ int str2dec(int *str, int *L) int i = 0; int power = 1; int dec = 0; for(i = L; i > 0; i ) dec = dec + (str[i 1] '0')*power; power = 10 * power; return dec; /* parses input string into decimal operand and operator */ int str2op(int *key_str, int *dec_a, int *dec_b) int a = 0; int b = 0;

26 int k = 0; int op = '\0'; int str_a[6] = '\0','\0','\0','\0','\0','\0'; int str_b[6] = '\0','\0','\0','\0','\0','\0'; for(k = 0; k <=6; k++) if(key_str[k] == '\0') break; if(key_str[k] == '+') op = '+'; k++; if(op == 0) str_a[a] = key_str[k]; a++; if(op!= 0) str_b[b] = key_str[k]; b++; *dec_a = str2dec(str_a, a); *dec_b = str2dec(str_b, b); if(*dec_a > 15 *dec_b > 15) return 0; else return 1; /* activate proper solenoids and read photointerrupters */ int fire(int *dec_a, int *dec_b) int const sol_a[4] = PIN_E2, PIN_C1, PIN_C3, PIN_D1; int const sol_b[4] = PIN_C0, PIN_C2, PIN_D0, PIN_D2; int const switches[5] = PIN_B4, PIN_B2, PIN_B1, PIN_B0, pin_d7; int off_bit = 0; int on_bit = 0; int period = 30; //ms (time between bits) int phase_shift = 60; //ms (time each solenoids is on) (4 balls at 140) int count_off; int count_on; int read_bit; int result = 0; int prev_state[5] = 0, 0, 0, 0, 0; int ball_count[5] = 0, 0, 0, 0 0;

27 count_on = phase_shift; count_off = 0; setup_timer_1(t1_internal T1_DIV_BY_8); set_timer1(0); while( (on_bit < 4) (off_bit < 4)) if(get_timer1() >= 1000) count_on++; count_off++; set_timer1(0); if(count_on >= period) if(bit_test(*dec_a, on_bit)) output_high(sol_a[on_bit]); if(bit_test(*dec_b, on_bit)) output_high(sol_b[on_bit]); on_bit++; count_on = 0; if(count_off >= period) output_low(sol_a[off_bit]); output_low(sol_b[off_bit]); off_bit++; count_off = 0; for(read_bit = 0; read_bit<=4; read_bit++) if(!input(switches[read_bit])) if(prev_state[read_bit] == 1) ball_count[read_bit]++; prev_state[read_bit] = 0; else prev_state[read_bit] = 1;

28 for(read_bit = 0; read_bit<=4; read_bit++) if(ball_count[read_bit] >= 3) bit_set(result, read_bit); return result; /* resets ALU by turning on auger motor */ void reset() int const motor = PIN_D3; int time; time = 0; output_high(motor); delay_ms(5000); output_low(motor); /* scans keypad, returns only when valid (debounced) keystroke is detected.*/ int scan_keys() int const cols[4] = PIN_A0, PIN_A1, PIN_A2, PIN_A3; int const rows[4] = PIN_A4, PIN_A5, PIN_E0, PIN_E1; int r; int c; char key_code[4][4] = '1', '2', '3', '+', '4', '5', '6', ' ','7', '8', '9', 'R','C', '0', 'H', 'E'; while(true) for (r=0; r<=3; r++) output_low(rows[r]); for (c=0; c<=3; c++) if (!input(cols[c])) delay_ms(10); if (!input(cols[c])) return key_code[c][r]; output_high(rows[r]);

29 /* coordinate device functions */ void main() int key; int k=0; int key_str[6] = '\0','\0','\0','\0','\0','\0'; int dec_a = 0; int dec_b = 0; int result = 0; setup_adc_ports(no_analogs); setup_adc(adc_off); setup_psp(psp_disabled); setup_spi(spi_ss_disabled); setup_timer_0(rtcc_internal RTCC_DIV_1); setup_timer_1(t1_disabled); setup_timer_2(t2_disabled,0,1); init(); while(1) crsr(); delay_ms(250); //reduce double tap on keypad key = scan_keys(); switch(key) //"Enter" parses input, activates solenoids and reports result case 'E': clc(); fprintf(use_lcd, "working... \n"); if(str2op(key_str, &dec_a, &dec_b)) result = fire(&dec_a, &dec_b); clc(); fprintf(use_lcd, "Answer >> %d", result); clear_str(key_str); else clc(); fprintf(use_lcd, "Error:"); new_line(); fprintf(use_lcd, "Invalid Entry"); clear_str(key_str); break; //"Clear" clears key sting and LCD case 'C': k = 0;

30 clear_str(key_str); clc(); break; //"Reset" clear key string and LCD. Also turns on screw motor. case 'R': clc(); fprintf(use_lcd, "reseting... \n"); delay_ms(5); reset(); k = 0; clear_str(key_str); clc(); break; //"Help" for non engineers. case 'H': help(); break; //Any other key is added to string of inputs (if str length <=5 ) default: key_str[k] = key; fprintf(use_lcd, "%c ", key_str[k]); if(k <= 4) k++; else clc(); fprintf(use_lcd, "Error: "); new_line(); fprintf(use_lcd, "Invalid Input"); clear_str(key_str); break;

PIC DESIGN (version 1) 2/11/2009

PIC DESIGN (version 1) 2/11/2009 PIC DESIGN (version 1) 2/11/2009 The decision to design and construct a custom microcontroller was dictated by both practical and educational reasons. Although microcontroller development boards are readily

More information

Logic, Words, and Integers

Logic, Words, and Integers Computer Science 52 Logic, Words, and Integers 1 Words and Data The basic unit of information in a computer is the bit; it is simply a quantity that takes one of two values, 0 or 1. A sequence of k bits

More information

Combinational Circuits

Combinational Circuits Combinational Circuits Q. What is a combinational circuit? A. Digital: signals are or. A. No feedback: no loops. analog circuits: signals vary continuously sequential circuits: loops allowed (stay tuned)

More information

6. Combinational Circuits. Building Blocks. Digital Circuits. Wires. Q. What is a digital system? A. Digital: signals are 0 or 1.

6. Combinational Circuits. Building Blocks. Digital Circuits. Wires. Q. What is a digital system? A. Digital: signals are 0 or 1. Digital Circuits 6 Combinational Circuits Q What is a digital system? A Digital: signals are or analog: signals vary continuously Q Why digital systems? A Accurate, reliable, fast, cheap Basic abstractions

More information

Branch PLC. Velocio s Branch PLC

Branch PLC. Velocio s Branch PLC Velocio s Branch PLC Branch PLC The Branch PLC is a member of the Velocio s groundbreaking series of programmable logic controllers. These PLCs introduce revolutionary new concepts, capabilities, performance

More information

Robotic Systems ECE 401RB Fall 2006

Robotic Systems ECE 401RB Fall 2006 The following notes are from: Robotic Systems ECE 401RB Fall 2006 Lecture 15: Processors Part 3 Chapter 14, G. McComb, and M. Predko, Robot Builder's Bonanza, Third Edition, Mc- Graw Hill, 2006. I. Peripherals

More information

Accelerometer-Based Musical Instrument

Accelerometer-Based Musical Instrument Accelerometer Music Instrument University of Texas at Austin TI Innovation Challenge 2015 Project Report Team Leader: Team Members: Advising Professor: Video Texas Instruments Mentor (if applicable): Date:12/13/2014

More information

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR DLD UNIT III Combinational Circuits (CC), Analysis procedure, Design Procedure, Combinational circuit for different code converters and other problems, Binary Adder- Subtractor, Decimal Adder, Binary Multiplier,

More information

Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012

Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012 Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012 1 Digital vs Analog Digital signals are binary; analog

More information

Chapter 9. Input/Output (I/O) Ports and Interfacing. Updated: 3/13/12

Chapter 9. Input/Output (I/O) Ports and Interfacing. Updated: 3/13/12 Chapter 9 Input/Output (I/O) Ports and Interfacing Updated: 3/13/12 Basic Concepts in I/O Interfacing and PIC18 I/O Ports (1 of 2) I/O devices (or peripherals) such as LEDs and keyboards are essential

More information

EECS 140 Laboratory Exercise 4 3-to-11 Counter Implementation

EECS 140 Laboratory Exercise 4 3-to-11 Counter Implementation EECS 140 Laboratory Exercise 4 3-to-11 Counter Implementation 1. Objectives A. To apply knowledge of combinatorial design. B. Gain expertise in designing and building a simple combinatorial circuit This

More information

CAD4 The ALU Fall 2009 Assignment. Description

CAD4 The ALU Fall 2009 Assignment. Description CAD4 The ALU Fall 2009 Assignment To design a 16-bit ALU which will be used in the datapath of the microprocessor. This ALU must support two s complement arithmetic and the instructions in the baseline

More information

ECE468 Computer Organization & Architecture. The Design Process & ALU Design

ECE468 Computer Organization & Architecture. The Design Process & ALU Design ECE6 Computer Organization & Architecture The Design Process & Design The Design Process "To Design Is To Represent" Design activity yields description/representation of an object -- Traditional craftsman

More information

NOTIFICATION (Advt No. 1/2018) Syllabus (Paper III)

NOTIFICATION (Advt No. 1/2018) Syllabus (Paper III) NOTIFICATION (Advt No. 1/2018) Syllabus (Paper III) Post Code - 302 Area: Instrumentation COMPUTER PROGRAMMING AND APPLICATION 1. OVERVIEW OF PROGRAMMING: Steps in program development, problem identification,

More information

EMBEDDED SYSTEMS COURSE CURRICULUM

EMBEDDED SYSTEMS COURSE CURRICULUM On a Mission to Transform Talent EMBEDDED SYSTEMS COURSE CURRICULUM Table of Contents Module 1: Basic Electronics and PCB Software Overview (Duration: 1 Week)...2 Module 2: Embedded C Programming (Duration:

More information

Embedded Systems and Software

Embedded Systems and Software Embedded Systems and Software Lecture 12 Some Hardware Considerations Hardware Considerations Slide 1 Logic States Digital signals may be in one of three states State 1: High, or 1. Using positive logic

More information

Button Code Kit. Assembly Instructions and User Guide. Single Button Code Entry System

Button Code Kit. Assembly Instructions and User Guide. Single Button Code Entry System Button Code Kit Single Button Code Entry System Assembly Instructions and User Guide Rev 1.0 December 2009 www.alan-parekh.com Copyright 2009 Alan Electronic Projects Inc. 1. Introduction... 4 1.1 Concept

More information

TEXAS INSTRUMENTS ANALOG UNIVERSITY PROGRAM DESIGN CONTEST MIXED SIGNAL TEST INTERFACE CHRISTOPHER EDMONDS, DANIEL KEESE, RICHARD PRZYBYLA SCHOOL OF

TEXAS INSTRUMENTS ANALOG UNIVERSITY PROGRAM DESIGN CONTEST MIXED SIGNAL TEST INTERFACE CHRISTOPHER EDMONDS, DANIEL KEESE, RICHARD PRZYBYLA SCHOOL OF TEXASINSTRUMENTSANALOGUNIVERSITYPROGRAMDESIGNCONTEST MIXED SIGNALTESTINTERFACE CHRISTOPHEREDMONDS,DANIELKEESE,RICHARDPRZYBYLA SCHOOLOFELECTRICALENGINEERINGANDCOMPUTERSCIENCE OREGONSTATEUNIVERSITY I. PROJECT

More information

Strobe Light. Student Lab Guide. Engineering Teaching Laboratory. Lab Partner(s) Page 1 of 10

Strobe Light. Student Lab Guide. Engineering Teaching Laboratory. Lab Partner(s) Page 1 of 10 Strobe Light Student Lab Guide Engineering Teaching Laboratory Name Date Lab Partner(s) Page 1 of 10 NEW TERMS Electric Circuit: Electric circuits are paths for transmitting electric current, or moving

More information

Finite State Machine Lab

Finite State Machine Lab Finite State Machine Module: Lab Procedures Goal: The goal of this experiment is to reinforce state machine concepts by having students design and implement a state machine using simple chips and a protoboard.

More information

Chapter 4 Arithmetic Functions

Chapter 4 Arithmetic Functions Logic and Computer Design Fundamentals Chapter 4 Arithmetic Functions Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Overview Iterative combinational

More information

Homework 6: Printed Circuit Board Layout Design Narrative

Homework 6: Printed Circuit Board Layout Design Narrative Homework 6: Printed Circuit Board Layout Design Narrative Team Code Name: Home Kinection Group No. 1 Team Member Completing This Homework: Stephen Larew E-mail Address of Team Member: sglarew @ purdue.edu

More information

POWER CONTROL BOARD. removed if a sampling of the +5V digital is not. desired. If any one of them is out of range all +5V

POWER CONTROL BOARD. removed if a sampling of the +5V digital is not. desired. If any one of them is out of range all +5V POWER CONTROL BOARD The power control board conditions the DC power to protect the CCD from overvoltage transients. The board passes three analog voltages (high voltage, nominally +36V, and low voltages,

More information

Arduino Uno. Power & Interface. Arduino Part 1. Introductory Medical Device Prototyping. Digital I/O Pins. Reset Button. USB Interface.

Arduino Uno. Power & Interface. Arduino Part 1. Introductory Medical Device Prototyping. Digital I/O Pins. Reset Button. USB Interface. Introductory Medical Device Prototyping Arduino Part 1, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota Arduino Uno Power & Interface Reset Button USB Interface

More information

Design Progress Report: x10 Environmental Control System Brian Kennedy, David Ramsay University of Rhode Island, Department of Biomedical Engineering

Design Progress Report: x10 Environmental Control System Brian Kennedy, David Ramsay University of Rhode Island, Department of Biomedical Engineering Design Progress Report: x10 Environmental Control System Brian Kennedy, David Ramsay University of Rhode Island, Department of Biomedical Engineering Kingston, Rhode Island Professors: Ying Sun, PhD. Eugene

More information

Input/Output Ports and Interfacing

Input/Output Ports and Interfacing Input/Output Ports and Interfacing ELEC 330 Digital Systems Engineering Dr. Ron Hayne Images Courtesy of Ramesh Gaonkar and Delmar Learning Basic I/O Concepts Peripherals such as LEDs and keypads are essential

More information

KGCOE MSD Technical Review Agenda P11213: Land Vehicle for Education: Modular Student Attachment

KGCOE MSD Technical Review Agenda P11213: Land Vehicle for Education: Modular Student Attachment KGCOE MSD Technical Review Agenda P11213: Land Vehicle for Education: Modular Student Attachment Meeting Purpose: 1. Introduction and review of the project 2. Design project recap 3. Mechanical design

More information

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 Network Working Group Request for Comments: 969 David D. Clark Mark L. Lambert Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 1. STATUS OF THIS MEMO This RFC suggests a proposed protocol

More information

IA Digital Electronics - Supervision I

IA Digital Electronics - Supervision I IA Digital Electronics - Supervision I Nandor Licker Due noon two days before the supervision 1 Overview The goal of this exercise is to design an 8-digit calculator capable of adding

More information

1. Mark the correct statement(s)

1. Mark the correct statement(s) 1. Mark the correct statement(s) 1.1 A theorem in Boolean algebra: a) Can easily be proved by e.g. logic induction b) Is a logical statement that is assumed to be true, c) Can be contradicted by another

More information

Electronics & Control

Electronics & Control Engineering Science Electronics & Control Logic Page 2 Introduction Electronic circuits can be use to control a huge variety of systems but in each case there are IN- PUTS, PROCESSES and OUTPUTS. In this

More information

Basic Interface Techniques for the CRD155B

Basic Interface Techniques for the CRD155B Basic Interface Techniques for the CRD155B April 2001, ver. 1.10 Application Note 101 Introduction This application note contains basic information about interfacing external circuitry to computer I/O

More information

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor 1 2 A microprocessor is a single, very-large-scale-integration (VLSI) chip that contains many digital circuits that perform arithmetic, logic, communication, and control functions. When a microprocessor

More information

Cumbria Designs T-1. C-1 Controller. User Manual

Cumbria Designs T-1. C-1 Controller. User Manual Cumbria Designs T-1 C-1 Controller User Manual CONTENTS 1 INTRODUCTION 2 2 CIRCUIT DESCRIPTION 2 3 ASSEMBLY 3 4 CONNECTIONS AND CONFIGURATION 4 5 TESTING 6 Appendix A C-1 Circuit Diagram and PCB Component

More information

Infrared Add-On Module for Line Following Robot

Infrared Add-On Module for Line Following Robot 1 Infrared Add-On Module for Line Following Robot January 3, 2015 Jeffrey La Favre The infrared add-on module allows multiple line following robots to operate on the same track by preventing collisions

More information

INTRODUCTION. Mechanical Considerations APPLICATION NOTE Z86E21 THERMAL PRINTER CONTROLLER ZILOG

INTRODUCTION. Mechanical Considerations APPLICATION NOTE Z86E21 THERMAL PRINTER CONTROLLER ZILOG ZILOG DESIGNING A LOW-COST THERMAL PRINTER USING THE Z86E21 TO CONTROL THE OPERATING CURRENT ON LOW-COST THERMAL PRINTERS PROVIDES DESIGN FLEXIBILITY AND HELPS SAFEGUARD PERFORMANCE. INTRODUCTION Compact

More information

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.111 -- Introductory Digital Systems Laboratory NUBUS LABORATORY KIT For your pleasure and convenience,

More information

Mechatronics and Measurement. Lecturer:Dung-An Wang Lecture 6

Mechatronics and Measurement. Lecturer:Dung-An Wang Lecture 6 Mechatronics and Measurement Lecturer:Dung-An Wang Lecture 6 Lecture outline Reading:Ch7 of text Today s lecture: Microcontroller 2 7.1 MICROPROCESSORS Hardware solution: consists of a selection of specific

More information

Lab 5: LCD and A/D: Digital Voltmeter

Lab 5: LCD and A/D: Digital Voltmeter Page 1/5 OBJECTIVES Learn how to use C (as an alternative to Assembly) in your programs. Learn how to control and interface an LCD panel to a microprocessor. Learn how to use analog-to-digital conversion

More information

DIGITAL ELECTRONICS. Vayu Education of India

DIGITAL ELECTRONICS. Vayu Education of India DIGITAL ELECTRONICS ARUN RANA Assistant Professor Department of Electronics & Communication Engineering Doon Valley Institute of Engineering & Technology Karnal, Haryana (An ISO 9001:2008 ) Vayu Education

More information

C Program Adventures. From C code to motion

C Program Adventures. From C code to motion C Program Adventures From C code to motion ECE 100 Prof. Erdal Oruklu From C code to motion C Code Motion x=5; if (x!=y) { z=0; } else { z=1; } 1 Compilation of C code Virtual machine program Program download

More information

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 13

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 13 CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 2017 Lecture 13 COMPUTER MEMORY So far, have viewed computer memory in a very simple way Two memory areas in our computer: The register file Small number

More information

Question & its answer Remark Total marks 01 Attempt any THREE 12. a) State any three different tools used for Automation. 04 Ans.

Question & its answer Remark Total marks 01 Attempt any THREE 12. a) State any three different tools used for Automation. 04 Ans. Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate may

More information

Lecture #21 March 31, 2004 Introduction to Gates and Circuits

Lecture #21 March 31, 2004 Introduction to Gates and Circuits Lecture #21 March 31, 2004 Introduction to Gates and Circuits To this point we have looked at computers strictly from the perspective of assembly language programming. While it is possible to go a great

More information

eace PLC Velocio s Embedded Ace (eace) PLC

eace PLC Velocio s Embedded Ace (eace) PLC Velocio s Embedded Ace (eace) PLC eace PLC The eace PLC is a member of the Velocio s groundbreaking series of programmable logic controllers. These PLCs introduce revolutionary new concepts, capabilities,

More information

Plasma Lite USB Module

Plasma Lite USB Module Plasma Lite USB Module DOC No. : 16511 Rev. : A8-100 Date : 6, 2004 Firmware Rev. : 600-100 Beta Innovations (c) 2004 http:\\www.betainnovations.com 1 Table of Contents Main Features...4 Introduction...5

More information

Homework 5: Circuit Design and Theory of Operation Due: Friday, February 24, at NOON

Homework 5: Circuit Design and Theory of Operation Due: Friday, February 24, at NOON Homework 5: Circuit Design and Theory of Operation Due: Friday, February 24, at NOON Team Code Name: Motion Tracking Laser Platform Group No.: 9 Team Member Completing This Homework: David Kristof NOTE:

More information

CURIE Academy, Summer 2014 Lab 1: Computer Engineering Hardware Perspective Sign-Off Sheet

CURIE Academy, Summer 2014 Lab 1: Computer Engineering Hardware Perspective Sign-Off Sheet CURIE Academy, Summer 204 Lab : Computer Engineering Hardware Perspective Sign-Off Sheet NAME: NAME: DATE: Sign-Off Milestone TA Initials Part.A Part.B Part.C Part 2.A Part 2.B Part 3.A Part 3.B Part 3.C

More information

GL-104 ENCODER/DECODER MANUAL GLOLAB CORPORATION

GL-104 ENCODER/DECODER MANUAL GLOLAB CORPORATION GL-04 ENCODER/DECODER MANUAL GLOLAB CORPORATION Thank you for buying our Encoder / Decoder Module. The goal of Glolab is to produce top quality electronic kits, products and components. All of our kits

More information

ECE 372 Microcontroller Design

ECE 372 Microcontroller Design !! "! E.g. Port A, Port B "! Used to interface with many devices!! Switches!! LEDs!! LCD!! Keypads!! Relays!! Stepper Motors "! Interface with digital IO requires us to connect the devices correctly and

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

Mark Schutzer December 9, 2007 (updated fix for older rev B and C ProCabs)

Mark Schutzer December 9, 2007 (updated fix for older rev B and C ProCabs) Turning on radio ProCabs / PowerCabs Mark Schutzer December 9, 2007 (updated fix for older rev B and C ProCabs) Overview This paper will look into and explain why radio ProCabs / PowerCabs are hard to

More information

Write LED display data, in accordance with the address from the display from low to high, from low to high data byte operation.

Write LED display data, in accordance with the address from the display from low to high, from low to high data byte operation. The register stores transferred from an external device via the serial interface to the TM1637 data address 00H-05H bytes of six units, respectively, and SGE and GRID pin chip LED lights are connected

More information

ELECTRONIC SYSTEMS. Politecnico di Torino - ICT school. Goup B - goals. System block diagram Sensors and actuators Analog and digital signals

ELECTRONIC SYSTEMS. Politecnico di Torino - ICT school. Goup B - goals. System block diagram Sensors and actuators Analog and digital signals Politecnico di Torino - ICT school Goup B - goals ELECTRONIC SYSTEMS B INFORMATION PROCESSING B.1 Systems, sensors, and actuators» System block diagram» Analog and digital signals» Examples of sensors»

More information

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra Binary Representation Computer Systems Information is represented as a sequence of binary digits: Bits What the actual bits represent depends on the context: Seminar 3 Numerical value (integer, floating

More information

Plasma V2 USB Module

Plasma V2 USB Module Plasma V2 USB Module DOC No. : 16411 Rev. : A7-211 Date : 5, 2004 Firmware Rev. : 600-210 Beta Innovations (c) 2004 1 Table of Contents Main Features...4 Introduction...5 Plasma Configuration...6 Mode

More information

Design Modular Planning

Design Modular Planning Phys253 - Lecture 7, Part II Circuit Components & Layout Design Modular Planning Design by assembling simple circuit modules, such as filters or amplifiers Modules may be separated by buffers, where required

More information

Von Neumann Architecture

Von Neumann Architecture Von Neumann Architecture Assist lecturer Donya A. Khalid Lecture 2 2/29/27 Computer Organization Introduction In 945, just after the World War, Jon Von Neumann proposed to build a more flexible computer.

More information

Unit 2. Computer Control. PIC stands for PROGRAMMABLE INTERFACE CONTROLLER. A PIC chip takes in input signals and then controls output transducers

Unit 2. Computer Control. PIC stands for PROGRAMMABLE INTERFACE CONTROLLER. A PIC chip takes in input signals and then controls output transducers Unit 2 Computer Control PIC stands for PROGRAMMABLE INTERFACE CONTROLLER A PIC chip takes in input signals and then controls output transducers Name: Form: 2 ASIC or Application Specific Integrated Circuits

More information

UNIT 3 THE 8051-REAL WORLD INTERFACING

UNIT 3 THE 8051-REAL WORLD INTERFACING UNIT 3 THE 8051-REAL WORLD INTERFACING 8031/51 INTERFACING TO EXTERNAL MEMORY The number of bits that a semiconductor memory chip can store is called chip capacity It can be in units of Kbits (kilobits),

More information

Magic 8 Ball. Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name

Magic 8 Ball. Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name MPS Magic 8 Ball Lab Exercise Magic 8 Ball Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name Notes: You must work on this assignment with your partner. Hand in a printer

More information

CUSTOMIZED TEACHER ASSESSMENT BLUEPRINT. Test Code: 5936 Version: 01

CUSTOMIZED TEACHER ASSESSMENT BLUEPRINT. Test Code: 5936 Version: 01 CUSTOMIZED TEACHER ASSESSMENT BLUEPRINT ELECTROMECHANICAL ENGINEERING TECHNOLOGY PA Test Code: 5936 Version: 01 Specific competencies and skills tested in this assessment: Technical Documentation and Safety

More information

ELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers. Eng. Salma Hesham

ELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers. Eng. Salma Hesham ELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers What is common between these systems? What is common between these systems? Each consists of an internal smart computer

More information

QRPGuys Digital Dial/Frequency Counter

QRPGuys Digital Dial/Frequency Counter QRPGuys Digital Dial/Frequency Counter First, familiarize yourself with the parts and check for all the components. If a part is missing, please contact us and we will send one. You must use qrpguys.parts@gmail.com

More information

High-Voltage Structured ASICs for Industrial Applications - A Single Chip Solution

High-Voltage Structured ASICs for Industrial Applications - A Single Chip Solution High-Voltage Structured ASICs for Industrial Applications - A Single Chip Solution Yipin Zhang, Cor Scherjon Institut für Mikroelektronik Stuttgart Allmandring 30 a 70569 Stuttgart This paper presents

More information

Home Security System with Remote Home Automation Control

Home Security System with Remote Home Automation Control Home Security System with Remote Home Automation Control Justin Klumpp Senior Project Hardware Description Western Washington University April 24 2005 Professor Todd Morton Introduction: This document

More information

Keypad Interfacing. Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff

Keypad Interfacing. Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff Keypad Interfacing Typical keypads have 12 or 16 buttons Keypad A mechanical keypad simply consists of a set of vertical wires (one for each column) and a set of horizontal wires (one for each row) When

More information

UNIT II - COMBINATIONAL LOGIC Part A 2 Marks. 1. Define Combinational circuit A combinational circuit consist of logic gates whose outputs at anytime are determined directly from the present combination

More information

Team 8: Robert Blake Craig Goliber Alanna Ocampo

Team 8: Robert Blake Craig Goliber Alanna Ocampo Team 8: Robert Blake Craig Goliber Alanna Ocampo Objective of the design CAD Presentation Microcontroller Implementation PCB Design Design Limitations Conclusion Problem: Design a centrifuge which was

More information

The part to be analyzed is the bracket from the tutorial of Chapter 3.

The part to be analyzed is the bracket from the tutorial of Chapter 3. Introduction to Solid Modeling Using SolidWorks 2007 COSMOSWorks Tutorial Page 1 In this tutorial, we will use the COSMOSWorks finite element analysis (FEA) program to analyze the response of a component

More information

SUPPORTING LINEAR MOTION: A COMPLETE GUIDE TO IMPLEMENTING DYNAMIC LOAD SUPPORT FOR LINEAR MOTION SYSTEMS

SUPPORTING LINEAR MOTION: A COMPLETE GUIDE TO IMPLEMENTING DYNAMIC LOAD SUPPORT FOR LINEAR MOTION SYSTEMS SUPPORTING LINEAR MOTION: A COMPLETE GUIDE TO IMPLEMENTING DYNAMIC LOAD SUPPORT FOR LINEAR MOTION SYSTEMS Released by: Keith Knight Catalyst Motion Group Engineering Team Members info@catalystmotiongroup.com

More information

DESIGN AND SIMULATION OF 1 BIT ARITHMETIC LOGIC UNIT DESIGN USING PASS-TRANSISTOR LOGIC FAMILIES

DESIGN AND SIMULATION OF 1 BIT ARITHMETIC LOGIC UNIT DESIGN USING PASS-TRANSISTOR LOGIC FAMILIES Volume 120 No. 6 2018, 4453-4466 ISSN: 1314-3395 (on-line version) url: http://www.acadpubl.eu/hub/ http://www.acadpubl.eu/hub/ DESIGN AND SIMULATION OF 1 BIT ARITHMETIC LOGIC UNIT DESIGN USING PASS-TRANSISTOR

More information

ARRL ETP Solder Hour Clock Kit Construction Manual

ARRL ETP Solder Hour Clock Kit Construction Manual ARRL ETP Solder 101 24-Hour Clock Kit Construction Manual Do a complete parts check cross checking the individual parts against the parts list. Pay particular attention to the color code for the resistors:

More information

Ch 9 Discrete Control Using PLCs and PCs

Ch 9 Discrete Control Using PLCs and PCs Ch 9 Discrete Control Using PLCs and PCs Sections: 1. Discrete Process Control 2. Ladder Logic Diagrams 3. Programmable Logic Controllers 4. Personal Computers Using Soft Logic Discrete Process Control

More information

Two Module Development Kit Installation and User Instructions For Model No. ED-GV15/30

Two Module Development Kit Installation and User Instructions For Model No. ED-GV15/30 Two Module Development Kit Installation and User Instructions For Model No. ED-GV15/30 This Kit is designed to be used as a development platform; performance, regulatory or safety testing for commercial

More information

I N T E R C O N N E C T A P P L I C A T I O N N O T E. Z-PACK TinMan Connector Routing. Report # 27GC001-1 May 9 th, 2007 v1.0

I N T E R C O N N E C T A P P L I C A T I O N N O T E. Z-PACK TinMan Connector Routing. Report # 27GC001-1 May 9 th, 2007 v1.0 I N T E R C O N N E C T A P P L I C A T I O N N O T E Z-PACK TinMan Connector Routing Report # 27GC001-1 May 9 th, 2007 v1.0 Z-PACK TinMan Connectors Copyright 2007 Tyco Electronics Corporation, Harrisburg,

More information

Number Systems and Computer Arithmetic

Number Systems and Computer Arithmetic Number Systems and Computer Arithmetic Counting to four billion two fingers at a time What do all those bits mean now? bits (011011011100010...01) instruction R-format I-format... integer data number text

More information

Lab-3: LCDs Serial Communication Analog Inputs Temperature Measurement System

Lab-3: LCDs Serial Communication Analog Inputs Temperature Measurement System Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-3: LCDs Serial Communication Analog Inputs Temperature Measurement System Ahmed Okasha okasha1st@gmail.com

More information

Digital I/O Survival Kit

Digital I/O Survival Kit The Digital I/O Survival Kit by Dwight Spreng Keithley Instruments, Inc. Introduction In the world of computerized Data Acquisition (DAQ), few would dispute that analog measurements, with gigasample rates

More information

GL116 ENCODER/DECODER MANUAL GLOLAB CORPORATION

GL116 ENCODER/DECODER MANUAL GLOLAB CORPORATION GL ENCODER/DECODER MANUAL GLOLAB CORPORATION Thank you for buying our GL Encoder / Decoder Module. This device was developed in response to many requests for an encoder and decoder that would serialize

More information

Build Your Own Home Security System

Build Your Own Home Security System Build Your Own Home Security System Student Lab Guide Engineering Teaching Laboratory Name Date Lab Partner(s) NEW TERMS Electric Circuit: Electric circuits are paths for transmitting electric current,

More information

Ch 22 Inspection Technologies

Ch 22 Inspection Technologies Ch 22 Inspection Technologies Sections: 1. Inspection Metrology 2. Contact vs. Noncontact Inspection Techniques 3. Conventional Measuring and Gaging Techniques 4. Coordinate Measuring Machines 5. Surface

More information

Dynamic Efficiency Working Efficiently and with Process Reliability

Dynamic Efficiency Working Efficiently and with Process Reliability Technical Information Dynamic Efficiency Working Efficiently and with Process Reliability Considerable potential lies in the efficient heavy machining roughing at high cutting speed but also in the machining

More information

OXFORD CAMBRIDGE AND RSA EXAMINATIONS General Certificate of Secondary Education. Additional materials: Formulae Sheet OCR (Tables 2).

OXFORD CAMBRIDGE AND RSA EXAMINATIONS General Certificate of Secondary Education. Additional materials: Formulae Sheet OCR (Tables 2). Candidate Name Centre Number Candidate Number OXFORD CAMBRIDGE AND RSA EXAMINATIONS General Certificate of Secondary Education DESIGN AND TECHNOLOGY (ELECTRONIC PRODUCTS) PAPER 1 FOUNDATION TIER 1953/1

More information

Parallel I/O and Keyboard Scanning

Parallel I/O and Keyboard Scanning 4 4.1 Objectives: Microprocessors can monitor the outside world using input ports. They can also control it using output ports. The TM4C123G (Tiva) performs I/O using 6 ports. Computer keyboards are typically

More information

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process Lab 01 Arduino 程式設計實驗 Essential Arduino Programming and Digital Signal Process Arduino Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's

More information

PCB Design for Capacitance Rain Sensor

PCB Design for Capacitance Rain Sensor PCB Design for Capacitance Rain Sensor Danny Kang April 14, 2010 EXECUTIVE SUMMARY The definition of sensor is a device that measures a physical quantity and converts it into a signal which can be read

More information

Transcendent Frequency Counter

Transcendent Frequency Counter Transcendent Frequency Counter with blue 2 x 16 LCD display This manual will guide you how to assemble, test and operate this frequency counter KIT. Features: The transcendent counter has two input channels

More information

A Publication of Intel Corporation. September/October 1985 INTEL BRINGS HARMONY TO THE FACTORYFLOOR

A Publication of Intel Corporation. September/October 1985 INTEL BRINGS HARMONY TO THE FACTORYFLOOR A Publication of Intel Corporation September/October 1985 INTEL BRINGS HARMONY TO THE FACTORYFLOOR ApPLICATION NOTE Megabits to Megabytes: Bubble Memory System Design and Board Layout by Steven K. Knapp

More information

Overview. Multiplexor. cs281: Introduction to Computer Systems Lab02 Basic Combinational Circuits: The Mux and the Adder

Overview. Multiplexor. cs281: Introduction to Computer Systems Lab02 Basic Combinational Circuits: The Mux and the Adder cs281: Introduction to Computer Systems Lab02 Basic Combinational Circuits: The Mux and the Adder Overview The objective of this lab is to understand two basic combinational circuits the multiplexor and

More information

SOLIDWORKS SIMULATION

SOLIDWORKS SIMULATION SOLIDWORKS SIMULATION Innovation is about taking chances, not taking risks Scootchi by Curventa Designworks LTD What if? is the question that fuels innovation. SolidWorks Simulation software takes the

More information

AC : A NEW PEDAGOGY FOR THE ELECTRONICS LABORA- TORY

AC : A NEW PEDAGOGY FOR THE ELECTRONICS LABORA- TORY AC 2011-801: A NEW PEDAGOGY FOR THE ELECTRONICS LABORA- TORY Daren Reed Wilcox, Southern Polytechnic State University Gerd Walter Wstenkhler, Hochschule Harz (University of Applied Sciences) c American

More information

ELECTRONICS MANUFACTURE-The In-Circuit Test sequence

ELECTRONICS MANUFACTURE-The In-Circuit Test sequence ELECTRONICS MANUFACTURE-The In-Circuit Test sequence In-Circuit Test comprises several sections, each consisting of a series of tests on individual devices. By testing devices individually, failures can

More information

Motion Control Primer. Direct load position sensing with secondary feedback encoders. White Paper

Motion Control Primer. Direct load position sensing with secondary feedback encoders. White Paper Motion Control Primer Direct load position sensing with secondary feedback encoders White Paper White Paper Position sensing primer Direct load position sensing with secondary feedback encoders In closed-loop

More information

PWR-I/O-DB Power and I/O Daughterboard (#28301)

PWR-I/O-DB Power and I/O Daughterboard (#28301) Web Site: www.parallax.com Forums: forums.parallax.com Sales: sales@parallax.com Technical: support@parallax.com Office: (916) 624-8333 Fax: (916) 624-8003 Sales: (888) 512-1024 Tech Support: (888) 997-8267

More information

None. MICROCONTROLLERS III

None. MICROCONTROLLERS III MICROCONTROLLERS III PREREQUISITES: MODULE 10: MICROCONTROLLERS II. OUTLINE OF MODULE 11: What you will learn about in this Module: Use of a much more powerful microcontroller: the PIC16F877 In-circuit

More information

BB-303 Manual Baseboard for TMCM-303

BB-303 Manual Baseboard for TMCM-303 BB-303 Manual Baseboard for TMCM-303 Trinamic Motion Control GmbH & Co. KG Sternstraße 67 D 20357 Hamburg, Germany http://www.trinamic.com BB-303 Manual (V1.04 / Jul 9th, 2007) 2 Contents 1 Features...

More information

1 Digital tools. 1.1 Introduction

1 Digital tools. 1.1 Introduction 1 Digital tools 1.1 Introduction In the past few years, enormous advances have been made in the cost, power, and ease of use of microcomputers and associated analog and digital circuits. It is now possible,

More information

AMD actual programming and testing on a system board. We will take a simple design example and go through the various stages of this design process.

AMD actual programming and testing on a system board. We will take a simple design example and go through the various stages of this design process. actual programming and testing on a system board. We will take a simple design example and go through the various stages of this design process. Conceptualize A Design Problem Select Device Implement Design

More information

Appendix F: Design Documentation for multisensory therapy system

Appendix F: Design Documentation for multisensory therapy system Appendix F: Design Documentation for multisensory therapy system This appendix contains in details all the system design. It summarizes at the structure design, electrical design, and software design.

More information