Jump to content
yyrkoon

msp430g2553 / msp430x2xx pinmux

Recommended Posts

So, I'm kind of stuck on a question my buddy had on a question for the g2553 specifically. Which was: If the ADC module is enabled, and used for one pin( channel) only, can the rest of the pins that also serve as ADC channel pins be muxed for a different purpose?

 

My answer was "yes", or "it's the only way it makes sense on such a small ( 20pin ) MCU. Yes, small is relative. So the real question is how do I know this ? How can I prove it ? Where in  the msp430's literature can I read to verify this ?

 

The only real way I can think of that I can prove this short of trial and error see if it works. Is download and use a TI pinmux tool that does error checking. With that said, I think that option is rather non intuitive. There should be documentation to answer this question. But where ? I've read over the ADC10 section of the user manual and I see no mention there. However this question I would think would be a more generic question answered in a different section. Which, I have no been able to find yet . . .

 

So how do I find this answer in print ?

Share this post


Link to post
Share on other sites

The table on Page 43 tells you, that as long as ICHx is set to 0, the pin can be used for other things.

 

If you really want to dig into the details, the "flow charts" (actually a simplified schematic of an individual pin) will tell you, that ICHx controls, whether the pin is connected to the ADC. That 2nd butterfly symbol from the top seems to be a switch controlled by ICHx.

Share this post


Link to post
Share on other sites

If I read it correctly the table below each flow chart shows the configuration setup bits for those particular pins in the chart. Given this shows each pin is configurable individually it would seem to be the written proof that you would need to support your answer of "yes". Could also point out that this behavior is inferred in Energia as you can assign one pin as analog in, and others as digital I/O.

Share this post


Link to post
Share on other sites

Each pin is configured individually.  As far as I know for the TI hardware I've worked with - that's how they all are.  The inverse is the problem I believe - you can only read the ADC value of one pin at a time.

Share this post


Link to post
Share on other sites

Well you know guys, when I look at that simplified schematic that is using flow chart symbols . . . I can't make head nor tails of it. So, I'll have to take your word on it.

 

@@cubeberg

 

You're misunderstanding the question. Of course you can only read from one channel at a time. But You can have all 8 channel hooked up simultaneously reading one after the next very quickly. Which is how every SAR module from TI, that I've used so far, works. But, we only want to use one channel of the ADC, and mux the other pins for a different use.

Share this post


Link to post
Share on other sites

Well you know guys, when I look at that simplified schematic that is using flow chart symbols . . . I can't make head nor tails of it. So, I'll have to take your word on it.

 

@@cubeberg

 

You're misunderstanding the question. Of course you can only read from one channel at a time. But You can have all 8 channel hooked up simultaneously reading one after the next very quickly. Which is how every SAR module from TI, that I've used so far, works. But, we only want to use one channel of the ADC, and mux the other pins for a different use.

I think the point is yes, you can do that.

Share this post


Link to post
Share on other sites

Clearly, I'm diverging from the point of your question,  @@yyrkoon

 

(your question was about assigning specific MSP functions to selected physical pins using the internal MSP registers))

 

 

Perhaps you already know  ....  But if its speed and transfer efficiency you're looking for on a '2553 ADC channel(s), why not look at the DTC mode?    It is effectively a dedicated DMA channel which transfers ADC10 data to memory. 

 

 

Cheers,

 

 

CHAPTER  --- within MSP430x2xx Family User's Guide.    Literature Number: SLAU144J

     22.2.7 ADC10 Data Transfer Controller

Share this post


Link to post
Share on other sites

Clearly, I'm diverging from the point of your question,  @@yyrkoon

 

(your question was about assigning specific MSP functions to selected physical pins using the internal MSP registers))

 

 

Perhaps you already know  ....  But if its speed and transfer efficiency you're looking for on a '2553 ADC channel(s), why not look at the DTC mode?    It is effectively a dedicated DMA channel which transfers ADC10 data to memory. 

 

 

Cheers,

 

 

CHAPTER  --- within MSP430x2xx Family User's Guide.    Literature Number: SLAU144J

     22.2.7 ADC10 Data Transfer Controller

That is good to know I suppose. The project we're working on now could check a single voltage once every 5 - 10 minutes though - And work perfectly fine.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×