aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2023-02-15 22:08:11 +0100
committerlonkaars <loek@pipeframe.xyz>2023-02-15 22:08:11 +0100
commitc1fc6b2a5f4d3a00a0c6204300fc9f5ab35b046b (patch)
treea2e782143cb8b233f16458d218e9e0c338ae9fa9
parentea085d1ec65e5b9f82cd90236fdca1b274c4e905 (diff)
final architecture document version0.0.1
-rw-r--r--docs/architecture.md6
1 files changed, 4 insertions, 2 deletions
diff --git a/docs/architecture.md b/docs/architecture.md
index 0610d90..7ec0494 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -26,7 +26,7 @@ The layout will be as follows:
![Example controller layout](https://user-images.githubusercontent.com/17066065/219142627-4fde02c2-edfc-43c5-8a3b-dd739cb472aa.png)
-## Input handling:
+## Input handling
The hardware consist out of a microcontroller and a FPGA.
The microcontroller will process the game logic.
@@ -280,14 +280,16 @@ These signals will be generated using PWM, this allows a digital signal to act a
This figure shows an example signal (in blue), created by the FPGA. and the corresponding analog signal (in red).
In order to generate a audio signal from a note, we need a few things:
+
- frequency
- duration
- amplitude
optional:
+
- envelope (ADSR)
-![ADSR envelope](https://commons.wikimedia.org/wiki/File:ADSR_parameter.svg)
+![ADSR envelope](https://upload.wikimedia.org/wikipedia/commons/e/ea/ADSR_parameter.svg)
This image shows an advanced method of generating tones. In our case this is only an indication as to how it could be done, we will actually only be looking at the sustained tone part for simplicity sakes.
In order to get the correct graph forms, some data points can be stored in a LUT (Look Up Table). This allows the saving of computation power at the cost of some ROM space.