Follow

I made this device in 1997;
1. EXOline protocol on RS-485
2. I2C to talk to EEPROM with calibration parameters.
3. SPI to talk to D/A converter
4. 1-wire to communicate with up to 8 external DS18B20 temperature sensors.

All done in a Microchip PIC16C73, which has 192 bytes and 2k PROM.

Challenges;
a. maximum size of EXOline packet is ~240 bytes, so couldn't buffer the whole packet.
b. Each 1-wire has a 64 bit address, so 1/3 of RAM for those addresses.

· · Web · 1 · 1 · 1

c. Bug in silicon; if serial and timer interrupted on same clock cycle, both routines executed, but only one address would have been pushed to stack. So, crash. That could be detected in software, and work around sent to Microchip.

d. Stack is in hardware, only 7 levels deep. So, one level per interrupt. Plus one level wasted for the work around above, left only 2 call levels for the code.

Sign in to participate in the conversation
Angry Today?

Angry People are Most Welcome! Vent your frustration and go nuts on things that irritates you.