Other Parts Discussed in Thread: MSP430G2553, LP339
Hello, I'm new to the MSP430 and am currently getting my head round the documentation. I am keen on implementing a member of the MSP430G2xx3 value line for my low-cost, low-power application and I am trying to determine whether I can use it's native comparators and interrupts for my needs. I would be very grateful for any help in confirming/refuting my thoughts on the matter below, and any further advice about how I might go about this.
I have 8 analog signals and a single mid-point reference voltage that I want to use to split each analog signal into either a HIGH or LOW signal. From the datasheet of the MSP430G2553, I gather that that HIGH/LOW threshold is pretty blurry. The analog signals in question will usually hover fairly close to the reference voltage so simply using digital inputs is out of the question.
No matter, that's what comparators are for right? I see that the MSP430G2xx3 line has a comparator that can be cycled through up to 8 different analog inputs. A quick calc of the minimum sample-and-hold time for each sample looks like the effective response checks out ok; so far so good.
My question is: is the cycling through each channel and sampling handled "peripherally" or does each step need to be instructed from software? Hoping for the former, and if so - can I assign interrupts to each channel?
The following sentence on page 528 (21.2.7) in SLAU144J (MSP430x2xx Family User Guide) reads like bad news to me: "One interrupt flag and one interrupt vector are associated with the Comparator_A+"
I would ideally like to be able to parse the 8 binary-converted analog signals into a single 8-bit variable using nothing but interrupt routines, so that I can have the main program focus on processing changes when they happen, and enter a low-power-mode. If it is confirmed that my desired implementation of the native comparator cannot be done, does anyone have any suggestions for an external 8-channel, low-power, low-cost comparator that I might use to carry out the binary conversion? Then presumably I can just send the output of that comparator into digital ports and trigger the interrupts from there.
Alternatively, does anyone know of any relatively low-cost microcontrollers that have particularly well-defined HIGH/LOW thresholds on their digital input ports?
Thanks!