Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 06:14 27 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Pic32 Duo

Author Message
MM_Wombat
Senior Member

Joined: 12/12/2011
Location: Australia
Posts: 139
Posted: 09:31pm 18 Feb 2013
Copy link to clipboard 
Print this post

@ Geoffg

Just an idea. Could it be feasible?


Dennis


Keep plugging away, it is fun learning
But can be expensive (if you keep blowing things up).

Maximite, ColourMaximite, MM+
 
MOBI
Guru

Joined: 02/12/2012
Location: Australia
Posts: 819
Posted: 09:53pm 18 Feb 2013
Copy link to clipboard 
Print this post

I realise this is aimed at Geoff, but it is feasible. The only thing that concerns me is speed. Speed would be lost in both the data to and fro transfer and time lost doing more complex graphics.

I support doing the R&D, certainly discussion, it just might be worth it. What would you call it? Maybe a MacroMite ??
David M.
 
MM_Wombat
Senior Member

Joined: 12/12/2011
Location: Australia
Posts: 139
Posted: 10:11pm 18 Feb 2013
Copy link to clipboard 
Print this post

Maximite Dual Core?
Keep plugging away, it is fun learning
But can be expensive (if you keep blowing things up).

Maximite, ColourMaximite, MM+
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 10:15pm 18 Feb 2013
Copy link to clipboard 
Print this post

Fleximite

Already own Fleximite.com +.com.au
VK4MU MicroController Units

 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 10:48pm 18 Feb 2013
Copy link to clipboard 
Print this post

He!
I am almost ready to try this out, but in a simpler configuration using the normal unmodified MMBasic. :)
It is one of the things i have mentioned here (good topic!) together with other solutions to break the 8 color and memory 'problem'

The first thing to do would be to define a 'graphical language'. There are already a few of those around, but i think the most easy one would be to take the current commands and functions available in MMBasic and replace them by functions written in MMBasic as a first step.

So if you want to draw a line instead of using the line command you would use for example the Graphics_Line(x1,y1,x2,y2) function.
The Graphics_Line function would then send a command to the other chip maybe over I2C and can either wait for an 'OK' or just continue, even better make it event driven by using an interrupt so that the whole graphic handling can be made as a separate task. When the speed of I2C is high enough this could actually speed up things a lot as the 'first' pic is freed of the task and the 'second' just works through its queue of graphic commands while having nothing else to do that slows it down.
A 50% overall speed increase with graphic intense programs would be realistic.

In a later phase you could then optimize the codes being send over I2C, to minimize the number of bytes send. Or even add fancy function like bezier curves, fill patterns etc.
Even later you could replace the second pic by another more graphically capable chip, you then would only need to change the Graphics functions to match that chip. This will open a path for future enhancements and processing power.

Another option would be to use one of the SPI ports to communicate with the other chip, probably faster. Conveniently the SPI is located in the VGA connector, so theoretically you could use the current VGA connector to connect it to another maximite. :)

You would maybe be able to have more colors as there is more memory available in the 'second' chip. But that can only be reached when MMBasic is modified or stripped down to only the graphical functions.

One of the greatest advantages though would be that all of the serial peripherals in the first PIC would become available, and of course the memory normally set aside for video. Generating VGA is a big drain on those. Normally you would have 6 serial ports, 5 SPI, 3 I2C available. They are all unavailable when generating color VGA making the serial actually more difficult to implement because it has to be bitbanged. It is not a small feat to have VGA from a PIC32, and it is close to being a miracle.
Edited by TZAdvantage 2013-02-20
Microblocks. Build with logic.
 
Juri74

Senior Member

Joined: 06/02/2012
Location: Italy
Posts: 162
Posted: 01:07am 19 Feb 2013
Copy link to clipboard 
Print this post

that's a really good idea, i was thinking about it too, however because the communication speed is very crucial i think it should be done in parallel mode, using, for example, 8 lines for data, and 2 lines for data management (input, output,wait etc..) you may think you lose 10 gpio lines in maximite but it'is not true because:
1) the video is managed on the 2nd pic so the lines used in first pic wil be freed
2) the 2nd pic have A LOT OF free lines, useable for a third or maybe even a fourth gpio connector...
Edited by Juri74 2013-02-20
 
donmck

Guru

Joined: 09/06/2011
Location: Australia
Posts: 1313
Posted: 09:06am 19 Feb 2013
Copy link to clipboard 
Print this post

http://www.dontronics-shop.com/mod-vga-32mb.html

was a board designed for this specific app some 12 months ago.
In need of software.

Don...
https://www.dontronics.com
 
cwilt
Senior Member

Joined: 20/03/2012
Location: United States
Posts: 147
Posted: 09:08am 19 Feb 2013
Copy link to clipboard 
Print this post

Maybe you don't have to reinvent the wheel.

Something along these lines may work.

16 colors and 400mhz.
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3194
Posted: 10:31pm 19 Feb 2013
Copy link to clipboard 
Print this post

The master/slave concept is a great idea and I played with it when developing the Colour Maximite. However, because the 64 pin PIC32 has only 3 SPI channels, you would still only get 16 colours. So that meant that the slave would need to be the 100 pin chip which has 4 SPI channels. Even then, you would only get 16 colours for the price of an additional 100 pin chip and, at the time, I did not figure that it was worth it.

A better solution would be to use a specialised chip for the graphics (like Don's MOD VGA board) but that would have moved away from the simple, build it yourself design.

Geoff
Geoff Graham - http://geoffg.net
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 10:42pm 19 Feb 2013
Copy link to clipboard 
Print this post

I agree geoff.

The Maximite owes it's massive success on the simplicity of design.
If anyone NEEDS 16 or more colors there are plenty of add-ons or alternatives like the MOD-VGA board.
Surely that is what the I/O pins/protocols and Ardiuno shields are for.
There should not be MAJOR/Minor additions to the range.

The Master / Slave concept is a great idea, but utilising existing modules/add-ons that are already available.

Surely 2 MM/DM (existing designs) have enough memory/grunt for 1 to be the I/O slave and 1 to be the Display/control Master.

Comms between the 2 using Protocols should be more than fast enough. If the existing hardware is not up to the task, maybe you should re-think the design, not expect Yet another MM design.


Edited by djuqa 2013-02-21
VK4MU MicroController Units

 
Juri74

Senior Member

Joined: 06/02/2012
Location: Italy
Posts: 162
Posted: 01:43am 20 Feb 2013
Copy link to clipboard 
Print this post

problem is that those 3rd party vga add ons are not directly supported by maximite, so when you "play" with them you need to countinously switch video from maximite to addon and back a lot of times! too many times...
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024