MEM* removes one feature that MEM+ provides - a programming port.
There is a very good reason for this - but for that reason to make sense, I first need to introduce all the features of MEM*
Morpheus+/Mem* is meant to be an extremely powerful industrial controller with high resolution graphics, Ethernet, uSD and much more!
- up to 2MB of SRAM (four 512KBx8 DIP32 devices)
- the SRAM can optionally be battary backed
- 24 bits of digital I/O ports (two from an MCP23S17, one from an MCP23S08)
- 8 analog inputs
- digital and analog I/O selectable for 3.3VDC or 5VDC
- two RS232 user ports with either DB9M or four screw terminals
- two RS485 "master" ports with either RJ45 (Modbus compatible pinout with 6 pin RJ45) or three screw terminals
- pass-through of the two H-COMM ports from Morpheus
Now why not provide on-board programming?
Simple.
Users can choose to use PropPlugs *OR*
- add two RS232 ports (by adding two SerPlugs)
- add two RS485 pots (by adding two 485Plugs)
This makes for a very flexible platform, with users having the choice between:
or any other combination of the above! Now I think you see why on-board programming capability was left off.
The combination of Morpheus+ and MEM* is the most powerful Propeller based industrial controller on the market.
I will start introducing the various industrial I/O boards that connect to this powerhouse.
You will be pleased to learn that most of the I/O modules will work with ANY Propeller board, as long as it supports the standard 10 pin EXP interface introduced by the Parallax ProtoBoard! This also means that the modules will work on SpinStudio, etc.
p.s.
By RS485 "master" port I mean that unlike PropCade, there is only a single RJ485 present, so if you want MEM* to be in the middle of a RS485 daisy chain, you will need to use screw terminals, or do the daisy chaining externally.
p.p.s.
Sapieha suggested putting Ethernet and uSD right on Morpheus. My original intention was that Eth/uSD would be added by a daughter board on CPU#1. After extensive discussions, they ended up on Morpheus+ connected to CPU#1 as I wanted to keep CPU#2 free of uSD/Eth code (in order to keep its resources for XLMM and graphics)
Since I mentioned it in passing a few times already, I may as well make it "official"
I will be showing "485Plug" at UPEW.
485Plug is designed to plug into the 5 pin "H-COMM" connector on all of Mikronauts boards; but it can also be used on 4 pin "PropPlug" connectors as long as you supply it with 3.3V
485Plug can be populated with either two 3-screw terminal blocks, or two RJ45 connectors, for easy "daisy chaining" on your RS485 network. It has a termination resistor, with a two pin jumper header and shunt for enabling/disabling termination.
Normally 485Plug will come with 4-pin RJ45 connectors, however 6-pin RJ45 connectors with Modbus compatible pinout are an option.
General availability of 485Plug is expected shortly after UPEW.
I've also been playing around with RS485. Perfect for packet industrial control.
Just brainstorming here - I wonder if your board could network with the dracblade via RS485? What sort of software protocols are you using - raw bytes, packets, xmodem, something else?
For generic networking, I am hoping to write a simple network layer later - perhaps something that easily maps onto TCP/IP [noparse]:)[/noparse]
Dr_Acula said...
This sounds fascinating.
I've also been playing around with RS485. Perfect for packet industrial control.
Just brainstorming here - I wonder if your board could network with the dracblade via RS485? What sort of software protocols are you using - raw bytes, packets, xmodem, something else?
Now that we have a lot of C compilers for the Prop this should be easy. Probably not enough HUB space for Small Zog to do it but Big Zog should manage.
This can easily run over point to point serial lines using SLIP. For a multi drop serial set up a little work would have to be done on the transport.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Now that we have a lot of C compilers for the Prop this should be easy. Probably not enough HUB space for Small Zog to do it but Big Zog should manage.
This can easily run over point to point serial lines using SLIP. For a multi drop serial set up a little work would have to be done on the transport.
Most of you don't know this, but I've been working in industrial control for over 30 years now. After dealing with a passel of different PLC and SCADA systems - not to mention old RTU's, mini computers (PDP-11), and HMI's such as FactoryLink, Wonderware etc... I thought hard on what I thought would work best.
As I mentioned earlier, the combination of Morpheus+/Mem* is intended to function as an extremely powerful industrial controller, with 24 digital I/O's and 8 analog inputs.
The problem was, the I/O's were 3.3V/5V level, and going to 2x5 headers.
The obvious solution was to make a line of I/O modules, and signal conditioning modules, that can fit the 2x5 connectors on Mem+ and Mem* !
Next, it seemed logical that the modules (where applicable) should also work on the 10 pin (optionally 11 pins with +5V) ProtoBoard / Morpheus / etc style 1x10 headers...
Thus, the Mikronauts line of industrial control modules were born!
Some of the design criteria were:
- two I/O modules ought to fit side by side on the EXP1 and EXP2 ports normally found on my boards
- screw terminals should be used for wiring to field equipment
- the Propeller and I/O chips should be protected as much as was reasonably feasible
- the price of the modules should be attractive to industrial users
Sapieha is a PCB layout wizard, and as usual, he did a great job on these modules.
The form factor for the modules is 2.575"x1.160".
They have four mounting holes.
The first module in the line is DIG-OUT-8-V
This module uses small solid state relays (basically an opto isolator with a MOSFET output stage) to provide:
- 8 normally open outputs
- handles up to 60V at 500mA per output, nominally for 24VDC I/O
- one common screw, eight individual output screws (3x 2 screw terminals, 1x 3 screw terminal)
- an indicator LED for each output
- both 2x5 and 1x10 interfaces, to support Morpheus, PLC-G, and pretty much every Propeller board out there!
I will be showing this module at UPEW - I expect to get PCB's early next week.
I'm a long way from TCP/IP. Heck, I only just worked out that 'stack' means 'program' *grin*
The data packets I'm playing around with are a minimum size of 9 bytes, but can be as big as you like up to 255 bytes. I tried to think of the minimum you need in the real world:
startbyte
packetsize
source
destination
packettype
counter
data
checksum
finishbyte
But that was just an idea I came up with. I am trying to work with the max data packet size for a picaxe chip (14 bytes) but also create something flexible enough to handle bittorrent packets and encapsulated xmodem packets.
There must be standards out there. Bill, you sound like our resident expert!
There are many standards out there... however given the Propeller's limited resources, I do not feel constrained to follow them to the letter [noparse]:)[/noparse]
Your structure would work fine for encapsulating packets up to 255 bytes, and you don't actually need the start/finish bytes if you don't allow significant timing gaps between payload bytes. I would instead use something like:
[noparse][[/noparse]dest:8][noparse][[/noparse]source:8][noparse][[/noparse]type:8][noparse][[/noparse]sequence:8][noparse][[/noparse]length:16]<length data bytes>[noparse][[/noparse]checksum:8]
For very simple packets, such as ACK or NAK, the length and data fields could be omitted. This also allows up to 65535 bytes of payload.
Currently, I am leaning towards avoiding collisions, by using either a token passing or master/slave low level architecture. This would allow for better determinacy, and avoid the headache of packet collision. Unfortunately I won't have time to tackle it until after UPEW - but at least the hardware interface layer will be available [noparse]:)[/noparse]
- 8 digital inputs
- nominally for 24VDC I/O, higher possible with different resistor
- one common screw, eight individual output screws (3x 2 screw terminals, 1x 3 screw terminal)
- an indicator LED for each input
- both 2x5 and 1x10 interfaces, to support Morpheus, PLC-G, and pretty much every Propeller board out there!
I will be showing this module at UPEW - I expect to get PCB's by Wednesday.
Sapieha originally made this little gem for his own experiments, but we thought some of you might be interested in it as well.
The board is approximately 1.2"x1.2" and has pads for:
- soic14 pattern for an FM32L278 FRAM/rtc
- 32.768Khz clock crystal
- soic8/DIP8 pattern for an additional FRAM (or EEPROM)
- 4/5 pin header: GND, SCK, SDA, 3.3V [noparse][[/noparse]optional Watchdog]
- also has alternate pattern for 10 pin connector at +3.3,GND,P31-P28 as on a 10 pin header
- brings out all optional signals from RTC
It's a neat tiny add-on board that anyone can hook up to any prop board with 4 wires!
The SOIC-14 pattern can support the following combination FRAM/RTC chips:
The SOIC-8 pattern can support the FM24V and FM24C series of I2C FRAM chips.
In order to not have to stock may expensive parts, I will be offering:
- bare PCB $5+s/h for forum members
- assembled & tested PCB with FM31L278 (32Kx8), 32.768Khz crystal and capacitors: $25USD+s/h for forum members
- assembled & tested PCB with everything above PLUS an FM24VN10G 128Kx8 FRAM chip: $45USD+s/h for forum members
Connectors not included, as I don't know how you want to hook them up.
I should be receiving the boards today (a prototype run) - assuming they work, I may have some spares; otherwise availability will depend on when I order and receive a production run of boards.
A number of times there have been threads in the forums requesting a very simple, small, Propeller module. WBA Consulting and I discussed this back in March, then again in May... but I had not yet decided on a feature set. Part of me wanted to cram it full of features, and make it SMT.
About three weeks ago, I discussed it with Sapieha. He wanted a *REALLY* simple module, not SMT, that could plug into a standard breadboard.
Sapieha and I kicked it back and forth... he convinced me to drop the ADC and SMT construction, I convinced him to make it have at least three EXPansion connectors compatible with the industrial modules.
Thus, CPUModule was born... and I will be getting the prototypes either today, or Monday.
CPUModule features:
- 2.575"x1.160" - same form factor as the I/O modules, with the same mounting footprint
- can be mounted on standard .1" spacing breadboards using simple male headers
- can take EXP1 (P0-P7), EXP2 (P8-P15) and EXP3 (P16-P23) standard -or- stacking connector
- has on-board LM1117-3.3 (or compatible) SMT voltage regulator
- optional power LED and current limiting resistor
- supports up to three 33uF SMT/throughole tantalum capacitors and two 100nF ceramic bypass capacitors
- EXP1/2 can have optional 11'th +5VDC pin if the module is powered by +5VDC
- has my standard H-COMM connector for PropPlug, SerPlug or 485Plug
- can take TWO EEPROM's (pullups on both SCA and SCL)
- has two screw terminals for power input
Did I mention CPUModule is tiny?
Now that I've announced it, I suspect Sapieha will upload a 3D rendering shortly
Looking forward to seeing your module, it sounds just like what we have been discussing. You mention dropping the SMT, but mention SMT regulator. Did you meant the prop is TH. That is nice.
While I was waiting for your full blown module, I finished my QFN to DIP40 board that I started in DipTrace last October. (see attached) I think my first boards will show up right after UPEW. It still needs to be paired with a power supply, but I can use my PowerTwig for it. On the other hand, it fits in a DIP40 socket and can be used as a DIP40 replacement that already has the EEPROM, Crystal, and programming header. V2 will also have pads for an SMT EEPROM and Crystal.
I will be demonstrating a new Morpheus video driver at UPEW
While I did not have time to add all the bells & whistles I wanted to this demo, it's a bit rough around the edges, but you guys have never seen anything like it on a Propeller!
For those of you who were not at UPEW, I showed a "work in progress" gaming driver for Morpheus.
Driver features demonstrated at UPEW:
- 320x240 pixel resolution
- 640x480 timing (monitor recognizes it at VGA 640x480)
- 256 colors per pixel
- horizontal split screen
- independent horizontal scrolling for each side, one pixel resolution
- 16x16 pixel sprites with transparent + 255 colors per sprite pixel
- up to five sprites per scan line
I could not demonstrate the following features at UPEW as I did not have time to add them to the demo before UPEW:
- independent vertical scrolling for each side, one pixel resolution
- ability to split screen vertically
Once I have time to re-write the sprite engine, it looks like it will do:
- transparent + 255 colors per sprite pixel
- up to ten 16x16 sprites per scan line
- up to 64 sprites on-screen at once
I am adding two photo's, one of the new driver running, and one of my table at UPEW below [noparse]:)[/noparse] - one from Parallax, one from W9GFO - more once I download my wife's camera!
Sometime in the next few days I'll try to capture and upload video's of my demos - assuming I can get the Epiphan vga grabber working properly this time!
On the left jpeg above, you see the projected image of the sprite demo.
What you don't see is that the left side and right side kept smoothly scrolling left and right, bouncing side to side, non-stop; and one of the sprites was bouncing around the screen.
Each half of the screen consists of a 160 pixel wide (240 pixel tall) window onto a 256 pixel wide playfield.
The driver currently supports a maximum playfield height of 1024 lines for each side [noparse]:)[/noparse]
Of course, both on and off screen rendering are supported, as is page flipping [noparse]:)[/noparse] [noparse]:)[/noparse] [noparse]:)[/noparse]
The sprites are 16 pixels wide and 16 pixels tall, and the currently max out at five sprites per horizontal scan line, 16 sprites total.
Since then, I have figured out a better approach, one that should allow 10+ sprites per scan line, with essentially unlimited number of sprites per screen (theoretical max: 2400, practical max: 64-128)
For each pixel in a sprite, 0=transparent, and $01-$FF are R3G3B2 colors. I use dark blue ($01) as a "black" replacement.
With a 2.5MB Morpheus setup, it would be possible to use all of the memory as a frame buffer, and have ridiculously tall playfields.
FYI, the next version of the driver will be display list based, and will support all sorts of additional interesting effects...
Morpheus rev2 tests
- power good
- CPU1 found
- MorphDiag identifies CPU1 correctly
- EEPROM works
- Keyboard works
- Mouse not tested yet (where is my PS/2 spare mouse???)
- Audio not tested yet (where is my test 3.5mm->rca cord???)
- RTC works
- SPI RAM not tested yet
- SPI FLASH not tested yet
I managed to get my old email address (the one that was tied to 'Bill Henning') on the forums resurrected, so I could change my password... finally I am not a "Junior Member" on the new Forum!
I got distracted by fixing some PCB manufacturing issues with Mem+ (pcb v2.0) - sorry.
All Mem+ (pcb v2.0) features are now tested, so I will be ordering a production run by Monday.
Morpheus (pcb v2.0) only has three features left to be 100% tested: SPI ram's, IR in, IR out - all of which I hope to complete in the next day or so ... then it goes off for a production run
I expect to have the production run in my hands by September 8 :-)
Ok, I am off to add Morpheus CPU#1 support to VMCOG, so I can use ZOG to exercise the two SPI SRAM's on it!
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
Shortly I will post the MEM* specifications - it is the new, improved memory add-on, specifically for Morpheus+
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
There is a very good reason for this - but for that reason to make sense, I first need to introduce all the features of MEM*
Morpheus+/Mem* is meant to be an extremely powerful industrial controller with high resolution graphics, Ethernet, uSD and much more!
- up to 2MB of SRAM (four 512KBx8 DIP32 devices)
- the SRAM can optionally be battary backed
- 24 bits of digital I/O ports (two from an MCP23S17, one from an MCP23S08)
- 8 analog inputs
- digital and analog I/O selectable for 3.3VDC or 5VDC
- two RS232 user ports with either DB9M or four screw terminals
- two RS485 "master" ports with either RJ45 (Modbus compatible pinout with 6 pin RJ45) or three screw terminals
- pass-through of the two H-COMM ports from Morpheus
Now why not provide on-board programming?
Simple.
Users can choose to use PropPlugs *OR*
- add two RS232 ports (by adding two SerPlugs)
- add two RS485 pots (by adding two 485Plugs)
This makes for a very flexible platform, with users having the choice between:
2x RS232 & 4x RS485
3x RS232 & 3x RS485
4x RS232 & 2x RS485
or
2x PropPlug, 2x RS232, 2x RS485
or any other combination of the above! Now I think you see why on-board programming capability was left off.
The combination of Morpheus+ and MEM* is the most powerful Propeller based industrial controller on the market.
I will start introducing the various industrial I/O boards that connect to this powerhouse.
You will be pleased to learn that most of the I/O modules will work with ANY Propeller board, as long as it supports the standard 10 pin EXP interface introduced by the Parallax ProtoBoard! This also means that the modules will work on SpinStudio, etc.
p.s.
By RS485 "master" port I mean that unlike PropCade, there is only a single RJ485 present, so if you want MEM* to be in the middle of a RS485 daisy chain, you will need to use screw terminals, or do the daisy chaining externally.
p.p.s.
Sapieha suggested putting Ethernet and uSD right on Morpheus. My original intention was that Eth/uSD would be added by a daughter board on CPU#1. After extensive discussions, they ended up on Morpheus+ connected to CPU#1 as I wanted to keep CPU#2 free of uSD/Eth code (in order to keep its resources for XLMM and graphics)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
Post Edited (Bill Henning) : 6/9/2010 7:21:40 PM GMT
I will be showing "485Plug" at UPEW.
485Plug is designed to plug into the 5 pin "H-COMM" connector on all of Mikronauts boards; but it can also be used on 4 pin "PropPlug" connectors as long as you supply it with 3.3V
485Plug can be populated with either two 3-screw terminal blocks, or two RJ45 connectors, for easy "daisy chaining" on your RS485 network. It has a termination resistor, with a two pin jumper header and shunt for enabling/disabling termination.
Normally 485Plug will come with 4-pin RJ45 connectors, however 6-pin RJ45 connectors with Modbus compatible pinout are an option.
General availability of 485Plug is expected shortly after UPEW.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
I've also been playing around with RS485. Perfect for packet industrial control.
Just brainstorming here - I wonder if your board could network with the dracblade via RS485? What sort of software protocols are you using - raw bytes, packets, xmodem, something else?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.smarthome.viviti.com/propeller
For industrial uses I am adopting Modbus/RTU
For generic networking, I am hoping to write a simple network layer later - perhaps something that easily maps onto TCP/IP [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
One of my ambitions for the Propeller is for it to use the uIP TCP/IP stack www.sics.se/~adam/uip/index.php/Main_Page.
Now that we have a lot of C compilers for the Prop this should be easy. Probably not enough HUB space for Small Zog to do it but Big Zog should manage.
This can easily run over point to point serial lines using SLIP. For a multi drop serial set up a little work would have to be done on the transport.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
As you say, it should work well under Big Zog!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
Most of you don't know this, but I've been working in industrial control for over 30 years now. After dealing with a passel of different PLC and SCADA systems - not to mention old RTU's, mini computers (PDP-11), and HMI's such as FactoryLink, Wonderware etc... I thought hard on what I thought would work best.
As I mentioned earlier, the combination of Morpheus+/Mem* is intended to function as an extremely powerful industrial controller, with 24 digital I/O's and 8 analog inputs.
The problem was, the I/O's were 3.3V/5V level, and going to 2x5 headers.
The obvious solution was to make a line of I/O modules, and signal conditioning modules, that can fit the 2x5 connectors on Mem+ and Mem* !
Next, it seemed logical that the modules (where applicable) should also work on the 10 pin (optionally 11 pins with +5V) ProtoBoard / Morpheus / etc style 1x10 headers...
Thus, the Mikronauts line of industrial control modules were born!
Some of the design criteria were:
- two I/O modules ought to fit side by side on the EXP1 and EXP2 ports normally found on my boards
- screw terminals should be used for wiring to field equipment
- the Propeller and I/O chips should be protected as much as was reasonably feasible
- the price of the modules should be attractive to industrial users
Sapieha is a PCB layout wizard, and as usual, he did a great job on these modules.
The form factor for the modules is 2.575"x1.160".
They have four mounting holes.
The first module in the line is DIG-OUT-8-V
This module uses small solid state relays (basically an opto isolator with a MOSFET output stage) to provide:
- 8 normally open outputs
- handles up to 60V at 500mA per output, nominally for 24VDC I/O
- one common screw, eight individual output screws (3x 2 screw terminals, 1x 3 screw terminal)
- an indicator LED for each output
- both 2x5 and 1x10 interfaces, to support Morpheus, PLC-G, and pretty much every Propeller board out there!
I will be showing this module at UPEW - I expect to get PCB's early next week.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
Post Edited (Bill Henning) : 6/11/2010 2:16:55 PM GMT
The data packets I'm playing around with are a minimum size of 9 bytes, but can be as big as you like up to 255 bytes. I tried to think of the minimum you need in the real world:
startbyte
packetsize
source
destination
packettype
counter
data
checksum
finishbyte
But that was just an idea I came up with. I am trying to work with the max data packet size for a picaxe chip (14 bytes) but also create something flexible enough to handle bittorrent packets and encapsulated xmodem packets.
There must be standards out there. Bill, you sound like our resident expert!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.smarthome.viviti.com/propeller
There are many standards out there... however given the Propeller's limited resources, I do not feel constrained to follow them to the letter [noparse]:)[/noparse]
Your structure would work fine for encapsulating packets up to 255 bytes, and you don't actually need the start/finish bytes if you don't allow significant timing gaps between payload bytes. I would instead use something like:
[noparse][[/noparse]dest:8][noparse][[/noparse]source:8][noparse][[/noparse]type:8][noparse][[/noparse]sequence:8][noparse][[/noparse]length:16]<length data bytes>[noparse][[/noparse]checksum:8]
For very simple packets, such as ACK or NAK, the length and data fields could be omitted. This also allows up to 65535 bytes of payload.
Currently, I am leaning towards avoiding collisions, by using either a token passing or master/slave low level architecture. This would allow for better determinacy, and avoid the headache of packet collision. Unfortunately I won't have time to tackle it until after UPEW - but at least the hardware interface layer will be available [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
Post Edited (Bill Henning) : 6/15/2010 3:51:15 PM GMT
This module uses opto isolators to provide:
- 8 digital inputs
- nominally for 24VDC I/O, higher possible with different resistor
- one common screw, eight individual output screws (3x 2 screw terminals, 1x 3 screw terminal)
- an indicator LED for each input
- both 2x5 and 1x10 interfaces, to support Morpheus, PLC-G, and pretty much every Propeller board out there!
I will be showing this module at UPEW - I expect to get PCB's by Wednesday.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
Sapieha originally made this little gem for his own experiments, but we thought some of you might be interested in it as well.
The board is approximately 1.2"x1.2" and has pads for:
- soic14 pattern for an FM32L278 FRAM/rtc
- 32.768Khz clock crystal
- soic8/DIP8 pattern for an additional FRAM (or EEPROM)
- 4/5 pin header: GND, SCK, SDA, 3.3V [noparse][[/noparse]optional Watchdog]
- also has alternate pattern for 10 pin connector at +3.3,GND,P31-P28 as on a 10 pin header
- brings out all optional signals from RTC
It's a neat tiny add-on board that anyone can hook up to any prop board with 4 wires!
The SOIC-14 pattern can support the following combination FRAM/RTC chips:
FM31L278 = 256Kbit (32Kx8)
FM31L276 = 64Kbit (8Kx8)
FM31L274 = 16Kbit (2Kx8)
FM31L272 = 4Kbit (512 bytes)
The SOIC-8 pattern can support the FM24V and FM24C series of I2C FRAM chips.
In order to not have to stock may expensive parts, I will be offering:
- bare PCB $5+s/h for forum members
- assembled & tested PCB with FM31L278 (32Kx8), 32.768Khz crystal and capacitors: $25USD+s/h for forum members
- assembled & tested PCB with everything above PLUS an FM24VN10G 128Kx8 FRAM chip: $45USD+s/h for forum members
Connectors not included, as I don't know how you want to hook them up.
I should be receiving the boards today (a prototype run) - assuming they work, I may have some spares; otherwise availability will depend on when I order and receive a production run of boards.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
Post Edited (Bill Henning) : 6/15/2010 4:42:01 PM GMT
About three weeks ago, I discussed it with Sapieha. He wanted a *REALLY* simple module, not SMT, that could plug into a standard breadboard.
Sapieha and I kicked it back and forth... he convinced me to drop the ADC and SMT construction, I convinced him to make it have at least three EXPansion connectors compatible with the industrial modules.
Thus, CPUModule was born... and I will be getting the prototypes either today, or Monday.
CPUModule features:
- 2.575"x1.160" - same form factor as the I/O modules, with the same mounting footprint
- can be mounted on standard .1" spacing breadboards using simple male headers
- can take EXP1 (P0-P7), EXP2 (P8-P15) and EXP3 (P16-P23) standard -or- stacking connector
- has on-board LM1117-3.3 (or compatible) SMT voltage regulator
- optional power LED and current limiting resistor
- supports up to three 33uF SMT/throughole tantalum capacitors and two 100nF ceramic bypass capacitors
- EXP1/2 can have optional 11'th +5VDC pin if the module is powered by +5VDC
- has my standard H-COMM connector for PropPlug, SerPlug or 485Plug
- can take TWO EEPROM's (pullups on both SCA and SCL)
- has two screw terminals for power input
Did I mention CPUModule is tiny?
Now that I've announced it, I suspect Sapieha will upload a 3D rendering shortly
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
Post Edited (Bill Henning) : 6/20/2010 10:29:33 PM GMT
While I was waiting for your full blown module, I finished my QFN to DIP40 board that I started in DipTrace last October. (see attached) I think my first boards will show up right after UPEW. It still needs to be paired with a power supply, but I can use my PowerTwig for it. On the other hand, it fits in a DIP40 socket and can be used as a DIP40 replacement that already has the EEPROM, Crystal, and programming header. V2 will also have pads for an SMT EEPROM and Crystal.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Andrew Williams
WBA Consulting
WBA-TH1M Sensirion SHT11 Module
My Prop projects: Reverse Geo-Cache Box, Custom Metronome, Micro Plunge Logger
Yes, you are right - I meant SMT Prop [noparse]:)[/noparse]
I like your DIP module! It will become EXTREMELY handy if Parallax runs short of DIP parts again! (It will also be great for breadboards)
CPUModule is oriented towards hosting three of my industrial modules, and a SerPlug or 485Plug.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
While I did not have time to add all the bells & whistles I wanted to this demo, it's a bit rough around the edges, but you guys have never seen anything like it on a Propeller!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
Driver features demonstrated at UPEW:
- 320x240 pixel resolution
- 640x480 timing (monitor recognizes it at VGA 640x480)
- 256 colors per pixel
- horizontal split screen
- independent horizontal scrolling for each side, one pixel resolution
- 16x16 pixel sprites with transparent + 255 colors per sprite pixel
- up to five sprites per scan line
I could not demonstrate the following features at UPEW as I did not have time to add them to the demo before UPEW:
- independent vertical scrolling for each side, one pixel resolution
- ability to split screen vertically
Once I have time to re-write the sprite engine, it looks like it will do:
- transparent + 255 colors per sprite pixel
- up to ten 16x16 sprites per scan line
- up to 64 sprites on-screen at once
I am adding two photo's, one of the new driver running, and one of my table at UPEW below [noparse]:)[/noparse] - one from Parallax, one from W9GFO - more once I download my wife's camera!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
On the left jpeg above, you see the projected image of the sprite demo.
What you don't see is that the left side and right side kept smoothly scrolling left and right, bouncing side to side, non-stop; and one of the sprites was bouncing around the screen.
Each half of the screen consists of a 160 pixel wide (240 pixel tall) window onto a 256 pixel wide playfield.
The driver currently supports a maximum playfield height of 1024 lines for each side [noparse]:)[/noparse]
Of course, both on and off screen rendering are supported, as is page flipping [noparse]:)[/noparse] [noparse]:)[/noparse] [noparse]:)[/noparse]
The sprites are 16 pixels wide and 16 pixels tall, and the currently max out at five sprites per horizontal scan line, 16 sprites total.
Since then, I have figured out a better approach, one that should allow 10+ sprites per scan line, with essentially unlimited number of sprites per screen (theoretical max: 2400, practical max: 64-128)
For each pixel in a sprite, 0=transparent, and $01-$FF are R3G3B2 colors. I use dark blue ($01) as a "black" replacement.
With a 2.5MB Morpheus setup, it would be possible to use all of the memory as a frame buffer, and have ridiculously tall playfields.
FYI, the next version of the driver will be display list based, and will support all sorts of additional interesting effects...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
Post Edited (Bill Henning) : 7/1/2010 12:36:37 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
of course... minimum of 120KB, up to 2.5MB - only works on Morpheus [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
- power good
- CPU1 found
- MorphDiag identifies CPU1 correctly
- EEPROM works
- Keyboard works
- Mouse not tested yet (where is my PS/2 spare mouse???)
- Audio not tested yet (where is my test 3.5mm->rca cord???)
- RTC works
- SPI RAM not tested yet
- SPI FLASH not tested yet
- 256 color output works
- XMM has a problem
Initially I thought the XMM problem was a bad 74HC139 chip; however swapping 74HC139's did not change anything.
I will now spend some quality scope time troubleshooting this...
Now back to Morpheus rev2 debugging...
I just looked in the box and the cat is still alive... but there is some poison in there with it!
Bill
XMM problem found!
Would you believe pin 11 of the IC socket for the A8-A15 latch was bad?
I will replace the socket right now...
Now I have to test the SPI memory sockets, and add a Mem+ on top...
I got distracted by fixing some PCB manufacturing issues with Mem+ (pcb v2.0) - sorry.
All Mem+ (pcb v2.0) features are now tested, so I will be ordering a production run by Monday.
Morpheus (pcb v2.0) only has three features left to be 100% tested: SPI ram's, IR in, IR out - all of which I hope to complete in the next day or so ... then it goes off for a production run
I expect to have the production run in my hands by September 8 :-)
Ok, I am off to add Morpheus CPU#1 support to VMCOG, so I can use ZOG to exercise the two SPI SRAM's on it!