Инструменты пользователя

Инструменты сайта


uhf_tx_subsys

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

uhf_tx_subsys [2018/04/10 18:10]
eliseev
uhf_tx_subsys [2020/03/25 16:28]
Строка 1: Строка 1:
-==== УКВ радиоканал ==== 
-УКВ радиоканал служит для передачи телеметрии с борта спутника на Землю. Количество телеметрической информации с аппарата,​ как правило,​ значительно ниже, чем поток данных с полезной нагрузки,​ ради которой данный спутник был запущен в космос. С другой стороны,​ при неполадках на борту и при возможной потере аппаратом ориентации данный канал связи остается доступным,​ для получения критически важной информации о состоянии бортовых служебных систем и восстановления работоспособности спутника. При этом низкоскоростной канал связи потребляет малое [[power_subsys|количество энергии]] по сравнению с [[hf_tx_subsys|ВЧ радиоканалом]]. 
  
-В составе набора конструктора ОрбиКрафт УКВ-радиоканал реализован в виде двух модулей:​ бортового модуля УКВ-передатчика и наземного модуля УКВ-приемника. Массив данных,​ передаваемых с борта на Землю, представляет из себя байтовый массив произвольной длины и состава,​ который можно передать на Землю, с указанием его длины. На Земле полученные сообщения во время сеанса связи отображаются в реальном времени в интерфейсе ПО ЦУП "​как есть",​ так что выгоднее всего передавать телеметрию в текстовом виде. 
- 
-{{ укв_канал.png?​direct&​500 | УКВ канал}} 
- 
-==== УКВ-передатчик ==== 
-Виртуальное [[power_subsys|потребление]] - 210мА 
- 
-УКВ передатчик космического аппарата - чаще всего работает на частоте 145 или 436 МГц и обеспечивает небольшую скорость передачи данных,​ с всенаправленной или близкой к всенаправленной бортовой антенной. ​ 
- 
-УКВ передатчик в конструкторе ОрбиКрафт имеет номер "​2"​ (указан на корпусе). 
- 
-Передача данных на Землю осуществляется с помощью функции:​ \\  
- 
-  int32_t transceiver_send(uint16_t tx_num,​uint16_t rx_num,​const uint8_t *data,​uint16_t len);  
- 
- 
-==== УКВ-приемник ==== 
- 
-УКВ-приемник из состава конструктора имитирует работу радиоприемной части наземной станции приема телеметрической информации по низкоскоростному каналу. Во время экспериментов со "​спутником"​ аналогичные приемники будут смонтированы непосредственно на поверхности "​Земли"​ - [[sim_earth|глобусе]]. Однако для предварительной отработки работы со спутником в комплекте также поставляется данный УКВ-приемник телеметрии. ​ 
- 
-Сам приемник работает совместно с ПО ЦУП. При передаче данных телеметрии [[uhf_tx_subsys|бортовым радиоканалом]] и подключенном УКВ-приемнике в наземной сети, эти данные будут автоматически приниматься наземным радиоканалом и отображаться в текстовом поле в левой части пользовательского интерфейса ПО ЦУП. 
- 
-УКВ приемник в конструкторе ОрбиКрафт имеет номер "​1"​ (указан на корпусе). 
- 
-==== Код для проверки системы ==== 
- 
-**Код проверки системы телеметрии на языке C** 
- 
-<file c UHF_Test_C.c>​ 
- #include "​libschsat.h"​ 
- /* 
- ** Lab 8: UHF transceiver demo. 
- */ 
- void control(void) 
- {  
- const uint16_t tx_num = 2; 
- const uint16_t rx_num = 1; 
- const char hello[] = "​hello,​ world!";​ 
- printf("​Enable transceiver #​%d\n",​ tx_num); 
- transceiver_turn_on(tx_num);​ 
- Sleep(1); 
- bus_setup();​ 
- printf("​Send data from #%d to #​%d\n",​ tx_num, rx_num); 
- if (LSS_OK != transceiver_send(tx_num,​ rx_num, (uint8_t *) hello, sizeof(hello))) 
- puts("​Fail!"​);​ 
- printf("​Disable transceiver #​%d\n",​ tx_num); 
- transceiver_turn_off(tx_num);​ 
- return; 
- } 
-</​file>​ 
- 
-**Код проверки системы телеметрии на языке Python** 
- 
-<file python UHF_Test_Py.py>​ 
-def control(): # Основная функция программы,​ в которой нужно вызывать остальные функции 
- 
- #​Прием и передача обычно обозначаются как tx и rx от английских слов transmit ​ и receive 
- # То есть в данной программе tx - передающий УКВ - приемопередатчик,​ rx - принимающий УКВ - приемопередатчик 
- rx_num = 1 # Номер принимающего УКВ-приемопередатчика 
- tx_num = 2 # Номер передающешл УКВ-приемопередатчика 
-  
- data = "hello world" #​Сообщение для передачи 
-  
- print "​Enable transceiver №", tx_num # Активируем передатчик. Приемник же находится на приемной станции и не контролируется нашей программой 
- transceiver_turn_on(tx_num) 
- sleep(1) 
-  
- bus_setup() ​ #​Готовим шину к передаче данных 
- print "Send data from transceiver №", tx_num, " to transceiver №", ​ rx_num 
-  
- error = transceiver_send(tx_num,​ rx_num, data) 
-  
- if not error: 
- print "data has been transmitted"​ 
- elif error == 1: # если датчик вернул сообщение об ошибке 1 
- print "Fail because of access error, check the connection" ​ 
- elif error == 2: # если датчик вернул сообщение об ошибке 2 
- print "Fail because of interface error, check your code" 
-  
-  
- print "​Disable transceiver №", tx_num # Выключаем передатчик 
- transceiver_turn_off(tx_num) 
-</​file>​ 
uhf_tx_subsys.txt · Последние изменения: 2020/03/25 16:28 (внешнее изменение)

Инструменты страницы