Skip to main content
Horizontal stacked bar showing where an ADAS test vehicle's bandwidth budget is spent, split into cameras, lidar, radar and bus traffic, with the logger uplink limit drawn as a vertical rule crossing the bar, from GSAS Micro Systems India

ADAS Sensor Data Logging: Bandwidth Budgets That Add Up

GSAS Engineering · · 15 min read

ADAS sensor data logging captures raw or compressed camera, radar and lidar streams in a test vehicle alongside bus traffic. Budget it by multiplying horizontal pixels by vertical pixels by frame rate by bits per pixel for each camera, points per second by bytes per point for each lidar, and receive channels by samples by chirps by frame rate by bytes per sample for each radar, then divide by 8 for bytes per second and multiply by 3,600 for bytes per hour. A 1920 by 1080 camera at 30 frames per second and 12 bits per pixel is 746.496 Mbit/s, which is 93.312 MB/s, which is 335.92 GB per hour. Match the capture point, the logger uplink and the sustained media write rate to the total, not to the link rate.

Search for how much data an ADAS test vehicle produces and you get headline numbers: terabytes per day, tens of gigabits per second, a storage figure with a plus sign after it. What you almost never get is the arithmetic behind the headline, so you cannot check it and cannot redo it for the sensor set going into your vehicle next month.

This article is the arithmetic. One formula, worked once in full, and a table where every row is derived on the page from it, so you can substitute your own resolution, frame rate and bit depth. Then the two consequences nobody carries through: where the capture point has to sit, and whether the storage sustains the write rate for the whole drive.

Rule for this page. Any number not derived here is attributed to a named source, listed in full at the end. Decimal units throughout, the same convention as our data logger article: 1 MB is 10 to the power 6 bytes, 1 GB is 10 to the power 9, 1 TB is 10 to the power 12, which is how media is sold and how link rates are quoted.

What an ADAS logging session actually has to capture

Sensor streams and bus traffic are two different problems

Sensor streams are wide and continuous: a camera emits the same bits every frame whether anything happened or not. Bus traffic is narrow and bursty: a CAN frame tells you what a controller decided. Bandwidth belongs almost entirely to the first. Meaning belongs largely to the second.

Why they are logged together, and what that constrains

A perception defect is rarely visible in either stream alone. It is a camera frame, a radar object list and an actuation message disagreeing, and only one timeline shows that. Recording them together forces a single time base across sources with wildly different rates, and every stream through the same aggregation point and storage. The narrow streams cost almost nothing to carry, and are why the wide ones are worth keeping.

Raw sensor data versus perception output

The same sensor can be logged raw, as pixels, point clouds or radar ADC samples; as detections and object lists; or as fused perception output. Volume drops by orders of magnitude at each step, and so does what you can re-run offline, because an object list cannot be fed back through a detector under test. That is a validation decision before it is a storage one.

The bandwidth formula, written out

Worked once in full

For any camera stream:

horizontal pixels x vertical pixels x frames per second x bits per pixel = bits per second

For a 1920 by 1080 imager at 30 frames per second and 12 bits per pixel:

  1. 1920 x 1080 = 2,073,600 pixels per frame.
  2. 2,073,600 x 12 = 24,883,200 bits per frame.
  3. 24,883,200 x 30 = 746,496,000 bits per second, which is 746.496 Mbit/s.

Converting to bytes, and to volume

  1. Divide by 8 bits per byte: 93,312,000 bytes per second, which is 93.312 MB/s.
  2. Multiply by 3,600 seconds in an hour: 335,923,200,000 bytes, which is 335.92 GB per hour.

Every term is linear. Double the frame rate and the answer doubles; four times the pixels and it quadruples. The bits per pixel term is the stored depth, not the imager’s advertised depth, so a raw 12-bit Bayer frame, a 16-bit YUV422 frame and a 24-bit RGB frame from the same sensor give three different answers, all correct for their own container.

Where the formula understates reality

Four things sit on top of the result, and all four push it up.

Blanking. The formula counts active pixels. A link carries horizontal and vertical blanking intervals as well, so the wire rate exceeds the active pixel rate.

Per-frame metadata. Imagers emit embedded metadata lines carrying exposure, gain and frame counters, which are pixels on the link and bytes in the file.

Container overhead. Every stored frame carries a header, and the file carries an index. Small per frame, thousands of frames per minute.

Packetisation. On a network, each packet carries link, network and transport headers, preamble and interframe gap on the wire, and any capture encapsulation header added on the capture path. That cost is per packet, not per byte, so it grows with fragmentation rather than with volume.

No percentages are offered here, because they depend on your container, encapsulation and packet size. Measure yours the way you would measure encapsulation overhead on a bus: capture a known number of frames, divide file size by frame count, use that. Until then, treat the formula’s answer as a floor.

Per-sensor bandwidth table

Every row is derived from a stated configuration using the formula above. Substitute your own numbers into the derivation column and the arithmetic is the same. Decimal units, GB per hour.

Sensor and stated configurationDerivationRaw rateRaw GB/hour
Camera, 1280 x 800, 30 fps, 12 bpp1,024,000 x 12 x 30368.64 Mbit/s (46.08 MB/s)165.89
Camera, 1920 x 1080, 30 fps, 12 bpp2,073,600 x 12 x 30746.496 Mbit/s (93.312 MB/s)335.92
Camera, 1920 x 1080, 30 fps, 16 bpp2,073,600 x 16 x 30995.328 Mbit/s (124.416 MB/s)447.90
Camera, 3840 x 2160, 30 fps, 12 bpp8,294,400 x 12 x 302.985984 Gbit/s (373.248 MB/s)1,343.69
Camera, 3840 x 2160, 60 fps, 12 bpp8,294,400 x 12 x 605.971968 Gbit/s (746.496 MB/s)2,687.39
Lidar, 64 ch x 1,024 columns x 10 rev/s, one return, 16 B/point655,360 points/s x 1683.886 Mbit/s (10.486 MB/s)37.75
Lidar, 10.4 M points/s, 16 B/point10,400,000 x 161.3312 Gbit/s (166.4 MB/s)599.04
Lidar, 10.4 M points/s, 8 B/point10,400,000 x 8665.6 Mbit/s (83.2 MB/s)299.52
Imaging radar, raw cube: 16 RX x 512 samples x 256 chirps x 20 fps, 4 B/complex sample41,943,040 samples/s x 41.342 Gbit/s (167.77 MB/s)603.98
Imaging radar, object list: 256 objects x 32 B x 20 fps163,840 B/s1.311 Mbit/s (0.164 MB/s)0.59
Ultrasonic, 12 sensors x 40 readings/s x 16 B7,680 B/s0.061 Mbit/s (0.0077 MB/s)0.028
GNSS and IMU, 200 Hz x 9 channels x 4 B, plus 10 Hz x 100 B8,200 B/s0.066 Mbit/s (0.0082 MB/s)0.030
100BASE-T1 link, both directions at ceiling2 x 100 Mbit/s200 Mbit/s (25 MB/s)90.00
1000BASE-T1 link, both directions at ceiling2 x 1,000 Mbit/s2 Gbit/s (250 MB/s)900.00
CAN at 500 kbit/s, fully loaded500,000 / 8500 kbit/s (0.0625 MB/s)0.225

Two rows need their configuration explained.

The high lidar row. A public lidar product page states 128 channels of vertical resolution and 10.4 million points per second. Channels multiplied by columns per revolution, by revolutions per second, by returns is what lands there, and the vendor does not publish which combination it used, so take the points-per-second figure and set the bytes per point yourself. A Cartesian point stored as x, y, z and intensity in four 32-bit fields is 16 bytes, and a compact native range and reflectivity encoding is nearer 8. Both rows are shown so the factor of two your storage format costs you is visible. A 10.4 million point per second lidar at 16 bytes per point is 1,331.2 Mbit/s (166.4 MB/s), and at 8 bytes per point it is 665.6 Mbit/s (83.2 MB/s).

The radar rows. Raw ADC data and object lists differ by about a factor of 1,000 on the same sensor, which is why “radar data rate” means nothing without saying which one. Substitute your receive channel count, chirp parameters and frame rate.

The bus rows are link ceilings, not offered load. IEEE 802.3bw Clause 96 specifies 100BASE-T1 as 100 Mbit/s full duplex over a single balanced pair, and IEEE 802.3bp Clause 97 specifies 1000BASE-T1 as 1 Gbit/s the same way; our T1 family guide traces both to the task force documents. Capturing a full duplex link means capturing both directions, hence the doubling. A link that can carry 1 Gbit/s rarely does, so budgeting on the ceiling oversizes the logger and budgeting on last week’s average undersizes it. Measure offered load on your own network, then add margin.

The encoded column

There is no honest single compression ratio for this table, and that is a fact about encoders rather than a gap in the research: they are rate controlled, so the output bit rate is a parameter you set and the quality falls out. The only ratio relationship a standards body publishes is between codecs, not against raw. ITU stated on 25 January 2013 that HEVC, standardised as ITU-T Recommendation H.265, “will need only half the bit rate of its predecessor”, H.264, so at equal perceptual quality the move from H.264 to H.265 roughly doubles whatever ratio you were getting.

The encoded column is therefore a bit rate you choose, with the ratio derived from it:

Encode bit rateMB/sGB/hourRatio against 1920 x 1080 rawRatio against 3840 x 2160 raw
10 Mbit/s1.254.5074.6 to 1298.6 to 1
25 Mbit/s3.12511.2529.9 to 1119.4 to 1
50 Mbit/s6.2522.5014.9 to 159.7 to 1
100 Mbit/s12.545.007.5 to 129.9 to 1

Anyone quoting you a fixed compression ratio for automotive video is quoting their own encoder settings. Ask what bit rate, what codec, what profile, and what the quality target was.

Raw versus compressed: what the decision costs you

What lossy encode removes from a perception regression test

An encoder discards what a human viewer is unlikely to notice, and a detector is not a human viewer. The low-contrast edges, small distant objects and high-frequency texture that decide a marginal detection are what a rate-controlled encoder spends fewest bits on. Re-running a detector against an encoded log tests it against the encoder, not the road.

Lossless and visually lossless, and the honest limits

Lossless encoding reconstructs every original sample, so the evidence question disappears, but the ratios are far lower and vary with scene content rather than with a bit rate you set, which makes the budget harder to predict. Visually lossless means a viewer cannot tell, a claim about human perception and not about a detector. If the log is evidence for a perception decision, visually lossless is not lossless.

Encode latency and whether the log still reflects sensor timing

An encoder adds delay, and if the timestamp written into the file is applied after encoding rather than at capture, every timing conclusion inherits that delay. Timestamp at the capture point, carry it through the encode, and confirm the logger does not restamp.

The common hybrid

Raw for the sensor under investigation, encoded for the surrounding context. It works as long as one thing is written down: which streams were encoded, with what codec and settings. An undocumented encode discovered six months later invalidates the analysis built on it.

Where the capture point has to sit

Uncompressed camera video runs over serialiser links, not over the network, so there is nothing for a packet capture tool to see. Our SerDes camera links article covers the families, rate classes and the record, replay and inject workflow in full. For a bandwidth budget the point is that the raw camera rows above are a sizing bound at the sensor, and a capture point on the Ethernet side sees something different. MIPI publishes A-PHY downlink gears of 2, 4, 8, 12 and 16 Gbit/s in v1.0 and v1.1, roughly what the raw camera rows demand.

Ethernet camera streams

Where video is placed on the vehicle network it is captured as network traffic, with the packetisation overhead noted above and the same tap or mirror decision as any other segment. Budget the encoded rates here, not the raw ones.

In-ECU logging, in-line tap, switch mirror

In-ECU logging is cheap and proves what the ECU believed. An in-line tap proves what was on the wire. A switch mirror proves what the switch chose to forward, and drops silently when the destination port is oversubscribed. Choose by what the recording has to prove.

The aggregation point

Every stream eventually meets one logger uplink, and that uplink is where budgets break. Sum the offered load across every capture point in bits per second and compare it with the uplink rate. If the sum exceeds the uplink, nothing downstream rescues it.

Storage throughput, not just storage capacity

Sustained write rate is the constraint

Datasheets quote burst and cache-assisted figures alongside a sustained sequential write rate, and only the last describes an eight-hour drive. Ask for sustained sequential write with the cache exhausted, how it degrades as the media fills, and at the temperature the media will see.

Capacity sizing from the table

Capacity is the easy half: sensors x hours x GB per hour, straight from the table. It is easy enough that programmes size for it and lose frames anyway, because the drive was big enough and the write path was not fast enough.

Removable media, offload and the ingest bottleneck

Offload has to fit in the gap between shifts, and the lab then has to ingest, index and back up what arrives, a data-management problem our telematics unit deep dive picks up at fleet scale. That side of the chain is routinely left out of the budget, and is routinely what limits how many test days a week a programme can run.

Vibration, temperature and power

Vibration, a wide temperature range and an unclean supply narrow the media choice, and thermal throttling turns a datasheet write rate into a lower real one halfway through a summer drive in Pune. Size for the throttled rate.

Worked example: an eight hour test drive

The sensor set

Four cameras at 1920 by 1080, 30 fps, 12 bpp, raw. One camera at 3840 by 2160, 30 fps, 12 bpp, raw. One lidar at 10.4 million points per second, 16 bytes per point. Four imaging radars streaming object lists. Twelve ultrasonic sensors. GNSS and IMU. Two 1000BASE-T1 backbone links captured in both directions at 30 percent offered load. Four CAN buses at 500 kbit/s and 40 percent load.

Row by row

LineDerivationMB/s
4 x 1920 x 1080 cameras4 x 93.312373.248
1 x 3840 x 2160 camera1 x 373.248373.248
Lidar10,400,000 x 16166.400
4 x radar object lists4 x 0.163840.655
Ultrasonic12 x 40 x 160.008
GNSS and IMU7,200 + 1,000 B/s0.008
2 gigabit links, both directions, 30 percent2 x 2 x 1,000 x 0.30 Mbit/s150.000
4 CAN at 40 percent4 x 500 x 0.40 kbit/s0.100
Total1,063.67

Total rate, volume, offload window, media count

  1. Sustained aggregate: 1,063.67 MB/s, which is 8,509.3 Mbit/s, or 8.51 Gbit/s.
  2. Per hour: 1,063.67 x 3,600 = 3,829.20 GB.
  3. Eight-hour shift: 3,829.20 x 8 = 30,633.6 GB, which is 30.63 TB.
  4. Media at 8 TB per removable drive: 30.63 / 8 = 3.83, so four drives per shift, and the count is per shift, not per week.
  5. Offload over a 10 Gbit/s wired path achieving 8 Gbit/s in practice, which is 1 GB/s: 30,633.6 seconds, which is 8.51 hours. Over a 1 Gbit/s path achieving 100 MB/s it is 85 hours.

Read point 5 again. Offloading this drive takes longer than driving it, which decides how many vehicles a programme can run against one ingest bay and never appears in a bandwidth headline. Note also that 8.51 Gbit/s leaves a 10 Gbit/s logger uplink at 85 percent utilisation on the average, with no burst headroom, so this set needs the load split across more than one uplink.

The same set with encode applied

Encode all five camera streams at 50 Mbit/s each. That replaces 746.496 MB/s with 5 x 6.25 = 31.25 MB/s, a ratio of 23.9 to 1 against raw.

  1. New aggregate: 1,063.67 minus 746.496 plus 31.25 = 348.42 MB/s, which is 2.79 Gbit/s.
  2. Per hour: 1,254.32 GB. Eight-hour shift: 10.03 TB.
  3. Media at 8 TB: two drives. Offload at 1 GB/s: 10,034 seconds, under three hours.

All three constraints move together, and one thing changes character. Lidar is now 166.4 of 348.42 MB/s, 47.8 percent of the entire budget, and unlike the cameras there is no point-cloud codec sitting in the logging pipeline as a matter of course, so that 47.8 percent does not have an encoder to hand it to. Encode the cameras and your storage problem becomes a lidar problem.

What changes if one camera goes from 2 MP to 8 MP

Swap one 1920 by 1080 stream for a 3840 by 2160 stream and the raw budget rises by 373.248 minus 93.312, which is 279.936 MB/s. Over eight hours that is 8,062.2 GB, or 8.06 TB added to a single shift by one camera, taking the total to 38.70 TB and the media count to five drives. One line in a sensor specification, one extra drive to carry, and roughly two and a quarter extra hours of offload, taking the window from 8.51 hours to 10.75 hours.

Timestamps and metadata that make the volume useful later

One time base across sensors and buses

Thirty terabytes with an untrustworthy timeline is thirty terabytes of anecdote. Sensor and bus streams have to land on one time base, which in practice means a synchronised network clock and timestamps applied at the capture point. Our multi-bus capture article covers correlation across bus types, and gPTP troubleshooting covers what has to work before any of it holds. Validating the synchronisation itself is a separate exercise, and it belongs before the drive.

Session metadata to record at capture time

Sensor configuration for every stream, because the arithmetic above cannot be rechecked without it. Database and description files by version. Firmware and software versions. Which streams were encoded and with what settings. Route, driver, weather and time. Clock source, and whether the synchronised flag was set.

Indexing and trigger-based extraction

A 30 TB day that can only be read sequentially is not searchable. Build the index during capture, mark events during the drive with a physical marker input, and define trigger conditions in advance so windows can be extracted without a full pass. Bus-level decode alongside the sensor streams is what makes those triggers meaningful, which is where instrument-level bus decode and logger triggers meet.

Five ways bandwidth budgets go wrong

A gigabit link in the budget becomes 900 GB per hour in the sizing while the segment carries a fifth of that. The reverse error is worse: sizing to a measured average from a quiet bench, then meeting the real load on the road.

2. Budgeting on average rather than sustained peak

Sensors burst too, because a frame arrives during the active interval and the link idles through blanking, and buses and event-driven streams burst on top of that. The moment the vehicle does something interesting is the moment the peak arrives. A path sized to the average drops frames exactly when the recording matters.

3. Forgetting the return path and control traffic

Full duplex means two directions, and capturing a link means capturing both. Diagnostic sessions, camera control back channels, time synchronisation messages and logger management traffic all consume budget no per-sensor table lists.

4. Ignoring the offload and ingest side

The worked example took 8.51 hours to offload an eight-hour drive. Programmes plan the in-vehicle chain in detail and discover the lab chain in week three.

5. Treating an encoded log as equivalent evidence to a raw one

The cheapest way to make a budget work is to encode everything, and it is cheap because it quietly changes what the recording can prove. That is a validation decision, and it belongs to the people who own the validation plan, in writing, per stream.

What the published headline figures actually mean

Three widely cited aggregate figures are worth putting through the formula, since that is the whole point of this page.

Eurotech, writing about ADAS engineering challenges, states that total ADAS sensor bandwidth “can reach 40Gbit/s” and that “in less than 8 hours, when stored in raw format, this data would require over 127TB storage”. That reconciles: 40 Gbit/s is 5 GB/s, which is 18 TB per hour, and 127 divided by 18 is 7.1 hours.

Premio, writing about recording raw ADAS data on test drives, cites an Intel estimate of “4TB of data per vehicle per day”. Through the formula, 4 TB over an eight-hour day is 138.9 MB/s, or 1.11 Gbit/s: about one and a half raw 1920 by 1080 camera streams. Over 24 hours it is 370 Mbit/s. A figure that sounds enormous is a modest sensor set once divided by time.

Lexar Enterprise, writing on ADAS memory requirements, states “1.5-3 Gbps of raw image data per camera stream” and, on the same page, that a “6-camera + 4-ultrasonic + 2-radar configuration generates approximately 40+ GB of raw sensor data per hour”. The per-camera figure is reproducible: a 2560 by 1440 imager at 30 fps and 16 bpp is 1.769 Gbit/s by the formula, inside the stated range. The aggregate is not consistent with it. Six streams at 1.5 Gbit/s is 9 Gbit/s, which is 4,050 GB per hour, about a hundred times the stated aggregate. Both cannot describe the same configuration, and there is no arithmetic on the page to say which to use.

That is the case for deriving your own rows. Not because published figures are careless, but because a number without its derivation cannot be checked, adapted, or defended in a design review.

Where GSAS fits

GSAS Micro Systems is an engineering partner, and on ADAS logging the useful conversation happens before anything is specified. The arithmetic on this page is the conversation: your sensor list, resolutions and frame rates, lidar and radar configurations and bus load, run through the same formula until there is a sustained aggregate rate, a per-shift volume, a media count and an offload window your programme can live with.

Three decisions follow from those numbers rather than preceding them. Where the capture point sits for each stream, which is a different answer for a serialiser camera link than for a backbone segment. Whether one logger uplink carries the total or the load has to be split. And what the storage has to sustain, at temperature, with the cache exhausted, for the whole shift. Our applications engineers work in IST, so a working session lands inside your day, and the teams we work with sit in Bengaluru, Pune, Chennai, Hyderabad, Mumbai and Delhi NCR.

Start with the automotive Ethernet capability page, then request a scoped conversation with your sensor list and how long you need to record. If your existing setup already meets the budget once the arithmetic is done, that is a perfectly good outcome and you will hear it from us.

References

Building for Automotive & Mobility?

Talk to our application engineers for personalized tool recommendations.

Frequently asked questions

How much data does one ADAS camera generate per hour?
Work it from the sensor's own numbers rather than from a product page. A 1920 by 1080 imager is 2,073,600 pixels. At 12 bits per pixel that is 24,883,200 bits per frame, and at 30 frames per second it is 746,496,000 bits per second, or 746.496 Mbit/s. Divide by 8 for 93,312,000 bytes per second, which is 93.312 MB/s, and multiply by 3,600 seconds for 335,923,200,000 bytes, which is 335.92 GB per hour in decimal units. A 3840 by 2160 imager at the same frame rate and bit depth is four times that, or 1,343.69 GB per hour. Bit depth is a design choice and it scales linearly too: the same 1920 by 1080 stream stored as 16 bits per pixel is 447.90 GB per hour.
How do I calculate the bandwidth of an automotive camera stream?
Horizontal pixels multiplied by vertical pixels multiplied by frames per second multiplied by bits per pixel gives bits per second. Divide by 8 for bytes per second, multiply by 3,600 for bytes per hour, and use decimal units throughout so the figure compares with how media is sold and how link rates are quoted. Three cautions. The bits per pixel term is the stored depth, so a raw 12-bit Bayer frame, a 16-bit YUV422 frame and a 24-bit RGB frame from the same imager give three different answers. The result counts active pixels only, so blanking intervals, per-frame embedded metadata, container headers and packetisation all sit on top of it. And the answer is a floor, not an estimate, because every one of those omissions pushes the real figure up and none of them pushes it down.
Should ADAS logging store raw sensor data or compressed video?
It depends on what the recording has to prove, and the two are not interchangeable evidence. A perception regression test that re-runs a detector against the log needs the pixels the detector would have seen, and a lossy encoder removes exactly the low-contrast and high-frequency detail that decides marginal detections. Compressed video is fine for context, for driver-facing review and for finding the moment worth investigating. The common resolution is a hybrid: raw for the sensor under investigation, encoded for the surrounding cameras, and a written note in the session metadata saying which streams were encoded and with what settings. Decide per stream, not per vehicle, and record the decision alongside the data.
How much storage does a full day of ADAS test driving need?
Add up the per-sensor rates and multiply. A worked set of four raw 1920 by 1080 cameras, one raw 3840 by 2160 camera, one 10.4 million point per second lidar at 16 bytes per point, four radars streaming object lists, twelve ultrasonic sensors, GNSS and IMU, two gigabit backbone links captured in both directions at 30 percent offered load and four CAN buses at 40 percent load comes to 1,063.67 MB/s. That is 3,829.20 GB per hour, and an eight-hour shift is 30,633.6 GB, which is 30.63 TB in decimal units. Encoding the five camera streams at 50 Mbit/s each drops the same shift to 10.03 TB. Substitute your own sensor set and the method holds.
Can a 1000BASE-T1 link carry a raw 8 MP camera stream?
No. IEEE 802.3bp Clause 97 specifies 1000BASE-T1 as 1 Gbit/s full duplex over a single balanced pair, so the ceiling in one direction is 1,000 Mbit/s. A 3840 by 2160 camera at 30 frames per second and 12 bits per pixel is 2,985.984 Mbit/s of active pixel data before any blanking, container or packetisation overhead, so it needs about three times the link. Even a 1920 by 1080 stream at 746.496 Mbit/s would occupy roughly three quarters of the link with nothing left for headroom, and that is why uncompressed automotive camera video runs on SerDes links rather than on the Ethernet backbone, and why what reaches an Ethernet capture point is usually already encoded.
Where do you tap a GMSL or FPD-Link camera for logging?
Not on the network, because there is not one. These are point to point serialiser and deserialiser links, so their frames never appear in a packet capture and no dissector changes that. You have two physical options. Terminate the link with a deserialiser of the right family, generation and mode and record frames at its output, which gives you real frames to index and replay at the cost of link-layer fidelity, since errors and retrain events survive only as counters. Or probe the conductor with a scope, which is signal integrity work rather than data capture. The first point in the chain that behaves like a network is the aggregation ECU behind the cameras, and by then the stream has usually been encoded.
Why does my logger drop frames even though the drive has enough capacity?
Because capacity and throughput are different specifications and only one of them is binding during the drive. Media is sold on capacity and quoted on a sustained sequential write rate, and both figures can be comfortable while the recording still loses frames, for four reasons that have nothing to do with how full the drive is. Traffic arrives in bursts at line rate rather than at its average, so the buffer in front of the media has to absorb the difference. Rotation, indexing and file close stall the write path briefly and repeatedly. Sustained write rate degrades as the media fills and as it heats up in a vehicle. And loss upstream of the logger, at an oversubscribed mirror port, never reaches the logger's counters at all. Work the chain upstream first.
What metadata has to be recorded alongside an ADAS log for it to be usable later?
Enough that somebody who was not on the drive can reconstruct what the numbers mean. The sensor configuration for every stream, meaning resolution, frame rate, bit depth, lidar rotation rate and return count, radar chirp parameters, because the bandwidth arithmetic above cannot be checked without them. The exact database and description files loaded into the logger, by version, since a signal-level trigger or a decode depends on them matching what the ECUs emit. Firmware and software versions for sensors, ECUs and the logger itself. Which streams were encoded and at what settings. The route, the driver, the weather and the time. And the clock configuration, including which time source the timestamps came from and whether the synchronised flag was set, because a timeline you cannot vouch for makes every correlated conclusion arguable.

Stay in the Loop

Get monthly compliance updates, product insights, and engineering best practices delivered to your inbox.

Related Articles

Master and slave roles on a 100BASE-T1 link: the master PHY times its transmitter from a local clock, the slave recovers the clock from the received signal, with the both-master and both-slave misconfigurations that leave the link down, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

100BASE-T1 Link Won't Come Up: A Vendor-Neutral Checklist

A 100BASE-T1 link that will not come up is almost never a mystery, but the answers on the web are written per silicon vendor and do not transfer. This is the ordered bring-up checklist that holds regardless of which PHY, switch or SoC you have: physical layer first, then the PHY over MDIO, then the master and slave pairing, then the causes of a link that comes up and drops. The standards and tooling claims trace to IEEE 802.3 task force records, the Linux ethtool and kernel documentation or published test material. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 14 min read
Five-step master and slave decision flow for a 100BASE-T1 media converter: read the ECU port role, set the converter to the complement, match the speed, check the wiring, link up, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

100BASE-T1 Media Converters: How to Choose One

Search for a 100BASE-T1 media converter and you get SKU pages that document their own DIP switches, plus a pile of copper-to-fibre converters that have nothing to do with single-pair automotive Ethernet. This is the selection guide neither publishes: what the box does at the PHY layer, when a converter is the wrong box, and the nine criteria that decide fitness, each written as a question to put to the supplier rather than a specification we invented. Standards claims trace to IEEE 802.3 task force records and the public OPEN Alliance specifications. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 13 min read
Side by side comparison of a 10BASE-T1S multidrop mixing segment, one balanced pair with four nodes on short stubs and a termination at each end, against a point to point star of four separate links into switch ports, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

10BASE-T1S and PLCA: Multidrop Ethernet Explained

10BASE-T1S is the one member of the T1 single-pair Ethernet family that keeps a shared medium, and PLCA is the reconciliation sublayer that stops the nodes on it from colliding. This article covers what IEEE 802.3cg standardises, how the beacon and transmit opportunities schedule a cycle, the node count and segment length figures the OPEN Alliance interoperability test suite works to, and the failure modes that put a segment quietly back into contention while every link still looks up. Written by the GSAS Micro Systems engineering team in India for teams bringing up multidrop segments on the bench.

29 Aug 2026 · 12 min read