Page 1 of 1

ADC12 and DAC12

PostPosted: Wed Feb 20, 2008 4:06 am
by wilx
The CubSat FM430 utilizes the TI MSP430F16xx processor. According to its TI Users' Guide (SLAU049F, 2006) and the FM430 datasheet, this part has a 12-bit ADC with 16 inputs and a 12-bit DAC.

While there is an analog ground (AGND) and analog references (VREF+, VREF-, VEREF+) on the CubeSat bus, there doesn't seem to be anywhere the ADC and DAC are pinned out and available on the FM430.

Can someone tell me if there is a connector or pads on the FM430 that allow you to access the ADC and DAC?

Thanks,
Mark Wilkinson
Utah, USA


Re: ADC12 and DAC12

PostPosted: Thu Feb 21, 2008 9:51 am
by aek
They're there (on the CSK Bus Connector) -- see (port) P6.

Following http://www.cubesatkit.com/docs/datasheet/DS_CSK_FM430_710-00252-C.pdf and looking at the FM430 schematics (available to CSK purchasers), you'll see that several of the P6.x pins are or can be used for general-purpose I/O in the FM430 architecture. So there is really just a subset of the P6.x pins available for ADC and DAC purposes ... P6.6 is never available. Resistors are fitted to make P6.0 and P6.3 not available, but if you don't want / need hardware handshaking to the MHX transceiver, then you can remove the associated resistors and have P6[5..0] and P6.7 available for DAC and ADC purposes.

Why did we do this, instead of leaving all those pins alone? It was a conscious decision, based on the observation that the best ADC and DAC stuff is done with dedicated external chips, and you can always "extern" these processes, whereas you can't do that to timer stuff.

------------------


Re: ADC12 and DAC12

PostPosted: Thu Feb 21, 2008 12:06 pm
by wilx
Your reasoning makes sense. Thank you for the info.

Mark


Re: ADC12 and DAC12

PostPosted: Tue Mar 31, 2009 2:35 am
by Albert
I would like to use both MHX modem and MCU's internal ADC. I am not sure if I understand your proposal.

I know that handshaking is not required for MHX modems (there's the &K0 command, no handshake). That means signals RTS, DTR, RST, CTS, DSR and DCD are not used, so pins P6[0..5] now aren't required to be connected to the modem. You said that we could remove the resistors that make P6[0..5] unavailable for analog inputs.

I followed the FM430 schematics and I think this is right only for pins P6[0..2]: removing the 4.7K resistor (R9) pins P6[0..2] are isolated. On the other hand, pins P6[3..5] are connected directly (without resistors) from the MCU to the SN74AHCT244PWR (U3). How can I isolate pins P6[3..5] from this device?

I see that P6.6 is never available for analaog input because it is needed for the OE_MHX signal. If it is possible to isolate pins P6[3..5] it is possible to use MHX modem without handshaking and 7 analog input channels. It is enough for what I need.

Just a couple of questions more:
- Why are handshake signals connected to the analog inputs if there are other I/O pins to be used for this?
- If there's the possibility of using the modem with no handshaking, what's the advantage of using it?

Thanks a lot!


Re: ADC12 and DAC12

PostPosted: Tue Mar 31, 2009 2:40 am
by Albert
On more thing:

I am working with the schematics of a FM430 Rev.C. I think there's FM430 Rev.D, but I don't know if the connections between MHX modem and MCU have changed. Is there any important difference between Rev.C and Rev.D about this issue?

Thanks again

[This message has been edited by Albert (edited March 31, 2009).]


Re: ADC12 and DAC12

PostPosted: Tue Mar 31, 2009 3:07 am
by aek
1. Rev C and Rev D are essentially identical w/regard to this issue. However, Rev D solves this better by using LVC-series chips for U1-U3 (and in other places, too).

2. U3's connection to the processor (U6) is at U3's _inputs_. Therefore it doesn't matter (too much) if you route analog signals to P6[5..3] -- they will appear on U6's analog inputs and on U3's digital inputs, but who cares? At most, you will suffer from some extra current draw by U3.

3. Handshaking was put on P6 because you can always use a remote ADC -- that's trivial. What you can't easily do is move _timer_ operations or interrupt-on-change or byte-wide ports off-chip -- performance suffers horribly in all those cases. So we made a choice to put the (optional) handshaking lines on P6. In hindsight, I probably should have put them on P4 or P5. In Rev D, they can be done by alternate ports with future FPMs that have more than 48 I/O pins.

4. Handshaking is useful when you're running at very high baud rates ... at slower baud rates, software handshaking (if used at all) should be OK.

So, I suggest you remove R10, R11, R12, R75, R76 & R77. This completely disconnects the various handshaking signals from the MHX. A[2..0] will be completely free from any analog interference, and A7 is a direct connect anyway. (Note that A7 is also a DAC12 output on some MSP430s). Whatever drives A[5..3] will also drive 1A2, 1A3 & 1A4 on U3 -- you will see some excess current draw, since those are digital inputs. But it shouldn't be a huge problem.

You can also remove R2, R3, R4, R6, R7 & R8 as well.

Please note that the notes on the schematics are incorrect -- it's R3, R4, R7, R8, R11, R12, R76 & R77 that are normally not fitted. So you only need to remove 2 (or 4, for USB) resistors.

------------------