Project

General

Profile

GsmDevelBoardGsmDevelBoardFPGA » History » Version 5

Anonymous, 02/19/2016 10:49 PM

1 1 laforge
2 5 laforge
h1. The FPGA on the GSM Development Board
3 1 laforge
4
5 5 laforge
6
h2. Functional Blocks
7
8
9
10
h3. CLK13GEN
11
12
The 13MHz master clock generator.  We feed the 26MHz clock as generated by the [[TRF6151]] VCTCXO into the FPGA and want a 13MHz clock as result.
13
14
15
h3. TPU
16
17
The purpose of the TPU is to pre-configure certain events to happen synchronous to a certain time.  _Time_ in this context means
18 3 laforge
a clock ticking at a rate of CLK_QBIT.
19
20 5 laforge
21
h4. TPU CLK_QBIT
22
23 1 laforge
CLK_QBIT = CLK_13M/12 equals 923.1ns, which is a quarter of a GSM bit.
24
25
This clock has to be generated internally by a divider.
26 3 laforge
27 1 laforge
28 5 laforge
h4. Actual TPU
29
30
31 1 laforge
In the TI DBB, the TPU is a micro-programmable engine with an instruction set of 5 instructions.
32
33
Each instruction takes four phases (FETCH, STORE, DECODE, EXECUTE).  As all of the phases have to complete in CLC_QBIT,
34
the engine is clocked at four times this clock, i.e. CLK_13M/3.
35
36
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.
37
38
39 5 laforge
h4. TPU Requirements
40 1 laforge
41 3 laforge
42 5 laforge
The TPU needs to drive the [[TimeSerialPort|Time Serial Port] for the [[TWL3025]] and [[TRF6151]]], as well as some parallel I/O lines.
43 1 laforge
44 5 laforge
* serial output
45
** CLK13M is the global 13MHz clock generated by CLK13GEN.
46
*** As CLK13GEN already exports this from the FPGA, no need for the TPU to export it again
47
*** _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._
48
** TRF6151:STROBE -- the strobe signal for the [[TRF6151]] TSP
49
** TWL3025:TEN -- the TSP ENable signal for the [[TWL3025]] TSP
50
** TSP_DO -- the TSP Data Out signal, connected to TWL3025:TDR and TRF6151:DATA
51 3 laforge
52 5 laforge
* parallel output
53
** TSPACT0 -- connected to the [[TRF6151]]:RESETz signal
54
** TSPACT1 -- connected to the [[ASM4532]]:VC2 signal
55
** TSPACT2 -- connected to the [[ASM4532]]:VC1 signal
56
** TSPACT3 -- connected to the [[RF3166]]:BAND_SELECT signal
57
** TSPACT4 -- connected to the [[ASM4532]]:VC3 signal
58
** TSPACT9 -- connected to the [[RF3166]]:TX_ENABLE signal
59
60
61
h4. TSP of TRF6151
62
63
64 3 laforge
The TSP to the TRF6151 uses three wires:
65 5 laforge
* CLOCK (regular CLK_13M)
66
* STROBE (generated by TPU)
67
* DATA (provided by TPU at falling edge of CLOCK, TRF samples data at rising edge of CLOCK)
68 1 laforge
69 5 laforge
See [[Rita]] for a more detailed description of the TSP timings required.
70 1 laforge
71
72 5 laforge
h4. TSP of TWL3025
73
74
75 1 laforge
The TSP of the TWL3025 usese three wires:
76 5 laforge
* CLOCK (regular CLK_13M), the TSL3025 derives an internal CLK6.5 signal of half the clock rate and uses it for the TSP)
77
* nTEN (TSP ENable)
78
* TDR (sampled by TWL3025 at rising edge of CLK6.5)
79 1 laforge
80 5 laforge
See [[Iota]] for a more detailed description of the TSP timings required.
Add picture from clipboard (Maximum size: 48.8 MB)