Shop OBEX P1 Docs P2 Docs Learn Events
SmartPin USB (was: SmartPin state machine modes) - Page 9 — Parallax Forums

SmartPin USB (was: SmartPin state machine modes)

16791112

Comments

  • cgraceycgracey Posts: 14,133
    edited 2016-02-23 12:43
    I had an epiphany about USB today.

    Computers used to have simple parallel and serial ports which were very easy to design around.

    USB came along and slowly supplanted both of the old communication ports. To make a USB device, you need to pay ~$1500 and get a unique Vendor ID from the USB people. Then, you must write some complicated driver code for the OS you're targeting. Oh, and you'll need some USB-supporting chip to connect to the USB cable. It most often needs programming, too.

    For some standard types of devices, like memory sticks, mice, and keyboards, there were standard USB protocols established which all OS's included drivers for. Mice and keyboards fell under the Human Interface Device (HID) protocol. Frustratingly, you could only use that for moving 800 bytes per second. It was intentionally limited to be useless for a simple communication medium.

    FTDI came along and made a USB-to-serial converter chip that allowed you to open a serial port in your OS and finally get serial out the other side of their chip, after the USB cable. You needed their OS-specific drivers, though. People making work-alike chips tried to exploit FTDI's driver software to get around all the headaches of writing, testing, and distributing their own. FTDI fought back by detecting non-FTDI chips and then not working.

    Here's what I realized: Amid mouse, keyboard, and other standard drivers, USB never offered a simple generic communication protocol. Serial has been badly needed and should have been among the first of the standard protocols. The closest you could get was FTDI. I think this was done intentionally by the USB people to herd everybody into the long and expensive route. I mean, of all things, there's been an ongoing need for simple communication to things outside of the computer, and USB has never offered one at the standard-protocol level. Is that not telling what the game plan was, all along? Imagine how many people would have forgone the $1500 expense and, way more significantly, the headache of writing OS-specific custom drivers and firmware, if a simple data link had been available under a standard protocol, with adherent chips from multiple vendors that didn't need programming. USB has made what should have been simple, protractedly painful. And that mess that occurs when you plug in many USB devices, over time, into your computer! It's all like a bad dream. A very modern bad dream.

    When economies and industries mature, attention shifts to "rent seeking", where rather than offer any value, the entrenched players just set up gates that people must pay to pass through, on the way to do doing whatever they would have done had the gates not been there.

    I deeply dislike things like this.

    I'm really looking forward to getting the Prop2 self-sustaining and "off the grid".
  • cgracey wrote: »
    I really dislike things like this.

    So... no USB support, then? Seriously. I'm fine with that. Don't feed the beast!

  • cgraceycgracey Posts: 14,133
    edited 2016-02-23 12:28
    Seairth wrote: »
    cgracey wrote: »
    I really dislike things like this.

    So... no USB support, then? Seriously. I'm fine with that. Don't feed the beast!

    It is a beast, but by having USB support, the Prop2 will be able to use keyboards, mice, hopefully thumb drives, Wifi converters, etc.

    We need the beast's accessories, but don't need to be the beast.

    The trouble is, today, you can't get away from the beast. Everything becomes it.

    It might be a Luddite pipe dream, but I want the Prop2 to be a Noah's Ark, of sorts.
  • ozpropdevozpropdev Posts: 2,791
    edited 2016-02-23 13:33
    In a perfect world wouldn't it be great if all the USB hoops and red tape could be avoided to ultimately arrive with this message. :)

    Edit: Oops! see image below
    250 x 79 - 9K
  • p2_found.jpg
    250 x 79 - 8K
  • ozpropdev wrote: »
    p2_found.jpg

    Yes, a P2 this year or I will have to trash and redo everything as next year will bring more enhancements, that's called P3.

  • cgraceycgracey Posts: 14,133
    edited 2016-02-23 14:00
    ozpropdev wrote: »
    p2_found.jpg

    Here's the hospitality that is likely to be extended to someone who doesn't pay kickbacks:
    WARNING.png
    575 x 483 - 32K
  • The computer industry has been setting up gates into everything.

    From ISA to PCI/PCIe.
    From VGA to HDMI.
    From IDE-ATAPI/Compact Flash, to SATA/SD.
    From BIOS to UEFI. (they even want to lock your options to change your own system boot)

    All of those changes were required for higher bandwidths or for some capacity limits, but were also carefully implemented to set up barriers to entry.

    This is what keeps the top industry players always on top, and nobody behind them.

    My dream is that one day the propeller will be so powerful enought that we will be able to define our own standards and protocols. Thanks for showing us your thoughts, you are our last hope.

  • RaymanRayman Posts: 13,797
    I think people will care more about being a USB host than USB device...
    I don't think host mode requires any kickbacks...

    Basically, want it to do what FTDI's Vinculum series does...
  • cgraceycgracey Posts: 14,133
    Ramon wrote: »
    The computer industry has been setting up gates into everything.

    From ISA to PCI/PCIe.
    From VGA to HDMI.
    From IDE-ATAPI/Compact Flash, to SATA/SD.
    From BIOS to UEFI. (they even want to lock your options to change your own system boot)

    All of those changes were required for higher bandwidths or for some capacity limits, but were also carefully implemented to set up barriers to entry.

    This is what keeps the top industry players always on top, and nobody behind them.

    My dream is that one day the propeller will be so powerful enought that we will be able to define our own standards and protocols. Thanks for showing us your thoughts, you are our last hope.

    Our protocols will be open and free and simple, if any are needed. Boiled down to the pure essence.

    I just really look forward to having a "computer" that actually works 100% of the time and is totally responsive in the user interface and I/O. Nobody has any modern experience with anything that actually works like that. I think if people felt what it was like, they would be delighted and hold fast to it. These modern systems have slowly demoralized us and lowered our expectations right into the mud.

    Windows has gotten so pigheaded that we were going over some layout stuff with Treehouse a few months ago and their PC decided to kick them off and do "updates". My own computer keeps asking me to give it the okay to upgrade to Windows 10. I notice the language is getting less and less optional. I think it's just going to happen at some point. Trying to design a chip amid all this is like shoveling mud from an expanding wavefront. It's like a race against time, money, and insanity. Must... finish... the Ark.
  • rjo__rjo__ Posts: 2,114
    cgracey wrote: »

    It might be a Luddite pipe dream, but I want the Prop2 to be a Noah's Ark, of sorts.[/quote]

    You might be on to something:)

    We need something that eats bugs.

    One minute my usb - serial -> Prop2 is humming away at 3Mbaud... the next minute it just pukes... nothing different on the P2 side... nothing different on the compute side. My drivers got changed out somehow, and whatever was working before just slowed down by 60%:)

    And while my computer can pump out the data at a nice clip... it can't take in the data at more than a few characters every few years.

    The time wasted trying to "debug" this is incredible. My butt hurts from sitting. I can't move my neck because I was looking at the screen from the same direction for three days.









  • cgraceycgracey Posts: 14,133
    edited 2016-02-23 14:49
    rjo__ wrote: »
    cgracey wrote: »
    It might be a Luddite pipe dream, but I want the Prop2 to be a Noah's Ark, of sorts.

    You might be on to something:)

    We need something that eats bugs.

    One minute my usb - serial -> Prop2 is humming away at 3Mbaud... the next minute it just pukes... nothing different on the P2 side... nothing different on the compute side. My drivers got changed out somehow, and whatever was working before just slowed down by 60%:)

    And while my computer can pump out the data at a nice clip... it can't take in the data at more than a few characters every few years.

    The time wasted trying to "debug" this is incredible. My butt hurts from sitting. I can't move my neck because I was looking at the screen from the same direction for three days.

    I've found that the FTDI USB-to-Serial chips are good for 2M baud, but no more. There's some kind of problem where they sputter at 3M. Try using 2M. It could add a month to your life. If we could just get off the modern PC, we could all take up smoking and still live longer.
  • tonyp12tonyp12 Posts: 1,950
    edited 2016-02-23 15:03
    For Parallax $4000/year (or $5K one-time fee if you don't us the logo) for a official block of the USB serial is nothing compared to the P2's real cost,
    Parallax should give ~1000 fixed PID to its biggest customers, and leave a few available as generic P2 device for everyone else to use.
    http://www.arachnidlabs.com/blog/2013/10/18/usb-if-no-vid-for-open-source/
  • cgraceycgracey Posts: 14,133
    tonyp12 wrote: »
    For Parallax $4000/year (or $5K one-time fee if you don't us the logo) for a official block of the USB serial is nothing compared to the P2's real cost,
    Parallax should sub-lease the lower ~100's to its biggest customers, and leave one number available as generic P2 device for everyone else to use.

    Maybe we'll do that, Tony.

    You're right, the cost is not much, in the scheme of things, but that it's even there is grating. There's no alternative if you want to plug into a PC, outside of Ethernet.

    My friend was educating me on Bitcoin and explaining how the block chain works and it's distributed nature. As he pointed out, it "disintermediates" banks. Pretty neat stuff. Gets me thinking about ownerless distributed systems.

    Maybe in the future such things will hold sway. He told me someone was working on an ownerless distributed Uber-like service. Like Uber, but no central command. No tribute. That just sounds wild.

    I was thinking it would be neat to have a distributed ownerless system for eating meals. Imagine you're travelling and you'd rather have a relaxed home-cooked meal than go to a restaurant. Someone in that town likes to cook Korean food at home and they've got seating and ingredients for six. The customers find it on the app, commit, pay, show up, eat, and everyone's happy. Outside of reviews, there should maybe be some video chat beforehand, so everyone has an idea of who they are dealing with, as it could be dangerous. Maybe there could be some way to qualify people before they are ever involved. Anyway, it disintermediates all kinds of government, and lets people deal straight with each other. Everyone can be a cook, if they want, until word gets out that they can't cook. It would be great for people to get government out from between them. A distributed ownerless system would be unstoppable.
  • ErNaErNa Posts: 1,738
    Chip, you are invited ;-)
  • potatoheadpotatohead Posts: 10,253
    edited 2016-02-23 15:58
    There is an app operating in the Bay Area that matches up home cooks with people who want to eat and who either don't cook, or can't cook well.

    Home cooks advertise a menu, orders get placed, they cook enough for their needs and these orders, then people pick up their food and payment happens through some electronic payment system. Of course, parties can choose to deal among themselves too. (that may kill the app model, but it does get people thinking)

    This all makes me think of the "Nice Enchilada Lady" where I used to live. She would cook them up, lots of them, then go sell a few times per week. Those things were AWESOME! People all knew who she was, and would buy a bunch on sight, which they could toss in the freezer and munch on, until the next time they could buy.

    Of course, the tricky part is trust. That lady wanted to make great food and get a few bucks to help out with the family needs, and that is exactly what happened. But, it's so easy for a person to do nefarious things too. For us, it turned out that one of her kids and mine went to school together. Didn't take much to have a chat and find out who she was. $10 bucks got me a bag full of the things, made in the classic, ethnic style, and a container of "orgasm inducing" sauce...

    Can't tell you how many times I've thought about just driving back to that side of town.

    Funny you mention Korean food. My wife lived in Korea for a while before we met. She learned a few authentic dishes, which we really enjoy. Last year, this Korean guy and his family popped up with a burger truck. He's great, and we got to talking, and we exchanged dishes. Now we know a new one, and we were both pleased to enjoy a great dinner not available here.

    Once in a while, I place "the order" off the menu, of course, and people waiting always get a quizzical look when I arrive, pay, and pick up "the bag" :) That all happens over SMS. I'll just ask when Mrs. is making polk hogi, and that I'm in, just let me know. I get the text, and swing by after work on that day. I send another text to my wife, who gets the rice going, and when I get home, it takes minutes to give it a quick finishing heat and we are munching away.

    I keep telling him to just go for it. Offer one great Korean dinner each night. Cook for the fam, plus a few. Once word gets around, they might find that to be a nice bonus, in addition to the burgers.

    And on that note, know what he makes per month with a burger truck? It's 10K / month average, with some double that. Take home is a nice, thick fraction. Who would have thought? He's camped out a short walk from the University here.

    He ran a tech company that got cut out and he closed it down. Thought about it for a while, said "screw it all", built the truck, and now he's out just making food and friends. I like him and his family. Nice people. Good food. That's worth a lot.

    Re: Disintermediation

    Yeah, people to people stuff is very cool. I would point out that it's the big players overall, not just government that has been locking people in. I'm not anti anything here, and do not want a politics discussion. I just want to say it's worth it to compete with that on a local, "make a network" kind of level. Won't necessarily change the world, but it does make the lives of everyone involved that much better. My experiences have all been good, and I'm always looking for more.

    Had USB, for example, actually contained a basic protocol, everyone would have used it, expanded on it, and it would be open, like serial, with the USB folks just selling cables, right along with everyone else. So, of course, they didn't do that. Having the control is a double edged sword. On one hand, it's good to standardize and get economies of scale. On the other, that's a nice, central place to exert control and that's something other big players will pay for to preserve margins and or shut competitors out. I'm not sure we can ever get one without the other.

    Re: Years going by...

    Guys, this is almost done. USB is a "worth it" stretch. Nobody is tearing into the thing, reorganizing the guts of it. Anyway, I'm in. This P2 chip is gonna get done, and it's enough to really do some stuff without "the beast."

    Don't panic. This isn't another iteration, or a rebuild, etc... If we get the wire level stuff sorted out, doing this will be worth it. I think it will help sell chips. Of course, "will sell chips" is the slippery slope we all fear. Thing is, I don't see that slippage. This is a connectivity feature that will see a lot of use. Worth it, IMHO.

    I also think whatever ecosystem forms around P2 will need to be enough to make it worth having done it too. USB is one of those basic, "works with..." kind of things that will encourage that ecosystem and expand it's scope. Both important.
  • RaymanRayman Posts: 13,797
    I think I'd be OK with USB host only and no VID...
    But, I suppose Parallax could do it the way Microchip does and let people use their VID:
    http://www.microchip.com/forums/m540204.aspx
  • Once the basic hardware is there, all of that ends up just being a software choice, right?
  • @ Chip

    re:. Everyone can be a cook

    Lets be clear in that there will be no line up's for my cooking LOL however, anytime you want to visit Nova Scotia we will feed you for free with the best sea food we have to offer :)

    re:It is a beast, but by having USB support, the Prop2 will be able to use keyboards, mice, hopefully thumb drives, Wifi converters, etc.

    Cool! we need it for sure. It's well worth the few extra weeks of design work that's required.
  • JRetSapDoogJRetSapDoog Posts: 954
    edited 2016-02-23 18:51
    cgracey wrote: »
    I had an epiphany about USB today.

    I kind of think that Chip had this epiphany some time back (though he has perhaps reconditioned it). So, it only seems like an epiphany to me if he were following through and dropping USB support, which is apparently not the case (though it sounds like he may have seriously toyed with the idea). I could certainly understand dropping it if he did (despite the loss of potential customers). It does seem odd for him to have such an epiphany just when the requirements for implementing USB are starting to come together for him. Typically, his epiphanies result is something simpler or better in certain respects.

    But anyway, I can’t believe how overly complex it is to connect a wired USB ASCII keyboard (or other HID) to a microcontroller without built-in USB host functionality. I’ve searched and searched for solutions to connect to, for example, PIK’s and the Propeller. About the only thing I’ve found is from Micah E. Scott (scanlime) for the Propeller (using multiple cogs) and some stuff involving LINUX. Good grief! We can’t even connect a standard USB keyboard to a microcontroller? What’s with that!

    And then if you want a wireless solution, oh boy, it’s generally Bluetooth on top of USB (though there may still be some non-Bluetooth 2.4GHz solutions). And I find myself challenged to understand the licensing and membership requirements when I go to the USB and BT so-called .org sites. It’s almost as if they don’t want to make it clear under what circumstances one needs to pay.

    This irks me so much that I’ve considered designing/making my own IR line-of-sight keyboards just to try to avoid some of that nonsense (both the over-complexity and the licensing), not to mention hopefully simplifying FCC compliance if ever commercializing a product. If I could manage it, I’d like to stay away from USB, BT and the FCC as much as possible, not to mention Microsoft’s control.

    I know a guy that works for a major NAND flash controller company in Taiwan. I lightly tried to encourage him to suggest to his company to come out with a license-free alternative to BT for low-speed HID (and possibly IoT) devices as an alternative to BT/USB for microcontrollers and so on. But, of course, the BT/USB alliance is a juggernaut. So, I’m probably crazy. But I just wish a company could make money by selling chips rather than licenses. Heck, other than possibly the old MMC standard, I don’t think there’s a license-free version for standardized memory cards for card manufacturers, not to mention device makers, which is another thing that sucks. It’s like charging a licensing fee to use paper.

    The $9 C.H.I.P board that I sponsored off of Kickstarter arrived on schedule last month. It seems pretty slick, but I just hate waiting for 40 seconds for the thing to boot all that LINUX complexity that so many seem so crazy about. When I turn on my home-brew Propeller-based device, it “boots” in four seconds, ready to go. I love that (though I’ll admit that my latest SSD-based laptop boots fairly quickly, at least until it slows down over time).

    So I’ll say what I’ve said before: the beauty of the propeller to me with its multiple cores is that it allows me to not really need an operating system as such (yes, I know that the standard answer is “deterministic programming”). And the more powerful P2 with its 16 cores (Chip, please don’t reduce this number!) only facilitates that even more. At one point, Chip briefly toyed with 32 cores (yes, I get the problem if using shared memory), which made me overly salivate.

    And this brings me to my fear over the smart pins. I know we need outside connectivity, but I somewhat fear that smart pins will delay the P2 so much that a lot of opportunities will be lost along the way. Of course, we’re committed now, and I’m glad for that. But we’re going on a couple of months into their design now, and I wonder how many months it will take. This stuff is not easy, particularly the details. Well, more precisely, the hardest thing for Chip--who needs to do most of this design work alone--is to decide *what* to implement. Sometimes, it makes me feel better when he scraps a design and comes up with another, hopefully better way because I’ve gone through such design iterations with my far, far simpler stuff. But those iterations take time. And they’re hard to do alone, though thank God for you guys on this site that he can bounce ideas off of. But all things considered, I really think it’s a daunting challenge to get a chip out this year, though I’m keeping the faith.

    Lastly, if Chip really feels the way he does about openness and simplicity (which he obviously does), then perhaps Parallax could try to usher in a “new” kind of PC system or module that doesn’t depend on a complex operating system such as Windows or LINUX. It seems to me that the focus of Parallax is on robotics and connecting things external to microcontrollers in conjunction with the educational opportunities. That creates opportunities to sell hardware, of course. But I’d love to see a general purpose PC or module without the bloat of a traditional OS that was also easy to connect to the outside world (something that didn’t require Windows, LINUX, Android or even WinCE). Hopefully, such a system would be much less susceptible to malware, too.

    Anyway, I’ll gladly stick with the legacy PS/2 keyboards for now (though I do wonder if the mechanical USB sockets I use to connect them involve licensing fees). I can still find PS/2 keyboards on Chinese sites, but finding the styles that I like is getting somewhat harder to do. I’m less concerned about sourcing VGA stuff for small screens, as solutions seem readily available (from China, of course). The death of VGA is greatly exaggerated, I feel. And I loathe having to think about HDMI licensing fees, so I’m glad that VGA is still viable. Back to HID devices, I’d like to have the option for USB or BT on USB, but only because those are the devices that are readily available (as Chip said). Gee, don’t patents expire anymore? Yeah, I know that it’s 20 years in the US (up from 17), but I remember USB hitting the market in the mid-nineties. I could care less about their logos or even advertising USB compatibility. There almost should be a law against creating such barriers to entry for such a standard input device as a keyboard. Soon, we won’t be able to talk without paying a license or getting a membership.

    Well, one day Chip and Parallax will have their self-hosting system. The question is, “Will the lowly keyboard interface involve licensing or membership fees (one-time or otherwise) somewhere along the way?” I hope not but I wouldn’t count on it.



  • jmgjmg Posts: 15,140
    rjo__ wrote: »
    One minute my usb - serial -> Prop2 is humming away at 3Mbaud... the next minute it just pukes... nothing different on the P2 side... nothing different on the compute side. My drivers got changed out somehow, and whatever was working before just slowed down by 60%:)

    And while my computer can pump out the data at a nice clip... it can't take in the data at more than a few characters every few years.

    What is your test set-up ?
    To get to where we could do fast serial HW testing, took a few iterations.
    Some comments:
    * HS USB give better sustained speed than FS USB
    * Larger buffers are generally better
    * Use more than one test flow - many USB-UARTS and many SW loops.
    * Test open-ended with Frequency Counters and Edge Counters
    (dropped chars is one early of the 'speed wobbles'
    * Then test loopback, & check sustained speeds with Frequency Counter

    We wrote small loops in Lazarus & FreeBASIC, and iterated until they worked the same.
    PC speed matters, so at highest speeds, there is not a lot of time for other things.
    One test mode we have reports nothing until finished, allowing tightest inner loops, others are more 'live'. Running both & compare checks lack-of-time effects.

    Newest supplier is EXAR, whose FS USB parts are the fastest, and have best granularity of anyone. (can set up to 12MBd, 48MHz fractionally, and sustain 9Mb+ averages simplex)
    (Warning, they still have one serious bug with large buffers - send a 500k array, and *ka-boom*, 100k seems ok.)
  • jmgjmg Posts: 15,140
    The death of VGA is greatly exaggerated, I feel. And I loathe having to think about HDMI licensing fees, so I’m glad that VGA is still viable.
    Latest series of small monitors from China (vehicle focused) have both VGA and HDMI physical connectors on a step-back panels. (plus Composite of course)

  • jmgjmg Posts: 15,140
    potatohead wrote: »
    Once the basic hardware is there, all of that ends up just being a software choice, right?

    Of course.
    IIRC USB was built on the back of intel SDLC parts, and large chunks of the serial link are direct derivatives (but of course, not exact clones, as that would have allowed more silicon reuse by competitors)

    Use for other than very-local-USB does raise questions around ESD ratings :

    What is the expected ESD rating of Standard P2 pins, and what will that improve to, with external USB - ESD added ?

    There are USB transceivers, (similar to RS485/CAN transceivers), but they seem
    * Tending to EOL
    * Need many pins on host side

    So I think it may be better to 'ruggedize' a P2, than add an external transceiver ?
  • cgraceycgracey Posts: 14,133
    jmg wrote: »
    potatohead wrote: »
    Once the basic hardware is there, all of that ends up just being a software choice, right?

    Of course.
    IIRC USB was built on the back of intel SDLC parts, and large chunks of the serial link are direct derivatives (but of course, not exact clones, as that would have allowed more silicon reuse by competitors)

    Use for other than very-local-USB does raise questions around ESD ratings :

    What is the expected ESD rating of Standard P2 pins, and what will that improve to, with external USB - ESD added ?

    There are USB transceivers, (similar to RS485/CAN transceivers), but they seem
    * Tending to EOL
    * Need many pins on host side

    So I think it may be better to 'ruggedize' a P2, than add an external transceiver ?

    I am going to beef up the output transistors and add selectable 15k pull-downs and 1.5k pull-ups.
  • cgraceycgracey Posts: 14,133
    edited 2016-02-24 00:58
    cgracey wrote: »
    I had an epiphany about USB today.

    I kind of think that Chip had this epiphany some time back (though he has perhaps reconditioned it). So, it only seems like an epiphany to me if he were following through and dropping USB support, which is apparently not the case (though it sounds like he may have seriously toyed with the idea). I could certainly understand dropping it if he did (despite the loss of potential customers). It does seem odd for him to have such an epiphany just when the requirements for implementing USB are starting to come together for him. Typically, his epiphanies result is something simpler or better in certain respects.

    But anyway, I can’t believe how overly complex it is to connect a wired USB ASCII keyboard (or other HID) to a microcontroller without built-in USB host functionality. I’ve searched and searched for solutions to connect to, for example, PIK’s and the Propeller. About the only thing I’ve found is from Micah E. Scott (scanlime) for the Propeller (using multiple cogs) and some stuff involving LINUX. Good grief! We can’t even connect a standard USB keyboard to a microcontroller? What’s with that!

    And then if you want a wireless solution, oh boy, it’s generally Bluetooth on top of USB (though there may still be some non-Bluetooth 2.4GHz solutions). And I find myself challenged to understand the licensing and membership requirements when I go to the USB and BT so-called .org sites. It’s almost as if they don’t want to make it clear under what circumstances one needs to pay.

    This irks me so much that I’ve considered designing/making my own IR line-of-sight keyboards just to try to avoid some of that nonsense (both the over-complexity and the licensing), not to mention hopefully simplifying FCC compliance if ever commercializing a product. If I could manage it, I’d like to stay away from USB, BT and the FCC as much as possible, not to mention Microsoft’s control.

    I know a guy that works for a major NAND flash controller company in Taiwan. I lightly tried to encourage him to suggest to his company to come out with a license-free alternative to BT for low-speed HID (and possibly IoT) devices as an alternative to BT/USB for microcontrollers and so on. But, of course, the BT/USB alliance is a juggernaut. So, I’m probably crazy. But I just wish a company could make money by selling chips rather than licenses. Heck, other than possibly the old MMC standard, I don’t think there’s a license-free version for standardized memory cards for card manufacturers, not to mention device makers, which is another thing that sucks. It’s like charging a licensing fee to use paper.

    The $9 C.H.I.P board that I sponsored off of Kickstarter arrived on schedule last month. It seems pretty slick, but I just hate waiting for 40 seconds for the thing to boot all that LINUX complexity that so many seem so crazy about. When I turn on my home-brew Propeller-based device, it “boots” in four seconds, ready to go. I love that (though I’ll admit that my latest SSD-based laptop boots fairly quickly, at least until it slows down over time).

    So I’ll say what I’ve said before: the beauty of the propeller to me with its multiple cores is that it allows me to not really need an operating system as such (yes, I know that the standard answer is “deterministic programming”). And the more powerful P2 with its 16 cores (Chip, please don’t reduce this number!) only facilitates that even more. At one point, Chip briefly toyed with 32 cores (yes, I get the problem if using shared memory), which made me overly salivate.

    And this brings me to my fear over the smart pins. I know we need outside connectivity, but I somewhat fear that smart pins will delay the P2 so much that a lot of opportunities will be lost along the way. Of course, we’re committed now, and I’m glad for that. But we’re going on a couple of months into their design now, and I wonder how many months it will take. This stuff is not easy, particularly the details. Well, more precisely, the hardest thing for Chip--who needs to do most of this design work alone--is to decide *what* to implement. Sometimes, it makes me feel better when he scraps a design and comes up with another, hopefully better way because I’ve gone through such design iterations with my far, far simpler stuff. But those iterations take time. And they’re hard to do alone, though thank God for you guys on this site that he can bounce ideas off of. But all things considered, I really think it’s a daunting challenge to get a chip out this year, though I’m keeping the faith.

    Lastly, if Chip really feels the way he does about openness and simplicity (which he obviously does), then perhaps Parallax could try to usher in a “new” kind of PC system or module that doesn’t depend on a complex operating system such as Windows or LINUX. It seems to me that the focus of Parallax is on robotics and connecting things external to microcontrollers in conjunction with the educational opportunities. That creates opportunities to sell hardware, of course. But I’d love to see a general purpose PC or module without the bloat of a traditional OS that was also easy to connect to the outside world (something that didn’t require Windows, LINUX, Android or even WinCE). Hopefully, such a system would be much less susceptible to malware, too.

    Anyway, I’ll gladly stick with the legacy PS/2 keyboards for now (though I do wonder if the mechanical USB sockets I use to connect them involve licensing fees). I can still find PS/2 keyboards on Chinese sites, but finding the styles that I like is getting somewhat harder to do. I’m less concerned about sourcing VGA stuff for small screens, as solutions seem readily available (from China, of course). The death of VGA is greatly exaggerated, I feel. And I loathe having to think about HDMI licensing fees, so I’m glad that VGA is still viable. Back to HID devices, I’d like to have the option for USB or BT on USB, but only because those are the devices that are readily available (as Chip said). Gee, don’t patents expire anymore? Yeah, I know that it’s 20 years in the US (up from 17), but I remember USB hitting the market in the mid-nineties. I could care less about their logos or even advertising USB compatibility. There almost should be a law against creating such barriers to entry for such a standard input device as a keyboard. Soon, we won’t be able to talk without paying a license or getting a membership.

    Well, one day Chip and Parallax will have their self-hosting system. The question is, “Will the lowly keyboard interface involve licensing or membership fees (one-time or otherwise) somewhere along the way?” I hope not but I wouldn’t count on it.



    I just realized, finally, that the avoidance of a standard data link protocol was by design in the USB plan. I kind of sensed, but never exactly understood this before.

    This whole school of thought about not making a physical product, but erecting a gate that everyone must pass through, is like some sick terminus in the world of invention. It's like the black magic of central banking coupled with their payment transfer systems, built by others.

    This idea of the OS-less computing solution may be deemed worthy in the future. The smart pins are going to allow SPI booting to happen very quickly.

    About the USB smart pin: I got the receiver and status reporting done at 70 LE's. All I need to add is the transmit now. It will probably be about 100 LE's when done. I still need to get a few concepts ironed out to integrate the transmit with status reporting. This thing is not that complicated, just an amalgamation of several persnickity mechanisms.
  • Btw, we are kind of getting there with these Docker containers. It's an app, packaged up to run virtually, and a very interesting extension of the more general virtual machine idea.
  • jmgjmg Posts: 15,140
    cgracey wrote: »
    jmg wrote: »
    Use for other than very-local-USB does raise questions around ESD ratings :

    What is the expected ESD rating of Standard P2 pins, and what will that improve to, with external USB - ESD added ?

    There are USB transceivers, (similar to RS485/CAN transceivers), but they seem
    * Tending to EOL
    * Need many pins on host side

    So I think it may be better to 'ruggedize' a P2, than add an external transceiver ?

    I am going to beef up the output transistors and add selectable 15k pull-downs and 1.5k pull-ups.

    Sounds good.
    You could also check what ESD ratings the (Libs + OnSemi process) gives, and how that co-operates with external ESD devices.
    Those usually clamp to 5V, but hopefully take the lions share of energy while clamping - the P2 needs to tolerate that clamping voltage/duration.

    8kV or 15kV seem to be targets for ESD, but it's unlikely a pin can do that on its own.
    I've; seen 4kV being claimed as good for general MCU pins.
  • RaymanRayman Posts: 13,797
    I think there are little ESD chips you can add to the pins, if you're really worried about it.
    Think I recall that's what FTDI did with Vinculum.

    My feeling is that P1 pins are very robust against ESD. Not sure if that carries to P2 or not...
  • jmgjmg Posts: 15,140
    Rayman wrote: »
    I think there are little ESD chips you can add to the pins, if you're really worried about it.
    Think I recall that's what FTDI did with Vinculum.
    Yes, it is what most vendors do, but those apply to 5V tolerant process USB devices.
    They clamp as shown here, to 5v levels + a clamping zener too

    ?action=dlattach;attach=48537;image

    the detail here, is does the 3.3v process, still work ok with a standard 5V external ESD ?
  • cgraceycgracey Posts: 14,133
    jmg wrote: »
    Rayman wrote: »
    I think there are little ESD chips you can add to the pins, if you're really worried about it.
    Think I recall that's what FTDI did with Vinculum.
    Yes, it is what most vendors do, but those apply to 5V tolerant process USB devices.
    They clamp as shown here, to 5v levels + a clamping zener too

    ?action=dlattach;attach=48537;image

    the detail here, is does the 3.3v process, still work ok with a standard 5V external ESD ?

    Yanking a 3.3V pin to 5V briefly won't hurt anything. It will only forward conduct about a 1.3V drop, in that case.
Sign In or Register to comment.