I know it's a bit late, but I've just got this sabe doubt. After looking around, I've come across this Microchip Doc that shows some examples.
First, we calculate \$\text{PR2}\$. From this formula,
$$ F_\text{PWM} = \dfrac{1}{(\text{PR2} + 1) \times 4 \times T_\text{OSC} \times \text{T2CKPS}} $$
we get
$$ \text{PR2} = \dfrac{1}{F_\text{PWM} \times 4 \times T_\text{OSC} \times \text{T2CKPS}} - 1 $$
where \$T_\text{OSC} = 1/F_\text{OSC}\$, and \$\text{T2CKPS}\$ is the Timer2 prescaler value (1, 4 or 16).
Therefore, if we want \$F_\text{PWM} = 20\text{kHz}\$, and choosing \$\text{T2CKPS} = 1\$, we get \$\text{PR2} = 249\$. We should choose higher values for \$\text{T2CKPS}\$ only if \$\text{PR2}\$ exceeds 8 bits (\$\text{PR2} \gt 255\$) for the given prescale.
Now we calculate the max PWM resolution for the given frequency:
$$ \text{max PWM resolution} = \log_2(\;\dfrac{F_\text{OSC}}{F_\text{PWM}}\;) $$
That gives us \$9.9658\$ bits (I know, it sounds weird, but we'll use it like that later).
Now, let's calculate the PWM duty cycle. It is specified by the 10-bit value \$\text{CCPRxL:DCxB1:DCxB0}\$, that is, \$\text{CCPRxL}\$ bits as the most significant part, and \$\text{DCxB1}\$ and \$\text{DCxB0}\$ (bits 5 and 4 of \$\text{CCPxCON}\$) the least significant bits. Let's call this value \$\text{DCxB9:DCxB0}\$, or simply \$\text{DCx}\$. (x is the CCP number)
In our case, since we have a max PWM resolution of \$9.9658\$ bits, the PWM duty cycle (that is, the value of \$\text{DCx}\$) must be a value between \$0\$ and \$2^{9.9658} - 1 = 999\$. So, if we want a duty cycle of 50%, \$\text{DCx} = 0.5 \times 999 = 499.5 \approx 500\$.
The formula given on the datasheet (also on the linked doc),
$$\text{duty cycle} = \text{DCx} \times T_\text{OSC} \times \text{T2CKPS}$$
gives us the pulse duration, in seconds. In our case, it's equal to \$25\text{ns}\$. Since \$T_\text{PWM} = 50\text{ns}\$, it's obvious that we have a 50% duty cycle.
That said, to calculate DCx in terms of duty cycle as \$r \in [0,1]\$, we do:
$$ \text{DCx} = \dfrac{r \times T_\text{PWM}}{T_\text{OSC} \times \text{T2CKPS}} = \dfrac{r \times F_\text{OSC}}{F_\text{PWM} \times \text{T2CKPS}} $$
Answering your other questions:
2) The resolution of your PWM pulse with period \$T_\text{PWM}\$ is
$$ \dfrac{T_\text{PWM}}{2^\text{max PWM res}} $$
3) Because CCPRxL, along with DCxB1 and DCxB0, determine the pulse duration. Setting CCPRxL with a higher value than \$2^\text{max PWM res} - 1\$ means a pulse duration higher than the PWM period, and therefore you'll get a flat \$V_{DD}\$ signal.
USB - Universal Serial Bus - Signaling (WikiPedia)
The real problem with USB is not in the physical signalling. Say you capture a waveform with a scope right after the device is connected. It's likely to be a part of a Setup packet which is a part of a control transfer which is a part of a descriptor request which is a part of device enumeration, and that's only to have your device recognized by the host. Actual data transfer hasn't even started yet, and it will be wrapped inside transfers (of 4 different kinds) to some endpoint belonging to some interface that implements some device class, standard one like HID or completely custom. It's a lot like trying to understand HTTP by looking at Ethernet signal with a scope. In fact, you'd probably have a hard time finding your UART data even in a USB sniffer log (unlike a TCP/IP sniffer, a USB sniffer may well not know the exact protocol that e.g. FTDI uses to transfer data).
Together with the great USB in a Nutshell tutorial (HTML version), I found this book to be an excellent reference if you actually want working knowledge of USB to e.g. create your own USB devices.
Best Answer
Baud rate is the rate of individual bit times or slots for symbols. Not all slots necessarily carry data bits, and in some protocols, a slot can carry multiple bits. Imagine, for example, four voltage levels used to indicate two bits at a time.
Bit rate is the rate at which the actual data bits get transferred. This can be less than the baud rate because some bit time slots are used for protocol overhead. It can also be more than the baud rate in advanced protocols that carry more than one bit per symbol.
For example, consider the common RS-232 protocol. Let's say we're using 9600 baud, 8 data bits, one stop bit, and no parity bit. One transmitted "character" looks like this:
Since the baud rate is 9600 bits/second, each time slot is 1/9600 seconds = 104 µs long. The character consists of a start bit, 8 data bits, and a stop bit, for a total of 10 bit time slots. The whole character therefore takes 1.04 ms to transmit.
However, only 8 actual data bits are transmitted during this time. The effective bit rate is therefore (8 bits)/(1.04 ms) = 7680 bits/second.
If this were a different protocol that, for example, used four voltage levels to indicate two bits at a time with the baud rate held the same, then there would be 16 bits transferred each character. That would make the bit rate 15,360 bits/second, actually higher than the baud rate.