From ea1423e7c9aa7da9e1017d71d8887a0b736db81e Mon Sep 17 00:00:00 2001 From: laforge Date: Mon, 16 Oct 2006 16:37:59 +0000 Subject: add some bits and pieces of documentation git-svn-id: https://svn.openpcd.org:2342/trunk@272 6dc7ffe9-61d6-0310-9af1-9938baff3ed1 --- doc/openpcd.xml | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 doc/openpcd.xml (limited to 'doc/openpcd.xml') diff --git a/doc/openpcd.xml b/doc/openpcd.xml new file mode 100644 index 0000000..719ba3a --- /dev/null +++ b/doc/openpcd.xml @@ -0,0 +1,172 @@ + + + +
+ + + OpenPCD - A 13.56MHz RFID reader + + + + Harald + Welte + + hwelte@hmw-consulting.de + + + + Milosch + Meriac + + meriac@bitmanufaktur.de + + + + 2006 + Harald Welte <hwelte@hmw-consultin.de> + + Oct 12, 2006 + 1 + + $Revision: 1.0 $ + + + + + This is the reference documentation for the OpenPCD RFID + reader. + + + + + + + +
+Introduction + +The OpenPCD project is about desinging and building both hardware and software +for a user-programmable reader (proximity coupling device, PCD) of the ISO +14443 A+B (and later ISO15693) RFID protocols. + + +The hardware is based on the Atmel AT91SAM7S128 microcontroller, featuring a +48MHz, 32bit ARM7TDMI core with many integrated peripherals, such as USB +device, SSC, ADC, 128kByte Flash, 32kByte SRAM, ... + + +Next to the AT91SAM7, there is the Pilips CL RC 632 RFID reader ASIC. It +is attached via SPI (Serial Peripheral Interface) to the AT91SAM7. + + +The SAM7 attaches to a host PC using a USB 1.1 interface. The SAM7 firmware +implements various forms of interface between the RC632 and the host PC. +There are multiple firmware images available, some of them acting as a dumb +transceiver, while others implement the full ISO 14443 protocol suite inside +the SAM7 firmware. + + +All device firmware and host software source code is released under GNU General +Public License. The hardware design (schematics, PCB) is released under +"Creative Commons share-alike attribution" License. + +
+ +
+Hardware + +FIXME: to be filled by milosch + + + + +
+ + +
+Software + + + +
+PICC specific commands +
+CMD_PICC_REG_WRITE + +Using this command, a given OpenPICC register can be written to. + +
+
+CMD_PICC_REG_READ + +Using this command, a given OpenPICC register can be read. + +
+
+ +
+ADC specific commands +
+ +
+GPIO IRQ commands + +Using these commands, the host software can request a USB interrupt +transfer to be sent once a given GPIO pin changes its level + +
+ +
+ + + + +
+The main_dumbreader firmware + +The main_dumbreader firmware implements a very basic PCD/VCD firmware, where +the USB device only implements an access layer to the RC632 registers and +FIFO. All protocol and application logic has to be implemented on the host +PC. + + +This provides the greatest flexibility to the host software, since it can +easily alter the behaviour of the device completely. Host development is +easier than cross-compilation and remote debugging required for firmware +development. + + +Therefore, this firmware is the choice for most security researchers, since +all timing and every bit of the protocol can be dealt with on the host. + +
+ +
+The main_librfid firmware + +This firmware is called 'main_librfid' because it contains a full copy of the +librfid library, cross compiled for ARM. The librfid library implements +various 13.56MHz RFID protocols from layer 2 to layer 4 and higher, including +ISO 14443, ISO 15693, Mifare classic, Mifare ultralight and others. + + +The USB protocol of this firmware has not yet been fully speicified, also +there currently is no finished host software that could interface this +firmware yet. Stay tuned for upcoming news on this subject. + + +
+ +
+Host Software + +TBD + + + + +
+ + + +
-- cgit v1.2.3