My understanding is that Commands are always sent as 1pin slow speed mode, even if you have switched over to high-speed mode.
Highspeed is only for data and not commands.
>SPI flash chip on it.
But you can not get the SPI flash initiated without a PropPlug,
A $1 SD socket vs $15 Prop plug, the SD card can later be used for something useful.
PropPug not so much as PropII can do USB by itself once it got code in it.
And no to FTDI, Should not have to depend on a 3rd party chip to be able to boot.
QuickStart probably could have a $19.95 msrp if it was not for that kludge.
It's not a kludge. How else would you get serial out of a USB connection, except via a USB->Serial chip? The FTDI chip is used simply because it's almost monopolistic in it's ubiquity, and the drivers seem to work very well.
As Rayman and others have said, future Prop boards could come with the 50 cent flash chip preloaded by Parallax, and boot from your $1 SD socket.
>It's not a kludge. How else would you get serial out of a USB
It was not in 2000, but in 2012 I don't expect to see it.
If the PropII had more ROM, I would like to seen a USB boot strap loader.
But as the time it takes to write this rather complicated usb code and space it uses, I guess SD boot will do.
Since this thread is about the P2 let's discuss that instead of the assinine sniping about the pros and cons of SD card booting (not SD cards storing data).
Let us start with a story,
I came accross the P1 by accident back in 2008 and imedialtely there was this shine in my eyes, 8 cogs that could run independant sub processes, oh the possibilities...........
Then I started to read what could be loosly described as the datasheet and that shine began to fade and the realization dawned.........
1. Learn a new and unheard of language called SPIN, well no biggie but why when I have years of C programming experience, I mean seriously, having a Basic Interprator would have been a better idea.
2. There are no peripherals, and those beloved cogs would have to be consumed to implement them, oh my the sub processes are shrinking, the shine fades some more.
3. There is no internal flash and I will have to add external EEPROM oh the pain (read cost), fade to gray.
4. There is no code security, fade to black.
Now back in 2008/2009 I can't remenber which there were rumbours abound about a mythical beast called the P2.
This beast would have 16 cogs and a higher clock speed, praise upon high the sub processes have been saved.
Now fast forward to 2012, the P2 (still mythical at this time) whilst having a higher clock speed has only 8 cogs, the pain the pain.
But seriosly 8 cogs ok, but again throwing what amounts to a 32 bit processor to implement a Basic peripheral like a UART.
So whilst this debate about SD card booting may have some appeal to some the thought that throwing some silicon to implement a couple of UARTS,a SPI and a I2C port would give those cogs back, well enough said.
Put the cores back into multi core processing.
Cheers
Please note: No animals were harmed or people personaly attacked during the making of this post.
Batang, some of you points are valid...
But, Prop2 will allow multiple threads to run in a single core.
That should mean that UART, SPI, and I2C can all be done in one core.
That's not too bad, right?
"the thought that throwing some silicon to implement a couple of UARTS,a SPI and a I2C port would give those cogs back, well enough said."
It's not going to happen. That's not Chip's philosophy of microcontroller design and it doesn't fit with what he's done during the whole of Parallax's existance. Get used to it or use some other company's microcontroller that fits your needs better. The P1 and the P2 as described so far are microcontrollers and the idea of software implemented peripherals is fundamental to their design and intended market. Neither one is designed to be a general purpose multicore processor.
So whilst this debate about SD card booting may have some appeal to some the thought that throwing some silicon to implement a couple of UARTS,a SPI and a I2C port would give those cogs back, well enough said.
Since P2 will execute 8 times faster than P1 I suspect we will see implementations that do more than one peripheral in a cog. A cog could implement several UARTS plus I2C. SPI will probably still need to be done in a dedicated cog. Instead of more cogs or dedicated peripheral hardware I would have like to have seen more cog memory. Maybe that will happen in P2.1 or P3.
To implement a few hardware peripherals so that we could take advantage of the multiple cores seems a no brainer to me.
Secondly it seems a bit redundant to spend time developing & testing software implantations of UARTS etc instead or writing code to use them.
And thirdly I would point out that even to this day the various obex implementations are being bugged fixed etc, so from a commercial point of view do I make a decision to trust an obex item or do I spend billable time to do it myself.
Batang, there are plusses and minusses to hardware things like UART.
One great thing about Prop is that you're not boxed in by the hardware...
For instance, one time I wanted ~300,000 baud and was able to get that coded...
Other people have made trade off between buffer size in RX and TX..
So, there's a lot of flexibility that you wouldn't get if the UART were hardware based...
And thirdly I would point out that even to this day the various obex implementations are being bugged fixed etc, so from a commercial point of view do I make a decision to trust an obex item or do I spend billable time to do it myself.
...and trust that your work is better than the work on the OBEX.
I've seen some people do software UART on other microcontrollers, but the problem is that they can't juggle that plus 7 other things at the same time...
Or maybe they could, but it would be a real challenge to make sure it all worked...
Things are a lot simpler here with no interrupts and multiple independent cores.
So that is a great case for the software philosophy! No need to trust third party hardware or software right?
Everything costs something and there are always risks. Want lower costs, use third party devices. Want lower billable time, trust the objects. Want it all? Cake and eat it too right?
I understand the desire for hardware peripherals. I begged for a SERDES per COG which would be fairly generic - oh well. Maybe the inter-COG serial links can be high-jacked for similar purpose.
However, I do have a complicated I2C COG that contains code for 5 different devices. Four are I2C and one shares the SCL clock to monitor buttons when the I2C is idle. It could be done with an AVR, but I would have to use up a timer for it too.
@potatohead, I looked at you post 5 times 3 of those time sideways, I still don't get it especially the bit about third party hardware, never mind.
It goes like this, use code that meets a standard and is certified to work provided by the chip manufacturer for example or grab something off the internet.
Perhaps for a hobbyist the internet grabbing is ok, but not sure if it would past muster in a commercial environment.
...and trust that your work is better than the work on the OBEX.
That wouldn't be hard in some cases. In other cases I had to rewrite what a contributor posted. Why do you think there is a effort to have a "Gold code" obex of trustworthy objects that are well documented. Parallax needs that if they want to appear as a viable commercial alternative to conventional micro controllers.
"I believe it is an established maxim in morals that he who makes an assertion without knowing whether it is true or false, is guilty of falsehood. . . ."
--A. Lincoln,
A couple of hardware uarts that could be routed to pins on one of the 4 sides of a quad pack at a time with either IO or uart function select would be ideal.
NXP ARM chips do something similar and it eases PCB layout.
Now whether you you want to use the hardware uarts is another matter, if your application requires a serial speed that will bend the space time continuum then use a cog to implement it, if not you free up some cores.
Comments
Highspeed is only for data and not commands.
It's not a kludge. How else would you get serial out of a USB connection, except via a USB->Serial chip? The FTDI chip is used simply because it's almost monopolistic in it's ubiquity, and the drivers seem to work very well.
As Rayman and others have said, future Prop boards could come with the 50 cent flash chip preloaded by Parallax, and boot from your $1 SD socket.
Please no personal attacks. It doesn't do our forums justice.
It was not in 2000, but in 2012 I don't expect to see it.
If the PropII had more ROM, I would like to seen a USB boot strap loader.
But as the time it takes to write this rather complicated usb code and space it uses, I guess SD boot will do.
Please quote the line where I personally attacked someone.
I do note however that I was by inference called an idiot, please feel free to give the same advice to that person.
Cheers
Let us start with a story,
I came accross the P1 by accident back in 2008 and imedialtely there was this shine in my eyes, 8 cogs that could run independant sub processes, oh the possibilities...........
Then I started to read what could be loosly described as the datasheet and that shine began to fade and the realization dawned.........
1. Learn a new and unheard of language called SPIN, well no biggie but why when I have years of C programming experience, I mean seriously, having a Basic Interprator would have been a better idea.
2. There are no peripherals, and those beloved cogs would have to be consumed to implement them, oh my the sub processes are shrinking, the shine fades some more.
3. There is no internal flash and I will have to add external EEPROM oh the pain (read cost), fade to gray.
4. There is no code security, fade to black.
Now back in 2008/2009 I can't remenber which there were rumbours abound about a mythical beast called the P2.
This beast would have 16 cogs and a higher clock speed, praise upon high the sub processes have been saved.
Now fast forward to 2012, the P2 (still mythical at this time) whilst having a higher clock speed has only 8 cogs, the pain the pain.
But seriosly 8 cogs ok, but again throwing what amounts to a 32 bit processor to implement a Basic peripheral like a UART.
So whilst this debate about SD card booting may have some appeal to some the thought that throwing some silicon to implement a couple of UARTS,a SPI and a I2C port would give those cogs back, well enough said.
Put the cores back into multi core processing.
Cheers
Please note: No animals were harmed or people personaly attacked during the making of this post.
But, Prop2 will allow multiple threads to run in a single core.
That should mean that UART, SPI, and I2C can all be done in one core.
That's not too bad, right?
It's not going to happen. That's not Chip's philosophy of microcontroller design and it doesn't fit with what he's done during the whole of Parallax's existance. Get used to it or use some other company's microcontroller that fits your needs better. The P1 and the P2 as described so far are microcontrollers and the idea of software implemented peripherals is fundamental to their design and intended market. Neither one is designed to be a general purpose multicore processor.
Fair point, but I would counter as follows....
To implement a few hardware peripherals so that we could take advantage of the multiple cores seems a no brainer to me.
Secondly it seems a bit redundant to spend time developing & testing software implantations of UARTS etc instead or writing code to use them.
And thirdly I would point out that even to this day the various obex implementations are being bugged fixed etc, so from a commercial point of view do I make a decision to trust an obex item or do I spend billable time to do it myself.
Cheers
I think this thread is at the point of diminished returns....
One great thing about Prop is that you're not boxed in by the hardware...
For instance, one time I wanted ~300,000 baud and was able to get that coded...
Other people have made trade off between buffer size in RX and TX..
So, there's a lot of flexibility that you wouldn't get if the UART were hardware based...
...and trust that your work is better than the work on the OBEX.
Cheers
@Mike Green, All opinions posted are compliant with the terms and conditions of this forum, BTW A moderator should be impartial.
@groggory, who would you trust more? yourself or someone else.
Or maybe they could, but it would be a real challenge to make sure it all worked...
Things are a lot simpler here with no interrupts and multiple independent cores.
Everything costs something and there are always risks. Want lower costs, use third party devices. Want lower billable time, trust the objects. Want it all? Cake and eat it too right?
However, I do have a complicated I2C COG that contains code for 5 different devices. Four are I2C and one shares the SCL clock to monitor buttons when the I2C is idle. It could be done with an AVR, but I would have to use up a timer for it too.
It goes like this, use code that meets a standard and is certified to work provided by the chip manufacturer for example or grab something off the internet.
Perhaps for a hobbyist the internet grabbing is ok, but not sure if it would past muster in a commercial environment.
Just a thought.
That wouldn't be hard in some cases. In other cases I had to rewrite what a contributor posted. Why do you think there is a effort to have a "Gold code" obex of trustworthy objects that are well documented. Parallax needs that if they want to appear as a viable commercial alternative to conventional micro controllers.
Cheers.
I feel you attacked Sapieha personally instead of debating the ideas he proposed. Such personal attacks are not helpful nor productive.
Thanks.
I'm not disturbed by that -- Had to much with people to do in my real life.
But He only showed what one he are.
1. Dude take a pill and chill out. Euphemism for relax
2. I have no idea what you are talking about???? Question meaning I do not know what he was talking about
3. There 3 types of people in the world, those who can count and those who cannot. A joke for no good reason
Sapieha, -- "But He only showed what one he are." @SRLM now that that is a personal attack.
Anyway we almost 2 pages past that, time to drop it.
Cheers.
PS
@SRLM --- "instead of debating the ideas he proposed", hard to do when I had not idea what he what he was talking about (see point 2 above).
I think it goes like this: There are 10 type of people in this world, those who can count and those who can't.
The joke being that 10 base 2 is 2 in base 10.
Cheers.
"Everything you read on the internet is true." - Abe Lincoln
From one of Bean's .sigs.
--A. Lincoln,
A couple of hardware uarts that could be routed to pins on one of the 4 sides of a quad pack at a time with either IO or uart function select would be ideal.
NXP ARM chips do something similar and it eases PCB layout.
Now whether you you want to use the hardware uarts is another matter, if your application requires a serial speed that will bend the space time continuum then use a cog to implement it, if not you free up some cores.
Just a thought.