project:hgg:hardwaredoc:flutter
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
project:hgg:hardwaredoc:flutter [2012-03-18 00:31] – reloc0 | project:hgg:hardwaredoc:flutter [2012-07-26 15:47] (aktuell) – alte Version wieder hergestellt 80.152.26.162 | ||
---|---|---|---|
Zeile 20: | Zeile 20: | ||
- a microcontroller we call MICROCONTROLLER (to configure the timesource) | - a microcontroller we call MICROCONTROLLER (to configure the timesource) | ||
- a fast oscillator we call OSCILATOR to supply the fastclock output | - a fast oscillator we call OSCILATOR to supply the fastclock output | ||
- | - a 32-bit counter to count the clock ticks of the OSCILATOR | + | - a 32-bit counter |
- a 40-bit serial-in-parallel-out spi register we call SLOWTIME_IN for recieving the slow timing information | - a 40-bit serial-in-parallel-out spi register we call SLOWTIME_IN for recieving the slow timing information | ||
- two latches, 40- and 32-bit called SLOWTIME_LATCH and FASTCLOCK_LATCH | - two latches, 40- and 32-bit called SLOWTIME_LATCH and FASTCLOCK_LATCH | ||
Zeile 39: | Zeile 39: | ||
For the view of slowtime: | For the view of slowtime: | ||
- | - The TIMESOURCE pps pin goes up. The counter | + | - The TIMESOURCE pps pin goes up. The COUNTER |
- The MICROCONTROLLER begins to send the slowtime information on the next second to the SLOWTIME_IN register (m in the image). | - The MICROCONTROLLER begins to send the slowtime information on the next second to the SLOWTIME_IN register (m in the image). | ||
- When the SLOWTIME_IN register is filled with the slowtime, it is latched into the m part of the latch. | - When the SLOWTIME_IN register is filled with the slowtime, it is latched into the m part of the latch. | ||
Zeile 52: | Zeile 52: | ||
The OSCILATOR generates a clock signal on the FASTCLOCK pins of the timing bus. All modules and the counter register count the number of clock cycles. After the pps pin on the TIMESOURCE goes up, the registers are cleared. The timing module stores the value at the end of the last second to measure the drifting properties of the oscilator. | The OSCILATOR generates a clock signal on the FASTCLOCK pins of the timing bus. All modules and the counter register count the number of clock cycles. After the pps pin on the TIMESOURCE goes up, the registers are cleared. The timing module stores the value at the end of the last second to measure the drifting properties of the oscilator. | ||
+ | |||
+ | What we got from this is, that at the beginning of a second, all the modules are told what the timestamp of the next second is and how much the fastclock has drifted in the last second. The measurement modules that recieve this information can use the sent slowtime information after recieving the PPS since it will be valid then. | ||
For more information on the timing bus information, | For more information on the timing bus information, | ||
+ | ====== The FPGA stuff ====== | ||
+ | The FPGA contains all the registers mentioned above, meaning | ||
- | + | * COUNTER | |
+ | * SLOWTIME_IN | ||
+ | * SLOWTIME_LATCH | ||
+ | * FASTCLOCK_LATCH | ||
+ | * SLOWTIME_OUT | ||
+ | and the logic to make the stuff happen upon recieving pps and the slowtime. | ||
+ | The pins mapped to the FPGA are | ||
+ | |||
+ | * TIME_CLR | ||
+ | * TIME_CLK | ||
+ | * SPIIN_CS | ||
+ | * SPIIN_CLK | ||
+ | * SPIIN_DATA | ||
+ | * DOUT_CLK | ||
+ | * SPIOUT_DATA | ||
+ | * SPIOUT_CLK | ||
+ | * SPIOUT_CS | ||
+ | |||
+ | Mapping theese pins is pretty easy. | ||
+ | |||
+ | * SPIIN_* is used to recieve the slowtime information from the MICROCONTROLLER | ||
+ | * SPIOUT_* is used to send the SLOWTIME-data to the timing bus. | ||
+ | * DOUT_CLK is a clock of 4Mhz used to generate the SPI clock for SPIOUT_CLK. | ||
+ | * TIME_CLR is connected to the pps pin of the GPS module | ||
+ | * TIME_CLK is connected to the OSCILATOR | ||
+ | |||
+ | |||
+ | This documentation is a wip and probably very obscure and confusing. Please ask armin@hgg.aero if you don't get it and give hints on what to improve. | ||
+ | |||
+ | |||
+ | |||
+ | |||
project/hgg/hardwaredoc/flutter.1332027088.txt.gz · Zuletzt geändert: 2012-03-18 00:31 von reloc0