32
11111111111111111111111111111111111111111111111111111111111111111111111111 (12) United States Patent Chang et al. (54) METHODS AND APPARATUS FOR AGGREGATION OF MULTIPLE PULSE CODE MODULATION CHANNELS INTO A SIGNAL TIME DIVISION MULTIPLEXING STREAM (71) Applicant: The Boeing Company, Chicago, IL (US) (72) Inventors: Chen J. Chang, Madison, AL (US); Amir L. Liaghati, Jr., Huntsville, AL (US); Mahsa L. Liaghati, Huntsville, AK (US) (73) Assignee: The Boeing Company, Chicago, IL (US) (io) Patent No.: US 9,871,608 B1 (45) Date of Patent: Jan.16, 2018 (56) References Cited U.S. PATENT DOCUMENTS 6,826,179 131 * 11/2004 Talbot ................... G06F 13/423 370/389 2002/0018518 Al * 2/2002 Subramanian ....... H04B 1/7115 375/147 (Continued) OTHER PUBLICATIONS Consultative Committee for Space Data Systems (CCSDS) Secre- tariat, "TM Synchronization and Channel Coding", Recommended Standard CCSDS 131.0-B-2, Aug. 2011. (Continued) (*) Notice: Subject to any disclaimer, the term of this Primary Examiner Dhaval Patel patent is extended or adjusted under 35 (74) Attorney, Agent, or Firm McDonnell Boehnen U.S.C. 154(b) by 0 days. Hulbert & Berghoff LLP (21) Appl. No.: 15/281,028 (22) Filed: Sep. 29, 2016 (51) (52) (58) Int. Cl. G08C 19/16 (2006.01) H04J 3/06 (2006.01) H04L 12/861 (2013.01) H04L 29/06 (2006.01) GOLD 7/00 (2006.01) U.S. Cl. CPC .................. H04J 3/06 (2013.01); GOLD 7/00 (2013.01); H04L 49/90 (2013.01); H04L 69/22 (2013.01) Field of Classification Search CPC ... H04J 3/06; GO1D 7/00; H04L 69/22; H04L 49/90 USPC ............ 340/870.19; 370/338, 432, 458, 412, 370/389, 395.42, 316, 401, 465, 329, 326, 370/352, 403; 375/147, 214, 261, 282, 375/322, 340; 348/14.8, 240.3 See application file for complete search history. Telemetry Data Comrntellration Interface (DC11 Device } 10 130-, Seat. Data wbhfbf D.Sta j, -, .-- .. Clo k omm uii a for tnte•facw CCI 2 Clock 1,r Claek £~x[a 't2~a Signal ng Comn:un canon 1"t—ace Telemetry Device D #2 (57) ABSTRACT Methods and apparatus are provided for telemetry process- ing using a telemetry processor. The telemetry processor can include a plurality of communications interfaces, a computer processor, and data storage. The telemetry processor can buffer sensor data by: receiving a frame of sensor data using a first communications interface and clock data using a second communications interface, receiving an end of frame signal using a third communications interface, and storing the received frame of sensor data in the data storage. After buffering the sensor data, the telemetry processor can gen- erate an encapsulated data packet including a single encap- sulated data packet header, the buffered sensor data, and identifiers identifying telemetry devices that provided the sensor data. A format of the encapsulated data packet can comply with a Consultative Committee for Space Data Systems (CCSDS) standard. The telemetry processor can send the encapsulated data packet using a fourth and a fifth communications interfaces. 20 Claims, 15 Drawing Sheets 100 Telemetry Prorassar 510 Data Frame 536 I~, Data Storage 114 Te.. Uata 1 j ~; CCSDS Parkel ifi0 (ID#1 1 (SDI r Data Frame 14Q r H #D D7 2j StJ2. 75 lA I e'lsor ~ _ 1 I ~aTz ~C ----GCSDS Packet16,; Data Frame ] Sensor S iII SD3-1 fdla Ts 1L] 2 ram iiea3 - ----------- , ~Tlme Period IN msec116L Telemetry Del f ra CCI 152 ID#3 SC31~ Ad¢fi3i MI Rcr4oyrii •• IC D ~-I Ctiannei Clock Data : QCD ~ Q Inlet (Even Ell!) Data,': leb I Dnanrri£. (t3d7 Bit} Data QCCFi {3 Cn b6iay'd:t1na Data;: iCl IGhaonEl:-Interface QCI Q- Channel Interface Transmitter 174 Dorovnlink Ground Station 180.

(12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

11111111111111111111111111111111111111111111111111111111111111111111111111

(12) United States PatentChang et al.

(54) METHODS AND APPARATUS FORAGGREGATION OF MULTIPLE PULSECODE MODULATION CHANNELS INTO ASIGNAL TIME DIVISION MULTIPLEXINGSTREAM

(71) Applicant: The Boeing Company, Chicago, IL(US)

(72) Inventors: Chen J. Chang, Madison, AL (US);Amir L. Liaghati, Jr., Huntsville, AL(US); Mahsa L. Liaghati, Huntsville,AK (US)

(73) Assignee: The Boeing Company, Chicago, IL(US)

(io) Patent No.: US 9,871,608 B1(45) Date of Patent: Jan.16, 2018

(56) References Cited

U.S. PATENT DOCUMENTS

6,826,179 131 * 11/2004 Talbot ................... G06F 13/423370/389

2002/0018518 Al * 2/2002 Subramanian ....... H04B 1/7115375/147

(Continued)

OTHER PUBLICATIONS

Consultative Committee for Space Data Systems (CCSDS) Secre-

tariat, "TM Synchronization and Channel Coding", Recommended

Standard CCSDS 131.0-B-2, Aug. 2011.

(Continued)

(*) Notice: Subject to any disclaimer, the term of this Primary Examiner Dhaval Patelpatent is extended or adjusted under 35

(74) Attorney, Agent, or Firm McDonnell BoehnenU.S.C. 154(b) by 0 days.

Hulbert & Berghoff LLP

(21) Appl. No.: 15/281,028

(22) Filed: Sep. 29, 2016

(51)

(52)

(58)

Int. Cl.G08C 19/16 (2006.01)H04J 3/06 (2006.01)H04L 12/861 (2013.01)H04L 29/06 (2006.01)GOLD 7/00 (2006.01)

U.S. Cl.CPC .................. H04J 3/06 (2013.01); GOLD 7/00

(2013.01); H04L 49/90 (2013.01); H04L 69/22(2013.01)

Field of Classification SearchCPC ... H04J 3/06; GO1D 7/00; H04L 69/22; H04L

49/90USPC ............ 340/870.19; 370/338, 432, 458, 412,

370/389, 395.42, 316, 401, 465, 329, 326,370/352, 403; 375/147, 214, 261, 282,

375/322, 340; 348/14.8, 240.3See application file for complete search history.

Telemetry Data Comrntellration Interface (DC11

Device } 10 130-,

Seat.Data

wbhfbf D.Sta j,-, .-- ..

Clo k omm uii a for tnte•facw CCI2

Clock 1,r Claek £~x[a 't2~a

Signal ng Comn:un canon 1"t—ace

TelemetryDevice

D #2

(57) ABSTRACT

Methods and apparatus are provided for telemetry process-ing using a telemetry processor. The telemetry processor caninclude a plurality of communications interfaces, a computerprocessor, and data storage. The telemetry processor canbuffer sensor data by: receiving a frame of sensor data usinga first communications interface and clock data using asecond communications interface, receiving an end of framesignal using a third communications interface, and storingthe received frame of sensor data in the data storage. Afterbuffering the sensor data, the telemetry processor can gen-erate an encapsulated data packet including a single encap-sulated data packet header, the buffered sensor data, andidentifiers identifying telemetry devices that provided thesensor data. A format of the encapsulated data packet cancomply with a Consultative Committee for Space DataSystems (CCSDS) standard. The telemetry processor cansend the encapsulated data packet using a fourth and a fifthcommunications interfaces.

20 Claims, 15 Drawing Sheets

100

Telemetry Prorassar 510

Data Frame 536 I~, Data Storage 114

Te.. Uata 1 j ~; CCSDS Parkel ifi0

(ID#1

1 (SDI r

Data Frame 14Q r H #D D7

2j StJ2.

75 lA I e'lsor ~ _

1 I ~aTz ~C

----GCSDS Packet16,;Data Frame ]

Sensor S iII SD3-1 fdlaTs 1L] 2 ramiiea3

------------ ,~Tlme Period IN msec116L

Telemetry Del f ra

CCI 152

ID#3 SC31~

Ad¢fi3i MI Rcr4oyrii• • • IC D ~-I Ctiannei Clock Data : QCD ~ Q Inlet (Even Ell!) Data,':

leb I Dnanrri£. (t3d7 Bit} Data QCCFi {3 Cn b6iay'd:t1na Data;:iCl IGhaonEl:-Interface QCI Q- Channel Interface

Transmitter 174

Dorovnlink

Ground Station 180.

Page 2: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B1Page 2

(56) References Cited

U.S. PATENT DOCUMENTS

2006/0061531 At * 3/2006 Park ..................... G09G 3/2003345/88

2012/0065813 At * 3/2012 Nguyen ................ H04L 67/125701/2

2013/0142287 At * 6/2013 Kravets ............. H04W 52/0245375/340

OTHER PUBLICATIONS

Consultative Committee for Space Data Systems (CCSDS) Secre-tariat, "Encapsulation Service", Recommended Standard CCSDS133.1-B-2, Oct. 2009.Consultative Committee for Space Data Systems (CCSDS) Secre-tariat, "AOS Space Data Link Protocol", Recommended StandardCCSDS 732.0-B-2, Jul. 2006.C. Jia, "A Delay-Locked Loop for Multiple Clock Phases/DelaysGeneration", Ph.D. Dissertation, Dec. 2005, Georgia Institute ofTechnology.M. Kearney,"Comm and Data Standards for Future Human Space-flight", Jun. 2013.

National Instruments,"What is FQ Data?", Mar. 30, 2016, availablevia the Internet at www.ni.com/tutorial/4805/en/ (last viisted Jul. 19,2016).B.C. O'Neill et al., "Serial Communication Circuit with OptimizedSkew Characteristics", IEEE Communication Letters, Jun. 2001,vol. 5, No. 6, pp. 260-262.Range Commanders Counsel, "Chapter 4-Pulse Code ModulationStandards", Inter-Range Instrumentation Group (IRIG) Standard106-15, Part 1, Chapter 4, Jul. 2015, available via the Internet atwww.irig106.org/docs/106-15/chapter4.pdf (last visited Aug. 17,2016).M. Rouse,"Staggered Quadrature Phase-Shift Keying", Jun. 2007,available via the Internet at searchnetworking.techtarget.com/defi-nition/staggered-quadrature-phase-shift-keying (last visited Sep.29, 2016).Telecommunications Industry Association,"Electrical Characteris-tics of Balanced Voltage Digital Interface Circuits", TIA/EIA Stan-dard TIA/EIA-433-B, May 1994.Wikimedia Foundation,"RS-422", Jul. 1, 2015, available via theInternet at en.wikipedia.org/w/index.php?title=RS-422&oldid=66943 8 12 8 (last viisted Jul. 19, 2016).

* cited by examiner

Page 3: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

Tele

metr

y I

Data

Com

muni

cati

on Interface (DCI)

Device 120

130

Sensor

....

Data

......

...

......

...

......

...

....

......

...

....

a r

ts[ C

. ta..100x ...

......

......

......

......

...

124

Clock Co

mmun

icat

ion In

terf

ace (CCI)

132

Cloc

k122

Glok Data;1

Signaling Co

mmun

icat

ion Interface

(SCI) 134

;End

ofMlessege St

rtal

s #a

ID #1

#ti.~„~., ..x,.

L..:

-s..

..... ., .~:

+.an

h ...

...

T

Data

Frame 136

Tel.

€D

Sens

or

(ID #1) Da

ta 1

(SD1)

Data

Frame 146

~etl

Sgr

::Te

l ̀tI

Jpata 2

Data

Frame 156

D3)

Proc

esso

r

--100

Data

Storage 1.

.1.4

CCSDS Pac

ket 160

HID

SD1

CCSDS Pac

ket 152

~Hd

Idle

2__

______

_____

Data

1~LTime Per

iod

Telemetry

DCI 140

ICI

Device 126

CCI 142

1D #2

SCI 144

Processor(s)

Tele

metr

y DCI 15

Device 128

CCI 152

ID #3

SCI 154

Addi

tion

al Acronyms>

• . •

ICCD — I Ch

anne

l Clock.Data

QCD '-

Q Channel (Even Bit) D

ata

ICD- I Ch

anne

l (Odd Bit

) Data

;< QCCD — Q Ch. Delayed Clo

ck Data'.

ICI - I Channel Interface

QCI - Q Cha

nnel

Interface

Computer 112

FIG.

1

CS1

CS2

ICI

T172CI

0

Transmitter 174_

~Do

wnli

nk176

~p

00

Ground Sta

tion

180

~ 0 00

Page 4: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1

or, 200

210

Buffer sensor data using a telemetry processor for at least:• receiving a frame of sensor data using a first communications

interface and a second communications interface of a plurality ofcommunications interfaces of the telemetry processor,

• receiving a signal indicating an end of the frame of sensor datausing a third communications interface of the plurality ofcommunications interfaces, and

• storing the received frame of sensor data

-- 220

After buffering the sensor data, the telemetry processor generatingan encapsulated data packet including a single encapsulated datapacket header, the buffered sensor data, and a plurality of 'identifiersidentifying a ,plurality of telemetry devices providing the sensor data,where a format of the encapsulated data packet complies with aConsultative Committee for Space Data Systems (CCSDS) standard

230

Send the encapsulated data packet using a fourth communicationsinterface and a fifth communications interface of the plurality ofcommunications interfaces of the telemetry processor

FIG. 2

Page 5: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent Jan. 16, 2018 Sheet 3 of 15

Vehicle 302

Telemetry Telemetry TelemetryDevice 120 Device 126 Device 128

DCI Data DCI :Date DCI....................130 310 140 aaaaa'a:aaaa>= 150

Telemetry Processor 110

Data31' 0

Data Stream 320

RI= Receiving Equipment 330

DataDownlinked 310Data 332 ---\ ;«<<; ««

Data310

DestinationDevice (DD)

350

US 9,871,608 B1

~V,-- 300

Page 6: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent Jan. 16, 2018 Sheet 4 of 15

PCM IRIG-106Data Format(--400

Word # Contents

0 Minor Frame Sync Word 410

1' Payload Word 412a

2 Payload Word 412b

N-1 Payload Word 412c

N Minor Frame Sync Word 420

N+1 Payload Word 422a

N+2 Payload Word 422b

. ■ ■ ■ ■ ■

2N-1 Payload Word 422c

... .. .

FIG. 4

US 9,871,608 B1

MajorFrame402

0

v

Page 7: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent Jan. 16, 2018 Sheet 5 of 15

Vehicle 302

Telemetry TelemetryD

Telemetry

1301 Device 120C1

Device 126 150 Device 128

Data Sigs SCI SCI r. _ «3100 510 134 2 1= 144

Telemetry Processor 110

Data310

Data Stream 520<

Transmitter 174

Data310 Downlink

(RF)«<<««< 176

RF Receiving Equipment 320

DataDownlinked 310Data 532--, mmm

Ground Station 180

FIG. 5

US 9,871,608 B1

SCI154

M0

if - 500

Page 8: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent Jan.16, 2018 Sheet 6 of 15 US 9,871,608 B1

Clock Signal610

TimingDiagram600

Data Signal620

End of Frame- Pulse 632

Minor Frame Signal630

Discrete Channel #1 Signal640

1

0

1

0Discrete Channel #2 Signal 650

Time

FIG. 6

Page 9: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

TD#1

TD#2

TD#2 Data

Advanced

Data 722_~/ Data726a

726b

Orbi

ting

Systems

M

(AOS)

Tran

sfer

Frames

Transfer

M_PDU

M PL}

P.00001.MPP2+

FrameHeaderf ~dTFHMPH

;TFHMPH

;(CCSDS 732

.0-8

-2)

Header

(MPH)( MPPZ ~2 (482 (1fi

:::::: 7#~7

~3 (483 (1fi

:::::::

?.

720

TFH 1

( )

1 16

(bi

ts)bi

ts)

......

.bi

ts)

bits}

(48 bit

s)bits)

Filled

Data(FD) 724

FD 7 8

AO5 Tra

nsfe

r Frame 1

AOS Tra

nsfe

rAOS Tra

nsfe

r ~%

Channel Access

Frame 2

Frame 3

Data Uni

t (CADU)

-8-2Attached(CCSDS 13

1.0

Sync

'#`FH::::::MPH :::::

::::::::::Pl-

`r°ASM

<li;

HRH:::

::::::

:::::>

<:::::

::::::

:ASM

')1"H

'H::::

::::::

::::'

: °. s

Packets

acke

tsMarker

(ASM) 1;

.. (`

ir47

r(3

i~{

{71723 (3

{€

:::.

.. a

-730

its)

itbi

ts)

`bi

ts)

€::::

::::::::

:::3#€5

bits

)

bits

.::.::..

....::::

. >,,

......

.:::

:.......

....

......

......

....,,.

CADU Packet 1

CADU Packet 2

CADU Packet 3

FIG. 7

Page 10: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

EH

TFH MPH

4 (48 4 (16

bits)

bits

)

Data Message

-, —810

Encapsulation

Packet

--820

800

Ar-

;..;..;..;

..: AOS Tra

nsfe

r Frames wit

h Codewords

Code

`>'

a.', Code

CCSDS 131.0-8-2

ii T--*,. -.. F

.- MP

S;;;

;;;;

>°''

(

)Pa

rity

4'

Pari

ty 5

840

'

... .

(1022+2 >

::::~.::

::•.>>.<

:.;;..::

•.:::

~'~~#>

~' •~

~~',(1022+2

::::..

......

......

......

......

...:..

.. )

CADU

Tran

sfer

Frame

Transfer Frame

ASM

T1=

M1~1

-i14t

1..:~P

facie.;:.;:

Parr 4ASM

::....

.:.;•:

.:::>:

.:»:.:

::><::

P.::.:;(w€

bets)

b#ts)

b#ts)5(32

~`bi

ts)

t!i;

.Y`C

„as

CADU Packet 4

A

CADU Packet 5

Packets

50

]~J

1 Channel Data 852

Clock

Q1

Period E~ Channel

Dela

y 854

Data 856

Page 11: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent Jan.16, 2018 Sheet 9 of 15 US 9,871,608 B1

910

—900

Receive, at a telemetry processor, one or more data messages fromone or more telemetry devices

912

Add source identifier to received data messages using the telemetryprocessor

920

Buffer data messages for predetermined period of time at telemetry

930

Generate encapsulation packet with buffered data messages usingthe telemetry processor

940

uiviae encapsulation packet into one or more mrrc-sizea portionsof data and/or add filling data to complete last MPPZ-sized portionusing the telemetry processor

950

Generate AOS transfer frame(s) with MPPZ-sized portion(s) using thetelemetry orocessor

960

Add codewords to AOS transfer frame(s) using the

970

Generate CADU Packet(s) from AOS transfer frame(s) withcodewords using the telemetry processor

980

Transmit CADU Packet(s) as I Channel Data and Q Channel Datausi'na the telemetry Drocessor

FIG. 9

Page 12: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent

0cum

25

20

im

ME

5

Jan. 16, 2018 Sheet 10 of 15 US 9,871,608 B1

Baseline Baseline with Method 900without LDPC LDPC

FIG. 10

Page 13: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

Graph

iivu

4000 h . ...

......

......

......

..... i ...

......

......

... 1 ...

......

.... I ...

......

I ......

.. I ......

I ......

.....

......

......

......

......

......

..... I ...

......

......

.... I ...

......

... I ...

......

. I ......

.. ~.f...

'.....

. I .... I ...

I

ii

I i ..

------ ------------

-------------------- I

i ------------- i --------- i

-------- I ------ I ------

400

J d m 0 N N d'

N w

40 t- -------------- 1 --

----

---

t ------ J ---- 1

---- J--1

--- L-J --t --

------------- j ----

----

- 1 ------ L ---- 1---

-L--

~-- -

100000

1000000

10000000

Sign

alin

g Ra

te (Bits per Second)

FIG. 11

Page 14: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent Jan. 16, 2018 Sheet 12 of 15 US 9,871,608 B1

-100

Telemetry Device 12

Sensor Data 124 I I Clock 122

DCI 130

Input Data Telemetry

Message(s) Processor 110

1200--

Input ClockData-1202

1132

Data Interleaving Processor 1210

1 Channel Q ChannelData (ICD) CS1 Data (QCD)

1212--,,Clock 164 1214

CS1

I ChannelRS-422 Driver

1220ICD1212

CS1 CS1

ICI1A

Q ChannelRS-422 Driver

1222

1214

QCI172

ICD CS1 (from QC CS2 (from1212 ICCD 170a) 1214 QCCD 172a)

RS-422 Driver (M Mbps) 1230

Transmitter 174

FIG. 12

Page 15: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent Jan. 16, 2018 Sheet 13 of 15 US 9,871,608 B1

ClockPeriod

FIG. 13

Page 16: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent Jan. 16, 2018 Sheet 14 of 15 US 9,871,608 B1

V,-1 400K Devices (K > 1)

Telemetry Device 1410a Telemetry Device 1410b

Sensor Clock Sensor ClockData 1412a 1414a Data 1412b 1414b

Input Telemetry InputInput Data Clock Processor Input Data Clock

Message(s) Data 1420 Message(s) Data1422a 1424a 1422b 1424b

Data Interleaving CS1 CS1 Data InterleavingProcessor 1426a Processor 1426b

ICDa Q'CDa ■ ■ ■ ICDb QCDb1430a 1432a CS1 Clock CS1 1430b 11432b

1 Channel Q Channel I Channel Q ChannelRS-422 RS-422 RS-422 RS-422Driver Driver Driver Driver1440a 1442a ■•■ 1440b 1442b

ICDa S1 CS2a ICDb CS1 CS2b1444 Delay QCDa

1444b Delay QCIn9,n- 1446a antinh' 144

ICDa CS1 CS2a QCDa ICDb CS1 CS21b QCI1444a 1464a 1466a 1446a 1444b 1464b1466b 144

RS-422 Driver 1 (M Mbps) ■ RS-422 Driver K (M Mbps)

M* K Mbps

Transmitter 1470

FIG. 14

Page 17: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

U.S. Patent Jan. 16, 2018 Sheet 15 of 15 US 9,871,608 B1

Computing Device 1500

User Interface Module1501

Network CommunicationsInterface Module 1502

Wireless Interfaces 1507

Wired Interfaces 1508

1505

FIG. 15

One or More ComputerProcessors

1503

Data Storage 1504

Computer-ReadableProgram Instructions

1506

Page 18: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B1

METHODS AND APPARATUS FORAGGREGATION OF MULTIPLE PULSE

CODE MODULATION CHANNELS INTO ASIGNAL TIME DIVISION MULTIPLEXING

STREAM 5

GOVERNMENT LICENSE RIGHTS

This invention was made with Government support undercontract number NNM07AB03C awarded by NASA. The 10

Government has certain rights in this invention.

FIELD

The present disclosure generally relates to processing of 15pulse code modulation channels with telemetry data, andmore particularly to methods and apparatus for aggregationof multiple pulse code modulation channels with telemetrydata into a single time division multiplexing stream.

20

BACKGROUND

Unless otherwise indicated herein, the materials describedin this section are not prior art to the claims in this appli-cation and are not admitted to be prior art by inclusion in this 25section.

Telemetry includes communications of measured dataabout devices operating in an environment that may beremote or hazardous, such as spacecraft, undersea submers-ibles, exploratory craft, and utility meters. The data can be 30transmitted from the devices to receiving equipment locatedat a more accessible place, such as a ground station moni-toring and controlling a spacecraft or a surface vesselmonitoring a submersible. The telemetry data can includeinformation about the device, information about the envi- 35ronment, and/or other measurement data.

Several standards apply to telemetry. For example, theConsultative Committee for Space Data Systems (CCSDS),the International Telecommunications Union (ITU), theInter-Range Instrumentation Group (TRIG), and the Water 40Industry Telemetry Standards (WITS) Protocol StandardsAssociation promulgate several telemetry-oriented stan-dards. Other standards, such as the RS-422 standard pro-mulgated by the American National Standards Institute(ANSI) as "ANSI/TIA/EIA-422-B Electrical Characteristics 45of Balanced Voltage Differential Interface Circuits", alsoknown as the Telecommunications Industry Association/Electrical Industry Association (TIA/EIA) 422 standard, andthe equivalent X.27 Standard promulgated by the ITU, maybe applicable to telemetry as well. 50

SUMMARY

In one aspect, a telemetry processor is described. Thetelemetry processor includes a plurality of communications 55interfaces; one or more computer processors; and datastorage. The data storage stores instructions that, uponexecution by the one or more computer processors, cause thetelemetry processor to perform functions. The functionsinclude: buffering sensor data by at least: receiving a frame 60of sensor data using a first communications interface andclock data using a second communications interface of theplurality of communications interfaces, receiving a signalindicating an end of the frame of sensor data using a thirdcommunications interface of the plurality of communica- 65tions interfaces, and storing the received frame of sensordata in the data storage; after buffering the sensor data,

2generating an encapsulated data packet including a singleencapsulated data packet header, the buffered sensor data,and a plurality of identifiers identifying a plurality of telem-etry devices providing the sensor data, where a format of theencapsulated data packet complies with a Consultative Com-mittee for Space Data Systems (CCSDS) standard; andsending the encapsulated data packet using a fourth com-munications interface and a fifth communications interfaceof the plurality of communications interfaces.In another aspect, a method for sending encapsulated data

packets is described. A telemetry processor buffers sensordata by at least: receiving a frame of sensor data using a firstcommunications interface and a second communicationsinterface of a plurality of communications interfaces of thetelemetry processor, receiving a signal indicating an end ofthe frame of sensor data using a third communicationsinterface of the plurality of communications interfaces, andstoring the received frame of sensor data. After buffering thesensor data, the telemetry processor generates an encapsu-lated data packet. The encapsulated data packet includes asingle encapsulated data packet header, the buffered sensordata, and a plurality of identifiers identifying a plurality oftelemetry devices providing the sensor data, where a formatof the encapsulated data packet complies with a CCSDSstandard. The telemetry processor sends the encapsulateddata packet using a fourth communications interface and afifth communications interface of the plurality of commu-nications interfaces.In another aspect, a non-transitory computer readable

medium is described having stored thereon instructions, thatwhen executed by one or more computer processors of atelemetry processor, cause the telemetry processor to per-form functions. The functions include: buffering sensor databy at least: receiving a frame of sensor data using a firstcommunications interface and clock data using a secondcommunications interface of a plurality of communicationsinterfaces of the telemetry processor, receiving a signalindicating an end of the frame of sensor data using a thirdcommunications interface of the plurality of communica-tions interfaces of the telemetry processor, and storing thereceived frame of sensor data; after buffering the sensordata, generating an encapsulated data packet including asingle encapsulated data packet header, the buffered sensordata, and a plurality of identifiers identifying a plurality oftelemetry devices providing the sensor data, where a formatof the encapsulated data packet complies with a CCSDSstandard; and sending the encapsulated data packet using afourth communications interface and a fifth communicationsinterface of the plurality of communications interfaces.The features, functions, and advantages that have been

discussed can be achieved independently in various embodi-ments or may be combined in yet other embodiments furtherdetails of which can be seen with reference to the followingdescription and drawings.

BRIEF DESCRIPTION OF THE FIGURES

Various examples of particular embodiments aredescribed herein with reference to the following figures,wherein like numerals denote like entities, in which:FIG. 1 is a block diagram of a telemetry system, in

accordance with an example embodiment;FIG. 2 is a flowchart of a method, in accordance with an

example embodiment;FIG. 3 is a block diagram of another telemetry system, in

accordance with an example embodiment;

Page 19: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B13

FIG. 4 is a diagram for a data format, in accordance withan example embodiment;

FIG. 5 is a block diagram of yet another telemetry system,in accordance with an example embodiment;

FIG. 6 is a timing diagram for signals used in the 5

telemetry system of FIG. 5, in accordance with an exampleembodiment;

FIG. 7 is a block diagram of a group of data packets, inaccordance with an example embodiment;

FIG. 8 is a block diagram of another group of data 10packets, in accordance with an example embodiment;

FIG. 9 is a flowchart of another method, in accordancewith an example embodiment;FIG. 10 is another graph of data rates, in accordance with

an example embodiment; 15

FIG. 11 is a graph relating signaling rates to cable lengths,in accordance with an example embodiment;

FIG. 12 is another block diagram of a telemetry system,in accordance with an example embodiment;

FIG. 13 is a plot of data and clock signals, accordance 20with an example embodiment;FIG. 14 is a block diagram of a another telemetry system

in accordance with an example embodiment; andFIG. 15 is a block diagram of a computing device, in

accordance with an example embodiment. 25

DETAILED DESCRIPTION

In some examples herein, techniques for improving recep-tion and transmission of telemetry data are described, such 30as sensor data that can include data about one or moremeasurements generated by one or more sensors associatedwith one or more telemetry devices. The telemetry device(s)can send the telemetry data to a telemetry processor, whichcan format the telemetry data for further transmission. In an 35example where the telemetry processor is aboard a space-craft, the telemetry processor can transmit the formattedtelemetry data to a ground station via a downlink or othertransmission channel. The telemetry data can be used at theground station to monitor the vehicle, to observe the envi- 40ronment, to provide instructions to the vehicle, and/or forother purposes. Other example uses of telemetry devices andtelemetry processors are possible as well.The telemetry processor can receive signals from the

telemetry devices that identify telemetry devices that send 45data, such as messages and/or frames of telemetry data, andindicate when a complete message or frame of telemetrydata has been provided. These signals can enable the telem-etry processor to speed data transmission by eliminatingdecoding the received telemetry data before transmission. 50Each message or frame of telemetry data can include PulseCode Modulation (PCM) data formatted according to anIRIG-106 standard. The data can be transmitted from atelemetry device to the telemetry processor via one or moredata communication interfaces (DCIs), while the signals can 55be transmitted to the telemetry processor via one or moresignaling communication interfaces (SCIs). The signals sentover the signaling communication interfaces can include anend-of-frame signal and one or more discrete channel sig-nals that can indicate an identifier and/or other information 60about the telemetry device. By using the end-of-frame anddiscrete channel signals, the telemetry processor can reduceor even eliminate decoding of received PCM data.

Data that arrives at the telemetry processor can be subjectto a time requirement, such as a realtime telemetry constraint 65that data received at the telemetry processor has to betransmitted to ground station via a downlink within a

_►,

predetermined maximum period of time, such as 100 mil-liseconds. The telemetry processor can buffer data receivedfrom multiple telemetry devices for a buffering period thatis a portion of the maximum period of time; e.g., a valuebetween 10 and 30 milliseconds.In some scenarios, telemetry data is transmitted in fixed-

sized amounts, such as a 7072 bit amount for a multiplexingprotocol data unit (M_PDU) within an Advanced OrbitingSystems (AOS) Transfer Frame specified by CCSDS 732.0-B-2. By buffering the data during the buffering period oftime, the likelihood that enough telemetry data will arriveduring the buffering period to fill an M_PDU or other dataunit increases, thereby decreasing the amount of filled (e.g.,unused) data that will be transmitted in the data unit andreducing consequent overhead for data transmission. As thetelemetry data being transmitted may be received from anumber of telemetry devices; e.g., as a number of IRIG-106formatted data frames, generating an AOS transfer framewith buffered data can involving ensuring that buffered datacan include data about which telemetry device(s) provideddata being sent in the AOS transfer frame.The telemetry processor can use multiple pairs of stan-

dard-compliant data interfaces to increase bandwidth fortransmission of telemetry data, such as two or more pairs ofRS-422 interfaces, to a transmitter transmitting data to theground station. Each RS-422 interface can transmit using acable, and the maximum data rate is 10 Mbps (megabits persecond) per RS-422 interface for a cable whose length doesnot exceed 40 feet, according to the TIA/EIA-422 standard.Therefore, using a pair of RS-422-compliant data interfacescan effectively double bandwidth for telemetry data trans-mission.Each data interface in a pair of data interfaces can transmit

different data. For example, one data interface of the pair cantransmit even bits of a data source (e.g., bits numbered 0, 2,4, 6 ... ) and the other data interface can transmit odd bitsof the data source (e.g., bits numbered 1, 3, 5, 7 ... ). Theeven bits and odd bits can both separately transmitted whilebeing synchronized using a common clock. The odd bits canbe transmitted based on a clock signal having a predeter-mined clock period of time generated by the common clock,and the odd bits can be based on a delayed clock signalgenerated by delaying the clock signal by a delay period oftime, such 1/2 or another fraction of the predetermined clockperiod. For example, if the predetermined clock period is100 nanoseconds, then the delay period of time can be 50nanoseconds, and the pair of data interfaces can transmit anodd bit and an even bit (for 2 bits every 100 nanoseconds,for a data rate of 20 megabits per second. In this example,odd bit (I channel) data 170b and even bit (Q channel) data172b can be considered to be interleaved between tworespective interfaces 170, 172 and transmitted according toa 50 nanosecond per bit clock from telemetry processor 110to transmitter 174; e.g., having an effective maximum dataoutput rate of 20 megabits/second for the interleaved odd bitand even bit data.FIG. 1 is a block diagram of telemetry system 100, in

accordance with an example embodiment. Telemetry system100 can include telemetry devices 120, 126, 128, telemetryprocessor 110, transmitter 174, and ground station 180.Telemetry devices 120, 126, 128, telemetry processor 110,and transmitter 174 can be operating in an environment,such as aboard a vehicle operating in space, on land, in theair, or sea.

Telemetry processor 110 can be connected to telemetrydevice 120 via communication interfaces, such data com-munication interface 130, clock communication interface

Page 20: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B15

132, and signaling communication interface 134. Similarly,telemetry processor 110 can be connected to telemetrydevice 126 via communication interfaces, such data com-munication interface 140, clock communication interface142, and signaling communication interface 144 and telem- 5

etry processor 110 can be connected to telemetry device 128via communication interfaces, such data communicationinterface 150, clock communication interface 152, and sig-naling communication interface 154. Telemetry processor110 can be connected to transmitter 174 via I channel iointerface (ICI) 170 and Q channel interface (QCI) 172.Further, transmitter 174 can be connected to ground station180 via downlink 176. In some embodiments, some or all ofdata communication interface 130, clock communicationinterface 132, signaling communication interface 134, I 15channel interface 170, Q channel interface 172, and down-link 174 can be replicated for reliability and perhaps otherreasons; e.g., two or more physical data communicationinterfaces can act as one logical data communication inter-face 130, two or more physical signaling communication 20interfaces can act as one logical signaling communicationinterface 132, etc.

FIG. 1 shows that telemetry device 120 can include oneor more sensors that generate sensor data 124, which can betransmitted as sensor data 130a to telemetry processor 110 25via data communication interface 130 and clock 122 that cangenerate clock data that can be transmitted as clock data 132to telemetry processor 110 via clock communication inter-face 132. Telemetry device 120 can generate signals, such asend of message signals 134a and discrete message signals 30134b that can be transmitted to telemetry processor 110 viaclock communication interface 134.

Telemetry processor 110 can include one or more com-puter processors 112, data storage 114, clock 164, and delay166. Data storage 114 can store instructions that, upon 35execution by computer processor(s) 112, cause telemetryprocessor 110 to perform functions. Those functions includebuffering sensor data, such as sensor data 132a. Telemetryprocessor 110 can receive frame(s) of sensor data via datacommunication interfaces 130, 140, and/or 150 and can 40receive clock data via clock communication interfaces 132,142, and/or 152.

Telemetry processor 110 can receive one or more end ofmessage signals 134a indicating an end of a message, frame,packet, or other formatted unit of data; e.g., sensor data, via 45signaling communication interface 134. Telemetry processor110 can also receive one or more discrete signals 134b viasignaling communication interface 134. The one or morediscrete signals 134b include: one or more discrete signalsthat identify a source telemetry device for a frame of sensor 50data; e.g., a signal identifying "ID #1", which refers totelemetry device 120, as a source for data frame 136; one ormore discrete signals that relate to a configuration of atelemetry device; and/or other discrete signals.

Received frames of sensor data can be stored as data 55frames in data storage 114; for example, FIG. 1 shows datastorage 114 storing data frame 136 received from telemetrydevice 120 as indicated by telemetry identifier (Tel. ID.) of"ID #1", which is the identification number (ID) of telemetrydevice 120. Data frame 136 also includes sensor data 1 60(SD1) which can include some or all of sensor data 130a.Also, FIG. 1 shows data storage 114 storing respective dataframes 146 and 156 received from respective telemetrydevices 126 and 128 as indicated by respective telemetryidentifiers of "ID #2" and "ID #3", which are the respective 65identification numbers (ID) of respective telemetry devices126 and 128. Data frames 146 and 156 also respectively

6include sensor data 2 and sensor data 3, which can includesome or all of sensor data transmitted to telemetry processor110 via from respective telemetry devices 126 and 128.

In some embodiments, a data frame can include sensordata that has been buffered for a predetermined period oftime, such as time period 158. Time period 158 can bedetermined as a number N of milliseconds; e.g., N can be anumber in the range between 0 and 100, such as N=20.In other embodiments, sensor data can be associated with

a number of types of telemetry data; e.g., video types, audiotypes, binary types, types associated with particular sensorsand/or observations, other types such as flight operationdata. Suppose a frame of sensor data Fl is associated witha first type of telemetry (or sensor) data Tl. Upon receptionof frame Fl, telemetry processor 110 can buffer frame Fl.Then, telemetry processor 110 can receive another frame ofsensor data F2 that is associated with a second type oftelemetry data T2, where types Tl and T2 differ. Then, afterreceiving sensor data of type T2, telemetry processor 110can generate and send a first-type encapsulated data packetincluding a single encapsulated data packet header and thebuffered type Tl sensor data (e.g., from frame Fl). Telem-etry processor 110 can also generating a second-type encap-sulated data packet including a single encapsulated datapacket header and the buffered type T2 sensor data (e.g.,from frame F2), where formats of both the first-type andsecond-type encapsulated data packets comply with at leastone CCSDS standard.

Then, after buffering the sensor data, telemetry processor110 can generate one or more data frames or packets, suchas CCSDS packets 160 and 162. Each of CCSDS packets160 and 162 includes a respective data frame or data packetheader shown as "Hl" for CCSDS packet 160 and "H2" forCCSDS packet 162 indicated by a format of a data packet ordata frame compliant with a CCSDS standard. For example,one or more encapsulation packets can be generated that arecompliant with CCSDS Standard 133.1-B-2 and the encap-sulated data packet(s) can be included in an AOS transferframe that is compliant with CCSDS Standard 732.0-B-2and/or in a channel access data unit (CADU) compliant withCCSDS Standard 131.0-13-2. In this case, the "Hl" and/or"H2" headers can be transfer frame headers of AOS transferframes compliant with CCSDS Standard 732.0-B-2. Asanother example, one or more of CCSDS packets 160 and162 can be encapsulation packets; then the "Hl" and/or"H2" headers can be encapsulation packet headers compli-ant with CCSDS Standard 133.1-B-2 Other examples ofCCSDS packets 160 and 162 and headers Hl and H2 arepossible.FIG. 1 shows that CCSDS packet 160 can include ID

numbers ID #1 and ID #2, sensor data 1, a portion of sensordata 2; that is, CCSDS packet 160 includes the contents ofdata frame 136 and part of the contents of data frame 146.CCSDS packet 162 can include a portion of sensor data 2 notin CCSDS packet 160, ID number ID #3, and sensor data 3;that is, CCSDS packet 162 includes the portion of thecontents of data frame 146 not in CCSDS packet 160 and thecontents of data frame 156.

Telemetry processor can send CCSDS packets 160 and/or162 to transmitter 174 using I channel interface 170 and Qchannel interface 172. In particular, I channel interface 170can communicate I channel clock data (ICCD) 170a and Ichannel data (ICD) 170b, while Q channel interface 172 cancommunicate Q channel clock data (QCCD) 172a and Qchannel data (QCD)172b. Together, I channel data 170b andQ channel data 172b can include the data of one or more dataframes or packets such as CCSDS Packets 160 and 162. In

Page 21: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B17

some embodiments, I channel interface 170 and Q channelinterface 172 can simultaneously communicate respective Ichannel data 170b and Q channel data 172b to transmitter174.

In particular of these embodiments, each of CCSDS 5

packets 160 and 162 can include even bit data and odd bitdata. Then, I channel interface 170 and Q channel interface172 can simultaneously communicate the data of one ormore data frames and/or packets by sending the odd bit data;i.e., I channel data 170b, via I channel interface 170; and iosending the even bit data; i.e., Q-channel data 172b, via Qchannel interface 172.

Telemetry processor can include clock 164 and delay 166.Clock 164 can generate a clock signal (CS); e.g., clocksignal 1 (CS1) as illustrated in FIG. 1. Clock signal 1 can be 15provided as input to delay 166. Delay 166 can be configuredto generate a clock signal; e.g, clock signal 2 (CS2) asillustrated in FIG. 1. Clock signal 1 can be a periodic signalhaving a predetermined clock period; e.g., 100 nanoseconds;250 nanoseconds, 1 microsecond. Clock signal 2 can be 20generated by delay 166 postponing clock signal 1 by apredetermined delay period of time. The delay period can bebased on the clock period; e.g., one-quarter of the clockperiod, one-half of the clock period, two-thirds of the clockperiod. For example, if the clock period is 100 nanoseconds, 25and the delay period is one-half of the clock period, then thedelay period is 50 nanoseconds.

Sending each of CCSDS packets 160 and 162 can includesending I channel clock data 170a using I channel interface170 that can include data generated from clock signal 1, 30which is generated by clock 164, and can include sending Qchannel clock data 172a using Q channel interface 172 thatcan include data generated from clock signal 2 by delay 164.For example, I channel clock data 170a can include datarepresenting clock signal 1 and Q channel clock data 172a 35can include data representing clock signal 2. I channel clockdata 170a and Q channel clock data 172a can be sentsimultaneously using respective I channel interface 170 andQ channel interface 172 to transmitter 174.

Transmitter 174 can communicate I channel clock data 40170a, I channel data 170b, Q channel clock data 172a,and/or Q channel data 172b to ground station 180 viadownlink 176.

Operational MethodsFIG. 2 is a flowchart of method 200, in accordance with 45

an example embodiment. Method 200 can be performed bya telemetry processor, such as telemetry processor 110, tosend data frames. Method 200 can begin at block 210, wherethe telemetry processor can buffer sensor data by at least:receiving a frame of sensor data using a first communica- 50tions interface and a second communications interface of aplurality of communications interfaces of the telemetryprocessor; receiving a signal indicating an end of the frameof sensor data using a third communications interface of theplurality of communications interfaces; and storing the 55received frame of sensor data, such as discussed herein atleast in the context of FIGS. 1 and 3-6.

In some embodiments, buffering the sensor data caninclude buffering the sensor data for a predetermined periodof time, such as discussed herein at least in the context of 60FIGS. 1 and 3-6.

In other embodiments, buffering the sensor data caninclude receiving a discrete channel of data via the thirdcommunication interface, where the discrete channel of datacan include data identifying a source telemetry device for 65the frame of sensor data, such as discussed herein at least inthe context of FIGS. 1 and 3-6.

8At block 220, the telemetry processor can, after buffering

the sensor data, generate an encapsulated data packet thatincludes a single encapsulated data packet header, the buff-ered sensor data, and a plurality of identifiers identifying aplurality of telemetry devices providing the sensor data,where a format of the encapsulated data packet complieswith a CCSDS standard, such as discussed herein at least inthe context of FIGS. 1 and 7-10.At block 230, the telemetry processor can send the

encapsulated data packet using a fourth communicationsinterface and a fifth communications interface of the plu-rality of communications interfaces, such as discussedherein at least in the context of FIGS. 1, 12, and 13.In some embodiments, sending the encapsulated data

packet using the fourth communications interface and thefifth communications interface can include sending theencapsulated data packet using both the fourth and fifthcommunication interfaces simultaneously, such as discussedherein at least in the context of FIGS. 1, 12, and 13. Inparticular of these embodiments, the encapsulated datapacket can include even bit data and odd bit data. Then,sending the encapsulated data packet using both the fourthand fifth communication interfaces simultaneously caninclude sending the odd bit data via the fourth communica-tion interface and sending the even bit data via the fifthcommunication interface, such as discussed herein at least inthe context of FIGS. 1, 12, and 13.In other particular of these embodiments, the fourth

communications interface and the fifth communicationsinterface can share a common clock generating a first clocksignal and the fifth communications interface can be asso-ciated with a delay device that generates a second clocksignal which differs from the first clock signal. Then, send-ing the encapsulated data packet using both the fourth andfifth communication interfaces simultaneously can includesending first clock data based on the first clock signal via thefourth communication interface and sending second clockdata based on the second clock signal via the fifth commu-nication interface, such as discussed herein at least in thecontext of FIGS. 1, 12, and 13.In particular of the other particular embodiments, the

common clock can be configured to generate the first clocksignal with a predetermined clock period of time and thedelay device can be configured to determine the secondclock signal by delaying the first clock signal for a delayperiod of time, where the delay period is based on one halfof the predetermined clock period, such as discussed hereinat least in the context of FIGS. 1, 12, and 13.In some embodiments, the sensor data can be associated

with a plurality of types of telemetry (or sensor) data, wherethe frame of sensor data is associated with a first type oftelemetry data. Then, method 200 can further include: buff-ering first-type sensor data that is associated with a first typeof the plurality of types of telemetry data; after the bufferingthe first-type sensor data, receiving second-type sensor datathat is associated with a second type of the plurality of typesof telemetry data that differs from the first type of telemetrydata; and after receiving the second-type sensor data: gen-erating a first-type encapsulated data packet including asingle encapsulated data packet header and the bufferedfirst-type sensor data, and generating a second-type encap-sulated data packet including a single encapsulated datapacket header and the second-type sensor data, where for-mats of both the first-type and second-type encapsulateddata packets comply with the CCSDS standard, such asdiscussed herein at least in the context of FIGS. 1 and 6-10.

Page 22: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B1I

Improved Signaling for Telemetry ProcessingFIG. 3 is a block diagram of telemetry system 300, in

accordance with an example embodiment. Telemetry system300 includes vehicle 302 and ground station 180, wherevehicle 302 includes telemetry devices 120, 126, and 128, 5telemetry processor 110, and transmitter 174, and whereground station 180 includes radio frequency (RF) receivingequipment 330, decoder 340, and destination devices (DDs)350, 352, and 354.The system level design implementation of telemetry io

system 300 includes telemetry processor 110 and telemetrydevices 120, 126, and 128. Telemetry processor 110 canreceive data 310 from telemetry device 120 via data com-munication interface 130, receive data 312 from telemetrydevice 126 via data communication interface 140, and/or 15receive data 314 from telemetry device 128 via data com-munication interface 150. Some or all of data 310, 312, and314 can be encoded using pulse code modulation (PCM)included as IRIG-106 formatted data.Upon receiving a frame from a telemetry device, such as 20

data 310, 312, or 314, telemetry processor 110 can addheader information to the received message, where theheader information can identify a telemetry device that sentthe received frame. In some embodiments, the header infor-mation can include, but is not limited to, an identifier of the 25telemetry device that sent the received frame, data about aconfiguration of the telemetry device that sent the receivedframe, a timestamp indicating a time for sending and/orreceiving the frame, and frame sequence information. Forexample, upon receiving data 310 at telemetry processor 30110, telemetry processor can add header information to data310 that includes an identifier of telemetry device 120; e.g.,a value of 1 as FIG. 1 shows that telemetry device 120 hasan "ID" of "1", data about a configuration of telemetrydevice 120, a timestamp indicating when data 310 was 35received at telemetry processor 110, and frame sequenceinformation for data 310. After appending the identifier at abeginning of a received frame, telemetry processor 110 canmultiplex received frames, and reformat the messages into asingle, continuous, CCSDS-compliant format downlink 40telemetry output to the ground station, such as data stream320 and/or downlink 176.

Ground station 180 can receive downlinked telemetrydata as downlink 176 and/or downlinked data 332 to recon-struct the received data into multiple frames of data based on 45the header information in the downlinked telemetry data.Upon receiving the telemetry data in data stream 320 atground station 180 via RE receiving equipment 330, decoder340 can separate out data 310, 312, and 314 from down-linked data 332; i.e., remove CCSDS headers from refor- 50matted CCSDS data in from downlinked data 332. Decoder340 can then reconstruct the received data of downlinkeddata 332 into multiple data streams, shown as in FIG. 3 asdata 310 being provided to destination device 350, data 312being provided to destination device 352, and data 312 being 55provided to destination device 352.

In some embodiments, the multiple data streams caninclude data formatted according to an IRIG-106 format. Inother examples, data 310, 312, and 314 can be provided toone or two destination devices, while in other examples, data 60310, 312, and 314 can be provided to more than threedestination devices. In still other examples, data 310, 312,and 314 can be stored at ground station 180 and laterretrieved by devices, such as one or more of destinationdevices 350, 352, and 354. In even other examples, more, 65fewer, and/or different telemetry devices than telemetrydevices 120, 126, and 128 can provide data; while in still

10other examples, more, fewer, and/or different data can beprovided as part of data stream 320. Many other examplesare possible as well.FIG. 4 is a diagram for data format 400, in accordance

with an example embodiment. Some implementations oftelemetry processor 110 rely on telemetry processor 110 toprocess data received from telemetry devices; e.g., telemetrydevices 120, 126, and/or 128. For example, in PCM IRIG-106 data format 400, one or more synchronization words or"sync words", such as minor frame sync words 410 and 420,are included. Each sync word can represent a beginning ofa frame; for example, PCM IRIG-106 data format 400includes a first frame that starts with one sync word 410 andN-1 payload words 412a, 412b.... 412c, for a total of Nwords in the first frame, and also includes a second framewith N words that start with one sync word 420 and N-1payload words 422a, 422b.... 422c.

Telemetry processor 110 and/or a ground system receiver,such as ground system RE receiving equipment 330, can relyon a "sync word" in order to determine when a beginning orend of a frame, where each frame is expected to include asame type of telemetry data. Telemetry processor 110 canrely on sync words to determine frame boundaries in pack-aging multiple PCM input data frames; e.g., data 310, 312,314 into a single time division multiplexed (TDM) output;e.g., data in downlink 176. Also, ground system RE receiv-ing equipment 330 can rely on sync words to determineframe boundaries to reconstruct multiple PCM data streamsfrom received TDM data.

However, telemetry processor 110 (and/or the groundsystem receiver) can expend a relatively-large amount ofresources merely to find sync words in received data. Also,for correct processing of data in data stream 320 and/ordownlinked data 332, one or more particular sync words canhave to be negotiated between telemetry processor 110 invehicle 302 and ground system RE receiving equipment 330at ground station 180. If a frame in is dropped or corruptedduring transmission between vehicle 302 and ground station180, then ground system RE receiving equipment 330 canhave to reestablish downlink 176 after receiving a correctsync word from telemetry processor 110 causing a delay intransmission.FIG. 5 is a block diagram of telemetry system 500, in

accordance with an example embodiment. Telemetry system500 includes vehicle 302 and ground station 180, wherevehicle 302 includes telemetry devices 120, 126, and 128,telemetry processor 110, and transmitter 174, and whereground station 180 includes RE receiving equipment 330,decoder 340, and destination devices 350, 352, and 354.One technique to reduce or even eliminate reliance on

sync words, which can also reduce design complexity oftelemetry processor 110, involves utilization of the threedata interfaces, such as pairs of RS-422 interfaces, for datatransmission and synchronization between telemetry proces-sor 110 and a telemetry device. Two of the three datainterfaces can be used to communicate sensor data and clockdata, such as data communication interfaces 130, 140, 150and clock communication interfaces 132, 142, 152 of FIG.1 and data communication interfaces 130,140,150 of FIGS.1, 3, and 5. The third data interface can convey signals, suchas end of message signals and signals for one or morediscrete channels that notify telemetry processor 110 abouta current telemetry configuration of a telemetry device, suchas signaling communication interfaces 134,144,154 of FIG.1 and signaling communications interfaces 134, 144, 154 ofFIGS. 1 and 5.

Page 23: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B111

When signaling communication interfaces 134, 144, 154are used, sync words may be unused, when a groundreceiver, such as ground station 180, is not tasked toreassemble received telemetry data in an TRIG format. Eachof signaling communication interfaces 134, 144, 154 canprovide signals indicating the ends of messages, and so syncwords may be replaced by end of message signals incommunications between telemetry devices and telemetryprocessor 110. And for communications between telemetryprocessor 110 and transmitter 174/ground station 180,source identifiers/Data Exchange Message (DEM) identifi-ers discussed below in the context of at least FIGS. 7-9, canrepresent the end of a frame, packet, or message rather thansync words. Thus, use of end of message signals and sourceidentifiers/DEM identifiers to identify the ends of frames,packets, and/or messages can make the use of sync wordsredundant, and so sync words could be eliminated in com-municating telemetry data.More specifically, telemetry devices 120, 126, 128 and

respective data communication interfaces 130, 140, 150 canperform the same tasks in telemetry system 500 as discussedabove in the context of telemetry system 300 to communi-cate respective data 310, 312, 314 to telemetry processor110. In telemetry system 500, telemetry devices 120, 126,128 can utilize respective signaling communication inter-faces 134, 144, 154 to communicate respective end ofmessage signals and signals for one or more discrete chan-nels 510, 512, 514 to telemetry processor 110. Telemetryprocessor 110 can use respective signals 510, 512, 514received over respective signaling communication interfaces134, 144, 154 from respective telemetry devices 120, 126,128 to form data stream 520 from respective data 310, 312,314. Once formed, telemetry processor 110 can provide datastream 520 to transmitter 174.Upon receiving the telemetry data in data stream 520 at

ground station 180 via RE receiving equipment 330, decoder340 can separate out data 310, 312, and 314 from down-linked data 532 as discussed above regarding from down-linked data 332. Decoder 340 can then reconstruct thereceived data of downlinked data 532 into multiple datastreams, shown as in FIG. 5 as data 310 being provided todestination device 350, data 312 being provided to destina-tion device 352, and data 312 being provided to destinationdevice 352. In some embodiments, the multiple data streamscan include data formatted according to an IRIG-106 format.In other examples, data 310, 312, and 314 can be providedto one or two destination devices, while in other examples,data 310, 312, and 314 can be provided to more than threedestination devices. In still other examples, data 310, 312,and 314 can be stored at ground station 180 and laterretrieved by devices, such as one or more of destinationdevices 350, 352, and 354. In even other examples, more,fewer, and/or different telemetry devices than telemetrydevices 120, 126, and 128 can provide data; while in stillother examples, more, fewer, and/or different data can beprovided as part of data stream 520. Many other examplesare possible as well.

FIG. 6 is a timing diagram 600 for signals used bytelemetry system 500, in accordance with an exampleembodiment. Timing diagram 600 depicts clock signal 610,data signal 620, minor frame signal 630, discrete channel #1signal 640, and discrete channel #2 signal 650. Timingdiagram 600 shows interactions between the RS-422 inter-faces and discrete channels. Clock signal 610 and data signal620 can be transmitted using, respectively, a clock commu-nication interface and a data communication interface, suchas clock communication interfaces 132, 142, 152 and data

12communication interfaces 130, 140, 150 discussed above inthe context of FIGS. 1, 3, and 5. A signals communicationinterface can communicate some or all of minor frame signal630, discrete channel #1 signal 640, and discrete channel #2

5 signal 650, such as signals communication interfaces 134,144, 154 discussed above in the context of FIGS. 1 and 5.

Then, using signals such as minor frame signal 630including end of frame pulse 632, discrete channel #1 signal640, and discrete channel #1 signal 650, telemetry processor

10 110 can decode received data, such as data conveyed usingclock signal 610 and/or data signal 620, without scanningcontent, such as data provided in data signal 620. Uponreception of minor frame signal 630, telemetry processor

15 110 can determine if a frame has completed transmittedusing a data communication interfaces if end of frame pulse632 is received; otherwise, telemetry processor 110 candetermine that the frame is still in the process of beingtransmitted (until the next end of frame pulse is received). To

20 generate the end of frame pulse 632, a telemetry device cancause a signaling communication interface output state toswitch from high to low or low to high.

Discrete channels 640, 650 can be used as a monitoringfeature to signal information about a telemetry configura-

25 tion, and an identifier identifying which telemetry device istransmitting data on a data communication interface asso-ciated with a signaling communication interface. Forexample, FIG. 6 shows that discrete channel #1 640 issignaling a value of 1, which can indicate an identifier of 1

30 for a telemetry device sending data to telemetry processor110. FIG. 6 also shows that discrete channel #2 650 issignaling a value of 0, which can indicate a type of telemetrydata equal to zero being sent by a telemetry device totelemetry processor 110. Then, when telemetry processor

35 110 receives end of frame pulse 632, telemetry processor110 can use discrete channels 640, 650 to determine theidentifier identifying which telemetry device just finishedsending a frame of data. Types of telemetry data, such assensor data, are discussed above in more detail at least in the

40 context of FIG. 1. In other examples, a discrete channel cantransmit a configuration value, such as a configuration valueof 0 that indicates normal operation configuration, while aconfiguration value of 1 indicates an erroneous or otherabnormal configuration. Many other signals, values, discrete

45 channels, and/or other data can be communicated using asignaling communication interface.

Aggregating Multi-Source Telemetry Data into a Multi-plexed CCSDS Data StreamFIG. 7 is block diagram 700 of a group of data packets,

50 in accordance with an example embodiment. Block diagram700 includes encapsulation packets 710, 712, AOS transferframes 720, and CADU packets 730.Upon reception of a telemetry data message or data frame,

such as "IRIG-106 TD#1 Framel" shown in encapsulation55 packet 710 or "IRIG-106 TD#2 Framel" shown in encap-

sulation packet 712, telemetry processor 110 can put aheader with an identifier identifying a source, such astelemetry device 120, 126, or 128, of the telemetry datamessage or data frame. The source identifier is shown in

60 encapsulation packet 710 as "DEM #1" representing DataExchange Message (DEM) identifier #1 and is shown inencapsulation packet 712 as "DEM #2" representing DEMidentifier #2. In other embodiments, another source identifiercan be placed into an encapsulation packet; e.g., a network

65 address (i.e., Internet Protocol (IP) address, Media AccessControl (MAC) address) or a name of the source, rather thana DEM identifier.

Page 24: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B113

Telemetry processor 110 can also put an encapsulationheader, shown as "ENCAP Header" (EH) for encapsulationpackets 710 and 712, on the received telemetry data messageor data frame. Each of the encapsulation headers for encap-sulation packets 710 and 712 can be compliant with CCSDS 5

Standard 133.1-B-2. An encapsulation header can include aprotocol version number, a protocol identifier, and one ormore length indicators indicating an amount of data beingencapsulated; e.g., for encapsulation packet 712, the one ormore length indicators can indicate an amount of data used ioto store "DEM #2" and "IRIG-106 TD#2 Framel".

After generating encapsulation packets 710 and 712,telemetry processor 110 can generate AOS transfer frames720, which can be compliant with CCSDS Standard 732.0-B-2. One transfer frame of AOS transfer frames 720 can be 15generated by: generating transfer frame header (TFH) 1 andMultiplexing Protocol Data Unit (M_PDU) header (MPH)1,generating M_PDU Packet Zone (MPPZ) 1 using telemetrydevice (TD) #1 data 722, which is data from encapsulationpacket 710, and filled data (FD) 724, where the combined 20size of data 722 and filled data 724 is a predeterminednumber of bits; e.g., 7072 bits as indicated in FIG. 7. In theexample shown in FIG. 7, the size of encapsulation packet710 and the corresponding size of telemetry device #1 data722 is less than the predetermined number of 7072 bits, so 25filled data 724 is added to data 722 to reach a total size ofthe predetermined number of 7072 bits. Filled data can bedata having all zeroes, all ones, one or more specific values,and/or other unused data.AOS transfer frames 720 also include two other transfer 30

frames having transfer frame headers 2 and 3 and M_PDUheaders 2 and 3. Each of transfer frame headers 1, 2, and 3of the three AOS transfer frames 720 can be transfer frameprimary headers as described in CCSDS Standard 732.0-13-2. In some embodiments, the transfer frame headers 1, 2, and 353 can omit frame header error control data, and so each oftransfer frame headers 1, 2, and 3 can each be 48 bits long.Each of M_PDU headers 1, 2, and 3 can be multiplexingprotocol data unit headers and can be 16 bits long. TheM_PDU headers 1, 2, and 3 can be used to provide data 40about respective M_PDU Packet Zones (MPPZs) 1, 2, and3 of AOS transfer frames 720. Each of MPPZs 1, 2, and 3can contain data, which may termed "Packets" in CCSDSStandard 732.0-B-2, and/or filled data, which may be termed"Idle Data" in CCSDS Standard 732.0-B-2, and can contain 45a predetermined amount of data, such as the "7072 bits"stated in FIG. 7.

In the example shown in FIG. 7, AOS transfer frames 720can include three MPPZs for three AOS transfer frames,with MPPZ 1 containing TD #1 data 722 from telemetry 50device #1 as indicated in encapsulation packet 710 and filleddata 724, as TD #1 data 722 is less than the predeterminednumber of 7072 bits long. MPPZ 2 contains the predeter-mined number of 7072 bits of TD #2 data 726a fromtelemetry device #2 as indicated in encapsulation packet 55712, and MPPZ 3 contains both a portion of TD #2 data 726band filled data 728, as the portion of TD #2 data 726b is lessthan the predetermined number of 7072 bits long. Filled data724 and filled data 728 are added to the end of respectiveMPPZs 1 and 3 to ensure each respective MPPZ has the 60predetermined number of 7072 bits of data. In other embodi-ments, the size of an MPPZ can be longer or shorter than thepredetermined number of 7072 bits.

After generating three AOS transfer frames 720, telemetryprocessor 110 can generate three channel access data unit 65(CADU) packets 730. Each CADU packet of CADU packets730 includes an attached sync marker (ASM) generated as

14indicated by CCSDS Standard 131.0-B-2 and an AOS trans-fer frame. For example, FIG. 7 shows that CADU packets730 include: CADU packet 1 with ASM #1 and AOSTransfer Frame 1, which in turn includes transfer frameheader 1, M_PDU header 1, and M_PDU packet zone 1;CADU packet 2 with ASM #2 and AOS Transfer Frame 2,which in turn includes transfer frame header 2, M_PDUheader 2, and M_PDU packet zone 2; and CADU packet 3with ASM #3 and AOS Transfer Frame 3, which in turnincludes transfer frame header 3, M_PDU header 3, andM_PDU packet zone 3. After generating CADU packets730, telemetry processor 110 can send CADU packets 730to transmitter 174; i.e., using I channel interface 170 and Qchannel interface 172.In some embodiments, telemetry processor 110 can

include data for forward error correction to CADU packets730; e.g., 1024 bits or another predetermined amount of datagenerated using low-density parity check (LDPC) tech-niques and/or randomize data in CADU packets 730 asdescribed in CCSDS Standard 131.0-B-2.One technique to increase efficiency of telemetry proces-

sor 110 in generating data frames and packets can includebuffering multiple input data frames; e.g, IRIG-106 format-ted data, prior to reformatting into the input data frames intoCCSDS-compliant output data packets and/or data frames.By storing more data prior to generating CCSDS-compliantoutput data packets and/or data frames, telemetry processor110 can decrease the amount of filled data used in eachoutput data packet and/or data frame.FIG. 8 is a block diagram 800 of another group of data

packets, in accordance with an example embodiment. Blockdiagram 800 includes data message 810, encapsulationpacket 820, AOS transfer frames 830, 840, CADU packets850, I channel data 852, 1/2 clock period delay 854, and Qchannel data 856. Upon reception of a telemetry data mes-sage or data frame, such as data message 810, telemetryprocessor 110 can put a header with an identifier identifyinga source, such as telemetry device 120, 126, or 128, of thetelemetry data message or data frame. The source identifierof data message 810 is shown in encapsulation packet 820as "DEM #1", which identifies the source of data field (DF)#1 also shown in encapsulation packet 820. Encapsulationpacket 820 also shows data from two other sources thanDEM #1-a source identifier "DEM #2", which identifiesthe source of data in data field #2, and another sourceidentifier "DEM #3", which identifies the source of data indata field #3. In other embodiments, other kinds of sourceidentifiers than DEM IDs can be placed into an encapsula-tion packet, such as discussed above in the context of FIG.7.

After receiving data message 810 and the data in datafields #2 and #3, telemetry processor 110 can also put anencapsulation header onto encapsulation packet 810. Encap-sulation packet 820 can be compliant with CCSDS Standard133.1-B-2. An encapsulation header, such as the encapsu-lation header for encapsulation packet 820, can include aprotocol version number, a protocol identifier, and one ormore length indicators, such as discussed above in thecontext of FIG. 7. FIG. 8 shows that encapsulation packet820 is an encapsulated data packet with a single encapsu-lated data packet header, identifiers DEM #1, DEM #2, andDEM #3 identifying telemetry devices (and/or othersources) that are sources of respective data fields #1, #2, and#3, where data fields #1, #2, and/or #3 can include sensordata and perhaps other kinds of data.

After generating encapsulation packet 820, telemetry pro-cessor 110 can generate AOS transfer frames 830, which can

Page 25: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B115

be compliant with CCSDS Standard 732.0-B-2. One transferframe of AOS transfer frames 830 can be generated by:generating transfer frame header 4 and multiplexing proto-col data unit header 4, generating MPPZ 4 from a firstportion of encapsulation packet 820 that is a predetermined 5

number of bits; e.g., 7072 bits as indicated in FIG. 8.Another transfer frame of AOS transfer frames 830 can begenerated by: generating transfer frame header 5 and mul-tiplexing protocol data unit header 5, generating MPPZ 5from a second portion of encapsulation packet 820 and filled iodata 832, where the second portion of encapsulation packet820 and filled data 832 have a predetermined number of bits;e.g., 7072 bits as indicated in FIG. 8. In other embodiments,the size of an MPPZ can be longer or shorter than thepredetermined number of 7072 bits. 15

For the example shown in FIG. 8, the first portion ofencapsulation packet 820 placed into MPPZ 4 can includethe encapsulation header, DEM ID #1, data field #1, DEMID #2, and a portion of data field #2, and the second portionof encapsulation packet 820 placed into MPPZ 5 can include 20a portion of data field #2 not in MPPZ 4, DEM ID #3, anddata field #3. In this example, the size of encapsulationpacket 820 is between the predetermined number of 7072bits and a value twice the predetermined number of bits(e.g., 14144 bits), so filled data 836 is added to MPPZ 5 to 25reach a total size of the predetermined number of 7072 bits.Filled data can be data having all zeroes, all ones, one ormore specific values, and/or other unused data.Each of transfer frame headers 4 and 5 of the two AOS

transfer frames 830 can be transfer frame primary headers as 30described in CCSDS Standard 732.0-B-2. In some embodi-ments, the transfer frame headers 4 and 5 can omit frameheader error control data, and so each of transfer frameheaders 4 and 5 can each be 48 bits long. Each of M_PDUheaders 4 and 5 can be multiplexing protocol data unit 35headers and can be 16 bits long. The M_PDU headers 4 and5 can be used to provide data about respective MPPZs 4 and5 of AOS transfer frames 830. Each of MPPZs 4 and 5 cancontain data, which may be termed "Packets" in CCSDSStandard 732.0-B-2, and/or filled data, which may be termed 40"Idle Data" in CCSDS Standard 732.0-B-2, and can containa predetermined amount of data, such as the "7072 bits"stated in FIG. 8. In other embodiments, AOS transfer frames830 can asynchronously encapsulate data provided to telem-etry processor 110 and/or can multiplex the provided data an 45order other than an order of data field #1 followed by datafield #2 followed by data field #3.

FIG. 8 illustrates that dividing an encapsulation packet(e.g., encapsulation packet 810) into MPPZ-sized portionsof data can involve aggregating multiple telemetry data 50messages from multiple different telemetry devices; e.g.,data message 810 with data field #1 from a first telemetrydevice associated with DEM #1, a data message with datafield #2 from a second telemetry device associated withDEM #2, and a data message with data field #3 from a third 55telemetry device associated with DEM #3. Then, MPPZ 4 ofAOS transfer frames 830 aggregates multiple telemetry datamessages from multiple different telemetry devices; e.g,context of data message 810 from the first telemetry deviceand a portion of a data message from the second telemetry 60device. MPPZ 5 of AOS transfer frames 830 also aggregatesmultiple telemetry data messages from multiple differenttelemetry devices; e.g., content of a remaining portion of thedata message from the second telemetry device and the datamessage from the third telemetry device. 65

Codeword data can be added to each of the two AOStransfer frames 830 to form AOS transfer frames with

16codewords 840. The codeword data, represented in FIG. 8 ascode parity 4 and code parity 5, can include 1022 parity bitsplus 2 zero fill bits per transfer frame for a total of 1024 bitsfor each of code parities 4 and 5. Low-density parity codingcan be used to form code parity 4 and 5 as indicated inCCSDS Standard 131.0-B-2 In some embodiments, codeparities 4 and/or 5 can be determined using low-densityparity coding a code rate of 7/8. In other embodiments, oneor more codewords of 8160 bits can be used.

After generating two AOS transfer frames with code-words 840, telemetry processor 110 can generate two CADUpackets 850. Each CADU packet of CADU packets 850includes an attached sync marker generated as indicated byCCSDS Standard 131.0-B-2 and an AOS transfer frame. Forexample, FIG. 8 shows that CADU packets 850 include:CADU packet 4 with ASM #4 and AOS Transfer Frame 4,which in turn includes transfer frame header 4, M_PDUheader 4, M_PDU packet zone 4, and code parity 4, andCADU packet 5 with ASM #5 and AOS Transfer Frame 5,which in turn includes transfer frame header 5, M_PDUheader 5, M_PDU packet zone 5, and code parity 5.

After generating CADU packets 850, telemetry processor110 can determine I channel data 852 and Q channel data856 from CADU packets 850. Telemetry processor 110 candetermine I channel data 852 using a clock signal providedby a clock, such as clock signal CS1 provided by clock 164,to select I channel data as odd bit data from CADU packets850 at a rate indicated by clock signal CS1. Telemetryprocessor 110 can determine Q channel data 856 by delayingthe clock signal provided by the clock using a delay, such asdelaying clock signal CS1 provided by clock 164 by a delayamount, such as '/2 clock period delay 854 indicated in FIG.8, where the delay amount can be introduced using a delay,such as delay 166. Telemetry processor 110 can then selectQ channel data as even bit data from CADU packets 850 ata rate indicated by clock signal CS2. Telemetry processor110 can provide I channel data 852 and Q channel data 856to transmitter 174; i.e., using I channel interface 170 and Qchannel interface 172, respectively.In some embodiments, telemetry processor 110 can ran-

domize data in CADU packets 850 as described in CCSDSStandard 131.0-13-2. In embodiments, where codewords inCADU packets are randomized, attached sync markers, suchas ASM 4 and ASM 5, may not be randomized.FIG. 9 is a flowchart of method 900, in accordance with

an example embodiment; Method 900 can be carried out bya telemetry processor, such as telemetry processor 110, tosend CADU packets. Method 900 can begin at block 910,where the telemetry processor can receive one or more datamessages from one or more telemetry devices. For example,the telemetry processor can receive data message(s) such asdata message 810 from telemetry device(s) such as telemetrydevices 120, 126, and/or 128.At block 912, the telemetry processor can add a source

identifier to each data message received at block 910. Thesource identifier can identify a source of the data message,such as a telemetry device that send the data message, andcan be or include a DEM ID and/or other source identifiersuch as discussed above at least in the context of FIG. 7.At block 920, the telemetry processor can buffer (or store)

the received data messages for a predetermined period oftime. For example, during the predetermined period of time,the telemetry processor can receive multiple messages. Insome cases, the telemetry processor can combine multipledata messages received during the predetermined period oftime; e.g., if two data messages of the same type of telemetrydata are received from the same source, then the telemetry

Page 26: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B117

processor can combine the two data messages. In somecases, data can be received at the telemetry processor as adata stream rather than in discrete messages then, thetelemetry device can buffer data received in the data streamfor the predetermined period of time.By buffering the received data messages for the predeter-

mined period of time, a larger payload of data can be created.Then, CCSDS overhead can be reduced due to reducing theamount of filled data and/or the number of CCSDS framesand/or packets (and thereby the number of headers andfooters in the CCSDS frames and/or packets). By reducingfilled data and packet headers/footers in transmitted CCSDSframes and/or packets, the telemetry processor improveoverall transmission efficiency of a communication link;e.g., efficiency of downlink 176 to ground station 180.

In some embodiments, the predetermined period of timecan specified as a fixed amount of time; e.g., 20 millisec-onds. In other embodiments, the predetermined period oftime is determined based on a maximum amount of timeallocated to transmit telemetry data; e.g., the predeterminedperiod of time can be determined as a percentage of themaximum amount of time allocated to transmit telemetrydata. For example, if the maximum amount of time allocatedto transmit telemetry data is 150 milliseconds and bufferingis allowed for up to 20% of the maximum amount of time,then the predetermined amount of time (to buffer data) canbe determined to be 30 milliseconds. Other techniques forcalculating the predetermined period of time are possible aswell.At block 930, the telemetry processor can generate an

encapsulation packet using the buffered data messages; e.g.,generate encapsulation packet 820 using data messages 810.In some embodiments, the telemetry processor can generatea new encapsulation packet whenever a data message for anew type of telemetry data is received. In particular embodi-ments, a type of telemetry data can be determined based ona virtual channel assignment. Types of telemetry data arediscussed above in more detail in the context of FIG. 1. Forexample, suppose that during the predetermined period oftime, the telemetry processor receives five data messages:DM1, DM2, DM3, DM4, DM5, from respective sources S1,S2, S3, S1, S2, and the data messages include data of havingtypes of telemetry data of T1, T1, T2, T1, T2. For thisexample, the telemetry processor can generate two encap-sulation packets—one encapsulation packet EP1 storingdata from data messages DM1, DM2, and DM4 as all beingtype T1 data, and one encapsulation packet EP2 storing datafrom data messages DM3 and DM5 as all being type T2data. Other examples are possible as well.At block 940, the telemetry processor can divide the

encapsulation packet(s) determined at block 930 into one ormore MPPZ-sized portions of data and/or add filling data tocomplete a last MPPZ-sized portion. Continuing theexample above, suppose encapsulation packet EP1 was14144 bits long, encapsulation packet EP2 was 14000 bitslong, and a size of an MPPZ is 7072 bits. Then, the telemetryprocessor can divide encapsulation packet EP1 into twoMPPZ-sized portions MP1 and MP2 without adding fill-ing data, as encapsulation packet EP1 is exactly twice the7072-bit size of an MPPZ. The telemetry processor candivide encapsulation packet EP2 into two MPPZ-sized por-tions MP3 and MP4 where MP3 includes 7072 bits ofdata from EP2 and MP4 includes the remaining 6928 bitsfrom encapsulation packet EP2 plus 144 bits of filing data tocomplete the last 7072-bit sized MPPZ portion of data MP4.At block 950, the telemetry processor can generate AOS

transfer frame(s) from the MPPZ-sized portions) of data

18determined at block 940; e.g., generate AOS transfer frames720 or 830 using the MPPZ-sized portions of data. AOStransfer frame formatting and generation are discussed inmore detail above in the context of at least FIGS. 7 and 8.

5 At block 960, the telemetry processor can add codewordsto AOS transfer frame(s) determined at block 950; e.g.,generate AOS transfer frames with codewords 840. AOStransfer frames with codewords are discussed in more detailabove in the context of at least FIG. 8.

10 At block 970, the telemetry processor can generateCADU Packet(s) from AOS transfer frame(s) with code-words determined at block 960; e.g., generate CADU pack-ets 850 from AOS transfer frames with codewords 840.CADU packets with codewords are discussed in more detail

15 above in the context of at least FIG. 8. In some embodi-ments, codewords are unused; in these embodiments, thetelemetry processor can complete the processing of blocks910-950, omit block 960, and complete the processing ofblock 970 example CADU packets without codewords are

20 shown as CADU packets 730 of FIG. 7.At block 980, the telemetry processor can transmit the

CADU Packet(s) determined at block 970 as I Channel Dataand Q Channel Data; e.g., transmit CADU packets 850 as Ichannel data 854 and 856 as discussed above in the context

25 of FIG. 8. Upon completion of block 980, method 900 canbe completed.In some embodiments, implementation of method 900 can

include use of a transmit buffer that is a fixed ratio of thetransmission rate; e.g, two to three times larger than an

30 amount of data stored for the predetermined amount of timethat can be transmitted at the transmission rate. In otherembodiments, implementation of method 900 can includeuse of a transmit buffer that is a fixed size; e.g., a transmitbuffer that is 512 kilobytes, 1 megabyte, 2 megabytes, or 10

35 megabytes.FIG. 10 depicts graph 1000 of data rates, in accordance

with an example embodiment. Graph 1000 includes a Y-axisindicating data output rates in Mbps for three embodimentsof telemetry processor 110 generating data CADU packets,

40 such as CADU packets 730 discussed above in the contextof FIG. 7 or CADU packets 850 discussed above in thecontext of FIG. 8. Graph 1000 indicates the three embodi-ments are entitled "Baseline without LDPC", "Baseline withLDPC", and "Method 900"; that is, respective embodiments

45 of telemetry processor 110 generating CADU packets 730without low-density parity checking, generating CADUpackets 730 with low-density parity checking, and bufferingreceived data messages and generating CADU packets 850with low-density parity checking implementing method 900.

50 Graph 1000 also indicates maximum output rate 1010 of20 Mbps that represents a maximum amount of data that canbe provided using two RS-422 interfaces; e.g., I channelinterface 170 and Q channel interface 172. When low-density parity checking is not used by the "Baseline without

55 LDPC" embodiments, the data output rate is 17.89 Mbpswhich is less than maximum output rate 1010 of 20 Mbps.However, if low-density parity checking is used by the"Baseline with LDPC" embodiments, the data output rate is22.6 Mbps which is exceeds maximum output rate 1010 of

60 20 Mbps. Therefore, in applications where low-densityparity checking is desired and/or required, generatingCADU packets such as CADU packets 730 with low-densityparity checking can exceed telemetry output maxima, suchas maximum output rate 1010.

65 One technique, discussed at least in the context of method900 of FIG. 9, may increase efficiency of telemetry proces-sor 110 in generating data frames and packets by buffering

Page 27: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B119

multiple input data frames; e.g, IRIG-106 formatted data,prior to reformatting into the input data frames into CCSDS-compliant output data packets and/or data frames. By storingmore data prior to generating CCSDS-compliant output datapackets and/or data frames, telemetry processor 110 can 5

decrease the amount of filled data used in each output datapacket and/or data frame.

Graph 1000 of FIG. 10 shows that an implementation oftelemetry processor 110 using method 900 can transmitCADU packets with low-density parity coding at an data iooutput rate or 18.14 Mbps, which is less than maximumoutput rate 1010 of 20 Mbps and the "Baseline with LDPC"implementation's data output rate of 22.6 Mbps. Thus, atelemetry processor 110 implementing method 900 candecrease a data output rate for transmitting CADU packets 15with LDPC by about 4.46 Mbps or about 20% in theexample shown by graph 1000. As such, use of method 900can increase the transmission efficiency of telemetry pro-cessor 110. Further, use of method 900 allows telemetryprocessor 110 to transmit telemetry data with low-density 20parity checking and still stay below the maximum outputrate of 20 Mbps for two RS-422 interfaces.

Parallel Approaches for Increasing Telemetry Data Trans-mission Rates

Telemetry data can be transmitted via a communication 25link, such via a downlink to a ground station. In oneexample, a downlink to a ground station can be a 20 Mbpstransmission link using an RF transmitter and can useRS-422 interfaces for design implementation, where the datacan be transmitted using I/Q interleaving with 90 degree 30phase shifting signal for Quadrature Phase Shift Keying(QPSK), and where downlink data is to be compliant withone or more CCSDS standards, such as CCSDS 131.0-B-2,CCSDS 133.1-B-2, and CCSDS 732.0-B-2 (7/8 LDPC). Thedownlink data can have a time limit, such as 100 millisec- 35onds, to be transmitted from the environment to the groundstation. In some examples, CCSDS overhead can be about20%; that, for a 20 Mbps downlink, CCSDS overhead canconsume about 4 Mbps.A telemetry processor can transmit output data (payload) 40

to an RF transmitter, which can reformat the output data(e.g., by adding CCSDS overhead) and transmitting thereformatted data using I/Q interleaved and modulated sig-nals to the RF transmitter for eventual transmission to theground station If there is only one RS-422 interface between 45a telemetry processor and an RF transmitter, the RS-422interface can be a bottleneck for telemetry data transmission.

FIG. 11 shows graph 1100 relating signaling rates to cablelengths, in accordance with an example embodiment. Graph1100 includes an X-axis indicating signaling rates in bits per 50second (bps) and a Y-axis indicating RS-422 cable lengths infeet. Graph 1100 shows that at a maximum length of 4000feet, an RS-422 cable can enable communications having amaximum signaling rate of 100,000 bps. Graph 1100 alsoshows that at a maximum length of 400 feet, an RS-422 55cable can enable communications having a maximum sig-naling rate of 1,000,000 bps, and further shows that at amaximum length of 40 feet, an RS-422 cable can enablecommunications having a maximum signaling rate of10,000,000 bps. 60

Graph 1100 indicates that one RS-422 interface can havea maximum data rate of 10 Mbps for cable lengths of 40 feet(about 10 meters) or less. However, if a maximum downlinkdata rate is 20 Mbps, one RS-422 interface between atelemetry processor and that is limited to 10 Mbps is 65unlikely to provide enough data to support a downlink datarate of 20 Mbps. As such, multiple RS-422 interfaces can be

20used to provide enough data to fully utilize a 20 Mbpsdownlink. One technique can use multiple RS-422 interfacesoperating in parallel to provide enough data to fully utilizea downlink. More specifically, a telemetry processor, such astelemetry processor 110, can output signals on two or moreRS-422 interfaces operating simultaneously/in parallel,where the signals can include I channel and Q channel datainterleaved with a 90 degree phase shift for QPSK modu-lation, to enable a 20 Mbps transmission rate.

FIG. 12 is a block diagram of a telemetry system 100, inaccordance with an example embodiment. FIG. 12 showsthat: telemetry system 100 includes telemetry device 120,telemetry processor 110, and transmitter 174; telemetrydevice 120 includes clock 122 and sensor data 124; telem-etry processor 110 includes clock 164, delay 166, datainterleaving processor 1210, I channel RS-422 driver 1220,and Q channel RS-422 driver 1230; and transmitter 174includes RS-422 driver 1230.

Data communications interface 130 can communicatedata, such as sensor data 130a, between telemetry device120 and telemetry processor 110 and clock communicationsinterface 132 can communicate clock data 132a betweentelemetry device 120 and telemetry processor 110. Sensordata 130a can be received at telemetry processor 110 as oneor more input data messages 1200 and clock data 132a canbe received at telemetry processor 110 as input clock data1202. Input clock data 1202 can be used to synchronizereception of data in input data message(s) 1200 at telemetryprocessor 110.Both input data message(s) 1200 and input clock data

1202 can be received at data interleaving processor 1210 oftelemetry processor 110. Data interleaving processor 1210can extract bits from input data message(s) 1200 and sendthe extracted bits to both I channel RS-422 driver 1220 andQ channel RS-422 driver 1222, with odd bits of input datamessage(s) 1200 being provided as I channel data (ICD)1212 to I channel RS-422 driver 1220 and even bits of inputdata message(s) 1200 being provided as Q channel data(QCD) 1214 to Q channel RS-422 driver 1222.

I channel RS-422 driver 1220 and Q channel RS-422driver 1222 can be synchronized by clock signal CS1generated by clock 164. Clock signal CS1 can be providedto I channel RS-422 driver 1220, delay 166, and I channelinterface 170 (e.g., directly from clock 164 or via I channelRS-422 driver 1220). Delay 166 can slow clock signal CS1by a predetermined delay period of time, as discussed inmore detail above in the context of at least FIG. 1, togenerate clock signal CS2. Clock signal CS2 can be pro-vided to Q channel RS-422 driver 1222 and Q channelinterface 172 (e.g., directly from delay 166 or via Q channelRS-422 driver 1222). In some embodiments, the predeter-mined delay period can be a period of time that is '/2 of aclock period of clock 164 to provide a 90 degree phaseshifting for QPSK modulation.

Thus, clock 164 can directly or indirectly synchronize allI channel and Q channel data processing and transmission oftelemetry processor 110, as clock 164 can directly generateclock signal CS1 that synchronizes I channel data processingand transmission, and can indirectly generate (via delay 166)clock signal CS2 that synchronizes Q channel data process-ing and transmission. Use of a single clock output e.g., CS1,to synchronize data processing and transmission by telem-etry processor 110 can reduce skew and/or jitter betweenclock and data symbols between the I and Q channels, wherethe skew and/or jitter can occur due to the relatively-highdata rate enabled by I-channel interface 170 and Q-channelinterface 172.

Page 28: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B121

I channel interface 170 can communicate data, such as Ichannel clock data/CS1 170a and I channel data 170b,between telemetry processor 110 and transmitter 174. Qchannel interface 172 can communicate data, such as Qchannel clock data 172a and Q channel data 172b, betweentelemetry processor 110 and transmitter 174. At transmitter174, I channel clock data 170a is used to determine clocksignal CS1, and I channel data 170b is received as I channeldata 1240. At transmitter 174, Q channel clock data 172a isused to determine clock signal CS2, and Q channel data170b is received as Q channel data 1242. Upon reception ofI channel data 1212, Q channel data 1214, CS1, and CS2,RS-422 driver 1230 can provide I channel data 1212 and Qchannel data 1214 to one or more antennas of transmitter174 for RE transmission to ground station 180 and/oranother destination. As indicated by FIG. 12, RS-422 driver1230 can provide data to the one or more antennas at a rateof M Mbps. For example, if CS1 has a clock period of 100nanoseconds and CS2 has a clock period of 50 nanoseconds,then RS-422 driver 1230 can provide data at a 20 Mbps rate,so M=20. Many other examples are possible as well.

FIG. 13 shows plot 1300 of data and clock signals,accordance with an example embodiment. From top tobottom, plot 1300 shows four items: I channel data (ICD),clock signal CS1 used to synchronize I channel data trans-mission, Q channel data (QCD) and clock signal CS2 usedto synchronize Q channel data transmission. Plot 1300 isgenerated with clock period 1310 equal to 100 microsecondsand delay period 1320 equal to 50 microseconds, indicatingthat I channel data and Q channel data are being transmittedat 20 Mbps. Plot 1300 shows that each of ICD, CS1, QCD,and CS2 has good signal integrity, which indicates an REreceiver could receive and perhaps decode telemetry datatransmitted as I channel data and Q channel data withoutdifficulty.FIG. 14 is a block diagram of telemetry system 1400 in

accordance with an example embodiment. Telemetry system1400 includes K telemetry devices 1410a ... 1410b (K>1),telemetry processor 1420, and transmitter 1470. The casewhere K=1 can be seen as telemetry system 100 of FIG. 12.The K telemetry devices 1410a . . . 1410b provide

respective sensor data 1412a ... 1412b to telemetry pro-cessor 1420 via respective data channel interfaces1416a . . . 1416b and provide respective clock data1414a ... 1414b via respective clock channel interfaces1418a ... 1418b; that is telemetry processor 1420 can useat least K data channel interfaces and at least K clockchannel interfaces to communicate with K telemetry devices1410a ... 1410b.

Respective sensor data 1412a ... 1412b can be receivedat telemetry processor 1420 as respective one or more inputdata messages 1422a ... 1422b and respective clock data1414a ... 1414b can be received at respective data inter-leaving processors 1426a ... 1426b of telemetry processor1410 as respective input clock data 1424a . . . 1424b.Respective input clock data 1424a ... 1424b can be used tosynchronize reception of data in respective input data mes-sage(s) 1422a .. . 1424b at respective data interleavingprocessors 1426a ... 1426b of telemetry processor 1420.For example, sensor data 1412b provided by telemetrydevice 1410b to telemetry processor 1420 via data commu-nications interface 1416b can be received as input datamessage(s) 1422b at data interleaving processor 1426b andclock data 1414b provided by telemetry device 1410b totelemetry processor 1420 via clock communications inter-face 1418b can be received as input clock data 1424b at datainterleaving processor 1426b.

OWEach of data interleaving processors 1426a ... 1426b can

extract bits from respective input data message(s)1422a ... 1422b and send the extracted bits to respective Ichannel RS-422 drivers 1440a ... 1440b and Q channel

5 RS-422 drivers 1442a ... 1442b with odd bits of respectiveinput data message(s) 1422a ... 1422b being provided asrespective I channel data 1430a ... 1430b to respective Ichannel RS-422 drivers 1440a ... 1440b and even bits ofrespective input data message(s) 1422a ... 1422b being

io provided as respective Q channel data 1432a ... 1432b torespective I channel RS-422 drivers 1442a ... 1442b. Assuch, telemetry processor 1420 can include at least K datainterleaving processors 1426a ...1426b, at least K I channelRS-422 drivers 1440a ... 1440b, and at least K Q channel

15 RS-422 drivers 1442a ... 1442b.All of I channel RS-422 drivers 1440a ... 1440b and Q

channel RS-422 drivers 1442a ... 1442b can be synchro-nized by clock signal CS1 generated by clock 1428. Clocksignal CS1 can be provided to I channel RS-422 drivers

20 1440a ... 1440b, at least K delays 1450a ... 1450b, and atleast K I channel interfaces 1460a ... 1460b (e.g., directlyfrom clock 1428 or via respective I channel RS-422 drivers1440a ... 1440b). Delays 1450a ... 1450b can slow clocksignal CS1 by a predetermined delay period of time, as

25 discussed in more detail above in the context of at least FIG.1, to generate respective clock signals CS2a ... CS2b. Clocksignals CS2a ... CS2b can be provided to respective Qchannel RS-422 drivers 1442a ... 1442b and at least Krespective Q channel interfaces 1462a . . . 1462b (e.g.,

so directly from respective delays 1450a or via respective Qchannel RS-422 drivers 1442a ... 1442b).In some embodiments, the predetermined delay period

can be a period of time that is 1/2 of a clock period of clock1428 to provide a 90 degree phase shifting for QPSK

35 modulation. In other embodiments, telemetry processor1420 can include only one delay for generating clock signalCS2 and clock signal CS2 can be fanned out to Q channelRS-422 drivers 1442a ... 1442b and Q channel interfaces1462a ... 1462b in a similar fashion as clock signal CS1 is

40 fanned out to I channel RS-422 drivers 1440a ... 1440b andI channel interfaces 1460a ... 1460b.

Thus, clock 1428 can directly or indirectly synchronize allI channel and Q channel data processing and transmission oftelemetry processor 1420, as clock 1428 can directly gen-

45 erate clock signal CS1 that synchronizes I channel dataprocessing and transmission, and can indirectly generate(via delays 1450a ... 1450b) clock signals CS2a CS2b thatsynchronizes Q channel data processing and transmission.Use of a single clock output e.g., CS1, to synchronize data

50 processing and transmission by telemetry device 1420 canreduce skew and/or jitter between clock and data symbolsbetween the I and Q channels, where the skew and/or jittercan occur due to the relatively-high data rate enabled byI-channel interfaces 1460a ... 1460b and Q-channel inter-

55 faces 1462a ... 1462b.At least K I-channel interfaces 1460a . .. 1460b can

communicate data, such as respective I channel clock data/CS1 1464a . . . 1464b and respective I channel data1444a ... 1444b, between telemetry processor 1420 and

60 transmitter 1470. At least K Q channel interfaces1462a ... 1462b can communicate data, such as respectiveQ channel clock data/clock signals CS2a . . . CS2b1464a ... 1464b and respective Q channel data 1446a ...1446b, between telemetry processor 1420 and transmitter

65 1470. At transmitter 1470, I channel clock data 1464a ...1464b is used to determine clock signal CS1 and Q channelclock data 1466a ... 1466b is used to determine clock

Page 29: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B123

signals CS2a .. . CS2b. Upon reception of respective Ichannel data 1444a ... 1444b, respective Q channel data1446a ... 1446b, clock signal CS1, and respective clocksignal CS2a CS2b, at least K respective RS-422 drivers1472a . . . 1472b can provide respective I channel data1444a ... 1444b and respective Q channel data 1446a ...1446b to one or more antennas of transmitter 1470 for REtransmission to ground station 180 and/or another destina-tion. As indicated by FIG. 14, each of the at least K RS-422drivers 1472a ... 1472b can provide data to the one or moreantennas at a rate of M Mbps for a combined data rate ofM*K Mbps. For example, suppose K=3, CS1 has a clockperiod of 100 nanoseconds, and each of CS2a ... CS2b hasa clock period of 50 nanoseconds. Then each one of RS-422drivers 1472a ... 1472b can provide data at a 20 Mbps rate,so M=20. Additionally, the combined data rate can be K*MMbps=3*20 Mbps-60 Mbps. Many other examples arepossible as well.Example Computing DeviceFIG. 15 is a block diagram of a computing device 1500,

in accordance with an example embodiment. Computingdevice 1500 can include user interface module 1501, net-work-communication interface module 1502, one or morecomputer processors 1503, and data storage 1504, all ofwhich may be linked together via a system bus, network, orother connection mechanism 1505, in accordance with anexample embodiment. In particular, computing device 1500can be configured to perform one or more functions relatedto: telemetry systems 100, 300, 1400, telemetry processor110, telemetry devices 120, 126, 128, transmitter 174,ground station 180, vehicle 302, and/or methods 200, 900. Insome embodiments, computing device 1500 can be a mobileor non-mobile computing device, and can be embodied asone or more of: desktop computer, laptop or notebookcomputer, personal data assistant (PDA), mobile phone,smart phone, smart watch, embedded processor, and/or anysimilar device that is equipped with at least one processingunit capable of executing machine-language instructionsthat implement at least part of the herein-described tech-niques and methods, including but not limited to methods200 and/or 900.

User interface 1501 can receive input and/or provideoutput, perhaps to a user. User interface 1501 can beconfigured to send and/or receive data to and/or from userinput from input device(s), such as a keyboard, a keypad, atouch screen, a touch pad, a computer mouse, a track ball, ajoystick, a game controller, and/or other similar devicesconfigured to receive user input from a user of computingdevice 1500. User interface 1501 can include output displaydevices, which can include, but are not limited to, one ormore: cathode ray tubes (CRTs), liquid crystal displays(LCDs), light emitting diodes (LEDs), displays using digitallight processing (DLP) technology, printers, light bulbs,and/or other devices capable of displaying visual outputs(e.g., graphical, textual, and/or numerical information). Userinterface module 1501 can also be configured with one ormore devices to generate audible output(s), such as aspeaker, speaker jack, audio output port, audio outputdevice, earphones, and/or other similar devices configured toconvey sound and/or audible information to a user ofcomputing device 1500.

Network-communication interface module 1502 can beconfigured to send and receive data over wireless interfaces1507 and/or wired interfaces 1508 via a network. Wirelessinterface(s) 1507 if present, can utilize an air interface, suchas a Bluetooth®, ZigBee®, Wi-Fi, and/or WiMAX interfaceto a data network, such as a wide area network (WAN), a

MElocal area network (LAN), one or more public data networks(e.g., the Internet), one or more private data networks, or anycombination of public and private data networks. Wiredinterface(s) 1508, if present, can comprise a wire, cable,

5 fiber-optic link and/or similar physical connection to a datanetwork, such as a WAN, a LAN, one or more public datanetworks, such as the Internet, one or more private datanetworks, or any combination of such networks.In some embodiments, network-communication interface

io module 1502 can be configured to provide reliable, secured,and/or authenticated communications. For each communi-cation described herein, information for ensuring reliablecommunications (i.e., guaranteed message delivery) can beprovided, perhaps as part of a message header and/or footer

15 (e.g., packet/message sequencing information, encapsula-tion header(s) and/or footer(s), size/time information, andtransmission verification information such as CRC and/orparity check values). Communications can be made secure(e.g., be encoded or encrypted) and/or decrypted/decoded

20 using one or more cryptographic protocols and/or algo-rithms, such as, but not limited to, DES, AES, RSA, Diffie-Hellman, and/or DSA. Other cryptographic protocols and/oralgorithms can be used as well as or in addition to thoselisted herein to secure (and then decrypt/decode) communi-

25 cations.Computer processor(s) 1503 can include one or more

central processing units, computer processors, mobile pro-cessors, digital signal processors (DSPs), GPUs, micropro-cessors, computer chips, programmable processors, multi-

30 core processors, and/or other processing units configured toexecute machine-language instructions and process data.Processor(s) 1503 can be configured to execute computer-readable program instructions 1506 that are contained indata storage 1504 and/or other instructions as described

35 herein.Data storage 1504 can include one or more physical

and/or non-transitory storage devices, such as read-onlymemory (ROM), random access memory (RAM), remov-able disk drives, hard drives, thumb drives, magnetic-tape

40 memory, optical-disk memory, flash memory, volatile stor-age devices, non-volatile storage devices, and/or other stor-age devices. Generally, a storage device is hardware that iscapable of storing information; for example, data, computer-readable program instructions, and/or other suitable infor-

45 mation on a temporary basis and/or a permanent basis. Datastorage 1504 can include one or more physical and/ornon-transitory storage devices with at least enough com-bined storage capacity to contain computer-readable pro-gram instructions 1506 and any associated/related data

50 structures. In some embodiments, some or all of data storage1504 can be removable, such as a removable hard drive,removable disk, or flash memory.

Computer-readable program instructions 1506 and anydata structures contained in data storage 1504 include com-

55 puter-readable program instructions executable by processor(s) 1503 and any storage required, respectively, to performat least part of herein-described scenarios and methods,including but not limited to methods 200 and/or 900. Com-puter-readable program instructions 1506 can include

60 instructions that when executed by processor(s) 1503 toperform functions, including but not limited to herein-described functionality of software, displays, and/or userinterfaces.

Other components shown in FIG. 15 can be varied from65 the illustrative examples shown. Generally, the different

embodiments can be implemented using any hardwaredevice or system capable of running program code.

Page 30: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B125

Disclosed embodiments are described above with refer-ence to the accompanying drawings, in which some, but notall of the disclosed embodiments may be shown. Indeed,several different embodiments may be described and shouldnot be construed as limited to the embodiments set forth 5

herein. Rather, these embodiments are described so that thisdisclosure are thorough and complete and convey the dis-closure at least to those skilled in the art.The present disclosure is not to be limited in terms of the

particular embodiments described in this application, which ioare intended as illustrations of various aspects. Many modi-fications and variations can be made without departing fromits spirit and scope, as will be apparent to those skilled in theart. Functionally equivalent methods and apparatuses withinthe scope of the disclosure, in addition to those enumerated 15herein, will be apparent from the foregoing descriptions.Such modifications and variations are intended to fall withinthe scope of the appended claims.

It should be understood that for the processes and meth-ods disclosed herein, flowcharts show functionality and 20operation of possible implementations of respective embodi-ments. In this regard, each block may represent a module, asegment, or a portion of program code, which includes oneor more instructions executable by a processor for imple-menting specific logical functions or steps in the process. 25The program code may be stored on any type of computerreadable medium or data storage, for example, such as astorage device including a disk or hard drive. The computerreadable medium may include non-transitory computerreadable medium or memory, for example, such as com- 30puter-readable media that stores data for short periods oftime like register memory, processor cache and RandomAccess Memory (RAM). The computer readable mediummay also include non-transitory media, such as secondary orpersistent long term storage, like read only memory (ROM), 35optical or magnetic disks, compact-disc read only memory(CD-ROM), for example. The computer readable media mayalso be any other volatile or non-volatile storage systems.The computer readable medium may be considered a tan-gible computer readable storage medium, for example. 40

In addition, each block in the disclosed flowcharts mayrepresent circuitry that is wired to perform the specificlogical functions in the process. Alternative implementationsare included within the scope of the example embodimentsof the present disclosure in which functions may be executed 45out of order from that shown or discussed, including sub-stantially concurrent or in reverse order, depending on thefunctionality involved, as would be understood by thosereasonably skilled in the art.

The description of the different advantageous arrange- 50ments has been presented for purposes of illustration anddescription, and is not intended to be exhaustive or limitedto the embodiments in the form disclosed. Many modifica-tions and variations will be apparent to those of ordinaryskill in the art. Further, different advantageous embodiments 55may describe different advantages as compared to otheradvantageous embodiments. The embodiment or embodi-ments selected are chosen and described in order to explainthe principles of the embodiments, the practical application,and to enable others of ordinary skill in the art to understand 60the disclosure for various embodiments with various modi-fications as are suited to the particular use contemplated.

The invention claimed is:1. A telemetry processor, comprising: 65

a plurality of distinct communications interfaces, com-prising a first communications interface, a second com-

26munications interface, a third communications inter-face, a fourth communications interface, and a fifthcommunications interface;

one or more computer processors; anddata storage, storing instructions that, upon execution by

the one or more computer processors, cause the telem-etry processor to perform functions that include:buffering sensor data by at least:

receiving a frame of sensor data as modulated datausing the first communications interface and clockdata using the second communications interface,

receiving a signal indicating an end of the frame ofsensor data using the third communications inter-face, wherein the signal indicating the end of theframe of sensor data is separate from the modu-lated data, and

storing the received frame of sensor data in the datastorage;

after buffering the sensor data, generating an encapsu-lated data packet including a single encapsulateddata packet header, the buffered sensor data, and aplurality of identifiers identifying a plurality oftelemetry devices providing the sensor data, whereina format of the encapsulated data packet complieswith a Consultative Committee for Space Data Sys-tems (CCSDS) standard; and

sending the encapsulated data packet using the fourthcommunications interface and the fifth communica-tions interface.

2. The telemetry processor of claim 1, wherein bufferingthe sensor data comprises buffering the sensor data for apredetermined period of time.

3. The telemetry processor of claim 1, wherein sendingthe encapsulated data packet using the fourth communica-tions interface and the fifth communications interface com-prises sending the encapsulated data packet using both thefourth and fifth communications interfaces simultaneously.

4. The telemetry processor of claim 3, wherein the encap-sulated data packet comprises even bit data and odd bit data,and

wherein sending the encapsulated data packet using boththe fourth and fifth communications interfaces simul-taneously comprises:sending the odd bit data via the fourth communications

interface; andsending the even bit data via the fifth communications

interface.5. The telemetry processor of claim 3, wherein the fourth

communications interface and the fifth communicationsinterface share a common clock generating a first clocksignal,

wherein the fifth communications interface is associatedwith a delay device that generates a second clock signalwhich differs from the first clock signal, and

wherein sending the encapsulated data packet using boththe fourth and fifth communications interfaces simul-taneously comprises:sending first clock data based on the first clock signal

via the fourth communications interface; andsending second clock data based on the second clock

signal via the fifth communications interface.6. The telemetry processor of claim 5, wherein the com-

mon clock is configured to generate the first clock signalwith a predetermined clock period of time,

wherein the delay device is configured to determine thesecond clock signal by delaying the first clock signalfor a delay period of time, and

Page 31: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B127

wherein the delay period is based on one half of thepredetermined clock period.

7. The telemetry processor of claim 1, wherein bufferingthe sensor data further comprises:

receiving a discrete channel of data via the third commu-nications interface, wherein the discrete channel of dataincludes data identifying a source telemetry device forthe frame of sensor data.

8. The telemetry processor of claim 1, wherein bufferingthe sensor data further comprises:

receiving a discrete channel of data via the third commu-nications interface, wherein the discrete channel of dataincludes data related to a configuration of a telemetrydevice.

9. The telemetry processor of claim 1, wherein the sensordata is associated with a plurality of types of sensor data,wherein the frame of sensor data is associated with a firsttype of sensor data, and wherein the functions furthercomprise:

buffering first-type sensor data that is associated with afirst type of the plurality of types of sensor data;

after the buffering the first-type sensor data, receivingsecond-type sensor data that is associated with a secondtype of the plurality of types of sensor data that differsfrom the first type of sensor data; and

after receiving the second-type sensor data:generating a first-type encapsulated data packet includ-ing a single encapsulated data packet header and thebuffered first-type sensor data, and

generating a second-type encapsulated data packetincluding a single encapsulated data packet headerand the second-type sensor data, wherein formats ofboth the first-type and second-type encapsulated datapackets comply with the CCSDS standard.

10. A method for sending encapsulated data packets, themethod comprising:

buffering sensor data using a telemetry processor by atleast:receiving a frame of sensor data as modulated data

using a first communications interface and a secondcommunications interface of a plurality of distinctcommunications interfaces of the telemetry proces-sor that comprise the first communications interface,the second communications interface, a third com-munications interface, a fourth communicationsinterface, and a fifth communications interface,

receiving a signal indicating an end of the frame ofsensor data using the third communications inter-face, wherein the signal indicating the end of theframe of sensor data is separate from the modulateddata, and

storing the received frame of sensor data;after buffering the sensor data, the telemetry processor

generating an encapsulated data packet including asingle encapsulated data packet header, the bufferedsensor data, and a plurality of identifiers identifying aplurality of telemetry devices providing the sensor data,wherein a format of the encapsulated data packetcomplies with a Consultative Committee for SpaceData Systems (CCSDS) standard; and

sending the encapsulated data packet using the fourthcommunications interface and the fifth communica-tions interface.

11. The method of claim 10, wherein buffering the sensordata comprises buffering the sensor data for a predeterminedperiod of time.

2812. The method of claim 10, wherein sending the encap-

sulated data packet using the fourth communications inter-face and the fifth communications interface comprises send-ing the encapsulated data packet using both the fourth and

5 fifth communications interfaces simultaneously.13. The method of claim 12, wherein the encapsulated

data packet comprises even bit data and odd bit data, andwherein sending the encapsulated data packet using both

the fourth and fifth communications interfaces simul-10 taneously comprises:

sending the odd bit data via the fourth communicationsinterface; and

sending the even bit data via the fifth communicationsinterface.

15 14. The method of claim 12, wherein the fourth commu-nications interface and the fifth communications interfaceshare a common clock generating a first clock signal,

wherein the fifth communications interface is associatedwith a delay device that generates a second clock signal

20 which differs from the first clock signal, andwherein sending the encapsulated data packet using both

the fourth and fifth communications interfaces simul-taneously comprises:sending first clock data based on the first clock signal

25 via the fourth communications interface; andsending second clock data based on the second clock

signal via the fifth communications interface.15. The method of claim 14, wherein the common clock

is configured to generate the first clock signal with a30 predetermined clock period of time,

wherein the delay device is configured to determine thesecond clock signal by delaying the first clock signalfor a delay period of time, and

wherein the delay period is based on one half of the35 predetermined clock period.

16. The method of claim 10, wherein buffering the sensordata further comprises:

receiving a discrete channel of data via the third commu-nications interface, wherein the discrete channel of data

40 includes data identifying a source telemetry device forthe frame of sensor data.

17. The method of claim 10, wherein the sensor data isassociated with a plurality of types of sensor data, whereinthe frame of sensor data is associated with a first type of

45 sensor data, and wherein the method further comprises:buffering first-type sensor data that is associated with a

first type of the plurality of types of sensor data;after the buffering the first-type sensor data, receiving

second-type sensor data that is associated with a second50 type of the plurality of types of sensor data that differs

from the first type of sensor data; andafter receiving the second-type sensor data:

generating a first-type encapsulated data packet includ-ing a single encapsulated data packet header and the

55 buffered first-type sensor data, andgenerating a second-type encapsulated data packet

including a single encapsulated data packet headerand the second-type sensor data, wherein formats ofboth the first-type and second-type encapsulated data

60 packets comply with the CCSDS standard.18. A non-transitory computer readable medium having

stored thereon instructions, that when executed by one ormore computer processors of a telemetry processor, causethe telemetry processor to perform functions comprising:

65 buffering sensor data by at least:receiving a frame of sensor data as modulated data

using a first communications interface and a second

Page 32: (12) United States Patent (io) Patent No.: US 9,871,608 B1 ......U.S. Patent Jan.16, 2018 Sheet 2 of 15 US 9,871,608 B1, or 200 210 Buffer sensor data using a telemetry processor for

US 9,871,608 B129

communications interface of a plurality of distinctcommunications interfaces of the telemetry proces-sor that comprise the first communications interface,the second communications interface, a third com-munications interface, a fourth communicationsinterface, and a fifth communications interface,

receiving a signal indicating an end of the frame ofsensor data using the third communications inter-face, wherein the signal indicating the end of theframe of sensor data is separate from the modulateddata, and

storing the received frame of sensor data;after buffering the sensor data, generating an encapsulated

data packet including a single encapsulated data packetheader, the buffered sensor data, and a plurality ofidentifiers identifying a plurality of telemetry devicesproviding the sensor data, wherein a format of theencapsulated data packet complies with a CCSDSstandard; and

30sending the encapsulated data packet using the fourth

communications interface and the fifth communica-tions interface.

19. The non-transitory computer readable medium of5 claim 18, wherein sending the encapsulated data packet

using the fourth communications interface and the fifthcommunications interface comprises sending the encapsu-lated data packet using both the fourth and fifth communi-cations interfaces simultaneously.

10 20. The non-transitory computer readable medium of

claim 19, wherein the encapsulated data packet compriseseven bit data and odd bit data, and

wherein sending the encapsulated data packet using boththe fourth and fifth communications interfaces simul-taneously comprises:

is sending the odd bit data via the fourth communications

interface; andsending the even bit data via the fifth communications

interface.