The synchronization interface indicates the current Universal Mobile Telecommunications System (UMTS) Node B Frame Number (BFN). The signals of this interface are shown in Table: Frame Synchronization Interface Port Signals . The length of a single UMTS frame is 10 ms and is synchronized to the system clock of the I/Q data interface, clk . Synchronization can be achieved by combining the BFN and the I/Q data interface clocks.
In the transmit direction nodebfn_tx_strobe must be asserted for T c and the BFN value in signal nodebfn_tx_nr must be maintained through the duration of the Node B Frame, as shown in This Figure . Asserting nobebfn_tx_strobe forces the next basic frame to be transmitted to be basic frame 0. It is the responsibility of the user logic to assert the nodebfn_tx_strobe signal every 10 ms as shown.
To better illustrate the frame-level synchronization, This Figure shows some of the signals involved in frame transmission and their relative timing.
This Figure shows the end of the assertion of the nodebfn_tx_strobe signal and shows the /COMMA/ (or in the case of 64b66b encoded line rates the /S/ character) character being transmitted at the beginning of the first basic frame of the Node B frame. It also illustrates that the vendor_tx_ns and vendor_tx_xs outputs indicate the basic frame to be transmitted next, not the basic frame being currently transmitted.
The delay through the transmit path in cores supporting up to 3,072.0 Mb/s is one clock cycle, as shown in This Figure . In cores supporting higher line rates, the delay through the transmit section of the core is increased to two clock cycles. This is to ensure the higher clock speed requirements in these cores are met.
On the receive side, the frame strobe nodebfn_rx_strobe is generated at the clk rising edge for T c and the frame number is presented to the user logic at the same time. Because the CPRI core cannot completely identify the BFN in progress until it is partially through receiving the frame, the frame number on nodebfn_rx_nr is the number of the previous frame at the time the frame strobe is asserted. This is illustrated in This Figure and This Figure .
IMPORTANT: The frame number is not valid at start-up until an entire hyperframe has been received by the core.
This Figure shows the reception of the beginning of basic frame 0 at the start of a Node B frame. It shows that nodebfn_rx_strobe is asserted while basic frame 0 is being received. It also illustrates that the vendor_tx_ns and vendor_rx_xs outputs indicate the basic frame just completed, not the basic frame is about to begin.
Both of these frame synchronization interfaces are involved in the round trip delay measurement feature of the core. If the C_R21_TIMER generic is set to TRUE a timer, the R21 coarse timer, is present in the core. See Delay Measurement and Requirement 21 (R21) for more details on the round trip delay calculation.
If the master the timer is started when the /COMMA/ (or /S/ Character for 64B66B encoded line rate) synchronization character is transmitted; this occurs when nodebfn_tx_strobe and iq_tx_enable are asserted. At this time the nodebfn_tx_nr value is stored. The timer is stopped when the master detects the start of the 10 ms CPRI frame at the receiver, corresponding to the rising edge of the nodebfn_rx_strobe , and the received nodebfn_rx_nr matches the stored nodebfn_tx_nr value.
Similarly in the slave the timer is started, and the nodebfn_rx_nr stored, when the slave receives the synchronization byte at the start of the CPRI 10 ms frame. This corresponds to the rising edge of nodebfn_rx_strobe . The timer is stopped when nodebfn_tx_strobe and iq_tx_enable are asserted and the nodebfn_tx_nr frame number matches the stored nodebfn_rx_nr .
Section 4.2.9 of CPRI Specification v7.0 [Ref 1] shows how the delay calibration works in a CPRI system. The CPRI master core in the REC outputs a synchronization /COMMA/ character when nodebfn_tx_strobe and iq_tx_enable are asserted. This starts the R21 coarse timer in the master. When the slave core in the RE receives the synchronization character, it asserts nodebfn_rx_strobe . This starts the R21 coarse timer in the slave.
In the RE the nodebfn_rx_strobe is routed back to the nodebfn_tx_strobe input of the slave. The received frame number is also looped back to the nodebfn_tx_nr input. However, the current frame number is not output on nodebfn_rx_nr until some way into the frame. If the frame number is incrementing by one every 10 ms, then logic in the RE should increment the nodebfn_rx_nr value by one before it is input to nodebfn_tx_nr on the falling edge of nodebfn_tx_strobe .
When the CPRI slave in the RE sees nodebfn_tx_strobe and iq_tx_enable asserted, its R21 coarse timer is stopped and a /COMMA/ synchronization character is transmitted. When the CPRI master in the REC receives the synchronization character, it stops its R21 coarse timer. From the timer values and the known latencies through the system, the delay across the CPRI link can be measured.