Design Constraint Analysis and Component Selection Rationale

Group 3: MIDI Maestros

Christopher Coy

Benjamin Johanek

Ryan Denison

Matt Burgess

2/12/2004

Introduction

Roughly based on the 1978 classic game SIMON from Milton Bradley, Super Simon is more than just a pattern matching game. It tests the player’s ability to recognize a melody, and then to reproduce it on a MIDI keyboard. In the single player mode, the melodies become progressively more complex, and in the two player mode it is a competition similar to that of HORSE, the basketball game, where in this case a player must match the melody of his opponent.

The game will be a box that contains a microcontroller, a voice chip, an LCD screen, a knob, and a small amplifier to produce the output melodies and various messages to the players. Size is an issue taken into consideration, as the game should be fairly portable. Another external constraint is the power source, which was decided best to be sourced from a typical 120V AC wall socket (to be converted into DC for use by the circuitry inside).

Analysis of Design Constraints

The microcontroller needs to receive and process the MIDI signals quickly, in addition to applying time-tags to them for comparison purposes, so both a fast clock speed and a high baud rate serial interface are necessary. However, a human can only sense time to a certain extent, thus there will be tolerance (so many milliseconds) for each note. This gives the processor more computation and I/O time, so most chips with a decent clock and baud rate (which is normally a fraction of the clock speed) will be sufficient for all computation needs.

In order to control the LCD screen and sound controller, the microcontroller needs to have 14 pins dedicated for these devices. Additionally, the control knob (rotary pulse generator with a push button) needs 4 port pins. To send and receive MIDI signals, two serial ports are desired, though port pins could be used for the output. The easiest way to receive the MIDI signals from the keyboard is by way of a UART interface, so a microcontroller with this is desired. For timing and comparison purposes, a timer/counter with comparison capability would simplify the time-tagging / data logging of the MIDI signals. The only other mandatory interface requirement is a reset pin, which is pretty much standard on all microcontrollers. A feature that may prove to be useful, though not necessary, is a real-time clock, perhaps with a separate oscillator and counter mode. If that can also be used as an external clock for the other peripherals, particularly the sound controller chip, it would be very useful.

The power needed for this project will be sourced from a small AC/DC converter, so that the device can be plugged into the wall (typical 120V AC outlet). A battery-powered configuration is possible, but running the microcontroller at a high clock speed along with supplying enough current for the amplifier circuit (for sound output) and the LCD screen deems such a design impractical. The end-users’ hassle with changing the batteries coupled with an already existing requisite that the MIDI-capable keyboard be plugged in convinced the designers to use awall-wart instead. The design of the power supply inside the device is yet to be in existence, though it is known that the LCD and microcontroller (at minimum) will require different supply voltages. A total of 30mA should be more than enough to power the entire circuit.

Although in the market place an aesthetic, ergonomic, and compact design are highly desired, the main focus in packaging constraints is compactness in both overall size and weight. The game should be fairly portable and not burdensome to relocate. The design currently in place is fairly small, since the speaker and amplifier are just big enough to be heard clearly. The largest parts will probably be the power supply and circuit board, but with meticulously designing the layout, they should both be relatively small in comparison to the size of the keyboard. The LCD screen to be used, a Crystall Fontz CFAG 12864B, is a graphical display whose dimensions are only 75 x 52.7 mm, which is just the size for displaying necessary information to the users.

The total cost of the project shouldn’t be overly expensive, since the target customers are owners of MIDI keyboards, which is not a large crowd. Also, the creators of the device have limited budgets. For this reason, an inexpensive microcontroller will be used, preferably with little to no cost in development software and hardware necessary to prototype the device. The cost of all products can be found in the spreadsheet following this report.

Rationale for Component Selection

LCD: The Crystall Fontz CFAG12864B was chosen because of its aesthetics, graphical display (instead of merely characters) and because of its robust operating conditions. It also has backlighting, which allows the user to read more clearly the perhaps time-critical messages that it will display. Many other LCD’s were considered because of price, but they lacked the desired luster of this one.

Microcontroller: When looking over several possibilities for the microcontroller, the Atmel AT90S8535 seemed to best fit the requirements for this design, while remaining affordable. It has a programmable UART suitable for MIDI signals, as well as a clock speed of 8MHz. The 32 I/O lines more than suffice for the peripherals, so the remaining port pins can be used in the debugging process during prototyping. The on- chip times are well developed with separate prescalers and compare modes. The Atmel also has a real-time clock with separate oscillator and counter modes, which are useful to use to clock the peripherals, and perhaps to generate a metronome. Also, the in-circuit programmability and PDIP package make prototyping simple.

The Rabbit 3000 was also highly considered due to its high clock speed of 54MHz, 6 serial ports, and 56 I/O pins. The drawbacks of this chip were that it was more expensive, the TCP/IP functionality was unnecessary, and the timers were not as great as in the Atmel chip, though they were numerous. The Rabbit did have ten 8-bit timers, but only 2 match registers. Due to its size (128 pins) there is no PDIP package, and consequently prototyping would be more difficult than with the Atmel. Basically, the chip was nice, but it had an excess of everything, and the Atmel was picked for its quality, over quantity (of I/O pins, speed, etc).

If the Atmel AT90S8535 cannot be located due to availability, similar chips are currently being produced at about the same price range and functionality. The two of most interest to the designers are the AT90S8515 and the AT90S4434, both of which have the 40 pin PDIP package for prototyping purposes.

Sound Chip: The ISD4003, from Winbond Electronics, was the best sound chip found, with 8-minute sound recording capability and it is controlled by a SPI port. It is easy to program and has a 28-DIP package which can be prototyped easily. Other chips were more expensive or did not have serial interfacing with a DIP package option.

List of References

Atmel AT90S8535

AT90S8515 alt chip

AT90S4434 alt chip (can’t locate exact data sheet)

Rabbit 3000

IDS4003

* data sheet not yet available

IDS4004

Crystall Fontz CFAG12864B