
34
7 Discussion
7.1 Implementation Issues
During this project there were several issues that needed to be overcome, which did
not have simple solutions. These proved to be good learning points and areas
for self development. The first issue was getting the write command to work with
the SD card. The documentation for issuing commands to any SD card is difficult to
find. Every SD card manufacturer has little differences in the way the cards are
communicated with. Furthermore, within each manufacturer’s line of cards there are
different flows of communication depending on what type of card it is and what size
it is. Thus, finding the correct combination of commands takes a great deal of
experimentation. Six different SD cards were used in the development of this project,
and only one was successfully implemented. Also, the Cypress documentation for
using the SD card is rare. The company at one point in time had an SD interface with
libraries that handled the file system, but it was dropped because of too many
unresolved problems and size limitations of the MCUs. When searching the Cypress
forums, few examples showing how to issue byte commands to an SD card can be
found. The main flow of the program came from the SD manufacturer's manual, but
most of the help to resolve the problems came from online forums and hobby
experimenter websites.
Another issue was the fact that the system was developed as a 3.3 volt system to work
with the SD card, negating the possibility to use a Liquid Crystal Display (LCD) with the
microcontroller for debugging purposes. The PSoC MCU is capable of running with 5
volts, and originally it was done so. The SPI data lines to the SD card were taken to
3.3 volts using level shifters. This gave the ability to use the LCD to show the responses
that the SD card was giving. The level shifters were taken out and the MCU
was configured to function on 3.3 volts to help with communication problems between
the MCU and the SD card. The WiFly unit also proved to work better on the lower
voltage. At this voltage the LCD would not work so another temporary MCU was
Comentários a estes Manuais