Project

General

Profile

Osmo-e1-xcvr » History » Version 9

laforge, 02/21/2016 10:38 AM

1 8 laforge
{{>toc}}
2 1 laforge
3 8 laforge
h1.  osmo-e1-xcvr
4 8 laforge
5 8 laforge
6 1 laforge
This is a simple hardware project that aims to generate a reusable module
7 1 laforge
for interfacing E1/T1/J1 lines from various custom FPGA/CPLD/microcontroller
8 1 laforge
projects.
9 1 laforge
10 1 laforge
The board contains tranformers, the analog circuitry, the LIU (line interface
11 1 laforge
unit), an oscillator as well as an integrated transceiver chip.
12 1 laforge
13 1 laforge
It exposes the control interface (SPI) as well as the decoded synchronous
14 1 laforge
Rx/Tx bitstreams each on a 2x5pin header.
15 1 laforge
16 1 laforge
Framer, Multiplexe,r HDLC decoder or anything like that is out-of-scope for
17 1 laforge
now.  The idea relaly is to provide an interface as low-level as possible.
18 1 laforge
19 1 laforge
One of the ideas is to create a "soft E1" interface, where the Rx/Tx bitstreams
20 1 laforge
are interfaced with the SSC of an AT91SAM3S and subsequently passed into a PC
21 1 laforge
via USB.  The 2Mbps signal is very low-bandwidth, so that a pure software
22 1 laforge
implementation should be absolutely no problem for todays computing power.
23 1 laforge
24 1 laforge
25 8 laforge
h2. Status
26 8 laforge
27 8 laforge
28 1 laforge
The project is in design phase.  Initial design has finished, but needs to be
29 1 laforge
reviewed.  First prototype PCBs are evaluated since January 12, 2012
30 1 laforge
31 1 laforge
32 8 laforge
h2. Hardware pictures
33 8 laforge
34 8 laforge
35 8 laforge
36 8 laforge
h3. Bare PCB
37 8 laforge
38 9 laforge
!{width:50%}osmo-e1-xcvr-pcb.jpg!
39 7 laforge
40 8 laforge
41 8 laforge
h3. Populated PCB
42 8 laforge
43 9 laforge
!{width:50%}osmo-e1-xcvr.jpg!
44 1 laforge
45 1 laforge
46 8 laforge
h2. Hardware Documentation
47 1 laforge
48 8 laforge
49 8 laforge
50 8 laforge
h3. JP2: TDM interface
51 8 laforge
52 8 laforge
53 1 laforge
JP2 contains the serial TDM bitstream + clock for Rx and Tx direction.  The signals are
54 1 laforge
||Pin||Name||Description||
55 1 laforge
||1||GND||Ground||
56 1 laforge
||2||nRST||low-active reset line, uC can reset the transceiver by pulling this low||
57 1 laforge
||3||NC||||
58 1 laforge
||4||LOS||Loss of Signal||
59 1 laforge
||5||TDN||Transmit Data Negative||
60 1 laforge
||6||RCLK||Receive Clock||
61 1 laforge
||7||TD/TDP||Transmit Data / Transmit Data Positive||
62 1 laforge
||8||RD/RDP||Receive Data / Receive Data Positive||
63 1 laforge
||9||TCLK||Transmitter Clock.  Depending on JP9, this is an input into the board, or an output
64 1 laforge
||10||RDN/CV||Receive Data Negative / Code Violation||
65 1 laforge
66 1 laforge
67 8 laforge
h3. JP1: SPI control
68 8 laforge
69 8 laforge
70 1 laforge
This is how the external microcontroller can control the transceiver chip.
71 3 laforge
72 1 laforge
||Pin||Name||Description||
73 3 laforge
||1||VCC_IN||Vcc input, board can be supplied form here if SJ2 is closed||
74 1 laforge
||2||GND||Ground||
75 1 laforge
||3||NC||Not connected||
76 1 laforge
||4||nINT||low-active interrupt output, when transceiver wants to interrupt uC""||
77 1 laforge
||5||NC||Not connected||
78 1 laforge
||6||NC||Not connected||
79 1 laforge
||7||SDO||Serial Data Out (MISO)||
80 1 laforge
||8||SDI||Serial Data In (MOSI)||
81 1 laforge
||9||SCLK||Serial Clock||
82 1 laforge
||10||nCS||low-active chip-select of the SPI||
83 1 laforge
84 1 laforge
85 8 laforge
h3. JP9
86 8 laforge
87 8 laforge
88 2 laforge
JP10 switches the master clock (MCLK) of the transceiver between two on-board oscillators
89 1 laforge
of 2.048 MHz and 1.544 MHz.  This is required for selecting between E1 or T1/J1 mode.
90 1 laforge
91 1 laforge
||1-2||2.048 MHz (E1) mode||
92 1 laforge
||2-3||1.544 MHz (T1/J1) mode||
93 1 laforge
94 1 laforge
95 8 laforge
h3. JP10
96 8 laforge
97 8 laforge
98 1 laforge
This jumper decides if the 2.048/1.544 MHz MCLK should also be used as TDM Transmit Clock.
99 1 laforge
100 1 laforge
||closed||use MCLK as TCLK source, TCLK pin on JP2 is output||
101 1 laforge
||open||external circuit provides TCLK on JP2||
102 1 laforge
103 1 laforge
104 8 laforge
h3. JP3 + JP4
105 8 laforge
106 8 laforge
107 1 laforge
JP3can be used to supply power to the board.
108 1 laforge
109 1 laforge
110 8 laforge
h2. show me the code
111 8 laforge
112 8 laforge
113 4 laforge
http://cgit.osmocom.org/cgit/osmo-e1-xcvr/
114 4 laforge
115 8 laforge
116 8 laforge
h2. TODO list
117 8 laforge
118 8 laforge
* hardware
119 8 laforge
** make ridiculously large test pads smaller
120 8 laforge
** move C1 closer to U1 VDDIO pad (19)
121 8 laforge
** remove $ sign from component names
122 8 laforge
** define which value C5 should use
123 8 laforge
** mark pin 1 of J1 / J2 on copper + silk screen
124 8 laforge
** different footprint for L1 ?  value ?
125 8 laforge
** JP10 is a big too close to J1
126 8 laforge
* software
127 8 laforge
** implement minimal SPI driver to initialize transceiver chip