+
+<h2 id="hardware">Hardware</h2>
+<p>
+The RPi (and its BCM2835 SoC) is equipped with only single accessible
+PWM output and no peripherals suitable for incremental rotary encoder
+(IRC) signal processing are found on the board. Analog to digital
+converters are missing as well. The two extension boards with required
+peripherals and power stage have been designed and produced at <a href="http://www.pikron.com/" target="_blank">PiKRON</a> company.
+The first one includes Field Programmable Gate Array (<a href="https://en.wikipedia.org/wiki/Field-programmable_gate_array" target="_blank">FPGA</a>) <a href="http://www.microsemi.com/products/fpga-soc/fpga/igloo-e" target="_blank">IGLOO AGL125-VQ100</a> produced by Microsemi company. The design of logic programmed into FPGA has been implemented by Martin Prudek in a frame of his <a href="https://dspace.cvut.cz/bitstream/handle/10467/62036/F3-BP-2015-Prudek-Martin-Bp_2015_prudek_martin.pdf" target="_blank">bachelor theses</a>. The FPGA design includes:
+</p>
+<ul>
+ <li>SPI interface which connect peripherals to RPi board
+ </li>
+ <li>32-bit qudrate encoder (IRC) position counter based on design of Marek Peca's (<a href="https://rtime.felk.cvut.cz/gitweb/fpga/quadcount.git" target="_blank"> quadcount</a>)
+ </li>
+ <li>three PWM outputs with half-bridge enable enable signals
+ </li>
+ <li>finite state automata for acquiring current measuremts from analog to digital converter and filtering/decimation of multiple fast reads for slower RPi processing
+ </li>
+</ul>