Project

General

Profile

Atmel SAM Approach » History » Version 7

laforge, 01/13/2020 11:27 AM

1 1 laforge
h1. Atmel SAM Approach
2
3
This page describes a proposed approach of implementing the E1 adapter using [[osmo-e1-xcvr]] and an Atmel SAMx microcontroller, suhc as a SAM3S or SAM4S.
4
5 3 laforge
* "SAM3S Manual":http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-6500-32-bit-Cortex-M3-Microcontroller-SAM3S4-SAM3S2-SAM3S1_Datasheet.pdf (64 MHz Cortex-M3)
6 2 laforge
* "SAM4S Manual":http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11100-32-bit%20Cortex-M4-Microcontroller-SAM4S_Datasheet.pdf (120 MHz Cortex-M4)
7
8 1 laforge
h2. Overview
9
10
* the SAM controls the LIU via SPI
11
* the SAM attaches to the host via USB
12
* The SAM *SSC Peripheral* is used to interface to the receive + transmit bit-streams of the LIU
13
* The SAM3 *TC Peripheral* is used for Rx frame alignment
14
15
h2. Serializing/Deserializing
16
17
* SSC can receive/transmit synchronous serial bit streams with external or internal clock
18
* SSC supports DMA operation between the (de)serializer and RAM using PDC (peripheral DMA controller)
19
* SSC can run either 
20
** continously (frame alignment done in software [possibly using bit-banding], as no octet alignment of frames), or
21
** triggered by RF input, which we supply from SSC (see below) with hardware-assisted frame alignment
22
23
h2. Frame Alignment using TC (Timer/Counter)
24
25
The idea is to use one of the TC units to perform hardware-assisted frame alignment and this way prevent us from having to do tons of bit-shifting in software in order to align the start of the 256 bit E1 frame with an octet boundary.
26
27
* received clock is fed into TCLKx
28
* internal 16-bit counter is set to count up to 256 (one frame duration)
29
* TC is operated in WAVEFORM mode
30
* TIOA or TIOB are operated as output routed to the SSC RF (receive frame) input
31
* Ra/Rb/Rc registers are used to shift the rising and falling edge of the TIOA/TIOB signal within the 256bit frame
32 4 laforge
33
h2. Transmit side
34
35
The transmit side is rather simple:
36
* use either recovered Rx clock or locally-generated clock (from GPS-DO)
37
* serialize the bits with no particular alignment requirements, as it's entirely up to the receiver to align to the frames we send
38 5 laforge
39
h2. Eval boards
40
41 6 laforge
For initial development and evaluation of this approach, we used SAM4S evaluation boards connected to the [[osmo-e1-xcvr]] board.
42
43 5 laforge
We need access to PA16 (TK), PA17 (TD), PA18 (RD), PA19 (RK).
44
45
* "SAM4S-XPRO":http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42075-SAM4S-Xplained-Pro_User-Guide.pdf
46
** exposes SSC I/O (stated above) signals on external headers
47
** contains built-in JTAG/SWD debugger for development + flashing
48
** exposes SPI on external header (control of [[osmo-e1-xcvr]])
49 6 laforge
50 7 laforge
This is a picture from a development prototype using the [[osmo-e1-xcvr]] connected to a SAM4-XPRO:
51
52
!{width:50%}e1-xcvr-xpro.jpg!
53
54 6 laforge
h2. Circuit board design
55
56
@vogelchr has done a circuit board design, it can be found at https://github.com/vogelchr/e1_sam4_usb
57 7 laforge
58
!{width:50%}usb-e1-interface.jpg!
59 6 laforge
60
h2. Firmware
61
62
@vogelchr has done firmware development at https://github.com/vogelchr/e1_sam4_usb_fw, while @laforge has also done similar developments at http://git.osmocom.org/atmel-asf-projects/
63
64
h2. Status
65
66
Both the evalboard and the @e1_sam4_usb@ circuit board design have been validated.  The firmware has been validated with some PRBS tests.
Add picture from clipboard (Maximum size: 48.8 MB)