I’ve bought and built a K8055, seeing a use for it with computer controlled model railroading. However, I need to connect more than four cards to one PC, the 32 outputs I get with 4 cards are nearly used up with my turnouts, then I have signals and lighting control etc. It must be possible to route card addressings through specific controllers/hubs (I have five on my PC, thus it should be possible to control 20 cards, 160 DO), but that requires rewriting the k8055-dll-driver or controlling the cards USB-routes directly from a program. I could do some “reverse-engineering” with an USB-sniffer, but I’m sure someone has some useful information on k8055 USB-I/O, thus I could save some time. I will release the multicarddriver into PD when I’m finished, as I have other stuff in the past.
In that case you also need to rewrite the firmware because you only have 2 bits of addressing the card.
The thought was, by USB-routing, to bypass the cards 2-bit addressing limits
Bypassing the card’s 2 bit address selection is possible only with new firmware.
Here is one alternative possible solution:
You may expand the number of the digital outputs to 256 using two K8055 cards and eight latches.
Use the first K8055 to select the latch content and use the second K8055 to clock the data to the latch.
Here is a partial circuit diagram showing the principle:
I think I know why there are a 2-bit address limitation. there’s simply no more pins on the computer chip. Are there a built in EEPROM? If so, it could be used to set and store a “main” address area, if that’s added to the firmware and such a function included in the DLL. Thus it could be possible to control 64(6-bits)*4(2-bits)=256 cards.
I’ve also studied HID, it seems that windows HID.DLL encapsules USB routing, one may have to go to more low level USB programming. I’m still studying the subject and I may be back with more findings.
If I should use the suggested latches, and to that ULN2803’s, on a separate card, and then hard wire the outputs all over (under) the model railroad board, I may as well design my own USB-I/O cards. It is to reduce wiring I’ve turned my attention to USB. But thank’s for the tip and your interrest, even if I see little use for it in my application.
I see, the problem is not how to get many outputs but how to do it with minimum amount of wiring.
BTW: All the (max) four K8055s have individual PID code. These “addresses” are hard-coded to the firmware. There is no EEPROM in the PIC16C745.
Is the source code for the firmware available? Also,is the source code for the DLL file available? I was hoping the K8055 would help me learn more about coding/wiring USB per se, but perhaps I was mistaken.
Laszlo
Sorry, the firmware code is not available.
Here you can download the original K8055D.DLL source code:
vel255.diinoweb.com/files/K8055D_DLL_source.zip
I’m afraid it does not help a lot to learn the USB…
Why not just go down a better route and get a more suitable card? There is one on here (K8061) with loads more outputs. Even if that isn’t enough a pair of them should suffice.
I assume you could also use a mix of the K8055 (x4) and K8061 (x8!)
As far as I can see the k8061 has 8 digital outputs, the same as K8055, and it costs more than twice, so it would be as expensive as other more conventional model railroad solutions.
You can still use the analogue outputs as “digital” which gives you more than double that 8.
Should look at doing this onto the 8055 if you haven’t already done so.