Concept Review Pre-Read

P08009: Audible Memo Board Phase II

Senior Design I

October 8, 2007

Team Members:

Alex Gorevski (CE)

Jon Gosliga (EE)

Jim Varghese (EE)

Loic Hureau (EE)

Introduction:

The end goal of this project is to make a clipboard-sized device that enables a blind person with some degree of neuropathy in their fingertips to keep track of appointments. In other words, this is going to serve the same purpose a normal calendar would for a sighted person that can use a writing utensil. The project requires that the person is able to record and play back memos based on the user input on a custom-designed keyboard. The device is to include audio prompts and confirmations for button presses. The memos need to be stored when power is not applied to the system and shall not be erased until the appointment has expired at minimum. Other features include automatic playback of the next several recorded appointments and volume control. Since this is a continuation project, many of the conceptual pieces have been locked into place based on monetary stipulations, design specifications that have already been met, and design and software progress that would save considerable amounts of time.

Critical Specifications:

In order to be functionally useful, the following specifications must be met:

The device must:

  • Be able to record memos on any given day
  • Allow the playback of the memos
  • Retain stored information when the power is shut down
  • Include an option to play all upcoming memos in the correct order
  • Be able to store 64 one-minute messages
  • Have an internal clock mechanism to keep the correct time and date separate of user-control
  • Be very intuitive
  • Have a sound quality that is understandable

Concepts:

External Layout Design:

The layout design, shown below, will not be altered in any way, shape or form. This part of the design process has already been reviewed and determined to be acceptable by the customer and the sponsor.

PCB Layout:

The PCB design is a new requirement for our project requirements. The goal was to minimize the amount of wiring that made up a significant amount of space inside the box. Further improvements due to PCB usage would be that the size of the box would be able to be dramatically decreased in volume. There were several design issues we came up with over the PCB layout:

  • How many PCB’s do we want to use?
  • We came up with the idea to use two PCBs to eliminate noise; however, the concept failed because it would add a lot of overhead, cost twice as much, and would take a significant amount of extra time to implement for minimal improvement in signal quality, which could be mitigated in other forms anyway.
  • Do we want to use surface mount components or leaded components?
  • We decided to go with surface mount components because the cost of the PCB layout is based on area of design, not on the amount of pads they have to put on. The idea here is that if we could minimize the amount of area used in the layout, we could save money and accomplish the same end goal.
  • The layout will require many test pins so that we can easily debug the circuit.
  • Much like the evaluation board, we will set up a series of headers that will go to each pin on the microcontroller as well as the analog input and output areas so that we may debug the design on the fly. Each area will have a silkscreen that labels the exact pin number or IO port that corresponds to the section we will be working with. This way, it will avoid the confusion we had with the evaluation board’s IO setup where the pins are incorrectly labeled.
  • We need to find the microcontroller pad layout.
  • We will either construct it out by hand, with the measurements of the chip specified in the technical documentation of the microcontroller or look on the internet and ask different sources to provide us with a 128-pin header that corresponds to our chip.
  • The routing of wires will be done through connectors placed on the PCB which, like the ribbon cable currently being used, will significantly reduce the amount of tangled wires currently in the device. This should reduce noise and simplify the process for locating certain pins.
  • We will also have to place several other components such as a USB type B connector and a serial port to be able to debug output to the screen when we make this new PCB. Headers for the op-amps and DAC will be added to the PCB so that they will be able to be changed on a whim if any problem were to occur with their performance.
  • In the current design, they decided to go with a Type-A connector, which was also conveniently mapped backwards on their layout. This doesn’t matter much; however, because it wasn’t being used in their current design.

Electronics:

Many electrical subsystems were used to accomplish the specification of this project. The primary electrical system is the audio and playback system.

System Overview:

After considering the existing system, the team has chose to keep the over-all audio and play back system. The microphone is fed into a pre-amplifier then to an audio codec, which could interface serially with a microprocessor to store the appointments or memos into a non-volatile flash memory bank. Memos could then be played back through the same audio codec to a power amplifier feeding the speaker. However, there will be a design change of the pre-amplifier and an additional off-set circuit will be added. See the following paragraphs for more information on those circuits.

Test Circuit:

A test circuit will be created to validate the input signal all the way to the speakers. This test circuits comprise of just the pre-amp, off-set amp, and the power amp. This design would ensure that the circuitry in this system would work and by isolating the microprocessor we can troubleshoot the whole system more effectively.

Filter and Amplification Design:

Several filtration and amplification flaws were found in the current project. As a result, the entirety of this portion of the circuit will be rebuilt, and will have a minimal impact on costs because the components are fairly cheap and readily available in the labs for the most part. We anticipate that the design will at most cost us $10 worth of new components for both the breadboard and the PCB. This is a very high estimation and we do not anticipate on hitting it, but it will be a threshold value that should not be exceeded.

The amplification is implemented directly into the filter design, and current lab results have shown that this is an effective filter and amplifier. The use of potentiometers will easily allow for adjustments in the gain of the input as well as output.

There will be a DC offset circuit that will follow this design later which will allow for the microcontroller to receive the correct input voltages that it requires to digitize the analog signal properly.

Input and Output sources:

The actual input and output sources we used will not change. (ie: The electret microphone and the output speaker) There is no reason to upgrade, as the sound quality coming out of these has shown to be sufficient for a computer to recognize voice, so there is no need to step up the quality and increase costs. However, at a later date, if an electret microphone of better quality is to be purchased, it should be compatible with our current design, given it connects through a stereo 1/8” headphone jack. The speaker has been rated to output an adequate amount of audible sound for this project, so that will also not change in the design.

Microcontroller Use:

After analyzing the data points that were obtained from the previous group we decided that the Analog to Digital convertor in the microprocessor needed to be replaced.

As a result the team purchased a new Atmel Microcontroller, however the same model processor was used because it met the specification of the project.

At this point, we are locked into using the Atmel Microcontroller that was being used in Phase I of the design. It would simply be too costly to change the processor now; however, the processor has been reviewed and determined to meet all of the necessary specifications. The clock speed is more than enough to give us a very accurate digital signal, so the only concern is the quality that we want to save it at because we have a finite amount of memory space. This sampling rate was decided to stay at 8 kHz until further notice and accurate memory usage could be determined.

Memory Storage:

There will be 512 MB of NAND Flash used to store the data, which has been calculated to be an appropriate amount of memory to sufficiently record enough instructions for typical and even heavy usage of the system.

At this time, it is not enough memory to store 3 appointments every day for 2 years of usage, however, the automatic deletion of old appointments on the fly when necessary can easily be built into the driving software.

Code:

The code that was given to us will definitely need to be improved on. Not only have new requirements that were never fully implemented need to be finished, but those which currently exist will need to be redesigned to allow the microcontroller to run seamlessly without any heavy process power being consumed in any one sector of the program.

Another idea is that the current code be split up into smaller, more manageable functions, which will be commented and documented extensively, so that anyone may understand how each part of the code operates.

The current way that the flowchart has been developed will have to be altered to include the new requirements, such as the ability to erase and re-record new prompt messages.

Internal Clock:

The design of the internal clock was never fully documented or implemented; however, no concerns have risen as to how it shall be implemented physically into our program. The chip that was purchased has been determined to be a viable choice, and since it is readily available and already paid for, it will be used.

There will be a series of input and output lines that will be connected to the microcontroller, and several functions that will be called which change the current time and date. This is something that will only be accessible by what is known as “hidden mode,” which is essentially a button that is hidden from view while the device is operating normally. Stubs have already been written to get the time from the clock, but right now are merely static values and not dynamic. In other words, instead of actually reading the actual time and date stored in the clock chip, the software is going to tell the system that it is (for example) “February, 2007, 1:00 PM EST” whenever the machine is reset.

In hidden mode, functionality will be added so that the user will be able to quickly and easily cycle through years, months, days, minutes, hours, and seconds with different buttons currently implemented on the design in case the internal clock time is ever skewed, as in the case of daylight savings time (which is not a problem with this chip) or leap years.
Team Challenges:

Currently, we are seeing several issues in the way the analog signal traverses through the circuitry to the final destination (the speaker output)

  • The analog input is not producing the correct voltage that should be going into the microcontroller. The specifications suggest that the microcontroller will only read analog signals from 0 to “X” Volts, where “X” is the voltage that is applied to a different pin on the microcontroller. Currently, this pin is set to 3.3 Volts. The analog output; however, after being filtered and amplified, centers on zero so its peak-to-peak output is reading -1.67 to 1.67 Volts.
  • A possible addition would be to set the peak voltage to 5 volts, so that the resolution of the analog signal is definitive and more distinct when the analog-to-digital converter translates the voltage into the corresponding integer value. (ie: 5 volts = 255, 0 volts = 0, 2.5 volts = 128, etc)
  • The evaluation board we are working with currently does not work. The microcontroller that was originally mounted on it did not produce correct results, so it was replaced. The problem lies within the replacement however, as it was mounted incorrectly and the board still does not function.
  • A possible solution, when the board is fixed, is to use a separate analog-to-digital converter which the microcontroller will read in as a set of inputs.
  • If the on-board ADC works, it will be used, as this will minimize costs, and reduce PCB layout space, and maximize the utilization of the microcontroller.
  • Contact with previous group members is very difficult or non-existent. The students whose parts were left incomplete have either graduated or have since become very difficult to contact. The others, whether graduated or not, have completed their portions of the design and there is no need to contact them.
  • All important documentation that was left with us is merely in PDF format.
  • We have to redesign the same circuits from scratch to create the printed circuit board layout that we would like. The same goes for the filtration and amplification systems.
  • Free, quality PCB software is not readily available. That which is available is not very user friendly. We expect that the layout will have to be redesigned several times as we fix the project.
  • Several of the team members have had experience with designing PCB layouts so although it will take longer to route wires than we would like, it will not be a major setback.
  • The circuitry will be hard to pinpoint the correct location of input and output pins. Some of them have been labeled, but since the use of a breadboard seemed to be optional, we will have to go back and critically determine whether or not the final schematic that was left for us is what is still being used today.

Memory Hierarchy

High-Level Flow-Chart of Software

Memo Mode Flowchart

Calendar Mode Flowchart

Hidden Mode Flowchart

Clock Chip Flowchart:

1