Hello, currently building my first ARM based project, in this case on an Atmel
SAM3x8e, as such i am throwing a number of new to me things in so i can play and learn (this project is purely a learning experience, and hopefully giving me a well made tool once i learn from my mistakes)
As such, i am asking for some insight or knowledge for the following.
1. I'm hoping to use a 4gbit SPI nand flash as LCD image storage and bulk buffering for logging for the space after that. (low latency provided the blocks are already erased),
TC58CVG2S0HRAIG,
- I plan to use it like a fifo for the logging, just writing up, until it reaches the end then wrapping back to after the LCD area, so as time goes on i hope to keep wear leveling predictable
- my main understanding is ideally i will want my driver to have a bad block table. internally the chip has a bad block flag that can be set per block. so likely read before each write.
Does this sound like fair use for a nand flash? ideally i want the device to still function without an SD card installed (i will be using one, but want it optional), the thought being if a bad block is found it marks it, and automatically skips it on write. the logging data rate is ~ 16 - 32KByte / s, and would be running for an hour at most.
2. I would like to allow usb mass storage access to these memory's, (SD card via 4 bit SDIO, and NAND),
- I imagine the SD card via USB would not be too hard, but could use pointers as to the how.
- For the NAND, as the LCD image stuff only needs to be written to by a PC, i was thinking creating a FAT partition for part of the NAND, and ignore the logging area.
Am I in the right ballpark, or attacking it the wrong way? I will be likely programming on both these memory's a hundred times during development, and feel programming a nand via the same USB i load the program in on, should make it easier to develop on. for the NAND, can i fake a FAT file system? The image sizes will always be the exact same size (same resolution and bit depth), so i cannot foresee fragmentation issues?
3. ESD protection, for the USB i was thinking of using something like this
DM1231-02SO as the usb spec ones on digikey have too high a capacitance for high speed usb, and for an SD card, with the terminals buried away inside a socket, is it something i need to worry about?
4. Peripheral power switching, Ideally i would like to depower external peripherals when they are not in use, e.g. the LCD / backlight, an SD card with poor idle power, etc, (lets say 150mA loads), is the common choice to use a Pfet that gets pulled low to enable (this micro resets as input with pullup), or is there some chip solution that is prefered?
5. I have been thinking about using buttons on my devices front panel, with the
cheap ebay matrix keypads, 1. do they tend to last, and 2. could a sticker be overlaid on top of these style keypads to make a cheap 1 off custom? (or do the bumps make this a nightmare)
Thank you for reading this far.