![]() |
|
i2c Bus to Bee Parallel Port? - Printable Version +- Discussion Forum for all things Microbee (https://microbeetechnology.com.au/forum) +-- Forum: Microbee Forum (https://microbeetechnology.com.au/forum/forum-1.html) +--- Forum: Microbee Hardware (https://microbeetechnology.com.au/forum/forum-6.html) +--- Thread: i2c Bus to Bee Parallel Port? (/thread-191.html) |
i2c Bus to Bee Parallel Port? - elpiggio - 04-09-2020 I have in mind a project for i2c communication. I'm pretty sure this has been done on the Z80 before. Would the Microbee's DB15 Parallel Port be suitable for this type of connection? If so, what would be required for the electrical interface to it? No doubt the software would have to be Z80 assembly code. RE: i2c Bus to Bee Parallel Port? - cfbsoftware - 04-09-2020 There's a schematic for an LPT to I2C interface here: http://www.xlentelectronics.nl/I2CLPT/I2CLPT_schematic.htm There's also an article in the October 2000 issue of Elektor magazine on the subject: https://www.elektormagazine.com/magazine/elektor-200010/16873# I wouldn't have thought it would be necessary to write the code in Z80 assembler as long as you used a language which allowed you to access the hardware ports. RE: i2c Bus to Bee Parallel Port? - someone - 04-09-2020 The microbee can directly bit bash I2C devices under software control using either the Parallel User Port, serial port or both. The addition of some buffers, current limiting resistors and over/under voltage protection can be used to protect the PIO should something go awry. The best way to use I2C with a microbee is using the 50 way expansion port (or SASI port on a DRAM coreboard) with an inexpensive NXP (Formerly Phillips) PCF8584 I2C Bus Controller. This chip has been around for decades and is easy to drive with a microbee. https://www.nxp.com/docs/en/data-sheet/PCF8584.pdf? In the early 1980's someone designed a high speed serial interface for the microbee composed of penny logic devices. By pure luck it works with contemporary SPI devices with clocks speeds of up to 20MHz. This connects via the 50 way expansion port. It allows MWBASIC to very easily drive SPI peripherals LED/LCD Displays, UARTS, temperature sensors and general I/O With a bit more software complexity it also works with SDCards and Ethernet Modules. Who needs an Arduino when you have a microbee!! Here is a photo of someone's microbee SPI interface in action with a modern 7 Segment LED driver being driven with MWBASIC. If you're interested, take a look at the monitor for the simple BASIC code used. RE: i2c Bus to Bee Parallel Port? - elpiggio - 05-09-2020 Is there anything someone hasn't done? ![]() Bit-bashing is definitely the kind of thing I had in mind. But the 50-pin connector? My "development system" is a Premium+, so I probably don't have one of those. I've done a bit of bit-bashing on a dual 8255 interface I was creating long ago (intended to eventually become an SASI / SCSI Controller). Well, it could turn LED's on and off. Basically, I'm hoping to make a simple, cheap and ubiquitous Parallel Port to i2c adapter and some command line tools to read various sensors and drive devices such as displays and the like. Why use an Arduino when CP/M will do? RE: i2c Bus to Bee Parallel Port? - someone - 07-09-2020 Someone has used the 8255 PPI on a microbee. It was on the unreleased Microbee Floppy Disk Controller with 2561 USART and Real Time Clock. The some technical documentation mentions it although it was never released because the 128K DRAM coreboard gazumped it.) The Premium Series base board has provision for the 50 way connector although as standard it is not soldered on. Someone finds it the easiest and most capable interface to use because it can support multiple extension devices. It's amazing how the Beethoven works on the parallel port. The designer of it used the additional I/O port capabilities of the AY-3-8910 to cater for the lack of handshake pins available on the microbee user port. This is why the AY-3-8910 rather than the 28 pin AY-3-8912 is used. The concession is that the Beethoven driver is considerably larger, slower and more complex. You could use a similar scheme if you deem that it's worth the effort. The Microbee user port is devoid of the BSTB and BRDY pins to operate the PIO in bidirectional mode. From the 15 pins available there was no room for them after adding in the +10V for Bee Net, PB7 for StarNet, and printer strobe pin on the Telecomputer. Hooking up to the 50 way connector is easy stuff but you need to be careful because it's the microbee's system bus. Just like a coreboard, the right angle connector fits on the underside of the PCB. The plastic case to be modified for fitment if not done so already. Bit bashing I2C (or SMBus) is an easy affair and it's was the most common way to experiment with it prior to the introduction of inbuilt I2C mechanisms in microcontrollers. As always, there's always someone to help out if you need assistance. RE: i2c Bus to Bee Parallel Port? - elpiggio - 08-09-2020 Maybe I'll rig up the 50-port and add a couple of SCC's to my design ![]() Although, I tend to think a more minimal HW / a bit more complex SW solution may be in order. I have secured a copy of Mastering the I²C Bus (still available at some Jaycar stores): https://www.jaycar.com.au/mastering-the-i-c-bus/p/BT1386 RE: i2c Bus to Bee Parallel Port? - someone - 08-09-2020 (08-09-2020, 12:33 AM)elpiggio Wrote: Maybe I'll rig up the 50-port and add a couple of SCC's to my design Also take a look at the NXP documentation about I2C. https://www.nxp.com/docs/en/user-guide/UM10204.pdf If you need a GAL or PAL programmed just ask someone. The usual sizes are 16V8, 20V8 and it’s also useful/optional to use a 74XX245/645 data bus transceiver. |