I've seen lots of schematics use \$V_{CC}\$ and \$V_{DD}\$ interchangeably.
For extra credit: Why \$V_{DD}\$ and not simply \$V_D\$?
Back in the pleistoscene (1960s or earlier), logic was implemented with bipolar transistors. Even more specifically, they were NPN because for some reasons I'm not going to get into, NPN were faster. Back then it made sense to someone that the positive supply voltage would be called Vcc where the "c" stands for collector. Sometimes (but less commonly) the negative supply was called Vee where "e" stands for emitter.
When FET logic came about, the same kind of naming was used, but now the positive supply was Vdd (drain) and the negative Vss (source). With CMOS this makes no sense, but it persists anyway. Note that the "C" in CMOS stands for "complementary". That means both N and P channel devices are used in about equal numbers. A CMOS inverter is just a P channel and a N channel MOSFET in its simplest form. With roughly equal numbers of N and P channel devices, drains aren't more likely to be positive than sources, and vice versa. However, the Vdd and Vss names have stuck for historical reasons. Technically Vcc/Vee is for bipolar and Vdd/Vss for FETs, but in practise today Vcc and Vdd mean the same, and Vee and Vss mean the same.
I think I may have the definite answer to this. This naming comes from a 1963 IEEE standard 255-1963 "Letter Symbols for Semiconductor Devices" (IEEE Std 255-1963). I'm an electronics history fanatic and this might be interesting to other (fanatic)s, so I'll make this answer a bit broader than necessary.
First of all, the first letter capital V comes from the standard's paragraphs 1.1.1 and 1.1.2, which define that v and V are quantity symbols describing voltage; in lower case it means instantaneous voltage (1.1.1) and in upper case it means maximum, average or RMS voltage (1.1.2). For your reference:
Paragraph 1.2 starts to define the subscripts for quantity symbols. Subscript letters in upper case mean DC values and lower case mean AC values. Supply voltages are obviously DC voltages, so their letters must be in upper case.
The standard defines 11 suffix (letter)s. These are:
This standard predates the MOS transistor (which was patented in August 1963) and thus doesn't have the letters for Source and Drain. It has since been superseded by a newer standard that defines the letters for Drain and Source, but I don't have that standard available.
The further nuances of the standard, that define further rules on how the symbols are written makes for fascinating reading. It's amazing how all this has become common knowledge that is now quietly accepted and understood even without a normative reference.
Paragraph 1.3 defines how subscripts are written, especially when there is more than one. Please read the words of the standard:
So for example VbE means the RMS value (capital V) of the AC component (lower case b) of the Voltage at the Base of a semiconductor device in reference to the DC value of the Voltage of the semiconductor device's Emitter (upper case E).
In case the said semiconductor's emitter is directly connected to ground, which is certainly understood to be a known reference, then the AC RMS voltage at the base is Vb. The DC or RMS voltage at the base is VB and an instantaneous voltage at the base is vb.
Now for the extra credit: Why VCC instead of VC or VDD instead of VD? I used to think that it's colloquial from "Voltage from Collector to Collector" but obviously it's no surprise that it's also defined in the standard:
So VCCB means the DC supply voltage at the semiconductor device's Collector in reference to the device's Base and VCC means the DC supply voltage at the Collector in reference to ground.
At first instinct it would seem that the reduplication of the subscript would lead to ambiguity, but in fact it doesn't. First of all, the cases that would seem ambiguous are quite rare; reading VCC to mean the voltage from a device's collector to the same device's collector is obsiously zero so there's no point describing it. But what happens if the device has two bases? The standard gives an answer. The voltage from base 1 of a device to base 2 of a device is written VB1-B2. And the voltage from base of device 1 to base of device 2 (pay attention here - this is interesting) is written V1B-2B.
One question remains: the Mysterious Case of CMOS Circuits. As has well been pointed out in other answers, the naming standard doesn't seem to hold true with regard to CMOS circuits. To this question I can only offer an insight that stems from the fact that I work for a semiconductor company. ("whoah" expected here.)
Indeed, in CMOS both the positive and negative rails are connected to N and P channel Sources - it's almost inconceivable to do it any other way - the threshold voltages would become ambiguous in standard gates and I don't even want to think about protection structures... so I can just offer this: We've used to seeing VDD in NMOS circuits (Greetz to @supercat, the upper rail resistor is indeed usually a transistor - for those that are interested, please see the excellent 1983 book "Introduction to MOS LSI Design"), and VSS is the same for both NMOS and CMOS. So it would be ridiculous for us to use any other terms than VDD and VSS (or VGND) in our datasheets. Our customers are used to these terms and they're not interested in esoterica but in getting their designs to run, so even the notion of attempting to introduce something like VSSPOSITIVE or VSSNEGATIVE would be utterly ridiculous and counterproductive.
So I would have to say that it's just universally accepted that VCC is the supply voltage of a bipolar circuit and VDD is the supply voltage of a MOS circuit and that is stems from history. Similarly VEE is the negative supply voltage (often ground) of a bipolar circuit and VSS is the negative supply voltage of a MOS circuit.
If someone could offer a normative reference to the last point discussed, I would be immensely grateful!
You already know from the other answers that for bipolar
C
refers to the collector, and
E
refers to the emitter.
Likewise, for CMOS
D
refers to the drain, and
S
refers to the source.
For bipolar logic like TTL this is correct; even for push-pull outputs ("totem-pole") only NPN transistors were used and \$V_{CC}\$ is indeed connected to collectors.
But for CMOS \$V_{DD}\$ is actually a misnomer. CMOS is much more symmetrical than TTL, and while the source of the N-MOSFET is connected to \$V_{SS}\$ it's not so that \$V_{DD}\$ is connected to the drain.
Due to the symmetry it's actually connected to the source of the P-MOSFET. This is probably an inheritance from NMOS, CMOS's predecessor, where \$V_{DD}\$ was indeed the side of the drain (with a resistor in between).
Why VDD and not simply VD?
The convention of letters VAB for voltage means the potential between A and B. Voltage is a potential measured with respect to another point in the circuit. For example VBE is the voltage between base and emitter. Ground does not have a specific "letter". So the convention of repeating letters is used, like VDD or VEE to refer to the point relative to ground. Using single letters in this context adds more confusion since Vs may refer to the voltage of a source "s" (which may be different than VSS if there are multiple sources in series, etc.) and not the voltage between a transistor's emitter & ground.
Even without transistors in a circuit, voltages can be referred to with the style VAB or V12 to reflect potential between A and B or point 1 and point 2. Obviously order is important, since for two points in the circuit A and B, VBA = -VAB.
Bibliographic reference:
If the same letter is repeated, that means a power supply voltage: Vcc is the (positive) power-supply voltage associated with the collector, and Vee is the (negative) power-supply voltage associated with the emitter.
Text abstract from Paul Horowitz and Winfield Hill (1989), The Art of Electronics (Second ed.), Cambridge University Press, ISBN 978-0-521-37095-0. Chapter 2 - Transistors, page 62, Introduction.
Vdd is usually used for CMOS, NMOS and PMOS devices. It stands for voltage (at) drain. In some PMOS devices it is negative, but pure PMOS chips are rarely (if ever) found today. It's usually the most positive voltage but not always, for example a motor controller might have a Vs pin for the motor voltage, or a processor might use a core voltage and an IO voltage. Vss stands for voltage (at) source; PMOS devices might be positive, but again, PMOS is a relic, so for all intents and purposes it is the most negative voltage available. It's often tied to the substrate, so it must be the most negative, or the chip won't work properly.
Vcc stands for voltage (at) collector and is primarily used for bipolar devices, although I have seen it used with CMOS devices, probably out of convention. Vee stands for voltage (at) emitter and is usually the most negative.
I've also seen Vs+ and Vs-, as well as V+ and V-, but V+/V- can be confused with the input pins on op-amps/comparators and other amplifiers.
It's \$V_{CC}\$ rather than just \$V_{C}\$ because the C stands for collector. But \$V_{CC}\$, though a collector-side positive voltage in an NPN transistor circuit, is not the voltage at the top of the collector, \$V_C\$! There is usually a load resistor or some other device between the collector and \$V_{CC}\$. The doubled-up C indicates that it's a higher voltage beyond that which appears on the collector and is clearly distinguished from from \$V_C\$.
The letters denote transistor parts: source, drain, gate, collector, emitter, base.
When there are two different letters, the meaning is different: it means the voltage between those terminals of the device, like \$V_{BE}\$: base to emitter voltage of a BJT. This is possibly why a doubled-up letter was chosen for \$V_{CC}\$.
Let's invent a rationale.
Suppose want a name for a voltage associated with the collector which is not the voltage at the collector. Suppose we want the name to be as short as possible, but we want to include the letter C to clearly associate it with the collector. This means that the name will be two symbols long: C plus another character. The other character will be a letter, number or some other kind of glyph. A number would look like a voltage, so the choice is between using a glyph like ampersand or hash, or a second letter. If it is going to be a second letter, then it cannot be any other letter beside C, because then it looks like the \$V_{XY}\$ notation denoting a voltage between two points. If the C is repeated, then we know it cannot be the useless designation of the voltage from C to C, which reminds us that the notation has another meaning. If the second character is going to a glyph, then it should probably be something other than +
or -
because these look like polarities.
So the shortest possible way to denote the collector-side supply voltage is either something glyph-based like \$V_{C@}\$ or else \$V_{CC}\$.
Clearly, an argument can be made that \$V_{CC}\$ was a sober, well-considered choice to express what the inventor of the notation wanted to express, which caught on.
What they said, most of the time, but there are still occasions where the differences are real and/or useful:
There are a small proportion of devices which use multiple supplies relative to ground and in some of these it may make sense to use eg Vee gnd or Vss. In other cases there may be multiple supplies or grounds which are at the same potential but separated for system reasons. eg
A processor IC may have analog and digital +ve supplies. These may be named eg Vccd and Vcca. Similarly you may get Vssa and Vssd.
ECL logic of the Olde variety had 2 supplies plus ground. Vee was negative wrt ground.
Level translating ICs (or ones which MAY be used in that mode) such as the CD4051 - see datasheet here [1] Different enough and educational enough to be worth quoting: ...................... The CD4051B, CD4052B, and CD4053B analog multiplexers are digitally-controlled analog switches having low ON impedance and very low OFF leakage current. Control of analog signals up to 20VP-P can be achieved by digital signal amplitudes of 4.5V to 20V (if VDD-VSS = 3V, a VDD-VEE of up to 13V can be controlled; for VDD-VEE level differences above 13V, a VDD-VSS of at least 4.5V is required). For example, if VDD = +4.5V, VSS = 0V, and VEE = -13.5V, analog signals from -13.5V to +4.5V can be controlled by digital inputs of 0V to 5V.
Gates like the CD4049/CD4050 LOOK like standard inverters or buffers but allow input signals above Vcc so that level shifting may be performed. The IC only has Vcc and Vss signals (on pins 1 and 8 on a 16 pin IC !!!) but the input signal switches between Vss and "Vigh" = Vinhigh. In the system that this is used in Vih would probably be termed Vdd or some other name to distinguiosh it from Vcc. CD4049 / CD4050 data sheet: [2]
There are some gates which allow level conversion the other way. These may be open collector gates* such as the LM339 (quad) / LM393 (dual) with truly wierd Ye Olde world pinouts LM339 [3] or specialist bus drivers or others. In the cas of the LM339 the power supply (pin 3 = Vcc, pin 12 = gnd in a 14 pin IC) have comforting names but operating on as little as 2 Volts supply, extremely interesting pinouts and open collector operation give clues that these are throwbacks from before the beginning of time - but still highly useful.
*As Stevenh notes, the LM393/LM339 are technically not "gates" but actually analog comparators. However (from my comment below):
[1] http://focus.ti.com/lit/ds/symlink/cd4051b.pdfThe original question was not phrased with logical or analog in mind.
The open collector nature and comparator response of the 339/393 has seen its use as a logical device and many CMOS gates, especially the earlier unbuffered ones are in fact pure analog amplifiers which "just happen" to usually get used in their rail to rail mode.
There are numerous applications around using CMOS inverters as linear amplifiers and this is not even an "improper" use of them - just less usual. But, point taken.
I've seen lots of schematics use VCC and VDD interchangeably
Actually it's much worse. In many schematic capture component libraries, supply voltage pins are sometimes hidden in (some) component symbols. It's not uncommon to download component libraries where some components have a hidden "VCC" or "GND" net connected to the supply voltage pins. In other components the hidden nets might be called other names. The not-so-funny thing is that if you don't have a net by that name in your schematic sheet and you don't pay attention to DRC messages from the schematic editor, you might end up with your supply voltage and/or ground pins altogether unconnected in your PCB.
I added this as a separate answer to avoid confusion. Please correct me if I'm wrong.
D
. - smwikipedia