P2 Motherboard for BeMicroCV-A9 proposal - features request + PCB LAYOUT
Peter Jakacki
Posts: 10,193
Since I am rolling out a controller board based on P2 plus an 80-pin edge connector for the A9 I think it would be a good idea to use that to also produce another format for general P2 evaluation to aid development. The board would also be designed to fit into some type of enclosure as well. The general-purpose interfaces include:
Is there anything else useful we can think of?
I will probably have one of my 20x4 serial LCD on-board as well just for rudimentary display.
- VGA
- USB (smart-pin mode or dumb PS/2)
- USB FTDI high speed serial isolated (or serial Bluetooth)
- I2C
- WIZnet W5500 Ethernet
- ESP8266 WiFi module
- Dual SD or micro SD cards
- RS485
- Audio in and out
- Dual 5A MOSFET switched outputs
- GPIO
- Modular breadboard connector (external plug-in breadboards)
Is there anything else useful we can think of?
I will probably have one of my 20x4 serial LCD on-board as well just for rudimentary display.
Comments
Perhaps a few pushbuttons, rotary encoder switches and leds.
and possibly Si5351A (MSOP10) 2kHz-200MHz Clock generator.
(or 0.1" pin-out to match AdaFruit Si5351 PCB)
I'm interested Peter.
I'm ok with either Diptrace or Eagle.
I know Diptrace can import a Eagle Library but I don't know if you can export a board design from Diptrace in a Eagle compatible format.
Yep I'm interested! Just got the BeMicro board today and waiting patiently for a P2 / Tachyon build
Yes, I'll do a compile for it.
I just need a list of the pins.
Re Eagle: free it may be but basic it is unless someone convinces me otherwise.
DipTrace I am willing to do but I may be more productive with Protel first after which I can redo it in DipTrace.
BTW, DipTrace is free for evaluation and for reasonable sized double-sided boards. Otherwise it is cheap to upgrade to more powerful versions at very reasonable prices.
Re Tachyon for the P2: This is in the Dropbox folder but I did have a more current version that was setup as an Internet server. I should have my shipment of CV-A9s soon but I probably won't do too much with it until I have the motherboard as well since I won't be fiddling with connections then.
You're dealing with it and looking at it, so you'll be best to tell me what pins on the connector are what.
Remember that we need at least six of the top pins [63..] and the rest can be bottom pins [..0].
Good to know, I will get onto it.
I have some ideas, but to be honest... I need a picture of what you are planning;)
How are you going to handle VGA?
Rich
I think that an industrial controller can't miss a RTC. I think that something like this cypress.com/file/126881/download beside being used as RTC can also boot the P2 with the 2nd stage bootloader to provide further SD functionality (or filesystem). Chip can eventually confirm this.
Also the alarm generated by the RTC can wakeup or trigger interrupts on the P2.
And by using the built-in counter in battery-backed mode anti-tamper protection can be obtained with only e few (one) external components.
As per the RS485 I/F Maxim has a few ICs with 232/422/485 selectable functionality. I'll use a multistandard driver.
As for RS485 it is just RS485 with full fail-safe 1/8 load and termination and protection. RS422 is implemented simply by using two of these RS485 channels as RS485 is compatible but higher spec'd than RS422.
The P2 can have many many serial ports and there is no point in trying to make one do all. Any special bread-boarding will not be on the board itself but it allows for pcb or prototype modules to be plugged in using inexpensive pin headers. These modules could even have plug-in breadboard on them if someone wants but I find that it is much better to solder directly to some cheap and plentiful plated-through matrix board than to have a precarious rat's nest of unsoldered wires causing all kinds of grief and glitches. You can make a module as messy as you like and then replace it with a better one or a real pcb. The cost of a bit of PTH matrix board and pin headers is less than a couple of dollars.
As stated earlier the form-factor for this will also suit an enclosure as I find it illogical to design a board without thinking about how it will be mounted, accessed, and used in a real commercial application.
But the general-purpose won't have any very specific "specials" that my main design will have but it will be very useful indeed. Remember too that I will have a footprint on the board for a real P2, as soon as a sample chip is available it can be soldered in and replace the CV-A9 module.
That is the "neat" part and it creates fabulous possibilities.
I must be missing something. I don't see any DACs on the BEMICRO CV-A9...
and you don't mention it either. Isn't that necessary?
In terms of breadboards, etc. I like the idea of being able to use the MEC connector. On a first pass that doesn't sound like it would work for you. But once the P2V sources are available, it will be very attractive to have the real P2 plugged in and functional ... and then be able to give the P2V pins out the side... really nice options.
Any idea when you will have some boards available... ball park?
Rich
1) Practical VGA implementation for P2
I'd like the mb to handle high quality graphics but which config would be most practical?
2) USB - what else is required
I'd like to allow for both host and device if possible.
Any thoughts?
Maybe artwork for
* Series R
* Shunt C
* ESD Clamp
& I'd test with a ESD clamp installed, to get the slight extra C that brings.
Some devices use 22-27R series, which I think helps terminate and buys some ESD headroom, and I've seen 47pF shunts, less clear why those are needed.
Some are on device side of R, where some RF immunity could be added, and some are on USB pins, maybe to slow down edges a little for better EMC.
Seems to be no single USB circuit - some web SCH even show common mode chokes, but I've never seen a USB product with those fitted..
Host / Device should all be in Chip's Verilog
For VGA you need 3 x 8bit DACs and a 4th simplified DAC for the H-Sync (can be a single resistor at an IO pin if Chip does the verilog accordingly). Another IO for V-Sync this makes 26 IO for VGA with passive R-2R DACs.
Or you use the DAC chip that is on the 1-2-3 board, but it's quite expensive.
For USB I would connect a USB B mini and a USB A connector to 2 IO pins each. The USB A for Host needs a 5V supply, maybe through a 500mA polyfuse.
Andy
That's what I'm afraid of as that is a lot of I/O taken away from the edge connector. I may look to see if I can use pin header I/O for the DACs or some other method. How flexible is the P2 VGA I/O, could we drop to 3x4 and assign another 3x4 pins elsewhere?
I would have USB A for hosts but also microUSB to allow for OTG. For current limit it's sometimes easier to setup a regulator but I do use polyfuses in supply lines at times.
Since we are unsure about 1K internal pullup, allow an external resistor to another pin from the D+ (this is FS).
I would use a micro-USB with t/h chasis mounts (pins smt). The smt only micro-USB conectors tend to break off the pcbs (big probems on some phones). You can buy microUSB to USB female (or male) cheap, so this saves a lot of space.
1. USB is going to be very attractive. I would throw a couple of them on the board... even if you have to jumper them to use them.
2. The board already has a micro sd... it would be nice to be able to use it without jumpers or fuss.
3. I am a little confused about i/o on the P2V. I know that in the silicon we are going to have the option to pull-up, but to use a pin as standard I/o right now you have to pull them all down.
4. Since we are going to end up with a real Prop connected to a P2V, it will be nice to have a planned connection between the two that doesn't require additional wiring.
Right now the speed limit of serial has not been posted, but it is way beyond the 3Mbaud we have been seeing in use. So, I think 4 hard lines should be sufficient for most people.
5. I have been working on digital video and plan to attach two $9 cameras... they only require 15 pins, each... so having 30 pins that are free for use would be nice. The form factor is a little rough... so if there were two groups on the same side... separated by a bit (1 cm), it would be plug and go. I can wait for something on the MEC, if this isn't possible at the moment.
6. Go with video out. 1 pin and 1DAC and it looks great. Because of the 1MB hub space, I think most people are going to end up using 8-bit gray/16bit color anyway. There is plenty of room for buffers so it is possible to have multiple views available for menus etc.
Re CV-A9 pin limits - Yep, we don't have all the pins and so VGA needs to at least be configurable for how many I/O the application would like to use. For many of my apps I'd be quite happy just to stream 8 bits for RGB but I haven't played with the VGA modes yet and I am relying on some feedback from members that I know have played with it. Come on guys, look up from your logic analyzers for a moment, this is a forum and not just a forum, its our Propeller forum and five minutes from each able contributor should be considered an investment in the Prop future that benefits all the members.
Don't be worried if your particular analog subsystem etc is not going to be implemented on this motherboard as it is not application specific and still has CV-A9 pin limits.
However that's what the plug-in breadboard module area is for, to add your own and even do a proper PCB module as small prototype pcbs are quite cheap to get made.
Later on a P2 chip can be added directly when it is available.
In which case it may make sense to have two separate boards with a clean break of function
As for VGA the resistive dacs work pretty well, so I'd suggest following the DE0-Nano (parallax breakout board) approach for VGA. You need 8 bits on the the dac channel that outputs NTSC (DAC0?) but could get away with less bits on the other channels (though it would be a shame)
Any plans to use the onboard CVA9 ethernet?
I could run short ribbon up to the CVA9 assuming the pcb is facing up. The edge connector is enough for my project but the ribbon jumpers would allow for more I/O for evaluation. Pity about the Ethernet connector on CVA9 because the CVA9 is only being used long enough until chips become available, goal set. Seems to me though that I could turn the CVA9 into a stand-alone P2 network server.
Peter, the hardware VGA support is intended to deliver up to full color. A 1 bit VGA goes through the color transform to result in any two RGB values obtained from the LUT.
LUT lookups include 1, 2, 4, 8 bits. For the lower bit depths, we also have pixel order options for those to make sense without having to reverse it shift.
There are absolute modes too. 16 bit color is one of those. A whole word goes into the color system, gets transformed and output according to the device needs. Powerful stuff.
That uses all three DAC channels, unless the format is less, like composite, or svideo, which néed one or two DACS.
One could do monochrome VGA with one 8 bit DAC and the right LUT entries. Wire those to all the color channels. Those would still feature color redirection, palette style, should someone want to use color to pop pre drawn things onto the display. Set LUT entry to background, draw, then assign a grey later for it to all appear at once.
We get color redirection and management this way. (Assuming all three DACS)
The same color values can work on TV, HDTV, VGA...
Or, we can technicaly just do it the P1 way too.
Skip the color system, and just output values via the streamer P1 style. Less pins, less features, and a similar circuit to what we use on P1. That is absolute color with a few P2 pins in digital mode.