DSPRelated.com
Forums

Difference between Interrupt on bit change and External IRQ

Started by yati...@hotmail.com October 21, 2011
Dear Experts,

Could you please help me understand the following:

What is the difference between "Interrupt on bit change on a GPIO port" and "GPIO which can be used as External IRQ"

In case of TMS320C6412, GPIO 4,5,6,7 can be used as External IRQs whereas rest of the GPIOs can be used as interrupt. But honestly I don't understand the difference between the two.

And if you can share simple code-snippet that will be great.

Hope my question is clear, if not, please let me know.

Thanks,
Yatin

_____________________________________
Yatin,
I don't know the TMS320C6412 (I just use TMS320C6713), but in general for GPIO you have to take into into account two things.
First and most important, some pins are multiplexed so their usage depends on whether or not the configuration selected at power on enables (= pin available for GPIO) or disables (= pin used for other purpose (i.e. a different peripheral)) them.
Second, not all GPIO pins have a "dedicated interrupt".
This means that for some pins you can have dedicated (and separated) ISRs.
For the remaining one you can have interrupt, but you just have one for all of them (that is GPINT0 for my TMS320C6713).
No problem in case the pins you use are grouped (used as a "port"), but in case you have separated usages/functions for each pin inside the unique ISR you have to check which is the pin and then act the dedicated handling.

Hope this will help and hope it's the same on your TMS320C6412. In any case you have to refer to your DSP manual (look for "external interrupt sources").

Paolo
----- Original Message -----
From: y...@hotmail.com
To: c...
Sent: Friday, October 21, 2011 3:36 AM
Subject: [c6x] Difference between Interrupt on bit change and External IRQ

Dear Experts,

Could you please help me understand the following:

What is the difference between "Interrupt on bit change on a GPIO port" and "GPIO which can be used as External IRQ"

In case of TMS320C6412, GPIO 4,5,6,7 can be used as External IRQs whereas rest of the GPIOs can be used as interrupt. But honestly I don't understand the difference between the two.

And if you can share simple code-snippet that will be great.

Hope my question is clear, if not, please let me know.

Thanks,
Yatin
Hi Yatin,
The answer is
"Interrupt on bit change on a GPIO port"
this is default configured to INT means No need for you to set high and and low when the signal is recieved.It automatically acts as an Intr pin and the sgnal is detected and fed to ISR
 
 "GPIO which can be used as External IRQ"
This you have to set the direction,Set the MUX reg fo the configuration configure the pin for rising edge or falling edge..
 
 
Hope this answers your question.
 
if you want to know  the functions and respective settings for an extrenal interrupt
 on andoid.
 
 
Go to arch/arm/mach-platform(your platform ex davinci) and see the board.c
 
Regards
Mahesh Kumr.S
--- On Sat, 10/22/11, Proware (tin.it) wrote:
From: Proware (tin.it)
Subject: Re: [c6x] Difference between Interrupt on bit change and External IRQ
To: y...@hotmail.com, c...
Date: Saturday, October 22, 2011, 12:34 PM

 

Yatin,
I don't know the TMS320C6412 (I just use TMS320C6713), but in general for GPIO you have to take into into account two things.
First and most important, some pins are multiplexed so their usage depends on whether or not the configuration selected at power on enables (= pin available for GPIO) or disables (= pin used for other purpose (i.e. a different peripheral)) them.
Second, not all GPIO pins have a "dedicated interrupt".
This means that for some pins you can have dedicated (and separated) ISRs.
For the remaining one you can have interrupt, but you just have one for all of them (that is GPINT0 for my TMS320C6713).
No problem in case the pins you use are grouped (used as a "port"), but in case you have separated usages/functions for each pin inside the unique ISR you have to check which is the pin and then act the dedicated handling.
 
Hope this will help and hope it's the same on your TMS320C6412. In any case you have to refer to your DSP manual (look for "external interrupt sources").
 
Paolo
 
 

----- Original Message -----
From: y...@hotmail.com
To: c...
Sent: Friday, October 21, 2011 3:36 AM
Subject: [c6x] Difference between Interrupt on bit change and External IRQ

 

Dear Experts,

Could you please help me understand the following:

What is the difference between "Interrupt on bit change on a GPIO port" and "GPIO which can be used as External IRQ"

In case of TMS320C6412, GPIO 4,5,6,7 can be used as External IRQs whereas rest of the GPIOs can be used as interrupt. But honestly I don't understand the difference between the two.

And if you can share simple code-snippet that will be great.

Hope my question is clear, if not, please let me know.

Thanks,
Yatin
Thank you very much both of you. I was able to implement the firmware for GPIO 4,5,6,7 which are used as EXT interrupt. And it works fine.

I'll really appreciate if someone can please share a simple code snippet for how to do the "Interrupt on bit change on a GPIO pin". I just want to verify this theory.

Thanks in advance,
Y
Dear Experts,
>
>Could you please help me understand the following:
>
>What is the difference between "Interrupt on bit change on a GPIO port" and "GPIO which can be used as External IRQ"
>
>In case of TMS320C6412, GPIO 4,5,6,7 can be used as External IRQs whereas rest of the GPIOs can be used as interrupt. But honestly I don't understand the difference between the two.
>
>And if you can share simple code-snippet that will be great.
>
>Hope my question is clear, if not, please let me know.
>
>Thanks,
>Yatin
>
>_____________________________________

_____________________________________
Yatin,
I don't have code snippet for the test you need, but I suggest the method I used when I had to check GPIO.
If possible, just use an output pin connected to one of your input pin to check everything works on bit change.
This can be done if your board has one free input and one free output GPIO pin or if the source is external to the board so that you can safely disconnect it, you just have to avoid short circuits that you could have while you drive the GPIO output pin.
This is good for avoiding the glitches that could fake test results when using external harness.
Be sure you always start from scratch (i.e. you always fully initialize GPIO at the beginning of your test).

Paolo
----- Original Message -----
From: y...@hotmail.com
To: c...
Sent: Monday, October 24, 2011 3:21 PM
Subject: [c6x] Re: Difference between Interrupt on bit change and External IRQ

Thank you very much both of you. I was able to implement the firmware for GPIO 4,5,6,7 which are used as EXT interrupt. And it works fine.

I'll really appreciate if someone can please share a simple code snippet for how to do the "Interrupt on bit change on a GPIO pin". I just want to verify this theory.

Thanks in advance,
Y

Dear Experts,
>
>Could you please help me understand the following:
>
>What is the difference between "Interrupt on bit change on a GPIO port" and "GPIO which can be used as External IRQ"
>
>In case of TMS320C6412, GPIO 4,5,6,7 can be used as External IRQs whereas rest of the GPIOs can be used as interrupt. But honestly I don't understand the difference between the two.
>
>And if you can share simple code-snippet that will be great.
>
>Hope my question is clear, if not, please let me know.
>
>Thanks,
>Yatin
>
>_____________________________________
>
>
Hi Paolo,

Thanks again. So what you are suggesting is do a loopback between two gpios and configure one of these two gpios as input and other as output. Then implement the code to verify the theory.

Thanks, this is doable. I've do have spare GPIOs.

-yatin

Dear Experts,
>
>Could you please help me understand the following:
>
>What is the difference between "Interrupt on bit change on a GPIO port" and "GPIO which can be used as External IRQ"
>
>In case of TMS320C6412, GPIO 4,5,6,7 can be used as External IRQs whereas rest of the GPIOs can be used as interrupt. But honestly I don't understand the difference between the two.
>
>And if you can share simple code-snippet that will be great.
>
>Hope my question is clear, if not, please let me know.
>
>Thanks,
>Yatin
>
>_____________________________________

_____________________________________