Showing results for 
Search instead for 
Did you mean: 
Honored Contributor I

Multi-Touch LCD Help

Hey guys, 


I am working on a student project that uses the DE2-70 and the Terasic multi-touch LCD module. I am coding in Verilog on Quartus and am designing a touchscreen music synthesizer. Terasic provides an IP touch controller that is used to read in touches, gestures, and locations. Unfortunately, I have not been able to get a touch response from the unit. Nor have I been able to figure out how to output to the LCD screen. I also haven't been able to get Terasic's 2 demos up and running. I would greatly appreciate any help in setting the MTL module up or reference to additional documentation. 


Terasic's IP touch controller that has the following inputs and outputs: 


iCLK: Input- Connect to 50MHz Clock 

iRSTN: Input- Connect to system reset signal 

iTRIG: Input- Connect to Interrupt Pin of Touch IC 

oREADY: Output- Rising Trigger when following six output data is valid 

oREG_X1: Output- 10-bits X coordinate of first touch point 

oREG_Y: Output- 9-bits Y coordinate of first touch point 

oREG_X2: Output- 10-bits X coordinate of second touch point 

oREG_Y2: Output- 9-bits Y coordinate of second touch point 

oREG_TOUCH_COUNT: Output- 2-bits touch count. Valid value is 0, 1, or 2. 

oREG_GESTURE: Output- 8-bits gesture ID (See Table 3-4) 

I2C_SCLK: Output- Connect to I2C Clock Pin of Touch IC 

I2C_SDAT: Inout- Connect to I2C Data Pin of Touch IC 


According to the manual, iTRIG, I2C_SCLK, and IC2_SDAT pins should be connected to the MTL_TOUCH_INT_n, MTL_TOUCH_I2C_SCL, and MTL_TOUCH_I2C_DAT signals in the 2x20 GPIO header respectively. When oREADY rises, it means there is touch activity, and associated information is given in the oREG_X1, oREG_Y1, oREG_X2, oREG_Y2, oREG_TOUCH_COUNT, and oREG_GESTURE pins. 


They also give the mapping for the GPIO ports on the DE2 which I converted to GPIO ports of the DE2-70. 


Note* I also have access to the Altera DE2 board, but would prefer to use the DE2-70 


0 Kudos
3 Replies
Honored Contributor I

can you check the pin assignment is correct all? I think you can debug it using signal tap II to clear which pin's pin assignment is not correct, and you should note the I/O stand for GPIO pins should be 3.3v.

Honored Contributor I

Hey Peli, 


Yes, I tried using the provided .qsf demo file on the DE2 board, and yes I remembered to set the I/O standard to 3.3v so I don't think that is the issue. 


Honored Contributor I



I am now receiving touch inputs correctly. It turns out that iTRIG has negative polarity (it would have been nice if the manual had stated this). I would still appreciate any help with drawing shapes on the screen.