TS-7970 new micro

From embeddedTS Manuals

Due to parts availability constraints the TS-7970 has been redesigned to have a few replacement parts.

  • Lattice MachXO2 has been replaced with a Lattice MachXO3.
  • Silabs 8051 microcontroller has been replaced with a Renesas RA4M2
  • Intersil ISL12020MIRZ functionality is now provided by the same Renesas RA4M2

None of these require the user to change their shipping image. The only changes a user should see from these changes is:

  • Higher RTC PPM drift on the new RTC (±5ppm vs ±20ppm)
  • Different USB device
  • There is 120 bytes instead of 128 bytes of NVRAM

The Lattice MachXO3 has been configured with the same logic as the previous MachXO2 so this does not have any user facing changes.

Instead of the Silicon Labs C8051 series microcontroller, this has been replaced with a Renesas RA4M2 series part (R7FA4M2AB3CNE). We have taken great care to ensure there are no code changes required by users to support this new part. This part provides 12-bit ADC instead of 10-bit, and uses a 3.3V VREF instead of a 2.5V VREF, but the firmware we provide on the Renesas scales these to the Silicon Labs part analog values so user code does not need to change. Users should continue to scale these ADC values as if they are 10-bit 2.5V VREF with the REV E resistor dividers on the analog values. The existing tsmicroctl -i command can be used as an example.

The only user facing change with this new part is the driver used to access console over USB. Instead of the Silabs CP2103 driver, the new microcontroller now uses the standard USB CDC-ACM class device driver. This is included by default in all major operating systems. Under windows the user should generally not see any difference except the device name will be: "TS-7970 Console" instead of "Silicon Labs CP210x USB to UART Bridge" as the device name.

The Renesas microcontroller also takes the place of the Intersil RTC and provides a compatible register set over I2C. This also provides the same battery backed SRAM as the Intersil RTC. See the #RTC section for more details on this support.

Under Linux the device will be /dev/ttyACM0 instead of /dev/ttyUSB0 as on the previous devices. Some Linux distributions such as Ubuntu include ModemManager that can mistake this ACM0 device as a cell modem. To prevent this, run this one time on your Linux host:

echo "ATTR{idVendor}==\"35b0\",  ENV{ID_MM_DEVICE_IGNORE}=\"1\"" > /etc/udev/rules.d/75-embeddedts-mm.rules