November 28, 2024, 09:52:08 PM

News:

Be sure to checkout our Vixen interfaces in the Library forum -- if you want PC automation at near zero cost, EFX-TEK and Vixen is a great combination of tools.


HC-8+ Rev F Coming Soon

Started by JonnyMac, December 10, 2015, 11:38:23 AM

Previous topic - Next topic

JonnyMac

December 10, 2015, 11:38:23 AM Last Edit: December 18, 2015, 01:51:00 PM by JonnyMac
As we had hoped, the HC-8+ has become a real workhorse product. It gets used in a very wide variety of applications from entertainment to industrial controls, and we enjoy every moment of working with it with our customers.

Many of those customers push the limits of the HC-8+ IO, and have asked for more -- so we are going to deliver.

Here's a 3D rendering of the HC-8+ Rev F PCB. Prototype boards are on order right now. I've already re-coded the base software so we can test and get into production ASAP.



Updates:

Outputs have switched from active-high to active low. We did this so we can use MOSFET outputs which ensure that almost all of the voltage from your supply makes it to the output device. The big Darlington transistors used on earlier models have a voltage 1.4v drop across them; this can be problematic in some applications. Note that we have maintained two connections per output which keeps wiring simple.

The 5v outputs at the TTL header can deliver more current (up to 125mA each with proper 5v supply) and have better drive. We're using one of my favorite chips, the TT4427 as the driver. This chip uses a totem-pole FET output so you get really stiff ground or really stiff 5v on each pin. This means that servo signals will be cleaner over longer wires (this is not license to use bad wiring!).

Additions:

Many users wanted additional IO that went directly to the Propeller without using a shift register (as IN0..IN7 does) or having a pull-up (like the CONFIG bits do). The schematic for the previous HC-8+ had four free pins so we brought them to a header. They are not contiguous on the Propeller, so I wrote a couple methods to deal with them (subject to change).

pub read_xport | xp

'' Returns state of xport bits
'' -- does not set dira bits to 0

  if (PCB_REV < "F")
    return %0000
  else
    return (ina[XP3] << 3) | (ina[XP2] << 2) | (ina[XP1] << 1) | ina[XP0]


dat

  XPort         byte    XP0, XP1, XP2, XP3
 

pub write_xport(value, outsmask) | idx, mask

'' Write value to xport pins
'' -- outsmask used to set xport output pins
'' -- will not change pins with 0 bit in outsmask

  if (PCB_REV < "F")
    return

  repeat idx from 0 to 3
    mask := |<idx
    if (outsmask & mask)                                         ' write to this pin?
      if (value & mask)                                          ' pin high?
        io.high(XPort[idx])
      else
        io.low(XPort[idx])


The XPort bits have a 3-pin header as we typically do, though the center (R) pin isn't connect to anything. If you want to power a sensor then you'll have to add a solder-jumper to the bottom side; you can power the R pins with 3.3v or 5V. As 5V will kill a Propeller IO pin, each of the XPort pins are protected by a 4.7K series resistor. If you're using 3.3V and the 4.7K resistor will cause a problem, you can short out the resistor with a solder blob on the bottom side of the board. Yes, this is all hacker stuff, and it's deliberate. If you want to go beyond the basics, you have to go beyond the basics! The cool thing about having the XPort bits is now you can use any of our Option port adapters (uSD card, RTC, ADC, etc) and still connect something like a Bluetooth radio module.


As you know, the Propeller uses pins 28 and 29 as the I2C buss for the EEPROM. We have added 5v level-shifters and a 4-pin header so that you can connect external I2C circuits/devices to the HC-8+. For example, there are inexpensive LCD displays that use I2C -- now you can easily add one to the HC-8+.

Finally, we use an open-drain multi-drop serial connections so that many boards can connect together. For reasons that escape me, some people like to use the Arduino and its default serial mode is 2-wire. We have added a solder-jumper arrangement on the bottom so that you can modify the SERIAL headers for 2-wire mode. We will release a version of the standard HC-8+ software (pre-compiled, no source) that can be loaded into the board for those who want to control it with the Arduino (or similar processors) using a 2-wire serial connection.
Jon McPhalen
EFX-TEK Hollywood Office