When operating with more than one band, the program flow for startup, adding, and removing channels must be altered to account for the additional bands.
As shown in the figure, the process for starting the DFE PRACH core in multiband mode follows a similar flow to Figure 1, but with three notable changes.
- Rather than making an API call to
XDfePrach_XDfePrach_AddCCtoCCCfg
, the software must now make a call toXDfePrach_XDfePrach_AddCCtoCCCfgMB
. This function allows the band which is being loaded to be specified as a parameter. This allows the CC sequence for each band to be separately specified. - When calling
XDfePrach_XDfePrach_AddCCtoCCCfgMB
, it must be called for each CC in each band to add all of the active CCs. - There is now a Frame Init Trigger for each band. These triggers are independent of each other and are used to specify the frame boundaries for each separate band.
The new configuration will be loaded when the RACH update trigger is seen. Each band's configuration will then be adopted when that band’s Frame Init trigger is seen. The frame boundaries for different bands do not have to align in time.
When adding or removing a CC or RC, similar adjustments are required.
In the case where a new CC or RC is added, the process is the same as Figure 1, except the call to
XDfePrach_XDfePrach_AddCCtoCCCfg
is again replaced by a call to
XDfePrach_XDfePrach_AddCCtoCCCfgMB
. As above, the new CCs must be
added for each band. By calling XDfePrach_GetCurrentCCCfg
to get the
existing CC configuration, the CCs for each band are preserved.
As in the activate case, the RACH update trigger is applied to the whole core to load the updated configuration and the Frame Init triggers are applied independently to each band to set when the updated configuration is adopted.
Removal is similar to the single band case, except the API call to
XDfePrach_RemoveCCtfromCCCfg
is replaced by
XDfePrach_RemoveCCtfromCCCfgMB
to specify the band from which the
CC is to be removed. This must be called for each CC in each band.