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 : Maximite - DuinoMite Prog. Differences.
Page 1 of 11 | |||||
Author | Message | ||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
Maximite - DuinoMite Programming Differences. Geoff Graham just pointed out to me the sharing of some signals between the SD card, the VGA, and the general 20 I/O (GPIO) pins on the DuinoMite, and the possible restrictions this imposes on these pins. This doesn't happen on the Maximite. I'll plead ignorance on this one as I wasn't aware of these. I could use the lame excuse that I have been in hospitals from Darwin to Melbourne in the last few weeks, but who would believe that? I have asked questions, and rather than try to explain it in detail, I have posted the Maximite - DuinoMite Rev C Chart to: http://www.themaximitecomputer.com/max/Programs/Hardware/Don tronics/Olimex/Duinomite%20descriptions.pdf I just received the following email from Tsvetan of Olimex. (As he was out of his office, some details may need further verification.) [code]sure we multiplex some GPIO signals as they go to the arduino shield and MM GPIO connector but I do not see what one would be able to make on MM and will not be able to do same on DM I check again the schematic but I can't see where VGA signals are shared with the GPIO signals SD card use SPI and same SPI signals are also shared on Arduino layout and GPIO but this is OK as SD card have CS signal and can be disabled while manipulating the PIOs and vice versa so there will be no harm if handled carefully in the firmware.[/code] I recently made the statement in another thread: So programs that run on the Maximite, should run without changes on the DuinoMite. Is this true? Tsvetan of Olimex will make a list of the major changes, and what impact these will have on the DuinoMite operation as compared to the Maximite. Again, I welcome a healthy exchange of questions, answers, and comments. I don't want to leave any questions unanswered, and there will be no surprises when the new boards are released. BTW I saw the DuinoMite Rev A prototypes for a few days about five weeks ago, so I have no first hand experience to speak of. Cheers Don... https://www.dontronics.com |
||||
CircuitGizmos Guru Joined: 08/09/2011 Location: United StatesPosts: 1425 |
"SD card use SPI and same SPI signals are also shared on Arduino layout and GPIO but this is OK as SD card have CS signal and can be disabled while manipulating the PIOs and vice versa so there will be no harm if handled carefully in the firmware." This is a point of confusion for me (as well as a lot of other things that are on the chart, but perhaps I need to study it more.) Lets assume that I want to use all of the DM's interface lines to drive digital relays. I wouldn't be able to do this, would I? The SPI lines sent to the DM's connector could only be used for SPI. If, for instance, I wanted to drive a digital relay from the line on the connector that is SPI MOSI (data out), the digital relay would turn on and off anytime that the SD card was accessed, such as when reading a file. This isn't something that firmware can fix. Am I wrong about this? Micromites and Maximites! - Beginning Maximite |
||||
CircuitGizmos Guru Joined: 08/09/2011 Location: United StatesPosts: 1425 |
Doesn't the schematic show VGA_VSYNC and D9 together on GPIO-22? Perhaps I'm reading the schematic wrong? Micromites and Maximites! - Beginning Maximite |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
No CG, you are correct. PIN 20: Jumpered via D9_E. Multiplexed with LED2 and VGA_SYNC I am waiting on feed back on this one, and the implications. Cheers Don... https://www.dontronics.com |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
If you are loading a new program, then the data has to be set for output after the run command. My take on it is the relays would rattle when accessing the SD card after the program is running. Would there be circumstances that you would want to access the SD card during program operation? Data logging perhaps? It may be a choice of what pins you wish to use as output, or how many relays do you wish to drive. Twenty output pins, or relays? If it is a lot of relays, then choosing something like the MOD-I/O running from the UEXT may be a better solution. Cheers Don... https://www.dontronics.com |
||||
rhamer Senior Member Joined: 06/06/2011 Location: AustraliaPosts: 174 |
BTW did you finally manage to "Throw the Stone" Cheers Rohan Rohan Hamer HAMFIELD Software & Hardware Solutions Makers of the Maximite Expander. http://www.hamfield.com.au |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
We didn't detect proof of passage, but as it is now 3 weeks since the stone incident, I think (hope) I am in the clear. Thanks for asking Rohan. Cheers Don... https://www.dontronics.com |
||||
CircuitGizmos Guru Joined: 08/09/2011 Location: United StatesPosts: 1425 |
If not data logging, perhaps reading a file for scheduled relay on/off commands. Regardless it is a design trade off and says that the hardware is NOT enough the same to not worry. Micromites and Maximites! - Beginning Maximite |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
Regardless it is a design trade off and says that the hardware is NOT enough the same to not worry. SD Card Signal Sharing Correct CG, I now have to put the appropriate words together to fully explain this design tradeoff. VGA_SYNC Signal Sharing I am still to find out the full details of the VGA_SYNC signal sharing, and the implications here. EUEXT Signal Sharing There is also sharing of signals between the GPIO (which are the same signals as the Arduino shield) and UEXT. But as this is a new connector, it doesn't have a negative impact as far as MM-Basic is concerned. In fact, it uses a new UART and will operate as a true UART, not a bit banged UART. But care has to be taken that the same signals aren't dual mapped by the user, on both the GPIO and UEXT. NOTE **** The GPIO uses a different true UART, so you end up with two true non-conflicting UARTs on the DuinoMite design. Cheers Don... https://www.dontronics.com |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
Tsvetan of Olimex send me a document this morning: The Differences between MaxiMite and DuinoMite However as we have promised to proof read it for him, and correct the English, as English isn't his native Language, it may be Sunday or later before we release it. This should open up a healthy discussion on these differences, and well in advance of the release of the boards. Cheers Don... https://www.dontronics.com |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
Sorry folks, the hold up on this document will be me. I keep asking questions. :-) Cheers Don... https://www.dontronics.com |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
We may still be a couple of days off releasing this document, as we would like to have it as close as possible to the facts. Many of you may be aware that I haven't been in the best of health recently with many hospital visits, and this compatibility issue has been somewhat clouded in my mind. My brain is fried from looking at schematics and look-up tables this morning. Possibly some of these schematics even being out of date, at this point. I was a little shocked to find there were signal sharing issues when moving from the Maximite to the DuinoMite, however in hindsight, even if I was aware, I wonder if I could have done much about it, as this is definitely a compromise of the best of ideas, to reach a final schematic. I'll start off by painting the worst possible scenario: The Maximite has 20 GPIOs. The DuinoMite has 14 GPIOs, as 6 of these pins are shared. Looking at the schematics, all the GPIOs on the Arduino shield "CON-5" are shared. (D8 to D13) This translates to the 26 Pin IDC connector as pins 3, 5, 7, 9, 20, and 22. Or MM-Basic pins 7, 8, 9, 10, 19, and 20. These shared pins are useable, but certain conditions must be met before they become useable, and this is what needs spelling out in detail. The DuinoMite has many advantages such as two (shared three) real UARTs operating at full speed, and many other features, that I'm sure will be covered elsewhere, so I won't go into details here. Current files, and the new document (in PDF) will be posted here: http://www.themaximitecomputer.com/max/Programs/index.php?di r=Hardware%2FDontronics%2FOlimex%2F Cheers Don... EDIT: PIC32 Pin 28. RD11(D10/#SS) It can be used for Arduino D10(SPI_CS), Duinomite PIN7(frequency input). There is 10k pull-up. This is pin 9 on the 26 pin IDC GPIO, and MM-Basic pin 7. So this may not be a shared pin at all. https://www.dontronics.com |
||||
CircuitGizmos Guru Joined: 08/09/2011 Location: United StatesPosts: 1425 |
I hope that this doesn't make for a big confusing problem for the end-user. Micromites and Maximites! - Beginning Maximite |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
I don't see why not CG, it confused me And that is the reason I am spending so much time now, trying to make it clearer for all. Cheers Don... https://www.dontronics.com |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
The evolution of DuinoMite, and the differences between MaxiMite and DuinoMite. We now have the document, and have posted it to: http://www.themaximitecomputer.com/max/Programs/index.php?di r=Hardware%2FDontronics%2FOlimex%2F or: http://www.olimex.com/dev/DUINO/DUINOMITE/DUINOMITE-MAXIMITE .pdf This gives a comparison between the Maximite and the DuinoMite. I know there will still be questions, but hopefully this will help somewhat. Cheers Don... https://www.dontronics.com |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3194 |
I'm sorry Don but this seems to be mostly a sales message. It still does not help me understand how to use the I/O pins, which is the big issue. As an example, quoting from the first pdf that you posted: External I/O Pin 6: RB10 is connected to RD10 via 330 Ohm, RD10 has 4,7K pull-up RD10 is multipleed with UEXT pin5 Your new doco does not mention this and I cannot figure out what it means anyway. A user would certainly need to be aware of the consequences if they were planning to use that I/O pin. There are many other I/O pins with similar issues and without a clear explanation users will be lost. I must admit that I am lost. Geoff Geoff Graham - http://geoffg.net |
||||
vasi Guru Joined: 23/03/2007 Location: RomaniaPosts: 1697 |
Hi Don, I like to look at DuinoMite as a new hardware design with a lot of new features and a Basic language compatible with GW-Basic. I don't think is a good idea to insist on Maximite compatibility because is obvious for all technical people that is not. I will insist on the great hardware features and the fact that are supported by the GW-Basic compatible language. As a microcontroller programmer, I want to have access to all microcontroller peripherals and protocols and this is what I have with DuinoMite. Any reference to Maximite hardware is a wrong path. Also, if you insist on software application compatibility is also a wrong path. You contribute in promoting Maximite hardware as a standard. The key here is "GW-Basic" - is what the entire herd of dinosaurs knows already. It is also addressed to the microcontroller world and those guys knows what to expect from the DuinoMite. Maximite is just a nice little demo with an ad-hoc hardware. My two cents. Vasi Hobbit name: Togo Toadfoot of Frogmorton Elvish name: Mablung Miriel Beyound Arduino Lang |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
Thanks for the question Geoff, Rather than me guess up my best answer, I have passed it onto Tsvetan of Olimex. I can see the signal SCL1 is isolated from MM-Basic Pin 6 using a normally open R26 resistor, and also connected to UEXT pin 5. I'll assume that R26 is a 330 Ohm, that isn't normally installed. I can see the 4.7K pullup resistor near the UEXT connector. I am working on a Rev A schematic, and I know it is now up to Rev C, so I don't know if there are significant changes in the area I am currently looking at. Certainly there are many aspects of the DuinoMite schematic that I do not understand, and I'll have to keep asking questions until it is clear. In fact, I'll bet you understand it better than I do, so we will keep working at it until we get the answers we need, so that everybody can understand it. I have faith in Olimex engineering department regarding the merits of the schematic, but it does lack documentation, that would make it easier for all users. Cheers Don... https://www.dontronics.com |
||||
Olimex Senior Member Joined: 02/10/2011 Location: BulgariaPosts: 226 |
Hi we had intern doc which was made for Ken who works on the firmware and there every GPIO pin is described as functionality, initializations and precautions which should be made while used, to my understanding the firmware should take care for the eventual conflicts from the shared pins and take care, so BASIC programming user to not care about these. About GPIO#6 it is connected to RB10 and RB10 is used as digital IO to drive it high and low or as Analog input as RB10 is also AN10 It is also connected to A5 or Arduino Shield, as some Arduino shields require I2C functionality on pins A4 A5 so these A4 A5 pins are also connected through protection resistor R4 and R26 to RD9 and RD10 which are hardware I2C and this I2C is the same we use to access the UEXT modules. the protection resistors make sure the current which flow to/from PIC32 port will not exceed dangerous levels i.e. even if the different outputs are connected together due to mistake this will only increase the power consumption but nothing fatal for PIC32 will happend. so if you do not use the hardware I2C commands which drive RD9 RD10 you can use GPIO#6 normally, once Arduino shield or UEXT module is connected and you need to use the hardware I2C RB10 should be initialized as input and you can use RD10 to drive this pin as SCL my concept is to build libraries for all UEXT modules and Arduino shields so not experienced user can just use them without going deep into hardware issues like this Best regards Tsvetan |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
All DuinoMite Schematics have just been updated on the Olimex pages, as well as: http://www.themaximitecomputer.com/max/Programs/index.php?di r=Hardware%2FDontronics%2FOlimex%2F Cheers Don... https://www.dontronics.com |
||||
Page 1 of 11 |
Print this page |