L to R: PIC18LF4585 DIPs and SMT, 2GB SD Kingston SD card, USB SD Card Reader, SD Card Ejector Sockets
I’ve sampled (and purchased) a few more goodies for the project. Most importantly, I’ve sampled some new 18LF4585 PIC’s. The major difference with these PIC’s is that they have more RAM (roughly 3.3Kb as apposed to 368 bytes offered by the 16F877A), they run faster 40Mhz after enableing the Phase Lock Loop Multiplier, an internal 8Mhz oscillator (wow, that’s pretty cool), and few power saving features.
Next, I’ve sampled new Crystals (not pictured above) from Fox Electronics. Among my new crystals are two 10Mhz, two 20Mhz, and two 14.7456Mhz. The latter will be used for the STA013 MP3 decoder.
Read more for details on the new card slots, reading the new memory card, and my plans for tomorrow….
The nice SD Card slots above were sampled from the good people at Molex. These are much nicer than the ones that I paid for earlier, and I have more of them. They are very tricky to use in a prototype without soldering them onto a PCB, but it can be done by very finely soldering a 9 pin header to the leads (be very careful not to melt the plastic.. I ruined my first card slot that way). When you’re done soldering, wrap the whole mess in some black electrical tape to keep it sturdy. Finally, be very careful not to bend it any way that could result in breaking the connection.
At the bottom of the picture you will also see my new 2Gb SD card and USB card reader (no more reading/writing to my SD cards through the battery chewing monster that is my digital camera).
As for an update, I’ve finally managed to get my PIC16LF877’s to work at a lower voltage. The trick was to disable brown out detection. Now I’m able to run the PIC at 3.3Volts (or lower) so that I can avoid the unsavoury business of level conversion. Luckily the LCD is quite happy to pick up 3.3V signals. A quick rewire of the power circuitry on my wirewrap board and it was happily humming away.
On another note, I’ve bumped the frequency up to 20Mhz with the new crystals I’ve sampled (they are much nicer small package crystals that will look good on the finished project). At this new frequency, my peak transfer rate should be around 610Kb/s.
I tried my new SD card right away in my apparatus, only to find that it wouldn’t properly read. Instead of recieving 0x01 to CMD0, the SD card seemed to be sending 0x80. After a while of pulling my hair out I realized that 0x80 is just 0x01 shifted left one (note that the bus idle is high, so it would capture one more high on the far left and one less high on the far right bit cells). A quick change to make the PIC read on the falling edge instead of the rising edge of the clock, and the problem was fixed. Theres a bit of other strange behaviour with the new card. For some reason it only sends data on a read command when the block length is set to 512. This would be a bit annoying if I were still using the 16F877, but since I’m switching, it shouldn’t be a problem for long.
Tomorrow I will be switching to the new PIC and putting the finishing touches on my FAT driver. If time permits, I may also begin to wire up the MP3 decoder, which will be my next step.