protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 98209 dalex From: dalex@jupiter.ss.ncu.edu.tw Mon, 9 Feb 2009 22:52:46 +0800 Subject: Protocol modified To: "TERESHKOV Alexander" <tereshkov@etelecom.spb.ru> CC: Tse-Liang Yeh <tlyeh@cc.ncu.edu.tw> http://www.abbyyonline.com/translate.aspx?LingvoAction=translate&Ln=1&words= Александр Alexander, Вот исправленная версия Протокола (см. Аттачмент). this revised version transaction (.. attachment) По протоколу остались следующие вопросы (помечены в тексте красным знаком ???). on transaction remain/stay/get following/next question/issue (mark/note в text/word red/beautiful know???) 1. Что значит "Бит четности не используется"? Его нет в Кодовой посылке или его значение всегда 0? На рисунке формата кодовой посылки бит четности присутствует, и т.о. длина кодовой посылки не 10 бит, а 1+8+1+1=11 бит. Разберитесь с этим, пожалуйста. 2. Информационный кадр занимает больше, чем 176 байт, а именно: 3 байта заголовка, 1 байт комманды, 1 байт длины данных, данных длиной максимум 176 байт и 1 байт контрольной суммы. Это так? 3. Ех просит посылать команду SONOFF SWICH_ON всегда в расширенном варианте (т.е. включая и время и дату) с периодом от 1 мин до 1 часа, на усмотрение разработчиков БИ. Это можно обеспесить? 4. Ех просит посылать команду DAUL каждую секунду вместо пачки из 3-х команд с периодом в 7 секунд. Это реально? Ех request send/dispatch command DAUL every/each second instead pack/batch of/out_of 3-х command с period в 7 second. That/whether materially/realizable? 5. Не было описания функционального тестирования БЦУ на орбите. Вставили. without nearly description/account functional?ного testing БЦУ on/in/at orbit. Вставили?put_in/introduce/insert 6. Обработка ошибок была описана не полно. elaborate/refine mistake/fault happen as_described not stop/never_mind/quit 7. Процедура вычисления контрольной суммы описана неверно. 8. Временные характеристики в календарных данных были указаны не верно. 9. В таблицах путаница между байтами и битами. 10. Не все команды управления были описаны. С уважением, Алексе nspotr-BI_BCUprotocol200901262dale.doc -> _tly.doc -> protocol.doc -> nspotr-BI_BCUprotocol20090209dalex.doc protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc2 98209 dalex ПРОТОКОЛ информационного обмена блока БЦУ и блока БИ МКА «Университетский-Татьяна-2» (на 15 листах) (на 20 листах с английским переводом) PROTOCOL Of information exchange between BCU and BI Microsat “University’s Tatiana-2” (20 pages with English translation) English Revision: Tse-Liang Yeh BCU Engineering Генеральный директор НП «Межуниверситетская научнообразовательная программа космических исследований» _______________ А.Н.Крюков , 09 February, 2009 Технический руководитель научнообразовательного комплекса МКА «Университетский-Татьяна-2» _________________ В.М. Шахпаронов «___» ____________ 2008 г. «___» ____________ 2008 г. Научный руководитель Межуниверситетской научнообразовательной программы космических исследований __________________ А.Е. Терешков «___» ____________ 2008 г. Ведущий разработчик блока БИ __________________ Н.Н. Веденькин «___» ____________ 2008 г. protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc3 98209 dalex 1. Настоящим протоколом устанавливаются: назначение канала информационного обмена между блоком БЦУ и блоком БИ (далее – информационный канал БЦУ-БИ); параметры данного канала; порядок выполнения обмена информацией по данному каналу на борту МКА «Университетский-Татьяна-2» (далее – МКА). 1. The present protocol declares: - purpose of the information exchange line between BCU and BI (hereafter communication line BCU-BI) - parameters of that line - consequence of information exchange execution in that line onboard micro satellite “University’s Tatiana-2” Примечание - в настоящем протоколе применены следующие сокращения: БИ – блок информации НИИЯФ имени Д.В. Скобельцына МГУ имени М.В. Ломоносова; БЦУ – Блок Центрального Университета; МКА – малый космический аппарат; ПН – полезная нагрузка; ПСИ – передатчик скоростной информации; (???)Кодовая посылка – состоит из 11 битов (1 старт бит, 1 байт информационный, 1 бит четности со значением 0, 1 стоп бит). (???)Информационный кадр – состоит из 3 байта заголовка, 1 байт комманды, 1 байт длины данных, данных длиной максимум 176 байт и 1 байт контрольной суммы. КС – контрольная сумма. Note: there are following abbreviations in the Protocol: BI – block of information designed by SINP MSU BCU – Block of Central University; MKA – micro satellite; PN – payload; PCI – transmitter of fast information; protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc4 98209 dalex (???)Communication (code) word – consists of 11 bits (1 start bit, 1 information byte, 1 parity bit of value 0, 1 stop bit). (???)Communication packet – consists of 3 header bytes, 1 command byte, 1 data length byte, a data string with maximum of 176 bytes, and 1 check sum byte. KC – Check sum. 2. Информационный канал БЦУ-БИ предназначен для передачи целевой информации блока БЦУ на Землю через ПСИ МКА в соответствии со следующим алгоритмом: 1) целевая информация блока БЦУ передается по данному каналу в блок БИ; 2) переданная в блок БИ целевая информация блока БЦУ накапливается в блоке БИ; 3) накопленная в блоке БИ целевая информация блока БЦУ передается в заданные моменты времени в ПСИ МКА по каналу связи между блоком БИ и ПСИ МКА. 2. Communication line BCU-BI means for transmission of data from BCU to the Earth through PCI MKA in according to the following algorithm: 1) trough the communication line data are transmitted from BCU to BI 2) the transmitted data are accumulated in BI; 3) the accumulated data are transmitted from BI to PCI MKA at given time moments. 3. Информационный канал БЦУ-БИ имеет следующие параметры: протокол обмена RS-422, full duplex вид кода в канале асинхронный последовательный код; способ передачи информации пакетами кодовых посылок; скорость передачи информации в канале, бит/с 115200±1%; количество сигналов в канале, шт. 2 пары дифференциальной сигнальной линии; физические уровни сигналов в канале соответствуют уровням интерфейса RS-422. 3. Communication line BCU-BI is characterized by the following parameters: exchange protocol RS-422, full duplex kind of code asynchronous signal interface; method of data transmission packages of codes; data rate in the line, bit/s number of signals in the line 115200±1%; 2 pairs of differential signal lines; protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc5 98209 dalex physical levels of signals –according to the levels of RS-422 Примечания (???)Бит контроля четности не проверяется и всегда имеет значение 0 Формат кодовой посылки приведен на рисунке. БЦУ использует только 1 стоповый бит (???)1 start bit, 8 data bits, 1 parity bit with ' none ' value 0, 1 stop bit Comments (???)parity bit is not checked, it is always 0 value the timing format is presented in picture. BCU uses only 1 stop bit. 4. В информационном канале БЦУ-БИ имеются следующие сигналы: сигнал асинхронного последовательного кода, выдаваемый блоком БИ и принимаемый блоком БЦУ (далее – сигнал TXD), с помощью которого кодовые посылки передаются из блока БИ в блок БЦУ; сигнал асинхронного последовательного кода, выдаваемый блоком БЦУ и принимаемый блоком БИ (далее – сигнал RXD), с помощью которого кодовые посылки передаются из блока БЦУ в блок БИ. 4. There are following signals in the communication line BCU-BI: TXD signal at BI side - asynchronous signal interface code, generated by BI and received by BCU. The signal is used for transmission of command code packets from BI to BCU; RXD signal at BI side - asynchronous signal interface code, submitted by BCU to BI. The signal is used for transmission of data response packets from BCU to BI. 5. Схема электрическая принципиальная связей блока БЦУ и блока БИ по информационному каналу БЦУ-БИ приведена на рисунке в РЭ БЦУ. 5. Electric circuit chain of connections between BCU and BI in the communication line BCU-BI is shown in Figure presented in BCU User Manual. protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc6 98209 dalex 6. Соединения между блоком БИ и блоком БЦУ по цепям связей информационного канала БЦУ-БИ выполняются витыми парами в общем внешнем экране, подключенном к корпусам обоих блоков. 6. Connections in the communication line BCU-BI are performed by twisted differential pairs in common shielding screen, which is electrically connected to the metal cases of both BCU and BI. 7. Обмен информацией по информационному каналу БЦУ-БИ осуществляется только в том случае, если включен коммутатор первичного электропитания блока БЦУ в блоке БИ. 7. Information exchange in the communication line BCU-BI is operating only in case, when the BCU primary electric power switcher is switched on by the BI 8. Обмен информацией по информационному каналу БЦУ-БИ осуществляется по принципу «запрос-ответ» в соответствии со нижеприведенным алгоритмом. При этом учитывается, что отклик БЦУ на команды БИ не превышает 100 мсек, из которых 75 мсек тратятся на передачу, а остальные 25 мсек – резерв. Отклик БЦУ на включение питания – не более 3 сек. Включение питания БЦУ 8.1) БИ приведен в готовность получать отклик от БЦУ по каналу RS422 8.2) подача питания; и исполнение команды 'EPONOFF EP_On' с записью даты и времени события 8.3) пауза (3 секунды) в течение который БЦУ должно ответить командой 'CALREQ', которую БИ должен принять. Замечание: перед командой 'CALREQ' возможно спорадическое появление FF байта; 8.4) (???)После включения питания БЦУ, БИ посылает команду SONOFF Swith_ON в расширенном формате. После этого команда SONOFF Swith_ON посылается в расширенном формате постоянно с периодом от 1мин до 1 часа 1 раз после включения БЦУ, а также в 00ч. 00м. 00с. БИ посылает команду включения БЦУ Swith_ON в расширенном формате (с датой), далее команда SWICH_ON отправляется 1 раз в минуту в укороченном варианте (без времени); 8.5) пауза 1 секунда, в течение которой БЦУ должен откликнуться БИ; 8.6) (???)БИ посылает команду DAUL. Команда посылается каждую секунду. Команда посылается 3 раза с интервалом 200мс, период между посылками 7 секунд; 8.7) на команду DAUL БЦУ посылает одно их двух: либо а) информационный кадр размером 182 байта (1/3 страницы), в котором содержится информация со всех датчиков protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc7 98209 dalex БЦУ, либо б) пакет 'F5F5F53A003A', если страница данных во флэш-памяти БЦУ еще не заполнена и не готова к отправке. 8.6) и 8.7) постоянно повторяются до момента, когда питание БЦУ отключается, либо до очистки флэш-памяти БЦУ. После очистки памяти 8.6) и 8.7) должны быть возобновлены. Выключение питания БЦУ 8.8) по завершению работы с блоком БЦУ необходимо послать команду 'SONOFF Swith_OFF' без параметров времени и даты, время ожидания 1 секунда; 8.9) после подтверждения данной команды выдаётся команда POWER_OFF, время ожидания 1 секунда; 8.10) выключение питания и выполнение БИ команды 'EPONOFF EP_Off' с записью даты и момента времени отключения БЦУ. 8. Information exchange in the communication line BCU-BI is performed on the base of “requestresponse” principle. A nominal BCU operation is executed in according with the below procedures. Typically, BCU response time to BI commands should be no more than 100 ms from which 75 ms are spent for transmission and 25 ms are reserved. The response to Electric Power On takes longer, no more than 3 seconds. BCU Power On 8.1) BI gets ready to log BCU responses through RS422 8.2) switch on electric power to BCU; and log 'EPONOFF EP_On' action record with BI date and time as transmission data. 8.3) pause of 3 seconds whence BCU will respond with 'CALREQ' immediately after successful power on boot up within 3 seconds; BI should be ready to capture and log this response; Note: there could be a sporadic FF byte appears before 'CALREQ'. 8.4) (???)After switch on BCU, BI sends the ''SONOFF Swith_ON' command. Afterwards, the command ''SONOFF SWICH_ON' is sent once every 1 minute (max 1 hour); the ''SONOFF Swith_ON' command is sent in extended format including calendar date and time of BI 8.5) Pause of 1 seconds whence BCU would reply with an echo response; 8.6) (???)BI sends command DAUL once every 1 second. That command is sent 3 times with 200 ms interval. The time period between sending is 7 second; protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc8 98209 dalex 8.7) In response to the command DAUL, BCU sends either a) a communication packet of 182 bytes (with 176 bytes of data which is 1/3 of a data flash page, containing information about all sensors of BCU; or b) a communication packet 'F5F5F53A003A' if BCU has no data flash page filled up to be sent. 8.6) and 8.7) are repeated until either 'BCU switch off' or 'BCU Memory Cleaning'. In case of interruption by 'BCU Memory Cleaning', 8.6) and 8.7) should be resumed afterwards. BCU Switch Off 8.8) Finishing operation with BCU, a command 'SONOFF Swith_OFF' (without date and time parameters) should be sent. Waiting time for BCU response is no more than 1 second; 8.9) After 'SONOFF Swith_OFF', a 'POFF' command should be sent. Waiting time for BCU response is no more than 1 second; 8.10) Turn Electric Power to BCU off; and log 'EPONOFF EP_Off' action record with BI date and time as transmission data. 9. С Земли в БИ передается команда очистки Флэш-памяти (FMCLR), которую БИ транслирует в БЦУ. Команда исполняется, как представлено в Приложении 3. После этого БЦУ должно продолжить регулярную выдачу данных в непрерывном цикле 8.6) и 8.7), как показано выше. 9. If 'BCU Clean Memory' command is sent from the Earth to BI, and then BI executes the command sequences listed below 'BCU Clean Memory' in 'Appendix 3. Ground Commands To BI Regarding BCU Controls'. Afterwards, regular data sampling and down load should be continued like 8.6) and 8.7) above. 10. Тестирование оборудования БЦУ на орбите осуществляется с помощью процедуры 'BCU DTest'. БИ может тестировать только цифровую информацию. Функционирование оборудование может быть проверено только по данным, посланным на землю. 10.1) Убедитесь, что электропитание БЦУ выключено в течение не менее 3 секунд для полной разрядки конденсаторов. 10.2) БИ готово принимать отклик БЦУ по каналу RS422. protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc9 98209 dalex 10.3) Включить электропитание БЦУ и выполнить процедуру 'EPONOFF EP_On' по записи БИ даты и времени. 10.4) Ждать 3 сек, пока БЦУ откликнется командой 'CALREQ' непосредственно после успешного включения питания. БИ должен быть готов принять этот отклик. Замечание: перед командой 'CALREQ' возможно спорадическое появление FF байта; Появление строки байт F5F5F51B001Bh означает, что цифровая система БЦУ включилась правильно и тест прошел успешно. 10.5) Выключить электропитание БЦУ и выполнить процедуру 'EPONOFF EP_Off' по записи БИ даты и времени. Это завершает тест БЦУ. 10. In flight test on BCU 'BCU DTest': only digital function test can be automatically judged by BI. Sensor functions should be judged by analyzing data logs on the ground. 10.1) Make sure that electric power to BCU is turned off for at least 3 seconds. Must avoid electric power transient switching before full capacitor discharge. 10.2) BI gets ready to log BCU responses through RS422 10.3) Switch on electric power to BCU; and log 'EPONOFF EP_On' action record with BI date and time as transmission data. 10.4) Wait for 3 seconds whence BCU will respond with 'CALREQ' immediately after successful power on boot up within 3 seconds; BI should be ready to capture and log this response; Note: there could be a sporadic FF byte appears before 'CALREQ';) With the appearance of byte string F5F5F51B001Bh, the digital system of BCU has been turned on properly. 'BCU DTest' is successful. 10.5) Turn Electric Power to BCU off; and log 'EPONOFF EP_Off' action record with BI date and time as transmission data. This concludes the 'BCU DTest'. 11. Ошибочные ситуации в информационном канале БЦУ-БИ отрабатываются следующим образом: protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 10 98209 dalex После получения БИ заголовка кадра с БЦУ, если БЦУ обнаружит задержку в приеме БИ информационного кадра, тогда на БИ посылается отклик 'ERREP ERR_PacketTimeout'; Если БЦУ зарегистрировало неверную контрольную сумму в информационном пакете от БИ, тогда на БИ посылается отклик 'ERREP ERR_Checksum' БИ должно посылать коды ошибок вместе с остальными данными на землю, без какого-либо анализа. 11. Errors in the communication line BCU-BI are operated in the following manner: After the detection of a BI communication header, if BCU detects time out before a communication packet from BI can be finished, an 'ERREP ERR_PacketTimeout' response could be sent to BI; If BCU detects incorrect checksum in a communication packet received from BI, an 'ERREP ERR_Checksum' response could be sent to BI. BI does not need to process the contents of BCU responses. Just log 'as is' and send to ground for post processing through PCI of MKA. 12. Формат и структура информационного кадра БЦУ представлена в Приложении 1. 12. Format and structure of BCU information frame are described in Appendix 1. 13. Формат и структура команд управления БЦУ представлена в Приложении 2. 13. Format and structure of control commands for BCU are described in Appendix 2. 14. Таблица последовательности управления БЦУ с БИ. 14. Ground Commands To BI Regarding BCU Controls are described in Appendix 3. 14. Настоящий протокол может изменяться и дополняться по согласованию подписавших его сторон. 14. The present Protocol can be modified only after mutual approval of signing Parties. protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 11 98209 dalex Приложение 1. Формат и структура информационного кадра БЦУ. Appendix 1. Format and structure of BCU information frame Format of a DAUL Response Communication Packet with BCU Data № байта Название Значение Примечание # of Byte Name Meaning Comment 0-2 Заголовок Title F5F5F5h Заголовок БЦУ BCU header 3Аh DAUL Команда 3 Command Длина 4 Length В0h 176 байт (1/3 страницы) Данные с датчиков 5-180 КС 181 176 bytes (1/3 of a FLASH Data from sensors page) XXh Контрольная сумма Check sum Когда БЦУ имеет заполненную данными страницу флэш-памяти, БЦУ должно отвечать на команду БИ DAUL оправкой 1/3 страницы. Если страница не заполнена, отклик БЦУ будет 'F5F5F53A003A'. When BCU has any FLASH page filled up with data, BCU would respond to a BI DAUL command with 1/3 of a filled up FLASH page. When there is no more FLASH page filled up, BCU would respond to DAUL with no data 'F5F5F53A003A ' instead. Контрольная сумма (КС). Check Sum Пакет данных контрольной суммы длиной 1 байт. The data packet of KC has length of 1 byte КС получается как беззнаковое целое, вычисленное путём суммирования всех байтов в пакете данных кроме заголовка (F0F0F0 или F5F5F5), при чём, если значение контрольной суммы превышает 1 байт, то учитываются только один младший байт. The KC number is obtained as a unsigned integer sum of all bytes in the data packet, excluding title (F0F0F0 or F5F5F5). Note: when the KC exceeds 1 byte, only the one lower order byte is taken into account. protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 12 98209 dalex Данные с датчиков. Data from sensors Вся Флэш-память (4096кБ) делится на 8192 страницы, из которых 8154 страницы Sampling_DATA, а 38 страниц – System_DATA. Whole BCU flash memory of 4096 KBytes is divided into 8192 pages: 8154 pages for Sampling_DATA page plus 38 pages for System_DATA page. № стр. Название Значение Примечание # of page Name Meaning Comment 0-8153 Sampling_DATA 1 page occupies 528 bytes 8154-8192 System_DATA 1 page occupies 528 bytes При запросе данных из БЦУ командой DAUL происходит чтение 1/3 страницы, т.е. 176 байт. Формат одной страницы Sampling_DATA представлен ниже. When the data are requested on BCU by BI command DAUL, 1/3 page (i.e. 176 bytes) is read. The format of page Sampling_DATA is presented below. № байта Название Значение Примечание # of Byte Name Meaning Comment 0-2 Data_Header 0xFAFAFA Заголовок Title 30 байт х 17 3-512 Sampling_Data Segments 30 bytes per segments x 17 segments 513 Data_FOOTER0 0xAF 514-515 Data_FOOTER 0xAFAF 516-527 Unused 0х00 Currently Fixed (Reserved for Check Sum) 12 байт bytes Данные (Sampling_Data). Data (Sampling_Data Segment) Длина данных составляет 30 байт. Полный пакет составляет 510 байт (30 байт х 17). Data length is 30 bytes. Whole FLASH page can hold 17 segments 510 bytes (=30 bytes * 17) № байта Название Значение Примечание # of Byte Name Meaning Comment 0-3 RTC Calendar Data & Data Type 4-15 ETP_Data protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 13 98209 dalex 16-27 MRM_Data 28-29 Temperature_MRM_Data Thermal sensors Календарные данные (RTC Calendar Data & Data Type). Длина составляет 4 байта. Data length is 4 bytes № бита Название Значение Примечание # of bit Name Meaning Comment 0 – тип измеренных данных Тип данных 0 Data type 0х0 or 0х1 0 – type of measured data 1 – тип системных данных 1 – type of system data 1-4 Месяц, month 01 – 12 Десятичное значение digital 5-9 День, day 01 – 31 Десятичное значение digital 10-15 Минуты, minutes 00 – 59 Десятичное значение digital 16-20 Часы, hours 00 – 59 Десятичное значение digital 21-26 Секунды, seconds 00 – 59 Десятичное значение digital 0–9 Десятичное значение digital 0–1 Десятичное значение digital 27-30 100 мсек =0.1 секунды, 100 ms = 0.1 second 50 мсек = 0.05 сек 31 50 ms = 0.05 second Данные с ETP датчиков (ETP_Data). Data from ETP detector Длина составляет 12 байт. Data length is 12 bytes № Байта Название Значение Примечание # of Byte Name Meaning Comment 0-1 ETP-Out Phase I 2-3 ETP-VF Phase I 4-5 ETP-Out Phase II 6-7 ETP-VF Phase II 8-9 ETP-Out Phase III 10-11 ETP-VF Phase III VTEL VTEL VTEL protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 14 98209 dalex Данные с MRM датчиков (MRM_Data). Data from MRM detector Длина составляет 12 байт. Data length is 12 bytes № Байта Название Значение Примечание # of Byte Name Meaning Comment 0-1 MRM X @Set 2-3 MRM Y @Set 4-5 MRM Z @Set 6-7 MRM X @Reset 8-9 MRM Y @Reset 10-11 MRM Z @Reset Данные с температурных датчиков (Temperature_MRM_Data). Data from thermal sensors Длина составляет 2 байта. Data length is 12 bytes № Байта Название Значение Примечание # of Byte Name Meaning Comment 0-1 Temperature_MRM_Data Датчик должен находиться рядом с магнетометром. Он д.б. подключен к контакту 3 разъема Т1 на главной плате БЦУ This TEMP sensor should be the one located nearby the magnetometer. Its output is connected to connector T1 pin 3 on the BCU main V1.1B board for ADC channel 4 TMux channel 0. Контрольная сумма (Data_Checksum). Check Sum Пакет данных контрольной суммы длиной 1 байт. Data length of packet of the Check sum is 1 byte. Значение получается из младшего байта суммы всех байт страницы данных, исключая заголовок. The KC number is obtained as the lower 1 byte of an unsigned sum of all bytes in the data page, protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 15 98209 dalex excluding header. Конечный байт (Data_FOOTER). Данные конечного байта имеют длину 2 байта. The data length is 2 bytes Значение конечного байта: 0xAFAF. The meaning is two binary bytes whose values are specified in hexadecimal format as 0xAFAF. Формат одной страницы System_DATA представлен ниже. Format of page System_DATA is presented below № бита Название Значение Примечание # of bit Name Meaning Comment 0-2 Data_Header 0xFAFAFA Заголовок Title 3-524 System_Data Segments 525 Data_FOOTER0 0xAF 526-527 Data_FOOTER 0xAFAF 18 байт х 29 (18 bytes per segments x 29 segments) Currently Fixed (Reserved for Check Sum) Системные данные (System_Data Segment). Длина составляет 18 байт. Полный пакет составляет 522 байта (18 байт х 29). Data length is 18 bytes. Whole FLASH page can hold 29 segments: 522 bytes (=18 bytes * 29) № Байта Название Значение Примечание # of Byte Name Meaning Comment 0-3 RTC Calendar Data & Data Type 4-5 System_Parameter_Data 6-17 Temperature_Data Календарные данные (4 байта). Calendar data (4 bytes) № бита Название Значение Примечание # of bit Name Meaning Comment 0 Тип данных data type 0 – тип измеренных данных 0х0 or 0х1 0 – type of measured data 1 – тип системных данных protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 16 98209 dalex 1 – type of system data 1-4 Месяц, month 01 – 12 Десятичное значение digital 5-9 День, day 01 – 31 Десятичное значение digital 10-15 Минуты, minutes 00 – 59 Десятичное значение digital 16-20 Часы, hours 00 – 59 Десятичное значение digital 21-26 Секунды, seconds 00 – 59 Десятичное значение digital 0–9 Десятичное значение digital 0–1 Десятичное значение digital 27-30 100 мсек = 0.1 секунды, 100 ms = 0.1 second 50 мсек = 0.05 секунды 31 50 ms = 0.05 second Системные параметры (2 байта). System parameters (2 Bytes) № бита Название Значение Примечание # of bit Name Meaning Comment Резерв 0-2 Reserved 3 Sampling ON\OFF 0х0 or 0х1 0- off, 1- on 4 Flash Full 0х0 or 0х1 0- no, 1-yes 5-6 ETP Phase 0х00 or 0х02 0- System Reset by Power On, 7 WatchDog Reset 0х0 or 0х1 1- System Reset by Watchdog Timer Interrupt 8-15 System Status Flags Температурные данные (12 байт). Thermal data (12 bytes) № Байта Название Значение Примечание # of Byte Name Meaning Comment 0-1 Temperature_Sensor_1 2-3 Temperature_Sensor_2 4-5 Temperature_Sensor_3 6-7 Temperature_Sensor_4 8-9 Temperature_Sensor_5 10-11 Temperature_Sensor_6 protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 17 98209 dalex DSPADC_Данные (2 байта). DSPADC data (2 bytes) Данные, поступающие с АЦП, имеют следующий формат. Все данные с ETP MRM and Temperature data идут через АЦП. Data coming from ADC have the following format. Note: ETP MRM and Temperature data all come from ADC. № бита Название Значение Примечание # of bit Name Meaning Comment 0х00 0-1 2-15 AD_Data 00-3FFFh 0 – 2 В 0-2 volt Контрольная сумма (Data_Checksum). Пакет данных контрольной суммы длиной 1 байт. Length of data packet is 1 byte. Значение получается из младшего байта суммы всех байт в пакете данных кроме заголовка. The number is obtained as the lower 1 byte of an unsigned sum of all bytes in the data page, excluding header. Конечный байт (Data_FOOTER). Данные конечного байта имеют длину 2 байта. The data length is 2 bytes Значение конечного байта: 0xAFAF. The meaning is two binary bytes whose values are specified in hexadecimal format as 0xAFAF. protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 18 98209 dalex Приложение 2. Формат и структура команд управления БЦУ. Appendix 2 Format and structure of commands controlling BCU. Общий формат команд представлен ниже. Communication Packet format is presented below № Байта Название Значение Примечание # of Byte Name Meaning Comment 0-2 Comm_HEADER ХХХХХХh 3 COMMAND_Code ХХh 4 LENGTH ХХh Переменная величина ХХ DATA_STREAM parameters and data of various length КС XXh Заголовок команды. Comm_HEADER Заголовок команды имеет длину 3 байта. The length is 3 bytes Заголовок команды от БИ в БЦУ: 0xF0F0F0. The header of communication packet sent from BI to BCU is 0xF0F0F0 Заголовок команды от БЦУ в БИ: 0xF5F5F5. The header of communication packet sent from BCU to BI is 0xF5F5F5. Длина. Length Учитывается размер параметров и данных, за исключением контрольной суммы. The length of parameters and data is taking into account, excluding the check sum KC. Контрольная сумма команды (КС). Check Sum Контрольная сумма информационного пакета имеет длину 1 байт. The length is 1 byte Значение контрольной суммы вычисляется последовательным суммированием всех байтов в HEX формате, при чём, если значение контрольной суммы становиться больше байта, то учитываются только младший байт. The value of KC is calculated by unsigned integer summing of all bytes in the communication packet excluding the header bytes. Note if the KC exceeds 1 byte, only lower order byte is taken into account. protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 19 98209 dalex Комманда 'EPONOFF' (после включения или выключения электропитания БСУ, БИ должна послать данные о дате и времени на ПСИ МКА) Command: 'EPONOFF' (After BI turns electric power to BCU On / Off, log BI action into transmission dat for PCI of MKA, not to send to BCU.) Название Item Name Значение Примечание Meaning Comment 0 COMMAND_Code 6Ah EPONOFF 1 08h 2-3 Длина LENGTH SWITCH 4-5 YEAR_MONTH № байта # of Byte 6A00h or 6A01h YYMMh Запись о включении или выключении электропитания БЦУ в определенное время (Log record for BI turns off or turns on electric power to BCU at the specified calendar time.) Выключение SWITCH, Value = 6A00h => EP_Off action Включение SWITCH, Value = 6A01h => EP_On action The BI Calendar Information at the time of the action. YY (07-xx), MM (01-12) 6-7 DAY_HOUR DDHHh DD (01-31), HH (00-23) 8-9 MINUTE_SECOND MMSSh MM (00-59), SS (00-59) Отклик БЦУ на БИ 'CALREQ' (Calendar Request) Command (BCU sends to BI): 'CALREQ' (Calendar Request) После отключения электропитания БЦУ теряет информацию о времени, поскольку на нем нет часов реального времени, питающихся от батареи. Поэтому после включения или перезагрузки БЦУ ьребуется календарная информация от БИ для синхронизации. After BCU been turned off, BCU will lose the calendar information during power off (there is no battery supported Real Time Clock on BCU). So, after BCU is turned on or rebooted by the watch-dogtimer, BCU will request for the calendar information from BI for synchronization. № байта # of Byte 0 1 Название Item Name Значение Примечание meaning Comment COMMAND_Code LENGTH 1Bh CALREQ 00h protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 20 98209 dalex Ответ БИ не обязателен Response from BI is not necessary. Command SONOFF (Sampling On/Off): № Байта Название Значение Примечание # of Byte Name meaning Comment 0 COMMAND_Code 1Ah SONOFF 02h – укороченный формат для выключения, 02h – short format (For 1 LENGTH 08h или 02h Switch_Off), 08h – полный формат для включения 08h – full format (For Switch_On) SWITCH 2-3 1A01h или 1A00h – Switch_Off, 1A00h 1A01h – Switch_On 4-5 YEAR_MONTH YYMMh 6-7 DAY_HOUR DDHHh MINUTE_SECOND 8-9 MMSSh YY (07-xx), MM (01-12) (For Switch_On only) DD (01-31), HH (00-23) (For Switch_On only) MM (00-59), SS (00-59) (For Switch_On only) Ответ: Response № Байта Название Значение Примечание # of Byte Name meaning Comment 0 COMMAND_Code 1Ah SONOFF 1 LENGTH 02h SWITCH 1A01h или 1A00h – Switch_Off, 1A00h 1A01h – Switch_On 2-3 protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 21 98209 dalex Command DAUL (Data Upload): № Байта Название Значение Примечание # of Byte Name meaning Comment 0 COMMAND_Code 3Ah DAUL 1 LENGTH 00h Ответ: Response № байта Название Значение Примечание # of Byte Name meaning Comment 0 COMMAND_Code 3Ah DAUL 00h – нет готовых страниц 00h – no page filled up to be 1 LENGTH 00h or B0h sent B0h – 176 (1/3 of 528 Byte flash page) ХХ Either “No data” DATA_STREAM or 176 Bytes of data Command POFF (POWER Off): № Байта Название Значение Примечание # of Byte Name Meaning Comment 0 COMMAND_Code 4Ah POFF 1 LENGTH 02h 2-3 PASSWORD_CMD C33Ch Ответ: Response: № Байта Название Значение Примечание # of Byte Name meaning Comment 0 COMMAND_Code 4Ah POFF 1 LENGTH 02h 2-3 PASSWORD_CMD 3CС3h Примечание: При приёме БЦУ данной команды от БИ, БЦУ начинает подготовку к отключению питания, т.е. происходит сохранение данных в EEPROM. После окончания подготовки, БЦУ посылает отклик. Note: Receiving this command from BI, the BCU starts to prepare for power off, i.e. data is storing in protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 22 98209 dalex EEPROM. After preparation is done, response is sent. Command FMCLR (Flash Memory Clear): Данная команда посылается только с Земли.. № байта Название Значение Примечание # of Byte Name meaning Comment 0 COMMAND_Code 5Ah FMCLR 1 LENGTH 00h Ответ: Response: № байта Название Значение Примечание # of Byte Name Meaning Comment 0 COMMAND_Code 5Ah FMCLR 1 LENGTH 00h Отклик 'ERREP ERR_PacketTimeout ERR_Checksum' .. Command: (WHATEVER COMMAND) Название № байта Item Name # of Byte Значение Примечание Meaning Comment 0 COMMAND_Code ??h Любая команда WHATEVER COMMAND 1 LENGTH ??h После получения БИ заголовка кадра с БЦУ, если БЦУ обнаружит задержку в приеме БИ информационного кадра, тогда на БИ посылается отклик 'ERREP ERR_PacketTimeout'; Если БЦУ зарегистрировало неверную контрольную сумму в информационном пакете от БИ, тогда на БИ посылается отклик 'ERREP ERR_Checksum' After the detection of a BI communication header, if BCU detects time out before a communication packet from BI can be finished, an 'ERREP ERR_PacketTimeout' response could be sent to BI; If BCU detects incorrect checksum in a communication packet received from BI, an 'ERREP ERR_Checksum' response could be sent to BI. Response: № Байта # of Byte 0 1 2-3 Название Item Name Значение Примечание meaning Comment COMMAND_Code LENGTH ERROR_Code 1Dh ERREP 02h 0001h or 0002h ERROR_CODE: ERR_PacketTimeout (within Communcation_Packet Time Out Error) 0001h; ERR_Checksum (Checksum Error). 0002h; protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 23 98209 dalex Приложение 3. Таблица последовательности управления БЦУ с БИ с набором комманд, подаваемых с Земли. Appendix 3. Ground Commands To BI Regarding BCU Controls Операция Operation Power off Power is disconnected Power on Energization Energization Power off Power is disconnected Команда Время выполнения Примечания Command Execution time Comments Цифровой тест системы БЦУ BCU DTest (Digital System Test) EPONOFF Ждать 3 сек Must avoid electric power transient EP_Off switching before full capacitor discharge. EPONOFF Log 'EPONOFF EP_Off' action EP_Off record with BI date and time as transmission data. EPONOFF Загрузка БЦУ Log 'EPONOFF EP_On' action EP_On длиться 3 сек record with BI date and time BCU loading takes 3 as transmission data. s. After successful loading, BCU sends the command CALREQ "F5F5F51B001B" to BI (it is possible that a sporadic byte FFh might be sent before the command). EPONOFF Log 'EPONOFF EP_Off' action EP_Off record with BI date and time as transmission data. Включение питания БЦУ BCU Power On Включение EPONOFF Для загрузки БЦУ Запись момента включения в требуется 3 сек. ПСИ МКС. После удачной питания EP_On Подача Необходимо ждать 3 загрузки БЦУ посылает команду питания сек. перед выдачей CALREQ "F5F5F51B001B" в последующих БИ (возможна передача слова $FF команд перед посылкой команды). Power on EPONOFF BCU loading takes 3 Log 'EPONOFF EP_On' action s. It is necessary to record with BI date and time EP_On Energization wait for 3 s before as transmission data. sending next After successful loading, BCU commands. sends the command CALREQ "F5F5F51B001B" to BI (it is possible that a sporadic byte FFh might be sent before the command). Разрешение SONOFF Команда Подождать 1 сек. перед посылкой вычислений SwitchOn повторяется каждые следующей команды. 60 сек. Data Sampling is SONOFF The command is Wait for 1 s before sending the next turned on SwitchOn repeated every 1 command. minute (max 1 protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 24 98209 dalex hour). Загрузка данных DAUL (???)Повторяется Необходимо 7.5 сек. для загрузки из БЦУ в БИ страницы из флэш памяти. каждую секунду вместо периода в 7 Каждая команда DAUL считывает сек с пачкой из 3-х 1/3 (176 Bytes) от страницы (528 Bytes) команд. Data loading DAUL (???)Repeated every Suggest once per 1 sec DAUL to from BCU to BI 1 s instead 7 s period flush out accumulated Sampling_Data and System_Data. with a packet of 3 Maximal DAUL period 2.5 second, commands. Since nominal data through put takes 7.5 s to generate 1 page BCU flash memory data. Each command DAUL reads 1/3 (176 Bytes) of a page (528 Bytes) Сброс памяти БЦУ (выполняется только при включенном БЦУ) BCU Memory Clean (Execute only when 'BCU Power On') Запрет SONOFF Подождать 1 сек. Вычисления до сих пор вычислений. SwitchOff перед посылкой разрешены следующих команд Data Sampling is SONOFF Wait for 1 s before The System_Data Sampling is still Prohibited SwitchOff sending the next active commands Сброс памяти FMCL Подождать 1 сек. перед посылкой следующих команд Memory cleaning FMCL Wait for 1 s before sending the next commands Разрешение SONOFF Подождать 1 сек. После сброса необходимо вычислений. SwitchOn перед посылкой восстановить цикл команды следующих команд DAUL Data Sampling is SONOFF Wait for 1 s before Afterwards, status should resume Resumed. SwitchOn sending the next the DAUL and response in the 'BCU commands Power On'. Выключение БЦУ BCU Switch Off Запрет SONOFF Подождать 1 сек. Вычисления до сих пор вычислений SwitchOff перед посылкой разрешены следующих команд Data Sampling is SONOFF Wait for 1 s before The System_Data Sampling is still Prohibited SwitchOff sending the next active commands Подготовка к POFF Необходимо Сохранение флэш памяти. выключению выдержать 1 сек. Необходимо перезагрузить питания Перед аппаратным систему, т.е. снять питание и выключением затем включить снова. питания Preparing for POFF Storing of flash memory indices. It is necessary to power off wait for 1 s before If it is necessary to reboot the system, one must turn electric turning electric power off and then turn electric power off protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 25 Выключение питания Power off EPONOFF EP_Off Снятие питания EPONOFF EP_Off Power is disconnected 98209 dalex power back on. БИ записывает момент выключения в ПСИ МКС Log 'EPONOFF EP_Off' action record with BI date and time as transmission data. Примечание: Сброс памяти БЦУ (команда FMCL) посылается только с Земли. Note: BCU power cleaning (command FMCL) is submitted only from the Earth. protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 26 98209 dalex Appendix 4 Example of the BCU-BI output data (tly comment: BCU has 8192 flash pages to buffer data. Although, on the average, it takes 7.65 sec to fill up one page. Each page takes 3 DAUL commands and responses to get loaded into BI. I suggest to issue DAUL command at uniform period of 1 second to get data with enough transmission time for each response and also enough through put to finish transmission of all accumulated flash pages.) (tly remark: BI stacks all communications with BCU and records of EPONOFF action on BCU 'as is' without padding 0’s into a fixed length buffer. This way is more efficient to receive short responses from BCU. According to the 'BCU 2009-01-26 БЦУ- файл с БИ.doc' -> nspotr\nspotr_bcu_log20090126dalex.doc, BCU responses are always saved as record of fixed length 502 hexadecimal char. This is very wasteful in logging many short BCU responses. … F0F0F03A00 F5F5F53AB0FAFAFA38000024C6D8A858C3E8A51CC5D0A758FF103B0448BC3910E8383AC0D7E03800002DC51CA708C6E8A83 4C748A8E0FF683B2448F838FCE8643B08D78038000042C468A60CC7FCA980C6E0A860FF003B2848E438E4E83C3A8CD67C3800 004BC738A90CC714A868C548A6E8FEA43B3448A83968E8883A84D52038000060C5E0A75CC4C4A5F0C604A738FF303B8048383 9A8E85C3A4CD70438000069C504A6B8C774A8CCC5ACA704FF7C3BA448283859 F0F0F03A00 (ERRREP ERR_PacketTimeout) F5F5F51D02000120 F0F0F03A00 F5F5F53AB0F4E8603A58D42838000072C540A6C4C638A7BCC690A7F8FFF83B80482038C8E7B03A04D78438000087C698A83CC 474A664C958AAF0FED03BAC482038E4E8203AA4D76438000090C640A814C8A8AAC8C824A9ACFF843B784864386CE7C43AF4 D6C4380000A5C630A808C768A8D0C638A7CCFF343B8C48E0387CE82C3B18D220380000AEC740A920C3D4A520C5F8A73CFF0 43B1C48E43914E8583A68D3C4380000C3C6E4A8E4C714A890C72CA8D8FF3C3B60 F0F0F03A00 F5F5F53AB07C49043888E82C3A6CD90C380000CCC4A0A628C624A7A4C6F8A820FF443B1C48A43948E8143A58D674380000E1 C5C8A7A8C4B8A624C718A90CFEEC3B6C494838FCE80C3A20D91C380000EAC6C0A850C5ECA768C790A8BCFF1C3BAC48743 914E8403A04D59C380000F3C590A724C4C4A5DCC640A784FF803B8047E038A8E8403AA4D80438000108C614A7C8C6E4A8A0C 750A8CCFF983B9047FC38C8E8903A84D0D4AFAFAF00000000000000000000000082 protocol.doc -> nspotr-BI_BCUprotocol20090209tly_dalex.doc 27 98209 dalex Заметки Notes 1. На солнечно-синхронной орбите БЦУ должен быть включен по крайней мере полные сутки для покрытия наблюдениями всей поверхности Земли. 1. At sun-synchronous orbit, every time BCU should be turned on for at least a full day so that the sensor scan can cover the whole globe.