aboutsummaryrefslogtreecommitdiffstats
path: root/circuits
diff options
context:
space:
mode:
authorChristian Starkjohann <cs+github@obdev.at>2008-04-17 19:00:20 +0000
committerChristian Starkjohann <cs+github@obdev.at>2008-04-17 19:00:20 +0000
commit95ca3f5bd696b5450820929e1b1a444d02f0bd1e (patch)
tree70ac0161a0e4548acaf2f89d2ecb77132579ff7a /circuits
parent2f465daef9e6c5a6b7bda3074c050cd7e8515770 (diff)
downloadv-usb-95ca3f5bd696b5450820929e1b1a444d02f0bd1e.tar.gz
v-usb-95ca3f5bd696b5450820929e1b1a444d02f0bd1e.tar.bz2
v-usb-95ca3f5bd696b5450820929e1b1a444d02f0bd1e.zip
- imported new files into project
Diffstat (limited to 'circuits')
-rw-r--r--circuits/Readme.txt75
-rw-r--r--circuits/tiny45-rc.schbin0 -> 193502 bytes
-rw-r--r--circuits/with-series-diodes.schbin0 -> 213956 bytes
-rw-r--r--circuits/with-vreg.schbin0 -> 215922 bytes
-rw-r--r--circuits/with-zener.schbin0 -> 225561 bytes
5 files changed, 75 insertions, 0 deletions
diff --git a/circuits/Readme.txt b/circuits/Readme.txt
new file mode 100644
index 0000000..7b1a95d
--- /dev/null
+++ b/circuits/Readme.txt
@@ -0,0 +1,75 @@
+This is the Readme file for the AVR-USB example circuits directory.
+
+
+CIRCUITS IN THIS DIRECTORY
+==========================
+Since USB requires 3.3 V levels on D+ and D- but delivers a power supply of
+ca. 5 V, some kind of level conversion must be performed. There are several
+ways to implement this level conversion, see the example circuits below.
+
+with-vreg.png and with-vreg.sch (EAGLE schematics):
+ This circuit uses a low drop voltage regulator to reduce the USB supply to
+ 3.3 V. You MUST use a low drop regulator because standard regulators such
+ as the LM317 require at least ca. 2 V drop. The advantage of this approach
+ is that it comes closest to the voltage levels required by the USB
+ specification and that the circuit is powered from a regulated supply. If
+ no USB cable is used (connector directly soldered on PCB), you can even
+ omit the 68 Ohm series resistors. The disadvantage is that you may want to
+ use other chips in your design which require 5 V. Please check that the AVR
+ used in your design allows the chosen clock rate at 3.3 V.
+
+with-zener.png and with-zener.sch (EAGLE schematics):
+ This circuit enforces lower voltage levels on D+ and D- with zener diodes.
+ The zener diodes MUST be low power / low current types to ensure that the
+ 1k5 pull-up resistor on D- generates a voltage of well above 2.5 V (but
+ below 3.6 V). The advantage of this circuit is its simplicity and that the
+ circuit can be powered at 5 V (usually precise enough if the cable drop is
+ neglected). The disadvantage is that some zener diodes have a lower voltage
+ than 3 V when powered through 1k5 and the choice of components becomes
+ relevant. In addition to that, the power consumption during USB data
+ transfer is increased because the current is only limited by the 68 Ohm
+ series resistor. The zeners may even distort the signal waveforms due to
+ their capacity.
+
+with-series-diodes.png and with-series-diodes.sch (EAGLE schematics):
+ This is a simplified low-cost version of the voltage regulator approach.
+ Instead of using a voltage regulator, we reduce the voltage by the forward
+ voltage of two silicon diodes (roughly 1.4 V). This gives ca. 3.6 V which
+ is practically inside the allowed range. The big disadvantage is that the
+ supply is not regulated -- it even depends strongly on the power
+ consumption. This cannot be tolerated for analog circuits.
+
+tiny45-rc.png and tiny45-rc.sch (EAGLE schematics):
+ This is mostly an example for connecting an 8 pin device using the internal
+ RC oscillator for system clock. This example uses series diodes to limit
+ the supply, but you may choose any other method. Please note that you must
+ choose a clock rate of 16.5 MHz because only the receiver module for this
+ frequency has a PLL to allow higher clock rate tolerances.
+
+
+GENERAL DESIGN NOTES
+====================
+All examples have D+ on hardware interrupt INT0 because this is the highest
+priority interrupt on AVRs. You may use other hardware interrupts (and
+configure the options at the end of usbconfig.h accordingly) if you make sure
+that no higher priority interrupt is used.
+
+Most examples have a 1M pull-down resistor at D+. This pull-up ensures that
+in self-powered designs no interrupts occur while USB is not connected. You
+may omit this resistor in bus-powered designs. Older examples had a pull-up
+resistor instead. This is not compatible with the zener diode approach to
+level conversion: 1M pull-up in conjunction with a 3.6 V zener diode give an
+invalid logic level.
+
+All examples with ATMega8/88/168 have D+ at port D bit 2 (because this is
+hardware interrupt 0) and D- on port D bit 4 because it is also a clock input
+for timer/counter 0. This way the firmware can easily check for activity on
+D- (USB frame pulses) by checking the counter value in regular intervals. If
+no activity is found, the firmware should (according to the USB
+specification) put the system into a low power suspend mode.
+
+
+
+----------------------------------------------------------------------------
+(c) 2008 by OBJECTIVE DEVELOPMENT Software GmbH.
+http://www.obdev.at/
diff --git a/circuits/tiny45-rc.sch b/circuits/tiny45-rc.sch
new file mode 100644
index 0000000..349f1ad
--- /dev/null
+++ b/circuits/tiny45-rc.sch
Binary files differ
diff --git a/circuits/with-series-diodes.sch b/circuits/with-series-diodes.sch
new file mode 100644
index 0000000..d84d99e
--- /dev/null
+++ b/circuits/with-series-diodes.sch
Binary files differ
diff --git a/circuits/with-vreg.sch b/circuits/with-vreg.sch
new file mode 100644
index 0000000..1f1797b
--- /dev/null
+++ b/circuits/with-vreg.sch
Binary files differ
diff --git a/circuits/with-zener.sch b/circuits/with-zener.sch
new file mode 100644
index 0000000..e7da8e5
--- /dev/null
+++ b/circuits/with-zener.sch
Binary files differ