RAC Front-End Functions
[RAC Front-End]


Functions

void CSL_RAC_FE_enable (CSL_RAC_Handle hRac)
void CSL_RAC_FE_disable (CSL_RAC_Handle hRac)
CSL_RAC_FE_transferState CSL_RAC_FE_getStatus (CSL_RAC_Handle hRac)
CSL_RAC_FE_gccpStatus CSL_RAC_FE_getGccpStatus (CSL_RAC_Handle hRac, Uint8 gccpId)
void CSL_RAC_FE_setInputBufferDepth (CSL_RAC_Handle hRac, Uint8 ibDepth)
void CSL_RAC_FE_setMaxCyclesPerIteration (CSL_RAC_Handle hRac, Uint16 maxCyclesNb)
Uint16 CSL_RAC_FE_getWatchDogStatus (CSL_RAC_Handle hRac)
CSL_RAC_FE_wdInterruptStatus CSL_RAC_FE_getWatchDogInterruptStatus (CSL_RAC_Handle hRac)
void CSL_RAC_FE_setTimestamp (CSL_RAC_Handle hRac, CSL_RAC_FE_Timestamp_req *timestamp)
void CSL_RAC_FE_getTimestamp (CSL_RAC_Handle hRac, CSL_RAC_FE_Timestamp_req *timestamp)
void CSL_RAC_FE_softwareReset (CSL_RAC_Handle hRac)
CSL_RAC_FE_resetStatus CSL_RAC_FE_getResetStatus (CSL_RAC_Handle hRac)
void CSL_RAC_FE_startSoftwareIteration (CSL_RAC_Handle hRac)

Function Documentation

void CSL_RAC_FE_disable ( CSL_RAC_Handle  hRac  ) 

=============================================================================
CSL_RAC_FE_disable

Description This function disables the RAC Front End Interface (FEI) by writing 0x0 into the RAC_FE_ENA register.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC to configure.

Return Value
None

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
The Front End Interface is then disabled. This operation modifies the RAC_FE_ENA register.

Writes
RAC2_CFG_FE_ENA_ENABLE=0

Example

        ...

        CSL_RAC_FE_disable (hRac);

        ...
      
=============================================================================

void CSL_RAC_FE_enable ( CSL_RAC_Handle  hRac  ) 

=============================================================================
CSL_RAC_FE_enable

Description This function enables the RAC Front End Interface (FEI) by writing 0x1 into the RAC_FE_ENA register.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC to configure.

Return Value
None

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
The Front End Interface is then enabled.This operation modifies the RAC_FE_ENA register.

Writes
RAC2_CFG_FE_ENA_ENABLE=1

Example

        ...

        CSL_RAC_FE_enable (hRac);

        ...
    
=============================================================================

CSL_RAC_FE_gccpStatus CSL_RAC_FE_getGccpStatus ( CSL_RAC_Handle  hRac,
Uint8  gccpId 
)

=============================================================================
CSL_RAC_FE_getGccpStatus

Description This function returns the corresponding GCCP Status by reading the Front End status register register.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC status to read.
gccpId - Byte to select the GCCP status.

Return Value
CSL_RAC_FE_gccpStatus_Idle - When the GCCP is idle. The Data memories are accessible for debug.
CSL_RAC_FE_gccpStatus_Busy - When the GCCP is busy. The Data memories are not accessible for debug.

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
This function reads the RAC_FE_STAT register.

Reads
RAC2_CFG_FE_STAT_GCCP0_STAT; RAC2_CFG_FE_STAT_GCCP1_STAT

Example

    CSL_RAC_FE_gccpStatus   gccpStatus;
    Uint32                  gccpId;

    gccpId = 0;

    gccpStatus = CSL_RAC_FE_getGccpStatus (hRac, gccpId);

    ...
    
=============================================================================

CSL_RAC_FE_resetStatus CSL_RAC_FE_getResetStatus ( CSL_RAC_Handle  hRac  ) 

=============================================================================
CSL_RAC_FE_getResetStatus

Description This function returns the RAC reset status.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC to read.

Return Value
CSL_RAC_FE_Reset - RAC Front-End is in reset state.
CSL_RAC_FE_NotReset - RAC Front-End is not in reset state.

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
This API retrieves the RAC IP reset status. The Hardware takes as long as it needs to perform the reset on all state machines, queues and counters. During that time, the Software can poll the same register and reset flag bit remain equals to 1. When the reset process is finished, the hardware clears the reset flag bit to 0. The software then knows that the reset process has been completed.

Reads
RAC2_CFG_FE_SW_RESET_SW_RESET

Example


    ...

    CSL_RAC_FE_softwareReset (hRac);

    
=============================================================================

CSL_RAC_FE_transferState CSL_RAC_FE_getStatus ( CSL_RAC_Handle  hRac  ) 

=============================================================================
CSL_RAC_FE_getStatus

Description This function returns the Front End Transfer State by reading the Front End status register register.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC status to read.

Return Value
CSL_RAC_FE_transferState_WaitingTimestamp - When the Front End is waiting for the timestamp write.
CSL_RAC_FE_transferState_ReceivingSamples - When the Front End receives samples.
CSL_RAC_FE_transferState_ReadyToStart - When the Front End has received all samples and is ready to start the GCCPs.
CSL_RAC_FE_transferState_StartGccpIteration - When the Front End enables the GCCPs. Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
This function reads the RAC_FE_STAT register.

Reads
RAC2_CFG_FE_STAT_TRANSFER_FSM

Example

    CSL_RAC_FE_transferState    xferState;

    ...

    xferState = CSL_RAC_FE_getStatus (hRac);

    ...
    
=============================================================================

void CSL_RAC_FE_getTimestamp ( CSL_RAC_Handle  hRac,
CSL_RAC_FE_Timestamp_req timestamp 
)

=============================================================================
CSL_RAC_FE_getTimestamp

Description This function reads the Front End timestamp register.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC to read.
timestamp - structure with timestamp parameters.

Return Value None.

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
This operation reads the content of the Front-End timestamp register.

Reads
RAC2_DATA_FE_TIME_CHIP, RAC2_DATA_FE_TIME_SLOT, RAC2_DATA_FE_TIME_FRAME

Example

    CSL_RAC_FE_Timestamp_req    timeStamp;

    ...

    CSL_RAC_FE_getTimestamp (hRac, &timeStamp);

    ...
    
=============================================================================

CSL_RAC_FE_wdInterruptStatus CSL_RAC_FE_getWatchDogInterruptStatus ( CSL_RAC_Handle  hRac  ) 

=============================================================================
CSL_RAC_FE_getWatchDogInterruptStatus

Description This function reads the content of the watch dog interrupt status.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC to read.

Return Value
CSL_RAC_FE_wdInterruptStatus_NoInt - No interrupt has been generated.
CSL_RAC_FE_wdInterruptStatus_Int - An interrupt has been generated and forwarded to the BEII.

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
This operation reads the RAC_FE_WINT register and extracts the interrupt status field. When the user reads the RAC_FE_WINT register, the H/W clears the interrupt status bit. If the user reads once again the register, 'no-interrupt' status will be return.

Reads
RAC2_CFG_FE_INT_INT_STATUS

Example

    CSL_RAC_FE_wdInterruptStatus    wdIntStatus;

    ...

    wdIntStatus = CSL_RAC_FE_getWatchDogInterruptStatus (hRac);
    ...

    
=============================================================================

Uint16 CSL_RAC_FE_getWatchDogStatus ( CSL_RAC_Handle  hRac  ) 

=============================================================================
CSL_RAC_FE_getWatchDogStatus

Description This function reads the content of the watch dog decounter.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC status to read.

Return Value Uint16
Current value of the decounter.

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
This operation reads the RAC_FE_WST register and extracts the decounter field.

Reads
RAC2_CFG_FE_WST_FE_WD_STATUS

Example

    Uint16  wdStatus;

    wdStatus = CSL_RAC_FE_getWatchDogStatus (hRac);

    ...
    
=============================================================================

void CSL_RAC_FE_setInputBufferDepth ( CSL_RAC_Handle  hRac,
Uint8  ibDepth 
)

=============================================================================
CSL_RAC_FE_setInputBufferDepth

Description This function configures the Input Buffer Depth register.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC to configure.
ibDepth - Byte with the value to set in the register.

Return Value None.

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
This operation modifies the RAC_FE_IB_DEPTH register with the ibDepth value. The Front End is now able to compute the read time for the GCCPs.

Writes
RAC2_CFG_FE_ID_DEPTH_IB_DEPTH

Example

    Uint8   ibDepth;

    ibDepth = ...

    CSL_RAC_FE_setInputBufferDepth (hRac, ibDepth);

    ...

    
=============================================================================

void CSL_RAC_FE_setMaxCyclesPerIteration ( CSL_RAC_Handle  hRac,
Uint16  maxCyclesNb 
)

=============================================================================
CSL_RAC_FE_setMaxCyclesPerIteration

Description This function configures the Front End Max Cycles watch-dog.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC to configure.
maxCyclesNb - Half-word with the value to set in the register.

Return Value None.

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
This operation modifies the RAC_FE_MAX register with the maxCyclesNb value. The Front End watch-dog is configured.

Writes
RAC2_CFG_FE_WCFG_FE_WD_CFG

Example

    Uint16  maxCyclesNb = 2;

    ...

    CSL_RAC_FE_setMaxCyclesPerIteration (hRac, maxCyclesNb);

    ...
    
=============================================================================

void CSL_RAC_FE_setTimestamp ( CSL_RAC_Handle  hRac,
CSL_RAC_FE_Timestamp_req timestamp 
)

=============================================================================
CSL_RAC_FE_setTimestamp

Description This function configures the Front End timestamp register.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC to configure.
timestamp - structure with timestamp parameters.

Return Value None.

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
This operation modifies the RAC_FE_TIME register with the timestamp parameters. This function can be used for a non-periodic usage of the RAC. The Front End is ready to receive antenna samples.

Writes
RAC2_DATA_FE_TIME_CHIP, RAC2_DATA_FE_TIME_SLOT, RAC2_DATA_FE_TIME_FRAME

Example

    CSL_RAC_FE_Timestamp_req    timeStamp;

    timeStamp.chipId = xxx;
    timeStamp.frameId = xxx;
    timeStamp.slotId = xxx;

    CSL_RAC_FE_setTimestamp (hRac, &timeStamp);

    ...

    
=============================================================================

void CSL_RAC_FE_softwareReset ( CSL_RAC_Handle  hRac  ) 

=============================================================================
CSL_RAC_FE_softwareReset

Description This function resets the whole RAC IP.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC to reset.

Return Value None.

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
This API resets the RAC IP. The Hardware takes as long as it needs to perform the reset on all state machines, queues and counters. During that time, the Software can poll the same register and reset flag bit remain equals to 1. When the reset process is finished, the hardware clears the reset flag bit to 0. The Software then knows that the reset process has been completed.

Writes
RAC2_CFG_FE_SW_RESET_SW_RESET=1

Example


    ...

    CSL_RAC_FE_softwareReset (hRac);

    
=============================================================================

void CSL_RAC_FE_startSoftwareIteration ( CSL_RAC_Handle  hRac  ) 

=============================================================================
CSL_RAC_FE_startSoftwareIteration

Description This function starts one iteration processing on each GCCP.

Arguments
hRac - RAC instance handle returned by successful CSL_RAC_open (). Indicates which RAC to trigger.

Return Value None.

Pre Condition
CSL_RAC_open () must be called to retrieve a valid handle before calling this API.

Post Condition
Software can call this API when it wants to bypass the hardware iteration start line. The hardware generates a pulse that bypasses the hardware input iteration start line and therefore triggers one iteration processing on each GCCP.

Writes
RAC2_CFG_FE_SW_ITE_START_ITE_START=1

Example


    ...

    CSL_RAC_FE_startSoftwareIteration (hRac);

    
=============================================================================


Copyright 2011, Texas Instruments Incorporated