circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

November 1998, Issue 100

Smart Rocket


by Tom Cantrell

SX APPEAL

The conventionally wise will proclaim the concept of a high-performance 8-bit MCU as an oxymoron. It’s true that the majority of apps are, and will continue to be, well served by the few MIPS most MCUs can muster. Yep, don’t expect to see your average commuters crowding the Harley dealer, either.

Fact is, I think Scenix might be onto something. With performance to burn, the SX handles many functions in software that might otherwise call for extra silicon.

The concept of replacing hardware with software (Scenix refers to virtual peripherals) isn’t new. In fact, some of the earliest micros were used to just such an end. Witness the 8048 called into duty as a keyboard encoder in the original PC.

The difference is that the SX performance headroom boosts the specs of the usual peripheral functions like serial I/O, software timers, and waveform generation. More speed, more channels, or both.

For instance, consider the well-known hack of building a UART in software. Transmitting is easy since timing is under the control of the programmer. But, reception is another story. Few apps can afford to dedicate all bandwidth to polling the serial line, so interrupts are required.

Thus, the achievable data rate is directly related to interrupt latency, which should be less than half the bit time. For instance, most 8-bit MCUs can handle 9600 bps, which enables a leisurely 50+ ms from the leading edge of the start bit (that generates the interrupt) to the first sample.

But, higher data rates are a dicey proposition. For instance, 115 kbps needs an interrupt response of less than 5 ms. Speed not only becomes an issue, but jitter (i.e., nondeterminism) is a factor as well. Consider the 8051, which can only guarantee response somewhere between 36 and 108 clocks, or 3–9 ms at a 12-MHz clock rate.

To be fair, much of the variance is because the ’51, like most MCUs, requires completion of the instruction in progress, including the relatively slow (48 clock) MUL and DIV, which the SX doesn’t have. Banning MUL and DIV would cut 24 clocks (2 ms at 12 MHz), making a worst-case response of 7 ms—still not fast enough.

It’s worse than it sounds because I’m just talking about the raw interrupt response. More time is needed to save critical state (PSW and any other registers), not to mention the instructions required to sample, compare, flag an error (false start bit), and so on.

By contrast, running at 50 MHz with five-clock external interrupt response (i.e., 100 ns) makes 115 kbps seem like a leisurely Sunday ride. I suspect you could hit 1 Mbps before going to full throttle. When it comes to interrupts, the SX blows the pins off regular MCUs.

The extra bandwidth doesn’t mean doing old stuff faster. It lets the SX accept the challenge of significantly snootier I/O (e.g., music and voice synthesis and software video generation).

Scenix recently announced the availability of a Bell 202/CCITT V.22-compatible 1200-/2400-bps modem implemented in software, including not only the raw signal processing (FSK/DPSK) but also all the accessories (DTMF generation and detection, call progress detection, and caller ID).

Yeah, you can stick to your regular 8-/16-bit econo-chip for basic transportation, but remember that the fast lane is for passing. When that dot in the mirror turns into an SX hugging your tail, you’ve got two choices: move over or get run over.