Frage

I'm looking to make an FPGA (or similar) physical prototype, but including a small touch screen display.

(Picture a 2" or similar touch screen display. For example, imagine say some sort of small battery-powered toy with a small touch screen display.)

What's the best solution out there for today?

War es hilfreich?

Lösung

First: There are several types of cheap touchscreens: resistive and capacitive (intro from 3m). And under touchscreen I mean touch panels (digitizers) - the thin multilayer panels which feels touches, but don't display anything. Touchscreens can be combined with LCD/OLED screens to get display with touch capability. Resistive touchscreens are sensitive to pressure, and you can use any stick to press them, they also had problems with multitouch (sensing several touches at same time). Capacitive touchscreens are often used now in smartphones (since iPhone), and they sense capacitance of human body, working only with fingers or special conductive styli.

Resistive touchscreens usually have 4-wire or 5-wire analog interface (short description) to touchscreen controller. If you want to plug this directly into FPGA board, you need ADC (analog-to-digital converter, sometimes up to 10-12 bit precision) to measure coordinates of touch point.

Capacitive touchscreens usually have more complex interface with complex medium-frequency signals (25-200 kHz). Simplest panels still have 5 wires, but Cypress's "Touchscreens 101" lists two more advanced panels with 11 and 20 pins. It will be very hard to implement (and calibrate) your own touch controller in FPGA even with good ADCs and DACs.

So, our second step is the touchscreen controller ASIC: the device between microcontroller or FPGA and the touchscreen. Controller will do all needed magic to detect touches and translate information about them into some digital protocol, like COM (RS-232) or USB in ancient controllers for PC, or simple SPI and I2C for microcontrollers and FPGAs (you should know how to implement SPI/I2C for FPGA; the fpga4fun site may help you: spi, i2c). Many small touchscreens sold now may include some controller, integrated into their PCB or flex wire.

Third step: if you want to make prototype with LCD display and touchscreen, especially with small size LCD (up to 6″), the touch panel may be already integrated into display. And because virtually all LCD have the controller to output some information to display (again, fpga4fun has some introduction into using LCD with FPGAs), they probably will have integrated touchscreen controller too.

Now we can start speak about your case: "what I could buy". If you already have FPGA board, you can search for some LCD+touchscreen for some popular hardware prototyping platform, e.g. for ardoino or raspberry pi. For example, adafruit shop has both separate touch panels, lines and buttons even without controller: http://www.adafruit.com/category/60. Also they have several LCD+touch like 2.8" TFT with STMPE610 touch controller (both SPI and I2C, selectable via pin). There are several on sparkfun.com too. Make sure that you understand how to connect the LCD to FPGA, both electrical and protocol requirements. Check is there touch controller, or you need to implement it in the FPGA with ADC (and there should be ADC on your FPGA board).

If you don't have FPGA board or if you have no any FPGA experience, it can be better (and costly) to find FPGA kit with optional LCD+touch, but not from chinese vendors. There are lot of chinese kits in cheap section of ebay's search "fpga touch", but they may have not so good tutorials and demo projects as right vendors. There are 7" kit from Terasic (2000 USD, VEEK-MT-C5SoC), or 7" 250USD LCD+touchpanel module for 1800 USD DE3 or 600USD DE2 FPGA boards. And for Digilent, there is 150 USD VmodTFT 4.3" TFT+touch (manual) compatible with Digilent boards with VHDCI connector, like 300 USD Nexys 3 board, 450 USD Atlys board, or 1100 USD Genesys superboard.

PS: Are you sure that you need FPGA? There are several arduino prototypes with TFT/LCD/OLED, like the smallest "microview".

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top