📄 readme.txt
字号:
//*-----------------------------------------------------------------------------
//* Function Name : Set_TX_RX_RF2531
//* Object : set TX_RF/RX_RF PLL frequency(vco embeded,2531),unit:MHZ
//* autor : zhu dong po
//* Input Parameters : channel == 1 (TX_RF),channel == 3 (RX_RF), freq:frequency(mhz)
//* Output Parameters : none
//*-----------------------------------------------------------------------------
//*-----------------------------------------------------------------------------
//* Function Name : odu_spi_init
//* Object : initiate to set tx&rx frequency,Software entry point
//* autor : zhu dong po
//* Input Parameters : none.
//* Output Parameters : none.
//*-----------------------------------------------------------------------------
//*--------------------------------------------------------------------------------------
//* Function Name : Set_TX_RX_RF
//* Object : the entrance of setting the TX/RX RF frequency(hettie or 2531)
//* autor : zhudongpo
//* Input Parameters : channel == 1 (TX_RF),channel == 3 (RX_RF);freq:这里频率单位为MHz
//* Output Parameters : none.
//*--------------------------------------------------------------------------------------
//*--------------------------------------------------------------------------------------
//* Function Name : dac_write
//* Object : write DAC with SPI timing which was modulated by io,
//* to output rssi voltage
//* author : wang ping
//* Input Parameters : v(0<=v<=255)
//* Output Parameters : none.
//*--------------------------------------------------------------------------------------
/******************************************************************************/
/******************************************************************************/
functions in lcodu_main.c
//*-----------------------------------------------------------------------------
//* Function Name : odu_data_init
//* Object : initiate the parameters and status of odu
//* autor : wang ping
//* Input Parameters : none.
//* Output Parameters : none.
//*-----------------------------------------------------------------------------
//*-----------------------------------------------------------------------------
//* Function Name : adc_find_item
//* Object : find the value of power(dbm) with the rssi_power table
//* according to the rssi-ADC-result. The first item in the
//* table corresponding to the smallest possible power.
//* autor : wang ping
//* Input Parameters : adcresult:0--1023.
//* Output Parameters : none.
//*-----------------------------------------------------------------------------
//*-----------------------------------------------------------------------------
//* Function Name : adc_status_collect
//* Object : check the changes of the 5 ADC channels' result,and refresh
//* the corresponding ADC result. And make it sure if any
//* alarms occur, and manage them. Then control AT1B.
//* At the same time,if a specifically time passed, report
//* the corresponding parameters to the IDU or Monitor.
//* autor : wang ping
//* Input Parameters : none.
//* Output Parameters : none.
//*-----------------------------------------------------------------------------
//*-----------------------------------------------------------------------------
//* Function Name : alarm_status_collect
//* Object : check the alarm input port and new-alarm-occur flag(alarm_flag).
//* Clear the corresponding bits of v_odu_alarm[],if any
//* alarms disappear. Set the corresponding bits of v_odu_alarm[],
//* if any alarms occur,and report it immediately.
//* autor : wang ping
//* Input Parameters : none
//* Output Parameters : none.
//*-----------------------------------------------------------------------------
//*-----------------------------------------------------------------------------
//* Function Name : alarm_status_collect
//* Object : including adc_status_collect,alarm_status_collect,
//* If TX RF is muted,then change the v_tx_power to -600,
//* means tx power is -60dbm.
//* autor : wang ping
//* Input Parameters : none
//* Output Parameters : none.
//*-----------------------------------------------------------------------------
//*-----------------------------------------------------------------------------
//* Function Name : main
//* Object : the main function.The entrance of the software.
//* autor : wang ping
//* Input Parameters : none
//* Output Parameters : none.
//*-----------------------------------------------------------------------------
/******************************************************************************/
/******************************************************************************/
The global variables:
//attenuation
EXTERN unsigned char v_att0;
EXTERN unsigned char v_att1;
/*v_att1修正值和各部分值*/
EXTERN signed char v_at1b;
EXTERN unsigned int att_step_delay;//the delay time of attenuation step
EXTERN unsigned int syn_select;//0:vco-2531,1:hettie
EXTERN unsigned char v_odu_alarm[2];//odu alarm message-------alarm message
//EXTERN unsigned char v_alarm_sim[2]; //command alarm message datafield;
EXTERN signed int v_tx_power;//sending power------messurement message:1dbm/bit;
EXTERN unsigned int v_tx_target;//tx power taget value(voltage)
EXTERN signed int v_det_out;//sending power------messurement message:1dbm/bit;
//EXTERN signed int v_rx_power;//reveiving power:1dbm/bit;
EXTERN signed int v_temp_value;//temperature -----messurement message:1C/bit
EXTERN unsigned char v_temp_point; //det_out temperature index
EXTERN __no_init signed int v_temp_max @0x11c500;//the maxinum of temperature
EXTERN unsigned int v_temp_value_counter_forsend;//To memory the RTT time when
//report temperature and some other parameters.
EXTERN unsigned int v_config_counter_forsend; //To memory the RTT time when
//report configure parameters.
EXTERN unsigned int v_alarm_counter_forsend; //To memory the RTT time when
//report alarm status.
EXTERN unsigned int v_att_counter_forsend; //To memory the RTT time when
//report attenuation and some other parameters.
EXTERN unsigned int v_telemetry_counter; //To memory the RTT time when
//received a valid frame from telemetry
EXTERN signed int v_rssi0;//v_rssi0由adc_rssi查表得到
EXTERN signed int v_rssi; //v_rssi=v_rssi0+v_rssi_deltar_t+v_e_rssi_deltar; 1dbm/bit
EXTERN signed int v_rssi_deltar_t;//v_e_rssi_deltar_t[]中的一个
EXTERN float v_vrssi;//v_vrssi=0.1+(v_rssi+90)*2.8/(-20+90)
EXTERN unsigned char v_dac_spi;//(v_vrssi/3.3)*255
EXTERN unsigned int dac_vrssi;
/*control parameters*/
EXTERN unsigned char v_txmute;//switch on/off the transmitter:0=transmitter not muted,1=transmitter muted
EXTERN unsigned char v_txmute_auto;//
EXTERN unsigned char v_rssi_deltar_t_auto;
EXTERN unsigned char v_at1b_auto;
EXTERN unsigned int v_tx_frequency;// the tx frequency of the odu(khz)
EXTERN unsigned int v_rx_frequency;// the rx frequency of the odu(khz)
EXTERN float v_tx_f_lo;//
EXTERN float v_rx_f_lo;//
/*usart parameters*/
EXTERN unsigned char us_port;//0:select us0,1:select us1
EXTERN volatile unsigned char us0_recv_dma[MAX_RECV_BUF];//接收数据DMA缓冲区
EXTERN volatile unsigned char us0_send_dma[MAX_SEND_BUF];//发送数据DMA缓冲区
EXTERN volatile unsigned char us1_recv_dma[MAX_RECV_BUF];//接收数据DMA缓冲区
EXTERN volatile unsigned char us1_send_dma[MAX_SEND_BUF];//发送数据DMA缓冲区
/*adc parameters*/
EXTERN volatile unsigned char adc_dma[MAX_ADC_BUF];
EXTERN unsigned int adc_rd_pt;
EXTERN unsigned int adc_temp;
EXTERN unsigned int adc_rssi_1;
EXTERN unsigned int adc_rssi_2;
EXTERN unsigned int adc_rssi; //adc_rssi=(adc_rssi_1+adc_rssi_2)/2;
EXTERN unsigned int adc_det_in;
EXTERN unsigned int adc_det_out;
EXTERN unsigned int adc_result_buf0,adc_result_buf1,adc_result_buf2,adc_result_buf3,adc_result_buf4; //用于记录当前转换结果
EXTERN unsigned char v_c_m_tx;
EXTERN unsigned char v_c_m_rx; //发倍频系数、收倍频系数
EXTERN unsigned int v_c_tx_if;
EXTERN unsigned int v_c_rx_if; //发信中频频率、收信中频频率
EXTERN signed char v_at1d ; //调制修正
EXTERN signed char v_sysmax_txpower;//QPSK-4E1-7MHZ的可用功率值。
EXTERN signed char v_gate_a;
EXTERN signed char v_gate_b;
EXTERN signed char v_gate_c;
EXTERN signed char v_txpower_max;//maximum transmitter output(1dbm/bit)
//EXTERN signed int v_txpower_min ;//minimum transmitter output(1dbm/bit),typical value -4dbm
EXTERN unsigned char v_en_telemetry_alarm; //enable telemetry
EXTERN unsigned char v_tm_telemetry_alarm; //telemetry alarm control time
EXTERN __no_init signed char v_at1a @ 0x118000; //常温修正
EXTERN __no_init signed char v_at1c @ 0x118001; //系统修正
EXTERN __no_init signed char v_e_at1b[4][2] @ 0x118002; //温度修正
EXTERN __no_init unsigned char v_e_rssi[70][2] @ 0x11800a; //Db对应
EXTERN __no_init signed char v_e_rssi_deltar_t[4][2] @ 0x118096; //温度修正
EXTERN __no_init signed char v_e_rssi_deltar @ 0x11809e; //人工修正
EXTERN __no_init unsigned int v_tx_freqmin @ 0x118108;//minimum tx frequency
EXTERN __no_init unsigned int v_tx_freqmax @ 0x11810c;//maximum tx frequency
EXTERN __no_init unsigned int v_rx_freqmin @ 0x118110;//minimum rx frequency
EXTERN __no_init unsigned int v_rx_freqmax @ 0x118114;//maximum rx frequency
EXTERN __no_init unsigned int v_c_step @ 0x118118;//收、发信频率步长
/*NVM datas*/
EXTERN __no_init signed int v_ob1; // current ob1
EXTERN __no_init signed int v_ob1_30; // current ob1-30
EXTERN __no_init signed int v_e_ob1[4][3] @ 0x119000;
EXTERN __no_init unsigned int v_e_out[4][62] @ 0x119100;
EXTERN __no_init unsigned int v_e_att0 @ 0x1181f0;
EXTERN __no_init unsigned int config_b[10] @ 0x11c000;//config 内容B0到B9
EXTERN __no_init unsigned char diplexer_suffix @ 0x11c100;//双工器选项
EXTERN __no_init unsigned int diplexer_tx_loss @ 0x11c104;//双工器发差损
EXTERN __no_init unsigned int diplexer_rx_loss @ 0x11c108;//双工器收差损
EXTERN __no_init unsigned char rfu_boot_version[4] @ 0x11c200;
EXTERN __no_init unsigned char rfu_sw_version[4] @ 0x11c300;
EXTERN __no_init unsigned char rfu_asm_date[3] @ 0x118200;
EXTERN __no_init unsigned char odu_part_num[5] @ 0x118210;
EXTERN __no_init unsigned char odu_serial_num[3] @ 0x118218;
EXTERN __no_init unsigned char rfu_part_num[5] @ 0x118220;
EXTERN __no_init unsigned char rfu_serial_num[3] @ 0x118228;
EXTERN __no_init unsigned char iftx_part_num[5] @ 0x118230;
EXTERN __no_init unsigned char iftx_serial_num[3] @ 0x118238;
EXTERN __no_init unsigned char ifrx_part_num[5] @ 0x118240;
EXTERN __no_init unsigned char ifrx_serial_num[3] @ 0x118248;
EXTERN __no_init unsigned char syntx_part_num[5] @ 0x118250;
EXTERN __no_init unsigned char syntx_serial_num[3] @ 0x118258;
EXTERN __no_init unsigned char synrx_part_num[5] @ 0x118260;
EXTERN __no_init unsigned char synrx_serial_num[3] @ 0x118268;
EXTERN __no_init unsigned char dcc_part_num[5] @ 0x118270;
EXTERN __no_init unsigned char dcc_serial_num[3] @ 0x118278;
EXTERN __no_init unsigned char bb_part_num[5] @ 0x118280;
EXTERN __no_init unsigned char bb_serial_num[3] @ 0x118288;
EXTERN __no_init unsigned char diplexer_part_num[5] @ 0x118290;
EXTERN __no_init unsigned char diplexer_serial_num[3] @ 0x118298;
EXTERN __no_init unsigned char trxtx_part_num[5] @ 0x1182a0;
EXTERN __no_init unsigned char trxtx_serial_num[3] @ 0x1182a8;
EXTERN __no_init unsigned char trxrx_part_num[5] @ 0x1182b0;
EXTERN __no_init unsigned char trxrx_serial_num[3] @ 0x1182b8;
//EXTERN unsigned char flag_sw_change; //0:no change,1:change a spo sw message if required
EXTERN union longtobyte ltob;
/*interrupt flags*/
EXTERN unsigned char alarm_flag;
EXTERN unsigned char timer0_flag;
/******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -