ATxmega192A3 Heximal Copying: The One With 0x44

Of the four densities in the XMEGA A3 line, three answer with the same value in the third identification field. The 192 KB part does not, and that makes it the one device in the family where a shortcut in an identification routine becomes visible.

A Pattern With One Exception

The A3 devices report three fields. The vendor field is 0x1E on all of them, which is expected and uninformative. The density field steps with capacity: 0x96 at 64 KB, 0x97 for both 128 KB and 192 KB, 0x98 at 256 KB. The third field is 0x42 on the 64A3, 0x42 on the 128A3, 0x42 on the 256A3, and 0x44 on the 192A3.

So the 192A3 reads 1E 97 44. Its neighbour the 128A3 reads 1E 97 42, sharing both the vendor field and the density field, and differing only in the third.

Anyone who writes an identification check as “if density is 0x97 then it is a 128” will misclassify this part. Anyone who writes it as “third field is always 0x42” will do the same. Both shortcuts work on three of the four densities, which is exactly what makes them dangerous: the routine passes every test until the day a 192A3 arrives, and then it fails without warning.

The A1 line has a similar exception in the other direction. The 192A1 reads 1E 97 4E, sharing its density field with the 128A1 at 1E 97 4C. In both families the 192 KB density is the one that breaks the pattern.

What 192 KB Means in Pages

The array is 192 KB of application flash plus an 8 KB boot loader. Pages are 512 bytes, 256 words, giving 384 application pages and 16 boot pages. That is the same page size as the 128A3 and the 256A3, so the addressing split inside the Z pointer is identical and a reader does not need to change.

The page count does need to change. Three hundred and eighty-four pages is one and a half times the 128A3 and three quarters of the 256A3, and a capture that stops at page 255 returns 128 KB while reporting success. The arithmetic check is straightforward: the last application address is 0x2FFFF and the boot loader occupies 0x30000 to 0x31FFF. A file that ends at 0x1FFFF was truncated.

EEPROM and RAM Do Not Scale Together

Data EEPROM is 2 KB across 64 pages of 32 bytes, and SRAM is 16 KB. Compare that with the 256A3, which has 4 KB of EEPROM and the same 16 KB of RAM, and with the 128A3, which has the same 2 KB of EEPROM and half the RAM.

The device is therefore asymmetrical against both neighbours, and any recovery plan that copies a memory layout from one of them will get one dimension wrong. On products that keep meter totals, calibration tables or a cycle counter in EEPROM, that dimension is usually the one the customer cares about most.

Package and Board Context

The A3 line is a 64-lead device, either a thin quad flat package or a QFN with an exposed pad, and it exposes 50 general-purpose lines. Seven serial ports, three SPI channels, two two-wire channels and a single dual-channel digital to analog converter are what fit in that pin budget.

That combination, a mid-size array in a small package, shows up in motor drives, instrument front ends and small panel controllers. Those boards are often still in service after fifteen years, and they are often the ones where the source code has been lost while the customer still has production obligations.

What Should Come Back

Application array as one image, the 8 KB boot loader as a second, the 2 KB of EEPROM as a third, and a written record of the fuse and lock state. Each with a checksum, and two independent reads compared byte for byte before release.

The user signature row deserves the same attention as the array. It is a single page of flash, it is excluded from a chip erase by design, and on a salvaged part it can still carry the previous owner’s serial number or calibration values. Capturing it takes seconds during a read and is impossible afterwards.

When the Array Cannot Be Read

If the global lock field is programmed to the read and write state, the programming interface returns nothing and the work moves to the optical route. That is a laboratory schedule with a different budget, and the reading service explains the difference between the two paths.

The cost breakdown shows which variables actually move a price, and package type is consistently a larger factor than array size. The services overview lists what each delivery contains so the scope can be agreed in a single exchange.

The sibling page on the 128A3 lock byte is worth reading before a locked part is quoted, because the four lock encodings on this family are routinely collapsed into two by everyone who has not read the manual closely.

Booking It

Send the top marking with the date code, the package, the board function and the quantity, and say whether the device still answers an identification request. That last detail decides whether this is a bench job or a laboratory job, and it is the first question the engineering desk will ask.