This shows you the differences between two versions of the page.
system_organization [2015/01/26 11:32] hutch |
system_organization [2022/03/04 15:11] (current) scott |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== System Organization ===== | + | ====== System Organization ====== |
- | The figure below depicts the top-level organization. I will explain it, starting from the left-hand side. | + | The figure below depicts the top-level organization. The explanation below starts from the reader's lefthand side. |
- **Photodetector**. This should be self-explanatory. This is the receiver board that you constructed while attending ECEN 340. | - **Photodetector**. This should be self-explanatory. This is the receiver board that you constructed while attending ECEN 340. | ||
- | - **JA PMOD**. This is the JA PMOD connector located on the lower-right corner of the ZYBO board. Pins 1 and 7 (see the ZYBO reference manual) are the dedicated connections for the ZYBO's board Analog-to-Digital Converter (ADC). Note that the ADC will be destroyed if you exceed 1 volt as measured between the negative terminal (N) and the positive terminal (P). If the ADC is destroyed or damaged, the entire ZYBO board must be replaced ($125). | + | - **Jumper Block**. The PMOD connections used in this system are routed out to a jumper block on the ECEn 330 Dev board. This jumper block is located on the left-hand side of the board, near the large clear LED. The jumper block serves two purposes: 1) if the jumpers are in place, it provides a path that connects the transmitter output to the ADC input, via voltage-limiting resistors, and 2) it provides a convenient connection point for all of the connections from the gun. |
- | - **Analog Digital Converter (ADC)**. This is where the analog-to-digital conversion takes place. The ADC is contained in the ZYNQ FPGA chip (the larger chip located in the middle of the ZYBO board). See the ZYBO reference manual. Data are retrieved from the ADC by calling the interrupts_getAdcData() function that is provided by the interrupts package. See the code in ''supportFiles/interrupts.c, .h'' for details. | + | - **Analog Digital Converter (ADC)**. This is where the analog-to-digital conversion takes place. The ADC is contained in the ZYNQ FPGA chip (the larger chip located in the middle of the ZYBO board). See the ZYBO reference manual. Data are retrieved from the ADC by calling the interrupts_getAdcData() function that is provided by the interrupts package. See the code in ''interrupts.c, .h'' for details. |
- | - **queue.c.** This is a set of functions that implement a queue. You will write these functions. Data are inserted into the queue by invoking ''queue_overwritePush()'' and retrieved from the queue via queue_pop(), two of the several functions that you will write. | + | - **queue.c.** This is a set of functions that implement a queue. Data are inserted into the queue by invoking ''queue_overwritePush()'' and retrieved from the queue via queue_pop(), two of the several functions that you will write. |
- **detector.c.** This is a set of functions that implement the signal-processing-based detector. You will learn about how to implement this later in the semester. | - **detector.c.** This is a set of functions that implement the signal-processing-based detector. You will learn about how to implement this later in the semester. | ||
- **filter.c** All of your filtering functions are implemented in filter.c | - **filter.c** All of your filtering functions are implemented in filter.c | ||
Line 13: | Line 13: | ||
-** transmitter.c.** This file will contain the functions that implement a simple, configurable square-wave generator. You will need to support 10 frequencies (we will assign those) and you need to be able to start/stop the transmitter. You will implement the transmitter as a state-machine, as taught in ECEN 330. You set the frequency-number by invoking ''transmitter_setFrequencyNo()'' with the desired frequency number. For now, the number will be set on the slide-switches as a binary number. | -** transmitter.c.** This file will contain the functions that implement a simple, configurable square-wave generator. You will need to support 10 frequencies (we will assign those) and you need to be able to start/stop the transmitter. You will implement the transmitter as a state-machine, as taught in ECEN 330. You set the frequency-number by invoking ''transmitter_setFrequencyNo()'' with the desired frequency number. For now, the number will be set on the slide-switches as a binary number. | ||
- **Slide Switches.** These are the 4 slide switches on the ZYBO board. You access them via the switches package. | - **Slide Switches.** These are the 4 slide switches on the ZYBO board. You access them via the switches package. | ||
- | - **JF PMOD.** This is the PMOD interface located on the left-side of the ZYBO board. There are 8 free pins on this connector that you can use as digital inputs or outputs. | + | - **Gun LED.** Self explanatory. You built one of these in ECEN 340. The jumper block is used to connect the square-wave signal from the transmitter to the analog transmitter board. |
- | - **Analog Transmitter Board.** Self explanatory. You built one of these in ECEN 340. Pin 1 from the JF PMOD is used to connect the square-wave signal from the transmitter to the analog transmitter board. | + | - **Trigger From Gun.** This is the signal from the trigger on the laser-tag gun that you used in ECEN 340. It connects to the ZYBO board using the jumper block. |
- | - **Trigger From Gun.** This is the signal from the trigger on the laser-tag gun that you used in ECEN 340. It connects to the ZYBO board using pin 2 on the JF PMOD. | + | |
It would be a good idea to review and reread the {{::zybo_rm_b_v6.pdf|ZYBO Reference Manual}}. | It would be a good idea to review and reread the {{::zybo_rm_b_v6.pdf|ZYBO Reference Manual}}. | ||
- | {{::systemdiagram.jpg?900|}} | + | {{::systemdiagram2.jpg?900|}} |
- | Take a look at {{::schultz_system_overview.pdf|this}} for a view of the system with actual components. | + | Take a look at the [[system_packaging|system packaging page]] for a view of the system with actual components. The loopback path (red lines) from the transmitter to the receiver is described in more detail on the [[loopback_circuitry|loopback circuitry page]]. It is used for testing software without connecting a gun and other circuitry to the system. |