We offer cost-effective product design services including PCB design, manufacturing management and software development
» Find Out MoreSnapper is a revolutionary new system module which combines the main parts of an embedded computer system onto a tiny package smaller than a business card.
Snapper includes a fast processor, FPGA, controllers for many common peripherals and connectors to fit onto a mounting board.
Snapper has a number of advantages over traditional system modules and single board computers.
a. It includes programmable logic in the form of an Altera FPGA. This allows extra functionality to be added easily, such as extra serial ports, CAN bus, DSP functions, image processing or even an I/O processor.
b. It includes an xD card socket, allowing up to 512MB of fast storage to be added. xD cards operate at over 1MB/s for writing and up to 6 MB/s for reading. The FPGA is used to accelerate access. xD cards are readily available, and have a small size.
c. It includes a memory expansion option to add an additional 256MB memory DIMM to Snapper, taking the total to 320MB of fast SDRAM.
d. It is based on ARM technology, which is low power and high performance. Even when running flat out, Snapper uses only around 1200mW of power.
By putting a standard Snapper socket into your design you ensure that Snapper can be plugged in to control the peripherals on your board. Your board should include connectors and buffer chips as required to access the Snapper functions. Sample schematics are available.
The Snapper Development Kit comes with software ready to go, including Linux and Windows CE options. This gives you a good head start on your design.
No. You can generally use a 4 (or sometimes even 2) layer base board (PCB) with Snapper, depending on the required size of the board and the density of components. Snapper itself is a 12 layer board, and takes care of most of the high speed components. The actual number of layers you need on the base board depends also on the amount of noise shielding required.
Snapper 255 provides two major areas of expansion. A full 32-bit ARM system bus allows access to peripheral chips on your base board at full speed and with full flexibility. Also, FPGA I/Os are available which can be programmed to connect to a wide variety of peripherals not supported by the standard system bus.
Yes. Snapper itself does not have a battery charger circuit, but we can supply this for your board, as well as both Li-Ion and NMHD batter cells. Because Snapper uses lower power components, you can expect excellent battery life. Snapper itself needs just a single 3.3V supply.
Yes, we have the technology to integrate Snapper into a single board and in fact we have done this already for a number of customers. It makes sense if space is at an absolute premium, and volumes climb above 1000 per annum.
Software is included for communicating with the on-board xD card. Access to other I/O pins of the FPGA would be through custom FPGA code which we do not supply. However, we do plan to add this in the future and can help customers with their requirements.
A power adaptor is supplied.
The FPGA connections use standard 2.54mm headers which can be connected easily but no cable is supplied since there is no obvious standard.
Standard connectors are used for ethernet, USB device, USB host, audio, etc. and standard cables can be used (not supplied).
The supplied Linux kernel and drivers are all open source. The xD card FPGA source code is supplied in source form, and can be modified as required, but is licensed only for use on Snapper.
We support embedded Linux and WinCE 5.0 on Snapper at present (March 2007). Support for other Operating Systems can be arranged based on customer demand.
Yes ALSA compatible drivers are provided, along with OSS emulation.
Snapper does not drive a VGA output but is designed to drive an LCD panel directly. This makes use of digital RGB signals rather than the analogue signals used by VGA.
However, Snapper will drive standard VESA resolutions and frame rates such as VGA, SVGA, etc. as well as smaller panels.
Using the FPGA and some external circuitry it is possible to output a VGA signal - please contact us if you are interested in this.
Most LCDs require two power supplies, one for the panel and one for the backlight. While the Rig 50 board includes a power supply for the panel it does not include a backlight power supply. This is because there are many different types of backlights requiring different voltages. These special power supplies are normally available from the LCD supplier.
However, it is possible to connect the power from Rig 100 into the separate backlight power supply, and from there into the LCD. That ensures that only one power pack is required to power Snapper.
For a custom board using Snapper which is designed for use with a particular LCD, it is possible to build in the backlight inverter. This would allow the backlight to run from batteries or an external power supply.
Yes both Snapper 255 and Snapper CL15 provide support for IDE signals through its PCMCIA / Compact Flash interface.
We have not measured the USB performance directy. It would probably be around 1MB/sec peak. One thing to note is that it is USB 2 full speed, not high speed. If this is required, another chip would need to be added to your design.
We provide schematics for the Snapper connector and various schematics for circuits to connect to Snapper. We don't generally give out the Snapper schematics, but we can arrange this under NDA if required.
Please contact us directly for this information.
It will fit in a suitable standard case, but is not shipped with one.
We recommend ethernet or SD/MMC card for programming and development. Serial is very slow and not recommended. The best idea is to use an NFS server so that you can access all your files over the network.
The Boot Loader is stored in NOR flash (EEPROM for Snapper CL15) and the OS is stored in NAND. This is quite an effective approach, since NAND is cheaper and faster. Boot loader environment variables are stored in NOR / EEPROM. Any user data and the root disk are stored in NAND.
Kernel images can be loaded from NOR (if they are small enough), xD card, Network (via TFTP or NFS), MMC/sD card, downloaded over the serial port, Compact Flash card or PCMCIA Storage card
We hold stocks of the EP1C12 version. For larger orders (50+) the standard lead time is 6 weeks.
Unfortunately the EP1C20 is only made to order due to cost, and minimum quantities apply.
At 3.3V:
120mA at startup, idle mode, but with all peripherals powered
350mA running flat out including Ethernet
Power consumption would generally be between these two numbers.
We expect to have more precise numbers (for different activities) in April 2007.
Snapper CL15 has a built-in 8-input 12-bit ADC which can be used to measure analogue signals if the touchscreen is not required (or if some wires are not required - the touchscreen controller supports up to 8 wire touchscreens)
Snapper 255 has a built-in 10-bit ADC which can be used to measure analogue signals if the touchscreen is not required. This is a 4 channel ADC.
Yes the SDRAM is for both program and data but is not battery backed. Loading applications from the storage flash depends on the size of the application, but it usually very fast. Data can be read from the media at about 2MB/s on Snapper 255, and 0.8MB/s on Snapper CL15.
Not directly, but I2C chips are available to provide this interfacing, and Bluewater has implemented 1-wire using the means on Snapper CL15.
Snapper I/Os are the 3V3 variety, as connected directly to the microprocessor. There are various circuits available to interface to other voltages and to provide protection and isolation. We can advise on this if required.
Yes, when used with a suitable wireless technology (Snapper 255 and CL15 support WiFi 802.11, GPRS and Bluetooth, for example) it is possible to reprogram the flash memory to replace the pre-boot, boot loader, Operating System, root filing system or other filing system. Data can be compressed to save space.
Bluewater Systems has implemented this feature (also with Ethernet and memory card upgrades) in several projects.
The SD speed on Snapper 255 is approximately 1MB/s for writing and 2MB/s for reading. So a 10MB application will take about 5 seconds to load in its entirety.
No SDRAM cannot be battery backed since it must be connected to a controller to operate, and that controller is normally the main CPU. However, it can be put into auto-refresh mode, and the main CPU into sleep mode, in order to save power. In this mode, the SDRAM uses a few mA of current.
A fully featured Linux kernel is about 2.8MB and consumes about 1.4M in flash memory (due to compression). A root disk with common utilities and libraries adds about 4MB compressed, or around 8MB uncompressed.
A similar WinCE kernel is a little larger, about 4-5MB, and with control panels and most other basics around 8-10MB.
In both cases it is common to run the OS from RAM. Memory usage is a complex topic - please contact us if you have additional questions.
There is no socket for an iButton, which uses a 1-wire interface, but Snapper CL15 can support this either using a UART or a GPIO. Bluewater has also implemented a 1-wire interface using an i2c adaptor chip, but this is unnecessary.
Drivers are included for this under Linux. Multiple family codes are supported. It is also possible to support multiple simultaneous 1-wire / iButton interfaces.
This application note may be helpful:
http://pdfserv.maxim-ic.com/en/an/AN74.pdf
USB mass storage is not the same as NAND/NOR flash. When inserting the USB device, you should see some messages on the console like this:
usb 1-2: new full speed USB device using isp1362-hcd and address 2
usb 1-2: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
scsi 0:0:0:0: Direct-Access USB 2.0 Flash Disk 1100 PQ: 0
ANSI: 0 CCS
SCSI device sda: 990208 512-byte hdwr sectors (507 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 990208 512-byte hdwr sectors (507 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
sda: sda1
sd 0:0:0:0: Attached scsi removable disk sda
This indicates that sda1 is the new partition. To mount it use:
mount -t vfat /dev/sda1 /mnt
To unmount it use (you should do this before physically removing the media to avoid data corruption).
umount /mnt
These are available on request - please contact us.
The only difference is that the IR device has additional IR functionality. You can use these as general UARTs.
If more UARTs are needed, on Snapper 255, we can provide these in the FPGA, which can hold several dozen UARTs if required.