New - Prop2Cpld - board (New Short Demo, updated)
BTX
Posts: 674
Hi everyone !
Here's a initial demo of what will be a Propeller chip + CPLD together used for enhance graphics in VGA.
At this moment the demo is running 640pix by 480pix 15 bit color, although I can get easily 800pix by 600 pix too.
www.youtube.com/watch?v=k_E6goZTesM
Early, I will notice you about characteristics of the board, and what more you could do with it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
Envio editado por (BTX) : 2/22/2010 9:14:41 PM GMT
Here's a initial demo of what will be a Propeller chip + CPLD together used for enhance graphics in VGA.
At this moment the demo is running 640pix by 480pix 15 bit color, although I can get easily 800pix by 600 pix too.
www.youtube.com/watch?v=k_E6goZTesM
Early, I will notice you about characteristics of the board, and what more you could do with it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
Envio editado por (BTX) : 2/22/2010 9:14:41 PM GMT
Comments
Is the MAX II a CPLD or a FPGA, or a cross between them? It seem more than CPLD, but doesn't seem to have a configuration device.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Style and grace : Nil point
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
PropGFX - The home of the Hybrid Development System and PropGFX Lite
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You only ever need two tools in life. If it moves and it shouldn't use Duct Tape. If it does not move and it should use WD40.
Graham
The MAX II is marketed as a CPLD but is actually a small FPGA. Configuration memory is on-chip flash.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Will you be tempting us with more details of the software architecture?
I'm thinking that you've probably developed an API between Prop and CPLD which makes the
combination easy to use.
Will the board be for sale?
Regards,
T o n y
Nice Colour range, and nice resolution [noparse]:)[/noparse] I look forward to seeing more of this!
Baggers.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
Very nicely done, the graphics look awesome. Getting back to you on why I would use an ARM chip over a "CPLD", my reservation however with doing this with an "FPGA" is that the Prop is ill-suited to any kind of address/data expansion. I noticed that you are using around 24 I/O for the interface which is not very realistic in most systems. This is most certainly where I would use an ARM chip and as I have done so in the past I can bit-bang the VGA stream out nicely with these newer Cortex devices and have a smarter interface back to the Prop. I am using 10Mbit serial comms at present and that makes for an easy way to communicate between the Prop and the ARM with the ARM accessing the SD card directly (shared with the Prop).
BTW, many years ago I used to generate VGA color graphics using multiple 24-pin CPLD devices and SRAM. Using a fast ARM to generate the video using nothing more than the CPU and it's internal memory was what I really wanted and there was still enough CPU time left over to run code, and that was on an ARM7 at 66MHz.
However, all said, I am impressed with your board and looks very neatly designed and assembled. Are you sharing the information on this one or is it a commercial venture?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
*Peter*
@Toby, Leon answered you, it is a CPLD with flash inside for configuration. (read more about this in Altera site).
@BradC, In my next answer, I will talk about what you want to know.
@Graham, You catch the idea !! that was what I want to show !!! That's why my demo begin with a Windows screen picture.
@Tony, Following this answer more details, My initial intention is not to sale the board, but I should think some convenient way to do this, in a near future.
@Baggers, Of course, you'll see more.
@Peter, Iti is a commercial venture, in fact, this is for the customer that you know well too. Anyway, I think I could share some of the code, schematic (that I should do early....yes, so sorry, I've began doing the PCB first instead the schema....very bad from me, it is a bad custom that I have), BOM, also I think I could give who wants the CPLD compiled file for comfiguration. I've still don't know exactly what I will do.
I'm using 16 I/O pchip pins for data comunication, and 4 pins more for signal handshaking between the CPLD and propeller.
I think·I understood all you said about ARM, looks really a great microcontroller, but I can't give you a decent opinion, since I never used that micro, and maybe I have not enough knowledge to discuss about that, sorry, anyway I can see, that you did great things with it !!!·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
www.leonheller.com/Prop-CPLD/Prop-CPLD.pdf
Here's the PCB, with a trial routing:
www.leonheller.com/Prop-CPLD/prop-cpld_layout.GIF
A few people were interested in it, but I don't think that it would have been viable.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 2/13/2010 5:12:05 PM GMT
First of all, have in mind that it's made step by step, and have not any advanced program technics in the code, since I'm not a good programmer at all, you can found this very simple, almost for begginers.
The board, as you see, uses a MicroSD card to store previously bmp processed files, original bmp 24 bit RGB files are changed to 15 bit color files and without the bmp header. So a 640x480 bmp file (921654bytes) is changed to a 307200 bytes·file containing the pixel data in 15 bit format, it is RRRRRGGGGGBBBBBX bits in a word by pixel.
Also, the SD card, stores the "font files" to do text, so you can have differents fonts, for show text in the VGA screen.
The idea is to program·some "text" routines in the propeller code, to let you send commands as: vga.text(string("Hello word",13)), out(x), dec(x), etc. (this is my next step on the board code).
The comunication between the pchip and the CPLD is made by 16 pins for data, and 4 pins more for handshaking betweem them.
Also the pchip generates a 100.7 Mhz clock for the CPLD (main CPLD clock).
Obviously, almost all the data pased by the pchip to the CPLD, is stored in the SRAM (512Kb x 16bits wide) except some used for CPLD variables and commands. So for 640x480 pixeles image, I used only 307200 bytes of SRAM, so I could·get a 800x600 image storing 480000 bytes too.
Since the image data is about 307200 bytes for a complete frame, I did a 6144bytes buffer·that is filled reading the SD files once at time, then the 6144 bytes are sent to the CPLD by a driver programmed in asm.
To transfer a complete frame to the CPLD, you'll have to send·50 times that filled buffer, that is the 307200 bytes of the frame.
Like you see in the video, I programmed a Plot(x,y,color) function to let·the·pchip do some function graphics in the VGA screen.
Also, when you see the butterfly superimposed in the car image, it is a butterfly picture, with a translucent backgroung color previously defined, so·the CPLD will·not show the background color, and yes only the object that you want. (butterfly, 'Be' text, engagement, frame)
OK I don't know what more to comment, maybe it's good, that you ask me for some questions, I don't know too, if I'm enough clear in my explanations, it's a bit dificult for me to do it in English.
Let me now, to·say some comments·about the board (hardware):
1- Propeller chip as main processor.
2- 24LC256 for pchip program code.
3- MAXII CPLD (EPM1270) to controll VGA screen.
4- 61-64WV51216 SRAM for storing image pixeles.
5- ADV7123 VGA DAC to interface CPLD and VGA out (also, you can program in the CPLD, some backgrounds of 24 bit true color with this easily).
6- MicroSD socket to store data, images, fonts, etc.
7- Two LM2937 DC regulators, one for 5Vcc and one more for 3.3Vcc.
8- JTAG connector to program the CPLD.
9- 16 pin expansion connector for the CPLD.
10- 3 pin connector (to propeller wired), used to recieved or send external commands to/from the board.
Maybe the board could be sell in a early future, I don't know if it could be usefull or interesting for people, the original purpose of the baord is for a special job for a customer of mine. But all possibilities are open.
Maybe sell only the PCB with schematics, and the CPLD configuration file, we will see.
I will post later the propeller code of the demo that you see in youtube, maybe could be interesting for me too, if you colaborate·in improve that code (it's really ugly), or give me more ideas about what to do, etc, etc.
Here you've a picture of the board:
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
I saw that board before, seems to be a nice board !!·but like I told before, my board was designed·for my customer.
But maybe too, all together could share somethings to get better performance of boards,·or sharing ides, thought it is usefull for all of us.
Sell them is not my main idea.
Please critisize mine too, it is usefull for me.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
pPropellerSim - A propeller simulator for ASM development sourceforge.net/projects/ppropellersim
But, what did you do with the DAC part ? R-2R ladder ? how many bits per color ? As you can read I'm using only 5bits per color.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
Your English is far better than our Italian[noparse]:)[/noparse]
Any time you can get multiple conversations going in the same thread you are on to something[noparse]:)[/noparse]
As you say, this is a specialized board for a specialized customer. Now, "what to do with it?"
As an engineering demo... this would be at the level of a master's degree at a state school in the U.S.
It is a tough call, because you could put a lot more work into it and still not have what you would need to
make it sell.
My inclination would be to tear it apart... leave the memory, CPLD and other goodies right where they are, but put the specialized functions on a breakout board. Then you can sell the specialized code and hardware into specialized markets (if you can find one in this economy[noparse]:)[/noparse]. 15 Bit gray scale imaging IS more than enough for a variety of scientific applications... but accessing those markets right now might be impossible.
Without a good set of tutorials, even this approach might not produce enough to justify your time doing it. You appear to be another Prop-Head that should be surrounded by support.
I'd be interested in what you have so far, if you decide to produce the board. Keep it cheap!!!
If you don't want to tear it apart and you don't want to slow down long enough to sell a few boards, then you have 99% of intellectual hardware you need to make a really good camera. If you want a challenge... here it is. Make a digital camera... as fast as you can ...and report back here!!!!!
That would sell... over time, it might surprise you how many units you could sell. And if you make a camera faster than normal guys can do it... your personal stock will go way up[noparse]:)[/noparse]
All the best.
Rich
I'm glad you got a borad done if not I would have offered you one of mine (was going to when I saw your post in the other thread...)... but I do not think you need any
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
pPropellerSim - A propeller simulator for ASM development sourceforge.net/projects/ppropellersim
hahahah !! but you seems to be more American than me. · (From my view point) Do you mean a·photo camera with 640x480 or 800x600 pix ? will be cheaper any similar at the market yet.... correct ?
Do you know any CCD with optics integrated to play with ? (that somebody are selling by there.)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
If you like my graphics, maybe you're at time to add one more bit for each color in your board, unless your priority task, is pointing to another task than graphics. (obviously no?)
But this is OK, buy one to me so ! hahahaha. Or better you'll sell for Xilinx fans, and me for Altera ones. Then Leon will offer his board, to people·who want separate buses on board, and everybody happy !!
Talking serious, what I really spect, is to can sell a lot to my customer first.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
It's is really tough to give generic advice. So much of what we do is what we can do from where we are in life. Without that sort of info the advice is pretty much worth what you are paying for it. But in terms of generic advice, I can only speak from
my own interests and experience.
If I had your talent, I would ask Kodak to donate their latest, most sensitive imaging chip with no filters and I would build an imaging system, with the Prop being the heart and soul of the camera. I probably wouldn't use just one Prop... and I would be designing it for the Prop II... I know ... there are a lot of unknowns... so you drop in a group of other Props... that should have roughly the equivalent of two Prop II's in total bandwidth and make do. If you can make it work with Prop I's then it will be easy to convert. I would choose Kodak, because they really do not like to compete in vertical markets. Their business ethics and behavior are very similar to Parallax's. Kodak does compete in some vertical markets, but they don't like to do it. They would much rather that you do it, but you have to do it really well... almost as well as Kodak would do it. They don't like players... if you go to Kodak, stick with Kodak. If they see you playing around, you will be out of business.
If you do it right, you will go from product specialist to product manager to division chief to an administrative vice president... and if all of these people like you, they will sit down with you, and tell you where the markets are. They will tell you how to configure your business to compete in those markets, and they will tell you where the capital is to do whatever it is that you want to do.
What they probably won't do is offer you a job. They have a recruiting system, which is much like major league baseball. They do hire outside of that system... but not very often.
Most guys here don't want to work for anyone but themselves. They don't need a boss and they don't want a boss... Parallax and Kodak are two companies that are perfect for people like us[noparse]:)[/noparse]
Rich
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
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
I could add another VGA port using the expansion port and 15 bits for color but... I have a long way ahead before that makes sense.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
pPropellerSim - A propeller simulator for ASM development sourceforge.net/projects/ppropellersim
Thanks you so much for your advices, I will have them in mind.
@Cluso99
Thanks you so much !!
@Ale.
We talk in private by my personal email OK?
BTW: I'm writing the text code part, where can I get some fonts ? I downloaded Aichip 8x8pix, and some of 7x11pix, but could be great if I get some of 16x16 pix..... I tried some font of 23x27pix, nice, but too big for·my VGA screen.
So, is there a 16x16pix font, or similar, ·in some thread of this forum ?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
Here you have something to begin with, a 16x16 font using the method described...
font8x16 is the binary font each byte is a line from left to right greater to lesser bits
convfont2 is the converting script in python
font8x16prop.txt is a ready to use DAT section with the font (without the DAT label at the top). I did not make it nicer it is just converted. Test it to see if it works and then you can improve it if you need.
have fun
Ale
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
pPropellerSim - A propeller simulator for ASM development sourceforge.net/projects/ppropellersim
The font8x16prop.txt··font seems to be perfect !! Thanks so much !!
I've tried yet the 8x11 one and it works fine too, so now I can have three differents font sets for the board.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
pPropellerSim - A propeller simulator for ASM development sourceforge.net/projects/ppropellersim
Early some code of a new short demo to let you see as it is controlled (I'm preparing it).
At this point I've the text·code done too.
And I will ask for some advices for speed up it too (if·somebody want to help a bit).
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
pPropellerSim - A propeller simulator for ASM development sourceforge.net/projects/ppropellersim
Here is another and short demo of the prop2cpld board, with text capabilities added more some fade effect (only for small windows).
Although the code I'm posting is an example, my final code for this project will have a fullduplexserial driver which will catch serial commands and data from another board, I've this done too, I think maybe it is not of your interest, so I posted this code to show how the board works only.
Ne YouTube link is: http://www.youtube.com/watch?v=GCaSQQIevh8
Any ideas, opinions, or anything, about this code are wellcomed.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.