Project

General

Profile

Osmo-e1-xcvr » History » Version 7

laforge, 02/19/2016 10:48 PM
add pic of populated pcb

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