You are on page 1of 9

1. BCFM Main Module 1.1. bc_before_spawn 1.2. bc_after_spawn 1.3.

bc_main
bc_main
Set Default IP addresses and management udp port number of TRX /RTCs(if applicable) in shared DB. Create a thread for software download through ftp . Mark the EM connection as FALSE in share DB. Read the reset reason and if bcf reset send an reset complete indication to objm. Get and store the system box LMP address from FTM. Start a timer to initiate periodic checking of units for voltage output. Invoke API to initialize the software download state to STATE_START_DL. Initialize trxm loop test info . Invoke BCFM state machinefor: -sending LED changed status -changing state in shared db -sending state information to EM -sending Auto-detection start request to AUTOD

start main loop Call API to receive msg Call DB API to LOCK the DB read last reset reason from file
if ( reset_reason == RESET _REASON _UNKNOW N) Yes

Trc khi bt u vng lp chnh : n ghi phin bn SW v l do thit lp li BCF ti BLACKBOX. N gi chc nng som_write_sw_version_to_blackbox ghi phin bn phn mm ti BLACKBOX. My trng thi BCFM c kch hot mt ln gi thng ip yu cu AutoDetection Start ti AUTOD functionl module (HWMGT task). Sau : main loop c bt u nhn thng ip t cc task khc trong hng i thng ip BC task. Mi khi nhn c thng ip, u tin module ny s kha DB bng cch s dng cc API c cung cp bi SHARED DB functional module.

Call DB API to LOCK the DB Call BCFM interfacing module Call BCFM State Machine Module

Cc interface module sau s c kch hot gi cc thng ip nhn c ti cc module tng ng (cc b x l thng ip) trong task BC. Cc b x l thng ip s ln lt thit lp mt s kin (event) thch hp kch hot my trng thi BCFM cho cc x l tip theo. Sau khi x l thng ip bc_main s m kha DB v s tip tc tr li vng lp.

Send State change messsage to EM if needed Call DB API to UNLOCK the DB

2. BCFM Iterfacing Module


Main Message Handler

Message from TRS SW Message from TESTM


CALL TESTM message Handler ( BCFM)

Message from
LAPD / IUA-SCTP
CALL L2 message Handler ( CLIM)

Message from LLC


CALL LLC message Handler ( TRXM)

FTM
Call SWDL Message Handler

2K
CALL EM message Handler ( CLIM)

Message from Q1 MGT


CALL Q1 MGT message Handler ( BCFM)

Message from AH
CALL AH message Handler ( BCFM)

Message from HWMGT


CALL HWMGT message Handler ( BCFM)

Message from RTCM


CALL RTCM message Handler ( BCFM)

Message from BTSRV


CALL BTSRV message Handler ( BCFM)

Message from COMMISS


CALL COMMISS message Handler ( BCFM)

Timer messages

Messages from RP3M


CALL RP M 3 message Handlerr ( BCFM)

Messages from Res Mgr


CALL Res Mgr message Handlerr ( BCFM)

CALL Timer message Handler ( BCFM)

3. BCFM State Machine Module


BCFM top level STATE MACHINE
Initialisation Supervisory Configuring State Machine (CONFM) Configuring

Initialisation state machine

Supervisory State Machine

Module ny c mt my trng thi BCFM chnh (BCFM main state machine) v mt my trng thi khi to ( Initialisation state machine). 3.1 BCFM main state machine
BC_CONTINUE

BC_CONTINUE BC_COMPLETED BC_COMPLETED

BC_CONTINUE

STATE_CONFI GURING
Start

STATE_INITIA LIATION
unexpected event unexpected event

STATE_SUPE RVISIORY

unexpected event

ANY_STATE

3.1. 1 Initialisation state machine State Event Action bc_bcfm_initsm_ha ndle_start_autod () Describe actions Send BC_HWMGT_ACTION_REQ message(bc_hwmgt_send_action_req(,)) : common_msg_hdr: msg_id,ver_id,
msg_len.

STATE_START_AUTOD

Action type: SOM_BC_HWMGT_LED_REQ Data: action_data - Write BCF operation state as AUTODETECT in BC DB - Start system box autodetection: Send SOM_BC_HWMGT_AUTOD_START_REQ message. Action type:
SOM_BC_HWMGT_AUTOD_START_REQ

STATE_WAIT_FOR_AUTOD_CNF

E_AUTOD_CN F

bc_bcfm_initsm_ha ndle_autod_cnf ()

Call: bc_bcfm_wakeup_sync_api(), bc_bcfm_set_sysbox_type()

SOM_BC_HWMGT_AUTOD_START_REQ message. Action type:


SOM_BC_HWMGT_OSC_WARMUP_REQ

After system box autodetection completed: + Sends the BC_BTSRV_START_REQ message to BTSRV(bc_btsrv_send_start_req() ) : common_msg_hdr: msg_id,ver_id,
msg_len.

port_poll_bitmap. Send LLC_CONFIG_REQ message to

LLC Task for its configuration (bc_trxm_send_llc_cfg_req(void)) : common_msg_hdr: msg_id,ver_id,


msg_len.

local_node_config:

node_address,trx_udp_port,ip_addr ess max_retry_count, acknowledge_timeout, idle_timeout, max_queued_primitives, remote_node_count

STATE_WAIT_FOR_LLC_CFG_CNF STATE_WAIT_FOR_LLC_REPORT_CNF STATE_OMUSIG_SCANNING_STARTED STATE_WAIT_FOR_COMMISS_CNF STATE_WAIT_FOR_COMMISS_CNF STATE_WAIT_FOR_LAPD_EST_IND STATE_WAIT_FOR_LAPD_EST_IND STATE_WAIT_FOR_SWDL STATE_WAIT_FOR_SWDL STATE_WAIT_FOR_SWDL STATE_WAIT_FOR_SWDL

remote_node_addr_tbl[]: node_address,
ip_address, udp_port

Ch thch: 1. Cc loi ACTION yu cu HWMGT x l :


typedef enum { SOM_BC_HWMGT_AUTOD_START_REQ=1, SOM_BC_HWMGT_AUTOD_START_CNF, SOM_BC_HWMGT_OSC_STATUS_REQ, SOM_BC_HWMGT_OSC_STATUS_CNF, SOM_BC_HWMGT_CLOCK_SYNC_REQ, SOM_BC_HWMGT_CLOCK_SYNC_CNF, SOM_BC_HWMGT_LAPD_LINK_STATUS, SOM_BC_HWMGT_LED_REQ, SOM_BC_HWMGT_LED_CNF, SOM_BC_HWMGT_DEV_LED_STATUS_REQ, SOM_BC_HWMGT_EAC_OUTPUT_IND, SOM_BC_HWMGT_EAC_SUPERVISION, SOM_BC_HWMGT_RSSI_MONITORING, SOM_BC_HWMGT_RECONF_EAC_IND, SOM_BC_HWMGT_RSSI_RX_DIV_CHANGE, SOM_BC_HWMGT_OSC_WARMUP_REQ, SOM_BC_HWMGT_OSC_WARMUP_CNF, SOM_BC_HWMGT_RFM_START_SWDL, SOM_BC_HWMGT_SEND_N1_REPORT, SOM_BC_HWMGT_SEND_N1_REPORT_CNF, SOM_BC_HWMGT_RFM_FAN_VENDOR_IND, SOM_BC_HWMGT_RFM_ALIVE_STATUS_IND }som_bc_hwmgt_action_type_t; { E_AUTOD_CNF, E_LLC_CFG_CNF, E_LLC_REPORT_CNF, E_COMMISS_CNF, E_LAPD_EST_IND, E_LAPD_REL_IND, E_SWDL_PERS_FLASH_UPDATE_RES, }som_bc_hwmgt_action_type_t;

3.1. .2 Configuring state machine 3.1. .3 Supervisory state machine 4. fdfdfd

You might also like