Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
cmod_a7:cmod_a7:cmod_a7_stopwatch:start [2016/07/15 18:49] – Brandon Kallaher | cmod_a7:cmod_a7:cmod_a7_stopwatch:start [2021/05/14 23:06] (current) – ↷ Links adapted because of a move operation Arthur Brown | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ~~NOTOC~~ | + | ====== |
- | ====== | + | |
- | // | + | |
- | This Page is a WIP. Information **will** change | + | Using the CmodA7 and a 4-digit seven-segment display, this project creates a 10 second stopwatch with millisecond resolution. |
- | + | ||
- | // | + | |
===== Prerequisites ===== | ===== Prerequisites ===== | ||
- | Follow the [[learn: | + | === Skills === |
- | ==== Software | + | * Basic familiarity with Vivado |
- | * Vivado | + | * Familiarity with programming the GPIO of the CmodA7 |
- | ==== Hardware | + | * Follow the [[learn: |
+ | |||
+ | === Software === | ||
+ | * Vivado | ||
+ | |||
+ | === Hardware === | ||
* CmodA7-15T or CmodA7-35T | * CmodA7-15T or CmodA7-35T | ||
* Four Digit 7-segment Display | * Four Digit 7-segment Display | ||
* Breadboard | * Breadboard | ||
* Jumper Wires | * Jumper Wires | ||
+ | |||
===== Procedure ===== | ===== Procedure ===== | ||
- | === Wiring the CmodA7 to the 7-segment Display ==== | + | ==== 1. Wiring the CmodA7 to the 7-segment Display ==== |
This step may be different depending on your 7-segment display. The one used in this project has the following pinout: | This step may be different depending on your 7-segment display. The one used in this project has the following pinout: | ||
- | //pinout for display//\\ | ||
- | \\ | ||
- | \\ | ||
- | \\ | ||
<columns 100% 50% - -> | <columns 100% 50% - -> | ||
- | {{cmod_a7: | + | {{ :cmod_a7: |
< | < | ||
- | {{cmod_a7: | + | {{:cmod_a7: |
</ | </ | ||
- | === Programming the CmodA7 ==== | + | Place the Seven-Segment Display and CmodA7 in the breadboard. Using the Jumper Wires Connect the two parts using the following table as a guide. The display being used may have a different pin-out. If this is the case find the datasheet and wire according to that. |
+ | |||
+ | <columns 100% - 40% - -> | ||
+ | |||
+ | < | ||
+ | |||
+ | ^ Wiring Table ||| | ||
+ | ^ Signal | ||
+ | ^ Cathode A | 11 | 8 | | ||
+ | ^ Cathode B | 7 | ||
+ | ^ Cathode C | 4 | ||
+ | ^ Cathode D | 2 | ||
+ | ^ Cathode E | 1 | ||
+ | ^ Cathode F | 10 | 7 | | ||
+ | ^ Cathode G | 5 | ||
+ | ^ Decimal Point Cathode | ||
+ | ^ Digit 1 Anode | 12 | 3 | | ||
+ | ^ Digit 2 Anode | 9 | ||
+ | ^ Digit 3 Anode | 8 | ||
+ | ^ Digit 4 Anode | 6 | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | </ | ||
+ | |||
+ | When the wiring is done the breadboard should look something like this: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | For more information on Seven-Segment Displays see the [[programmable-logic: | ||
+ | |||
+ | ==== 2. Programming the CmodA7 ==== | ||
+ | |||
+ | == 2.0 Open Vivado == | ||
+ | |||
+ | From Vivado open the Hardware Manager and open a target. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | After the CmodA7 connects there are two options for programming: | ||
+ | |||
+ | == 2.1. JTAG == | ||
+ | |||
+ | This will program the FPGA directly, the program will not run after a power cycle. | ||
+ | |||
+ | **2.1.1:** Download and extract the BIT file for your board: {{: | ||
+ | |||
+ | **2.1.2:** In the Hardware Manager click Program device (in the green bar) then the device to program from the drop-down. Select the bit file and click program. Once the programming window closes the board is ready. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | == 2.2. Quad-SPI == | ||
+ | |||
+ | This will program the on-board flash memory, the program will run after a power cycle. | ||
+ | |||
+ | **2.2.1:** Download and extract the BIN file for your board: {{: | ||
+ | |||
+ | **2.2.2:** In the Program Manager right click on the device and click Add Configuration Memory Device. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | **2.2.3:** In the next window select the **n25q32-3.3v-spix1_x2_x4** device and click OK in the next window to program the device now. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | **2.2.4:** Select the BIN file that was downloaded above and click OK. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | The flash will be programmed and will need to be power cycled in order to load the program from the memory. | ||
+ | |||
+ | ===== Operation ===== | ||
+ | |||
+ | To start the stopwatch press BTN0. To stop and reset the stopwatch press BTN1. | ||
+ | {{ : | ||
{{tag> | {{tag> | ||