Sedikit tentang standar komunikasi luar angkasa

Sedikit tentang standar komunikasi luar angkasa
Satelit Meteor M1
Sumber: vladtime.ru

pengenalan

Pengoperasian teknologi luar angkasa tidak mungkin terjadi tanpa komunikasi radio, dan dalam artikel ini saya akan mencoba menjelaskan gagasan utama yang menjadi dasar standar yang dikembangkan oleh International Advisory Committee for Space Data Systems (CCSDS. Singkatan ini akan digunakan di bawah) .

Posting ini akan fokus terutama pada lapisan data link, namun konsep dasar untuk lapisan lainnya juga akan diperkenalkan. Artikel ini sama sekali tidak dimaksudkan untuk memberikan penjelasan menyeluruh dan lengkap tentang standar tersebut. Anda dapat melihatnya di Online CCSDS. Namun, mereka sangat sulit untuk dipahami, dan kami menghabiskan banyak waktu untuk mencoba memahaminya, jadi di sini saya ingin memberikan informasi dasar, sehingga akan lebih mudah untuk memahami segala sesuatu yang lain. Jadi, mari kita mulai.

Misi Mulia CCSDS

Mungkin seseorang mempunyai pertanyaan: mengapa setiap orang harus mematuhi standar jika Anda dapat mengembangkan tumpukan protokol radio milik Anda sendiri (atau standar Anda sendiri, dengan blackjack dan fitur-fitur baru), sehingga meningkatkan keamanan sistem?

Seperti yang diperlihatkan oleh praktik, mematuhi standar CCSDS lebih menguntungkan karena sejumlah alasan berikut:

  1. Komite yang bertanggung jawab untuk menerbitkan standar ini mencakup perwakilan dari setiap lembaga kedirgantaraan besar di dunia, yang membawa pengalaman berharga yang diperoleh selama bertahun-tahun dalam merancang dan mengoperasikan berbagai misi. Akan sangat tidak masuk akal untuk mengabaikan pengalaman ini dan menginjak-injaknya lagi.
  2. Standar-standar ini didukung oleh peralatan stasiun bumi yang sudah ada di pasaran.
  3. Saat memecahkan masalah apa pun, Anda selalu dapat mencari bantuan dari kolega dari lembaga lain sehingga mereka dapat melakukan sesi komunikasi dengan perangkat dari stasiun bumi mereka. Seperti yang Anda lihat, standar adalah hal yang sangat berguna, jadi mari kita lihat poin-poin utamanya.

Arsitektur

Standar adalah sekumpulan dokumen yang mencerminkan model OSI (Open System Interconnection) yang paling umum, kecuali bahwa pada tingkat data link kesamaannya terbatas pada pembagian menjadi telemetri (downlink - luar angkasa - Bumi) dan telecommands (uplink).

Sedikit tentang standar komunikasi luar angkasa

Mari kita lihat beberapa level lebih detail, dimulai dari fisik dan terus ke atas. Untuk lebih jelasnya, kami akan mempertimbangkan arsitektur sisi penerima. Yang mentransmisikan adalah bayangan cerminnya.

Lapisan fisik

Pada level ini, sinyal radio termodulasi diubah menjadi aliran bit. Standar-standar di sini sebagian besar bersifat nasihat, karena pada tingkat ini sulit untuk mengabstraksikan implementasi spesifik perangkat keras. Di sini, peran kunci CCSDS adalah untuk menentukan modulasi yang dapat diterima (BPSK, QPSK, 8-QAM, dll.) dan memberikan beberapa rekomendasi mengenai penerapan mekanisme sinkronisasi simbol, kompensasi Doppler, dll.

Tingkat sinkronisasi dan pengkodean

Secara formal, ini adalah sublapisan dari lapisan data link, namun sering dipisahkan menjadi lapisan terpisah karena pentingnya dalam standar CCSDS. Lapisan ini mengubah aliran bit menjadi apa yang disebut frame (telemetri atau telecommands), yang akan kita bicarakan nanti. Tidak seperti sinkronisasi simbol pada lapisan fisik, yang memungkinkan Anda memperoleh aliran bit yang benar, sinkronisasi bingkai dilakukan di sini. Pertimbangkan jalur yang diambil data pada tingkat ini (dari bawah ke atas):

Sedikit tentang standar komunikasi luar angkasa

Namun, sebelum itu, ada baiknya menyampaikan beberapa patah kata tentang pengkodean. Prosedur ini diperlukan untuk menemukan dan/atau memperbaiki kesalahan bit yang pasti terjadi saat mengirim data melalui saluran radio. Di sini kita tidak akan mempertimbangkan prosedur decoding, tetapi hanya akan memperoleh informasi yang diperlukan untuk memahami logika level selanjutnya.

Kode dapat berupa blok atau kontinu. Standar ini tidak memaksa penggunaan jenis pengkodean tertentu, namun harus ada. Kode kontinu mencakup kode konvolusional. Mereka digunakan untuk mengkodekan aliran bit berkelanjutan. Hal ini berbeda dengan kode blok, dimana data dibagi menjadi beberapa blok kode dan hanya dapat didekodekan dalam blok yang lengkap. Blok kode mewakili data yang dikirimkan dan informasi tambahan terlampir yang diperlukan untuk memverifikasi kebenaran data yang diterima dan memperbaiki kemungkinan kesalahan. Kode blok termasuk kode Reed-Solomon yang terkenal.

Jika pengkodean konvolusional digunakan, bitstream memasuki decoder dari awal. Hasil kerjanya (semua ini tentu saja terjadi terus menerus) adalah blok data CADU (unit data akses saluran). Struktur ini diperlukan untuk sinkronisasi bingkai. Di akhir setiap CADU terdapat pembuat sinkronisasi terlampir (ASM). Ini adalah 4 byte yang diketahui sebelumnya, dimana sinkronisasi menemukan awal dan akhir CADU. Ini adalah bagaimana sinkronisasi bingkai dicapai.

Tahap opsional berikutnya dari lapisan sinkronisasi dan pengkodean dikaitkan dengan kekhasan lapisan fisik. Ini adalah derandomisasi. Faktanya adalah bahwa untuk mencapai sinkronisasi simbol, diperlukan peralihan antar simbol yang sering. Jadi, jika kita mengirimkan, katakanlah, satu kilobyte data yang seluruhnya terdiri dari satuan, sinkronisasi akan hilang. Oleh karena itu, selama transmisi, data masukan dicampur dengan urutan pseudo-acak periodik sehingga kepadatan nol dan satu seragam.

Selanjutnya, kode blok didekodekan, dan yang tersisa adalah produk akhir dari tingkat sinkronisasi dan pengkodean - sebuah bingkai.

Lapisan Tautan Data

Di satu sisi, prosesor lapisan tautan menerima frame, dan di sisi lain, ia mengeluarkan paket. Karena ukuran paket tidak dibatasi secara formal, untuk transmisi yang andal, paket tersebut perlu dipecah menjadi struktur - bingkai yang lebih kecil. Di sini kita akan melihat dua subbagian: secara terpisah untuk telemetri (TM) dan telecommands (TC).

Telemetri

Sederhananya, ini adalah data yang diterima stasiun bumi dari pesawat ruang angkasa. Semua informasi yang dikirimkan dibagi menjadi fragmen-fragmen kecil dengan panjang tetap - bingkai yang berisi data yang dikirimkan dan bidang layanan. Mari kita lihat lebih dekat struktur rangka:

Sedikit tentang standar komunikasi luar angkasa

Dan mari kita mulai pertimbangan kita dengan header utama frame telemetri. Selanjutnya, saya akan membiarkan diri saya menerjemahkan standar-standar tersebut di beberapa tempat, sambil memberikan beberapa klarifikasi.

Sedikit tentang standar komunikasi luar angkasa

Bidang ID Saluran Utama harus berisi nomor versi bingkai dan pengidentifikasi perangkat.

Setiap pesawat ruang angkasa, menurut standar CCSDS, harus memiliki pengenal uniknya sendiri, yang dengannya, dengan memiliki bingkai, seseorang dapat menentukan perangkat miliknya. Secara formal, perlu mengajukan permohonan untuk mendaftarkan perangkat, dan namanya, beserta pengenalnya, akan dipublikasikan di sumber terbuka. Namun, pabrikan Rusia sering mengabaikan prosedur ini, memberikan pengidentifikasi sewenang-wenang ke perangkat. Nomor versi bingkai membantu menentukan versi standar mana yang digunakan agar dapat membaca bingkai dengan benar. Di sini kami hanya akan mempertimbangkan standar paling konservatif dengan versi "0".

Bidang ID Saluran Virtual harus berisi VCID saluran asal paket. Tidak ada batasan pada pilihan VCID; khususnya, saluran virtual tidak harus diberi nomor secara berurutan.

Sangat sering ada kebutuhan untuk menggandakan data yang dikirimkan. Untuk tujuan ini, ada mekanisme saluran virtual. Misalnya, satelit Meteor-M2 mentransmisikan gambar berwarna dalam rentang yang terlihat, membaginya menjadi tiga hitam dan putih - setiap warna ditransmisikan dalam saluran virtualnya sendiri dalam paket terpisah, meskipun ada beberapa penyimpangan dari standar di struktur kerangkanya.

Bidang bendera Kendali Operasional merupakan indikator ada tidaknya bidang Kendali Operasional pada kerangka telemetri. 4 byte di akhir frame ini berfungsi untuk memberikan umpan balik ketika mengontrol pengiriman frame telecommand. Kita akan membicarakannya nanti.

Penghitung bingkai saluran utama dan saluran virtual adalah bidang yang bertambah satu setiap kali bingkai dikirim. Berfungsi sebagai indikator bahwa tidak ada satu frame pun yang hilang.

Status data bingkai telemetri adalah dua byte lagi dari bendera dan data, yang akan kita lihat beberapa saja.

Sedikit tentang standar komunikasi luar angkasa

Bidang bendera Secondary Header harus menjadi indikator ada tidaknya Secondary Header pada frame telemetri.

Jika mau, Anda dapat menambahkan header tambahan ke setiap frame dan menempatkan data apa pun di sana sesuai kebijaksanaan Anda.

Bidang Penunjuk Header Pertama, ketika bendera sinkronisasi diatur ke "1", harus berisi representasi biner dari posisi oktet pertama Paket pertama dalam Bidang Data bingkai telemetri. Posisi dihitung dari 0 dalam urutan menaik dari awal kolom data. Jika tidak ada permulaan paket pada field data frame telemetri, maka penunjuk ke field header pertama harus memiliki nilai dalam representasi biner "11111111111" (hal ini dapat terjadi jika satu paket panjang tersebar di lebih dari satu frame ).

Jika field data berisi paket kosong (Data Idle), maka penunjuk ke header pertama harus memiliki nilai dalam representasi biner β€œ11111111110”. Dengan menggunakan bidang ini, penerima harus menyinkronkan aliran. Bidang ini memastikan sinkronisasi dipulihkan meskipun frame dihilangkan.

Artinya, sebuah paket dapat, katakanlah, dimulai pada pertengahan frame ke-4 dan berakhir pada awal frame ke-20. Bidang ini digunakan untuk menemukan permulaannya. Paket juga mempunyai header yang menentukan panjangnya, jadi ketika pointer ke header pertama ditemukan, prosesor lapisan link harus membacanya, sehingga menentukan di mana paket akan berakhir.
Jika terdapat bidang kontrol kesalahan, bidang tersebut harus terdapat dalam setiap bingkai telemetri untuk saluran fisik tertentu di seluruh misi.

Bidang ini dihitung menggunakan metode CRC. Prosedurnya harus mengambil n-16 bit bingkai telemetri dan memasukkan hasil perhitungan ke dalam 16 bit terakhir.

tim TV

Bingkai perintah TV memiliki beberapa perbedaan signifikan. Diantara mereka:

  1. Struktur judul yang berbeda
  2. Panjang dinamis. Artinya, panjang frame tidak diatur secara kaku, seperti yang dilakukan pada telemetri, namun dapat bervariasi tergantung pada paket yang dikirimkan.
  3. Mekanisme jaminan pengiriman paket. Artinya, pesawat ruang angkasa harus, setelah menerimanya, mengkonfirmasi kebenaran penerimaan frame, atau meminta penerusan dari frame yang bisa saja diterima dengan kesalahan yang tidak dapat diperbaiki.

Sedikit tentang standar komunikasi luar angkasa

Sedikit tentang standar komunikasi luar angkasa

Banyak bidang yang sudah kita kenal dari header bingkai telemetri. Mereka memiliki tujuan yang sama, jadi di sini kita hanya akan mempertimbangkan bidang baru.

Satu bit dari bypass flag harus digunakan untuk mengontrol pemeriksaan frame pada penerima. Nilai "0" untuk tanda ini menunjukkan bahwa kerangka tersebut adalah kerangka Tipe A dan harus diverifikasi menurut FARM. Nilai "1" untuk tanda ini harus menunjukkan kepada penerima bahwa frame ini adalah frame Tipe B dan harus melewati pemeriksaan FARM.

Tanda ini memberi tahu penerima apakah akan menggunakan mekanisme pengakuan pengiriman bingkai yang disebut FARM - Mekanisme Penerimaan dan Pelaporan Bingkai.

Bendera perintah kontrol harus digunakan untuk memahami apakah bidang data mengangkut perintah atau data. Jika tandanya adalah "0", maka kolom data harus berisi data. Jika tandanya adalah "1", maka kolom data harus berisi informasi kontrol untuk FARM.
FARM adalah mesin negara terbatas yang parameternya dapat dikonfigurasi.

RSVD. SPARE – bit yang dicadangkan.

Tampaknya CCSDS mempunyai rencana untuk mereka di masa depan, dan untuk kompatibilitas versi protokol, mereka telah mencadangkan bit-bit ini dalam versi standar saat ini.

Bidang panjang bingkai harus berisi angka dalam representasi bit yang sama dengan panjang bingkai dalam oktet dikurangi satu.

Bidang data bingkai harus mengikuti header tanpa spasi dan berisi jumlah oktet bilangan bulat, yang panjangnya maksimal 1019 oktet. Bidang ini harus berisi blok data bingkai atau informasi perintah kontrol. Blok data bingkai harus berisi:

  • jumlah bilangan bulat oktet data pengguna
  • header segmen diikuti dengan bilangan bulat oktet data pengguna

Jika ada header, maka blok data harus berisi sebuah Paket, sekumpulan Paket, atau bagian dari sebuah Paket. Blok data tanpa header tidak dapat berisi bagian dari Paket, tetapi dapat berisi blok data format pribadi. Oleh karena itu, header diperlukan ketika blok data yang dikirimkan tidak sesuai dengan satu frame. Sebuah blok data yang memiliki header disebut segmen

Sedikit tentang standar komunikasi luar angkasa

Bidang bendera dua-bit harus berisi:

  • "01" - jika bagian pertama data ada di blok data
  • β€œ00” - jika bagian tengah data berada di blok data
  • "10" - jika bagian data terakhir ada di blok data
  • "11" - jika tidak ada pembagian dan satu atau lebih paket muat seluruhnya dalam blok data.

Bidang ID MAP harus berisi angka nol jika saluran MAP tidak digunakan.
Terkadang 6 bit yang dialokasikan ke saluran virtual tidaklah cukup. Dan jika perlu untuk melipatgandakan data ke saluran yang lebih banyak, 6 bit lain dari header segmen akan digunakan.

PETERNAKAN

Mari kita lihat lebih dekat mekanisme berfungsinya sistem kendali pengiriman personel. Sistem ini hanya menyediakan pekerjaan dengan kerangka perintah jarak jauh karena pentingnya (telemetri selalu dapat diminta lagi, dan pesawat ruang angkasa harus mendengar stasiun bumi dengan jelas dan selalu mematuhi perintahnya). Jadi, misalkan kita memutuskan untuk melakukan reflash satelit kita, dan mengirimkan file biner berukuran 10 kilobyte ke dalamnya. Pada level link, file dibagi menjadi 10 frame (0, 1, ..., 9), yang dikirim ke atas satu per satu. Ketika transmisi selesai, satelit harus mengkonfirmasi kebenaran penerimaan paket, atau melaporkan frame mana yang terjadi kesalahan. Informasi ini dikirim ke bidang kendali operasional dalam kerangka telemetri terdekat (Atau pesawat ruang angkasa dapat memulai transmisi kerangka diam jika tidak ada yang perlu dikatakan). Berdasarkan telemetri yang diterima, kami memastikan semuanya baik-baik saja, atau kami melanjutkan untuk mengirim ulang pesan tersebut. Anggaplah satelit tidak mendengar frame #7. Artinya kita mengiriminya frame 7, 8, 9. Jika tidak ada respon, seluruh paket dikirim lagi (dan seterusnya beberapa kali hingga kita menyadari bahwa usahanya sia-sia).

Di bawah ini adalah struktur bidang pengendalian operasional dengan penjelasan beberapa bidang. Data yang terdapat dalam bidang ini disebut CLCW - Kata Kontrol Tautan Komunikasi.

Sedikit tentang standar komunikasi luar angkasa

Karena Anda dapat dengan mudah menebak tujuan bidang utama dari gambar, dan bidang lainnya membosankan untuk dilihat, saya menyembunyikan deskripsi detailnya di bawah spoiler.

Penjelasan bidang CLCWJenis Kata Kontrol:
Untuk tipe ini, kata kontrolnya harus mengandung 0

Versi Kata Kontrol (Nomor Versi CLCW):
Untuk tipe ini, kata kontrol harus sama dengan "00" dalam representasi bit.

Bidang Status:
Penggunaan bidang ini ditentukan untuk setiap misi secara terpisah. Dapat digunakan untuk perbaikan lokal oleh berbagai badan antariksa.

Identifikasi Saluran Virtual:
Harus berisi pengidentifikasi saluran virtual yang terkait dengan kata kontrol ini.

Tanda akses saluran fisik:
Bendera tersebut harus memberikan informasi tentang kesiapan lapisan fisik penerima. Jika lapisan fisik penerima belum siap menerima frame, maka field tersebut harus berisi "1", jika tidak "0".

Tanda kegagalan sinkronisasi:
Bendera tersebut mungkin menunjukkan bahwa lapisan fisik beroperasi pada tingkat sinyal yang buruk dan jumlah frame yang ditolak terlalu tinggi. Penggunaan bidang ini bersifat opsional; jika digunakan, bidang ini harus berisi β€œ0” jika sinkronisasi tersedia, dan β€œ1” jika tidak tersedia.

Bendera pemblokiran:
Bit ini harus berisi status kunci FARM untuk setiap saluran virtual. Nilai "1" dalam bidang ini harus menunjukkan bahwa FARM dinonaktifkan dan frame akan dibuang untuk setiap lapisan virtual, jika tidak maka "0".

Tunggu bendera:
Bit ini digunakan untuk menunjukkan bahwa penerima tidak dapat memproses data pada saluran virtual yang ditentukan. Nilai "1" menunjukkan bahwa semua frame akan dibuang pada saluran virtual ini, jika tidak, "0".

Bendera Maju:
Bendera ini harus berisi angka "1" jika satu atau lebih bingkai tipe A telah dibuang atau ditemukan celah, sehingga diperlukan pengiriman ulang. Bendera "0" menunjukkan bahwa tidak ada frame yang terjatuh atau dilewati.

Nilai respons:
Nomor bingkai yang tidak diterima. Ditentukan oleh penghitung di header frame telecommand

lapisan jaringan

Mari kita bahas sedikit pada level ini. Ada dua opsi di sini: gunakan protokol paket ruang angkasa, atau enkapsulasi protokol lain dalam paket CCSDS.

Ikhtisar protokol paket luar angkasa adalah topik untuk artikel terpisah. Ini dirancang untuk memungkinkan aplikasi yang disebut bertukar data dengan lancar. Setiap aplikasi memiliki alamat dan fungsi dasar masing-masing untuk bertukar data dengan aplikasi lain. Ada juga layanan yang mengarahkan lalu lintas, mengontrol pengiriman, dll.

Dengan enkapsulasi semuanya menjadi lebih sederhana dan jelas. Standar ini memungkinkan untuk merangkum protokol apa pun ke dalam paket CCSDS dengan menambahkan header tambahan.

Sedikit tentang standar komunikasi luar angkasa

Dimana header memiliki arti berbeda tergantung pada panjang protokol yang dienkapsulasi:

Sedikit tentang standar komunikasi luar angkasa

Di sini bidang utama adalah panjang dari panjangnya. Ini dapat bervariasi dari 0 hingga 4 byte. Juga di header ini Anda harus menunjukkan jenis protokol yang dienkapsulasi menggunakan tabel karenanya.

Enkapsulasi IP menggunakan add-on lain untuk menentukan jenis paket.
Anda perlu menambahkan satu header lagi, panjangnya satu oktet:

Sedikit tentang standar komunikasi luar angkasa

Dimana PID adalah pengidentifikasi protokol lain yang diambil karenanya

Kesimpulan

Pada pandangan pertama, tampaknya header CCSDS sangat mubazir dan beberapa kolom dapat dibuang. Memang efisiensi saluran yang dihasilkan (sampai tingkat jaringan) adalah sekitar 40%. Namun, ketika ada kebutuhan untuk menerapkan standar-standar ini, menjadi jelas bahwa setiap bidang, setiap pos memiliki misi penting masing-masing, pengabaian yang menyebabkan sejumlah ambiguitas.

Jika habrasociety menunjukkan minat pada topik ini, saya akan dengan senang hati menerbitkan serangkaian artikel yang membahas teori dan praktik komunikasi ruang angkasa. Terima kasih atas perhatian Anda!

sumber

CCSDS 130.0-G-3 β€” Ikhtisar protokol komunikasi luar angkasa
CCSDS 131.0-B-2 – Sinkronisasi TM dan pengkodean saluran
CCSDS 132.0-B-2 - Protokol Tautan Data Luar Angkasa TM
CCSDS 133.0-B-1 - Protokol paket luar angkasa
CCSDS 133.1-B-2 - Layanan Enkapsulasi
CCSDS 231.0-B-3 - Sinkronisasi TC dan Pengkodean Saluran
CCSDS 232.1-B-2 Prosedur Operasi Komunikasi-1
CCSDS 401.0-B-28 Sistem Frekuensi dan Modulasi Radio - Bagian 1 (Stasiun Bumi dan Pesawat Luar Angkasa)
CCSDS 702.1-B-1 - IP melalui tautan ruang CCSDS

PS
Jangan memukul terlalu keras jika Anda menemukan ketidakakuratan. Laporkan dan itu akan diperbaiki :)

Sumber: www.habr.com

Tambah komentar