Project

General

Profile

Osmo-e1-xcvr » History » Version 5

laforge, 02/19/2016 10:48 PM

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
31
=== Populated PCB ===
32 1 laforge
33
== Hardware Documentation ==
34
35
=== JP2: TDM interface ===
36
37
JP2 contains the serial TDM bitstream + clock for Rx and Tx direction.  The signals are
38
||Pin||Name||Description||
39
||1||GND||Ground||
40
||2||nRST||low-active reset line, uC can reset the transceiver by pulling this low||
41
||3||NC||||
42
||4||LOS||Loss of Signal||
43
||5||TDN||Transmit Data Negative||
44
||6||RCLK||Receive Clock||
45
||7||TD/TDP||Transmit Data / Transmit Data Positive||
46
||8||RD/RDP||Receive Data / Receive Data Positive||
47
||9||TCLK||Transmitter Clock.  Depending on JP9, this is an input into the board, or an output
48
||10||RDN/CV||Receive Data Negative / Code Violation||
49
50
=== JP1: SPI control ===
51
52
This is how the external microcontroller can control the transceiver chip.
53
54
||Pin||Name||Description||
55 3 laforge
||1||VCC_IN||Vcc input, board can be supplied form here if SJ2 is closed||
56
||2||GND||Ground||
57 1 laforge
||3||NC||Not connected||
58 3 laforge
||4||nINT||low-active interrupt output, when transceiver wants to interrupt uC""||
59 1 laforge
||5||NC||Not connected||
60 3 laforge
||6||NC||Not connected||
61
||7||SDO||Serial Data Out (MISO)||
62
||8||SDI||Serial Data In (MOSI)||
63
||9||SCLK||Serial Clock||
64
||10||nCS||low-active chip-select of the SPI||
65 1 laforge
66
=== JP9 ===
67
68
JP10 switches the master clock (MCLK) of the transceiver between two on-board oscillators
69
of 2.048 MHz and 1.544 MHz.  This is required for selecting between E1 or T1/J1 mode.
70
71
||1-2||2.048 MHz (E1) mode||
72
||2-3||1.544 MHz (T1/J1) mode||
73
74
=== JP10 ===
75
76
This jumper decides if the 2.048/1.544 MHz MCLK should also be used as TDM Transmit Clock.
77
78
||closed||use MCLK as TCLK source, TCLK pin on JP2 is output||
79 2 laforge
||open||external circuit provides TCLK on JP2||
80 1 laforge
81
=== JP3 + JP4 ===
82
83 3 laforge
JP3can be used to supply power to the board.
84 1 laforge
85
== show me the code ==
86
87
http://cgit.osmocom.org/cgit/osmo-e1-xcvr/
88 4 laforge
89
== TODO list ==
90
 * hardware
91
  * make ridiculously large test pads smaller
92
  * move C1 closer to U1 VDDIO pad (19)
93
  * remove $ sign from component names
94
  * define which value C5 should use
95
  * mark pin 1 of J1 / J2 on copper + silk screen
96
  * different footprint for L1 ?  value ?
97
  * JP10 is a big too close to J1
98
 * software
99
  * implement minimal SPI driver to initialize transceiver chip
Add picture from clipboard (Maximum size: 48.8 MB)