Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16546 Discussions

Taking input by expansion header

Altera_Forum
Honored Contributor II
1,662 Views

Hello 

 

I am working with a project using DE1 board. In my project I have to take input from a external circuit of 3.5 v . I use seven segment display to see my output in DE1 board . My verilog coding works well when i use toggle switches as input value. It gives me the output what i desired. But it creates problem when i assign gpio pin as input pin . When i just touch the gpio pin with my hand or connect by a wire with one side open, it gives me the output of logic high value. I set I/O standard as 3.3v LVTTL(default). 

 

Thanks in advance 

Biswajit
0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
360 Views

You should not touch the pin with your hand, nor leave the wire unconnected! ;-) 

 

Anyway, that's happens because you need to use a pull-up (and possibly a capacitor) or any other method to set the input to a well defined level when it's not driven. 

I don't have the DE1 board schematics here, but I guess it directly exposes fpga pins. Then you can initially try to enable the pull up resistor internal to the fpga.  

However, consider that this is a weak pull up, usually equivalent to a >100k resistor, so it's possible it will not solve your problem completely.
0 Kudos
Altera_Forum
Honored Contributor II
360 Views

Hello Cris 

 

Thanks for your replay. I think your idea is right. But i don't have any idea to pull up the internal resistor of fpga. Can you help me?
0 Kudos
Altera_Forum
Honored Contributor II
360 Views

Open the Pin Planner window in Quartus. Here you can enable the weak pull-up for individual pins

0 Kudos
Altera_Forum
Honored Contributor II
360 Views

I have the same problem, that I get no input from the GPIO pins of the de1. Output is no problem and I can measure the voltage. But when I want to use a gpio pin as input, it is always tied to ground. I tried an external pull-up resistor as well as the internal pull-up resistor, but it doesn't change anything. For testing I use one of the leds for signalling. When I use on of the switches as input everything works fine. Has anyone some idea or had the same problem and solved it?

0 Kudos
Altera_Forum
Honored Contributor II
360 Views

 

--- Quote Start ---  

Hello 

 

I am working with a project using DE1 board. In my project I have to take input from a external circuit of 3.5 v . I use seven segment display to see my output in DE1 board . My verilog coding works well when i use toggle switches as input value. It gives me the output what i desired. But it creates problem when i assign gpio pin as input pin . When i just touch the gpio pin with my hand or connect by a wire with one side open, it gives me the output of logic high value. I set I/O standard as 3.3v LVTTL(default). 

 

Thanks in advance 

Biswajit 

--- Quote End ---  

 

 

 

--- Quote Start ---  

I have the same problem, that I get no input from the GPIO pins of the de1. Output is no problem and I can measure the voltage. But when I want to use a gpio pin as input, it is always tied to ground. I tried an external pull-up resistor as well as the internal pull-up resistor, but it doesn't change anything. For testing I use one of the leds for signalling. When I use on of the switches as input everything works fine. Has anyone some idea or had the same problem and solved it? 

--- Quote End ---  

 

 

 

When you input a signal from an external circuit, you have to make sure that you unify the ground pins in order to band the logic levels together, so you need to tie the ground of your external circuit with the ground of the DE1 board (you can take it from the GPIO header, I think it's pin number 12... check out the schematics).
0 Kudos
Altera_Forum
Honored Contributor II
360 Views

 

--- Quote Start ---  

When you input a signal from an external circuit, you have to make sure that you unify the ground pins in order to band the logic levels together, so you need to tie the ground of your external circuit with the ground of the DE1 board (you can take it from the GPIO header, I think it's pin number 12... check out the schematics). 

--- Quote End ---  

 

 

I've already done this. I only use the gpio pins for supply. The ground pin as well as the 5V output. For input I used different voltages between 1,5 V and 2,5 V (generated by using the 5 V) and another time a direct connection between an output pin and an input pin. I've also tried out different pins to check if perhaps one pin is defect, but it makes no difference.
0 Kudos
Altera_Forum
Honored Contributor II
360 Views

When i use gpio pin as input direction it gives me the output voltage 3.5 volts . I use i/o standard default lvttl 3.5(default) . How can i unify the ground pin. How can i tell i am going to use a pin as ground in my program?

0 Kudos
Altera_Forum
Honored Contributor II
360 Views

 

--- Quote Start ---  

When i use gpio pin as input direction it gives me the output voltage 3.5 volts . I use i/o standard default lvttl 3.5(default) . How can i unify the ground pin. How can i tell i am going to use a pin as ground in my program? 

--- Quote End ---  

 

 

You do NOT specify a pin as a ground or a vcc, but rather they are fixed pins of the GPIO port. On my DE1-SoC, ground pins are the 12th and the 30th, the 3.5v pin is the 29th pin and the 5v pin is the 11th pin.
0 Kudos
Altera_Forum
Honored Contributor II
360 Views

Siraj Muhammad 

I used gpio-1 pin of expansion header JP1 as input pin of 3.5 volt and also connect the ground pin of jp1 with the ground pin of power supply. But it didn't work as it work when i used switches.Do i have to make any change in I/O Bank , VERF group or I have to anything more?Can you give me the full guideline of "Taking input by expansion header'. 

Thanks
0 Kudos
Reply