??? 07/24/09 17:24 Read: times |
#167836 - You actually gain a lot Responding to: ???'s previous message |
1) No. A lot of microcontrollers have hardware support for SD-cards, which makes the electrical interface suitable for external memory. It has way better bandwidth than a flash chip connected using I2C or SPI, while still consume quite few processor pins. Just as standard SPI, but with four data lines instead of one.
Next thing is that you can chose to design a cheap product with a soldered - and small - memory. A medium product with a largered soldered memory. And a premium product with a card holder. In many embedded products, you have no value that you can remove the memory chip. If you mount some equipment in a car, the equipment may be mounted so that no user may ever reach the box. But you may have connected security cameras for a taxi - it records photos and in case the driver presses an alarm button, the photos are sent in. Or it may record CAN information. When something goes wrong, the manufacturer then connects remotely and downloads the last 30 min log data and if they find it interesting continues to download the last days of logs. Why pay the price of mechanical connectors that gets affected by vibration and corrosion if you do not need to be able to remove the memory? But you can still gain a lot from using a SD memory instead of using a raw flash chip. 2) First off - think about the electrical interface. If a parallel flash, then you may consume more processor pins than you like - the processor may have all RAM and flash for normal operation internally, and only need a big and fast memory for use as a "disk". Next thing with the electrical interfae is that you can get 6MB/s guaranteed bandwidth. And way higher burst bandwidth. Both CF and SD cards have wear leveling inside the controller in the memory card, which means that you do not need to waste code space for such code. And you don't have to worry about what bugs you have in your wear-leveling code. And what happens if the processor gets reset at the wrong time. SD memories are not part of the PC-related market, but part of music players, cameras, video recorders, GPS navigators, ... They have a huge use in the embedded market since they are the cheapest memory technology in $/MB except for USB thumb drives. But they are way smaller than a USB thumb drive, and normally way easier to interface. That means that any processor manufacturer who wants to sell processors has multiple cheap microcontrollers with SD-card interface. 3) You may decide to go for another file system, since the memory chip will not be possible to remove and place in a PC. But the #1 important thing is that whatever file system you select, the SD memory controller will virtualize the sectors you see because of the wear leveling support of the controller in the memory card. Next thing to consider is that if you also have a USB device connector on your equipment, you may decide to let a PC mount your unit and access the flash. Then it might be a good idea to use a file system the PC understands. |