summaryrefslogtreecommitdiff
path: root/ChaosKey/index.mdwn
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2016-03-09 09:10:36 -0700
committerBdale Garbee <bdale@gag.com>2016-03-09 09:10:36 -0700
commitcec12ea86c9cdc94c7e5fa482c70c66c489b9f6f (patch)
tree744ffc7b610bcbe51527526fccd82e75d27f5808 /ChaosKey/index.mdwn
parent746ab5128031a4c8481a4a80ad7155730e92c69f (diff)
parent4f572dbf8d900a075c9e2cfb54ed12f559357ad5 (diff)
Merge branch 'master' of ssh://git.gag.com/scm/git/web/altusmetrum
Diffstat (limited to 'ChaosKey/index.mdwn')
-rw-r--r--ChaosKey/index.mdwn91
1 files changed, 91 insertions, 0 deletions
diff --git a/ChaosKey/index.mdwn b/ChaosKey/index.mdwn
new file mode 100644
index 0000000..8cb856f
--- /dev/null
+++ b/ChaosKey/index.mdwn
@@ -0,0 +1,91 @@
+# ChaosKey
+
+This is a hardware True Random Number Generator that attaches via USB.
+
+## Version 0.3 ##
+
+This one uses the better noise source coupled with an op amp that
+provides 2MHz of bandwidth at a gain of 100, offering linear frequency
+response at a million samples per second.
+
+A photo of prototype version 0.3:
+
+<a href="v0.3/chaoskey-v0.3.jpg"> <img src="v0.3/chaoskey-v0.3-thumb.jpg"></a>
+
+Here's a circuit diagram of the noise source:
+
+<img src="v0.3/noise-source.svg">
+
+### Version 0.3 Hardware ###
+
+ * [STM32F042](http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574/LN1823?icmp=stm32f0x2-line_pron_pr_jan2014&sc=stm32f0x2-pr) System-on-Chip
+ * ARM Cortex-M0 MCU
+ * 32k Flash
+ * 6k RAM
+ * USB 2.0 Full Speed
+ * Crystal-less operation
+ * 20V noise source
+ * AP3015A boost regulator
+ * back-to-back 3904 transistor noise
+ * [OPA356](http://www.ti.com/product/opa356) op amp
+ * 200MHz GBP
+
+## Version 0.2 ##
+
+This version uses a better noise source, but the single transistor amp
+designed to get from the 20mV noise source to a digital value doesn't
+provide enough bandwidth, so the resulting signal seen by the CPU has
+poor frequency response.
+
+Here's a photo of prototype version 0.2:
+
+<a href="v0.2/chaoskey-v0.2.jpg"> <img src="v0.2/chaoskey-v0.2-thumb.jpg"></a>
+
+### Version 0.2 Hardware ###
+
+ * [STM32F042](http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574/LN1823?icmp=stm32f0x2-line_pron_pr_jan2014&sc=stm32f0x2-pr) System-on-Chip
+ * ARM Cortex-M0 MCU
+ * 32k Flash
+ * 6k RAM
+ * USB 2.0
+ * Crystal-less operation
+ * 20V noise source
+ * AP3015A boost regulator
+ * back-to-back 3904 transistor noise
+
+## Version 0.1 ##
+
+These are photos of prototype version 0.1:
+
+<a href="v0.1/chaoskey-v0.1-top.jpg"> <img src="v0.1/chaoskey-v0.1-top-thumb.jpg"></a>
+<a href="v0.1/chaoskey-v0.1-bottom.jpg"> <img src="v0.1/chaoskey-v0.1-bottom-thumb.jpg"></a>
+
+### Version 0.1 Hardware ###
+
+ * [NXP LPC11U14](http://www.nxp.com/products/microcontrollers/cortex_m0_m0/LPC11U14FHI33.html) System-on-Chip
+ * ARM Cortex-M0 MCU
+ * 32k Flash
+ * 6k RAM
+ * USB 2.0
+ * 8 12-bit analog inputs
+ * I2C, SPI, async serial
+ * digital I/O
+ * ZXRE1004 zener diode noise source
+ * MCP6L92 dual op-amp
+
+## Software ##
+
+* Firmware Features
+ * [AltOS](../AltOS/) is written mostly in C with some ARM assembler
+* Tools Used
+ * [gEDA](http://www.gpleda.org/) for schematic capture and PCB layout
+ * [GCC](http://gcc.gnu.org/) compiler and source debugger
+* Licenses
+ * The hardware is licensed under the [TAPR](http://www.tapr.org) [Open Hardware License](http://www.tapr.org/ohl.html)
+ * The software is licensed [GPL version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
+
+## Artifacts ##
+
+The hardware design files can be found on [git.gag.com](http://git.gag.com)
+in the project [hw/usbtrng](http://git.gag.com/?p=hw/usbtrng;a=summary).
+