Project

General

Profile

GsmDevelBoardGsmDevelBoardFPGA » History » Version 4

Anonymous, 02/19/2016 10:48 PM

1 1 laforge
= The FPGA on the GSM Development Board =
2
3
== Functional Blocks ==
4
5 3 laforge
=== CLK13GEN ===
6
The 13MHz master clock generator.  We feed the 26MHz clock as generated by the [wiki:TRF6151] VCTCXO into the FPGA and want a 13MHz clock as result.
7
8 1 laforge
=== TPU ===
9 3 laforge
The purpose of the TPU is to pre-configure certain events to happen synchronous to a certain time.  ''Time'' in this context means
10
a clock ticking at a rate of CLK_QBIT.
11 1 laforge
12 3 laforge
==== TPU CLK_QBIT ====
13
CLK_QBIT = CLK_13M/12 equals 923.1ns, which is a quarter of a GSM bit.
14
15
This clock has to be generated internally by a divider.
16
17
==== Actual TPU ====
18
19
In the TI DBB, the TPU is a micro-programmable engine with an instruction set of 5 instructions.
20
21
Each instruction takes four phases (FETCH, STORE, DECODE, EXECUTE).  As all of the phases have to complete in CLC_QBIT,
22
the engine is clocked at four times this clock, i.e. CLK_13M/3.
23
24
We don't really care how many phases/stages the engine has.  We simply need something that we can program to execute an event at a scheduled time.
25
26
==== TPU Requirements ====
27
28 1 laforge
The TPU needs to drive the [wiki:TimeSerialPort Time Serial Port] for the [wiki:TWL3025] and [wiki:TRF6151], as well as some parallel I/O lines.
29
30 3 laforge
 * serial output
31
  * CLK13M is the global 13MHz clock generated by CLK13GEN.
32
   * As CLK13GEN already exports this from the FPGA, no need for the TPU to export it again
33 4 laforge
   * ''sylvain: Not so sure about that. Looking at the timing requirements, you need to 'pause' that clock when you send the strobe so the simple divided clock won't do it, we need one where we can skip one beat at exactly the right time.''
34 3 laforge
  * TRF6151:STROBE -- the strobe signal for the [wiki:TRF6151] TSP
35
  * TWL3025:TEN -- the TSP ENable signal for the [wiki:TWL3025] TSP
36
  * TSP_DO -- the TSP Data Out signal, connected to TWL3025:TDR and TRF6151:DATA
37
38
 * parallel output
39
  * TSPACT0 -- connected to the [wiki:TRF6151]:RESETz signal
40
  * TSPACT1 -- connected to the [wiki:ASM4532]:VC2 signal
41
  * TSPACT2 -- connected to the [wiki:ASM4532]:VC1 signal
42
  * TSPACT3 -- connected to the [wiki:RF3166]:BAND_SELECT signal
43
  * TSPACT4 -- connected to the [wiki:ASM4532]:VC3 signal
44
  * TSPACT9 -- connected to the [wiki:RF3166]:TX_ENABLE signal
45
46 1 laforge
==== TSP of TRF6151 ====
47
48
The TSP to the TRF6151 uses three wires:
49
 * CLOCK (regular CLK_13M)
50
 * STROBE (generated by TPU)
51
 * DATA (provided by TPU at falling edge of CLOCK, TRF samples data at rising edge of CLOCK)
52
53 3 laforge
See [wiki:Rita] for a more detailed description of the TSP timings required.
54 1 laforge
55
==== TSP of TWL3025 ====
56
57
The TSP of the TWL3025 usese three wires:
58
 * CLOCK (regular CLK_13M), the TSL3025 derives an internal CLK6.5 signal of half the clock rate and uses it for the TSP)
59
 * nTEN (TSP ENable)
60
 * TDR (sampled by TWL3025 at rising edge of CLK6.5)
61
62 3 laforge
See [wiki:Iota] for a more detailed description of the TSP timings required.
Add picture from clipboard (Maximum size: 48.8 MB)