New P2 board for A/V applications
Hi all!
Is there any appetite for a dedicated P2 board for Audio/Video applications?
What features should it have? (or doesn't need / should NOT have?)
Any preference for "Made in EU" vs "Made in USA" ?
To kick off discussion with some items:
- HDMI connector
- VGA connector ?
- Audio in
- Audio out (maybe headphone socket, and digital port to hook into external amp, plus OE control line. i2s amplifier?)
- 2x USB ports (mouse, keyboard, pen-drive, etc..).. Hmm, maybe that's 3 or 4 ports then !
- microSD socket ? (if yes, then with a FET to control power, shared with the card detect pin probably)
- microSD 4-bit capability
- Boot flash ? - or just use microSD ?
- On-board USB controller for programming (Target USB-C)? - or just use PropPlug socket?
- As much PSRAM (or similar) on-board as practical
- Multi-button input (to allow use as motherboard in arcade machine)
- Fast comms port? (to allow daisy chaining multiple boards together - perhaps more for multi-play arcade use).
- TXCO or similar
- Decent 5V and 3.3V power supplies available for accessories
- Couple on-board LEDs / buttons
- Common standard accessory sockets for expansion? (examples: STEMMA, QWIC, DFROBOT, 3pin servo)
- Tough IO's - maybe 4 of each, or configurable; allow switching or sensing external AC/DC high voltages, etc..
- WiFi socket?
- P2 header for expansion (examples, Ethernet board). Might struggle for IO's with this.
- Screw terminal or Barrel Jack for power supply connection ?
- Mounting holes suitable for standard DIN rail adapters; perhaps able to help with heat dispersal.
- RTC
This would be built with the P2 chip on-board and everything routed (and therefore positioned) optimally. Once complete, the size/shape/mountings will be given!
Perhaps we could start by collating ideas, and trying to distil that into a feature list later? We might exceed IO's, but for most button and control purposes we could use a multiplex IC. Having a 2nd P2 chip on-board to off-load video? functions is not off the table (in theory).
Update: Extending the list above with suggestions in this thread- just to keep things together for now.
Comments
On the uSD front, I'm progressing nicely with bringing up 4-bit SD interface mode. It's 10x faster than than the bootable SPI solution, but requires more pins and isn't SPI compatible. Therefore it'd want a dedicated set. Including a control for SD power switch and an activity LED makes it 8 pins.
PS: Roger's add-on hasn't had any drawbacks. We discussed a small rearrangement of the pins but to be honest it's fine as is because I've stop using any smartpins for anything more than clock gen. - https://forums.parallax.com/discussion/174988/new-sd-mode-p2-accessory-board/p1
The only requirement is the streamer needs the four data pins be grouped in order on a 4-bit boundary. All other pins can be any pin anywhere around the Prop2.
PPS: The inline 33 ohm resistors are an unknown still. They seem fine but we don't know what is optimal. And I don't know how to find out.
You could split these 2 USBs up into host and client use. For multiple HID devices, a USB hub is probably more useful. You could design a 4 port USB hub chip on the board or just rely on external one which is easier/cheaper.
definitely want the FET power control.
I2C could be handy for that or attaching other sensors etc. The STEMMA connector standard could be handy to use too. Also an I2C path for HDMI/VGA DDC might be useful.
Having jumpers which might let some small set of free IO pins be assigned to different experimental uses like DDC or HDMI CEC access could increase the possibilities of such a board.
With all the ideas suggested above you'll quickly become IO pin limited. Keeping a least one free 8 bit group for a 12 pin P2 accessory interface is a good idea for people to add other things as needed. Eg. Ethernet PHY board or Wifi etc.
Hi,
Do You plan to have an audio codec? Low noise design?
Perhaps an i2s amplifier?
Rtc with battery?
It will be interesting, where you are going to place this bord in the range between highly optimised for speed ( like 4bit SD 16bit Ram) or universal with many free ports.
Christof
Added to list.
For those reasons I'm leaning toward a Dual P2 design, perhaps with DIN rail mounting option that might also be able to help with heat dissipation in applications where isolation is possible.
Could be 64MB PSRAM, 4-bit microSD, HDMI, USB on a master, and 8 or 16-bit bus to a slave. Programmable & Powered over USB-C and/or screw terminals.
Has anyone seen PSRAM larger than 64Mb ? The 128's seem to have the SPI interface with the additional clock pin (aka Data Strobe & Mask), whereas I'd like to stick with the current Edge format, just BIGGER !
Edge memory: PSRAM,64Mb,QSPI 133/84MHz,RBX,USON8 (AP Memory : APS6404L-3SQR-ZR)
Many performers are using backing tracks instead of having a full band. A popular source of BTs is karaoke-version because of the fact that; in "custom tracks", it's possible to download each instrument individually or set-up a mix on the site and download a custom mp3.
The problem though, is that the mix might not be ideal for certain venues or other reasons.
What would be cool is a multi-track player where each track-level can be adjusted on-stage.
The same device could also output lyrics on a screen.
I would also go a step further and incorporate MIDI output where an instrument patch-change can happen automatically at any point in the track.
Naturally, I wander-off on a crazy tangent
Last I checked, no. 64Mbit is the world's oyster or something. The wayTM is to just have multiple banks, but the CS pin on the EDGE is sandwiched between CLK and the SD pins, so there isn't a 100% compatible way to add another CS pin.
Dual P2s sounds too expensive and complicated.
My daughter included
Agreed, cool, and not such a tangent. The hardware I had in mind would be capable with some tweaks. Overall the hardware for such a device would be relatively simple to complete, and very interesting. But really it's a software project! I suspect UI will be critical to scope out before anything else.
Nah! Not really.
Though it should have Chip on board to work through finishing the required drivers, like USB. Perhaps the ultimate motivator!!
Dual P2 design
Is there something like serial dual ported Ram?
Dual ported spi flash seems to exist.
I have an SPI slave driver that can make the Prop2 act like a memory chip. Can be used both ways if wanting both a master and slave each. Needs a Cog for each slave. https://forums.parallax.com/discussion/175543/propspi-emulation-of-a-generic-spi-ram-chip-using-the-prop2/p1
I would prefer to see an inexpensive P2 "demo board." As a way to get started for under $100 or a quick way to build small projects.
The 40 pin header could be populated for breadboard use, RPi hat use, or a 5.08mm screw terminal.
I suppose fitting the parts into a certain form factor is the opposite of what is being proposed here. The routing may only be important for PSRAM and SD card. The space that is usually occupied by an Ethernet port and 2 USB ports can fit a low-profile VGA connector. (Full-size shown) Instead of camera connector it has mikrobus. Would fit Pi 3 cases except I really want USB-C instead of micro-B.
The PSRAM could go in place of the SDRAM chip. ( The address and data lines for SDRAM can be shared at the cost of some performance. 23 io pins for a 16 bit SDRAM interface, compare to 18 pins for a 16 bit PSRAM interface.)
Those pins run out fast.
USB-C for power and data. I believe we could eventually have a USB bootloader. With a USB-C connector pins 62 and 63 could be USB data. The reset line could be hooked to an auxillary pin on the USB-C for compatability with a special prop-plug-C. It would cost a cog to eliminate the USB to serial chip. But it would reduce overall cost and allow superior data transfer rates.
WRT the multitrack player idea; I was wondering if this could work with VS1053b device (see page 15)
We had a P2 Explorer concept in the past that was similar to PAB-WX, but with an Edge socket.
Essentially a carrier with all the essential connectors/accessories on-board. Probably a couple different carriers would suit most use cases, and with USB-C for power and programming, would avoid most-all the plug-ins. That's a different target market, but I'm glad you raised it... Let's start another thread !!
The VS1053 is a SPI slave itself. My driver doesn't do the master function. Mastering doesn't even need a dedicated Cog.
Jon has an basic master SPI driver in the Obex - https://obex.parallax.com/obex/ez-spi/
I would like to have a P2 in a Pi formfactor. That way you can use Pi enclosures, micro HDMI, etc. Use a compatible pinout for the 40 pin header the Pi users. Not sure that fits with an AV board application, but that is the kind of board I want.
It's a good match. You could do a microHDMI and one USB host/client port (OTG?) and 32MB PSRAM and still have enough IO for all the pins on the header (28). That way you get to leverage all available Pi hats/enclosures and cheaper prototyping add ons etc.