Happy new year first of all !
I've had some quality time with my PC recently and worked through the problems with the enumeration routine for this version of smartsocket. The issue was that the 18F4620 oscillator (10MHz Xtal & X4 pll) took several milliseconds longer than a 16F690 oscillator (Internal osc at 4MHz) to become stable. This meant that the existing 16F690 enumeration routine happens too quickly for the slowcoach 18f4620, and therefore it would be impossible to mix the IV-17 display with any other type of display technology (Neon, LED) if they are 16F690 based.
For this reason I have introduced a protocol for the enumeration routine which so far seems to ensure that the essential steps of the enumeration process take place at precise times.
This protocol has been tested with the new ZM1350 Smartsocket and some modified code and it appears to work as expected.
Existing 16F690 based smartsockets can continue to be used with other 16F690 based devices, but I intend to release a custom code for each type of smartsocket which will implement this new protocol, which then guarantees compatibility between all smartsocket types now and in the future.
The protocol is not complex, but I decided it would be better to specify time windows for each step of the process rather than try to tweak each new module to suit existing ones.
The simple protocol is as follows....
t=0 when power is applied to the modules
(t is in milliseconds)
...Reset device, intialise USART, Data may be transmitted
...Clear RX buffers, reset any errors, Data must not be transmitted
Pause 3mS, and read rcreg
I think most microcontrollers ought to be able to get up to speed within 5mS of power being applied and reach the first proper milestone at t=5mS, so if anyone wished to port the smartsocket concept to a different hardware platform it should be simple and straightforward
As for the power supply, I am generating 44V from a single 5V but without any closed loop feedback, simply using the pwm module. Power consumption will probably be in the region of 2W for a 4 tube module when shunting the heaters through a resistor.
The code in the files section is fully enumerating and working code for the 4 digit IV-17 & IV-4 tubes. I wouldn't recommend doing anything other than make up the circuit on prototype board because I expect to switch to a PIC with fewer pins soon.