Forums

串口仿真

开始于 未知 二月17,2019
On Friday, March 1, 2019 at 3:04:39 AM UTC-6, David Brown wrote:
> On 01/03/2019 00:07, gnuarm.deletethisbit@gmail.com wrote: > > On Thursday, February 28, 2019 at 1:41:36 AM UTC-6, David Brown wrote: > >> On 28/02/2019 05:15, Les Cargill wrote: > >>> > >>> Generally, I'll have a custom TCP server running on the Pi, which > >>> provides the option of encoding any twiddly parts about the device on > >>> the other end of the FTDI device, within the Pi. > >> > >> I don't know what kind of systems you work with, but to me a Pi is > >> convenient for testing and developing, but is out of the question for > >> most delivered systems. The same goes for jumbled mixups with dynamic > >> DNS - fine for test setups, not for deployment. > > > > It's nice to say you don't like using pis for delivered systems, but that's not useful to anyone else unless you explain why. > > Fair enough. > > > > > The rPi foundation even makes boards specifically for embedded systems and I believe they have some level of assurance these units will continue to be available. > > Normally when talking about a Pi without being specific, it is > reasonable to assume standard Pi boards.
That makes no sense to me. If they make board intended for commercial use, then why not talk about those?
> These have no guaranteed availability lifetime,
Sure, if you limit your discussion to boards that are not intended for commercial use... they aren't likely going to be a perfect match to a commercial application.
> no thoughts of MTBF or environmental limits, are > full of connectors without any locking or stability,
How is that different from most embedded, Linux CPU boards? Beagle Bone is pretty much the same in this regard.
> are impractical for any kind of solid mounting,
That's not in evidence. All but the first rPi have mounting holes.
> and are not practically designed for > production, testing and integration with industrial systems that need to > be produced consistently, solidly, reliably, and cheaply.
Absolutely no evidence to support any of this... especially the "cheaply" part!
> These devices are made for the desktop - for education, experiments, > fun, prototypes, for cheap computers. They are excellent for that. But > not for later stages in most kinds of delivered embedded systems. (Of > course there are some kinds of system where they are fine, but those are > in the minority.) You buy you Pi boards one at a time, not in > deliveries of hundreds or thousands.
Simply not true. I can buy 4600 of the rPi 3A+ off the shelf.
> The embedded Pi cards /are/ more suited for production of finished > systems. But they still suffer from the same disadvantage any embedded > Linux system has in comparison to using small microcontrollers - long > and complicated production programming,
I don't get why you think this is such a poor device for embedded work. None of the above is valid.
> finer and more delicate > electronics,
??? I don't think you work with electronics much.
> security, software auditing and control, software > licensing, timing jitter, boot times, large and complex updates, > unstable software, support, developer requirements, power requirements, > environmental limits.
You aren't talking about the rPi. You are talking about Linux computers in general. Yes, if you don't want a Linux computer, then a Linux computer is a bad choice.
> Now, embedded Linux systems can give you enormous flexibility, and you > get a vast amount of software features and power for very little cost. > In many systems, this is what you want, and a Pi compute module (not a > normal Pi) may be a reasonable way to get that. But in many more > systems, you don't need that - and the cost of having a much more > complex system is far too high.
The only real difference between the rPi 3B+ or rPi 3A+ and the compute unit is that the compute unit needs more stuff on the mother board.
> >>> Almost everything has Ethernet now. > >> > >> Almost every microcontroller does /not/ have Ethernet. Almost every > >> electronics board made does /not/ have Ethernet. > > > > I think both statements are exaggerations. Plenty of MCUs are Ethernet capable. > > I did a quick and unscientific test. On Digikey, there are 78,510 > microcontrollers. 4,498 have Ethernet. (Yes, I know you get multiple > lines for essentially the same devices.) I will admit that is a higher > proportion than I had expected. But still, the great majority of > available types of microcontroller do not have Ethernet. And while I > have no statistics here, I would expect the non-Ethernet > microcontrollers here to ship in several orders of magnitude higher > quantities than the the ones with Ethernet. At what point can we say > that almost every microcontroller shipped does not have Ethernet? 99% > 99.9%? 99.99%?
That is not a useful issue. The issue is whether you can get Ethernet or not. The answer is you can use Ethernet in pretty much any app you wish because you can buy a chip or board with networking across the range of sizes of MCUs/CPUs other than the smallest that get used in toasters and microwaves.
> Certainly Ethernet is getting more common - there are more devices > available, and there are quality network stacks available freely. There > is a much lower entry cost to using Ethernet now than there was 5 years > ago. But still I stand by my statement that almost every board made > does not have Ethernet.
You can stand anywhere you want. You just contradicted yourself.
> > If you want Ethernet it is easy to select a version with a network interface. > > > > That is true, when you are at a certain size of microcontroller. If you > are talking about a 32-bit device with 64 or more pins, 256K flash and > 64K ram, running at 60+ MHz - yes, there is a high chance that you can > find a device in the same family that has Ethernet. If you are using > 8-bit or 16-bit microcontrollers, small or cheap devices (which may be > 32-bit), low-power devices, high temperature devices, tiny package > devices - no, you probably won't find Ethernet alternatives without > changing family.
Ok, so what is your point?
> In my own designs, I am quite fond of Ethernet. It gives a lot of > flexibility and convenience. (I have a board plan which would have > Ethernet merely for development and debugging.) But it is not for every > use.
No shoe fits every foot. Of course. Rick C.
On Friday, March 1, 2019 at 4:25:39 AM UTC-6, Paul Rubin wrote:
> gnuarm.deletethisbit@gmail.com writes: > > It's nice to say you don't like using pis for delivered systems, but > > that's not useful to anyone else unless you explain why. > > I asked the grisp.org guy that same question, and he replied that: > > 1) most of the effort in developing an embedded dev environment was in > writing device drivers that are very hardware-specific, and in the case > of the pi, the hardware changes so fast that the drivers have to be > rewritten all the time. So he wanted hardware with a longer lifecycle.
What "fast" changes??? They have stopped producing the earliest version, but you can still buy the Raspberry Pi 1 Model B+ and A+ along with pin compatible update units.
> 2) the rpi foundation doesn't allow changing the hardware design: you > can plop their boards into their product and that's it. Note that the > Beaglebone doesn't have that restriction, and there are various > Beaglebone-derived boards available from seeedstudio and elsewhere.
Normally people don't worry about buying a standard configuration and adding I/O. Needing to change the CPU board is not often needed and is very limiting for most commercial units, not just the rPi. Rick C.
gnuarm.deletethisbit@gmail.com writes:
> What "fast" changes??? They have stopped producing the earliest > version, but you can still buy the Raspberry Pi 1 Model B+ and A+ > along with pin compatible update units.
I think he mentioned 10+ years. The usual retailers don't stock the pi-1 any more but it's interesting that the Pi-1 if it's still available someplace.
> Normally people don't worry about buying a standard configuration and > adding I/O. Needing to change the CPU board is not often needed and > is very limiting for most commercial units, not just the rPi.
I can understand wanting to make a product with a single board (cpu and any needed ports and peripherals on the same board) instead of multiple boards or modules plugged together.
David Brown wrote:
> On 28/02/2019 05:15, Les Cargill wrote: >> Robert Wessel wrote: >>> On Sat, 23 Feb 2019 14:48:40 -0600, Les Cargill >>> <lcargill99@comcast.com> wrote: >>> >>>> Andrew Smallshaw wrote: >>>>> On 2019-02-18, David Brown <david.brown@hesbynett.no> wrote: >>>>>> >>>>>> RS-232 is short distance too (though a bit longer than TTL) - for long >>>>>> distances you use RS-485 or RS-422.&nbsp; RS-232 is a legacy standard - >>>>>> there >>>>>> is plenty of old stuff the still has it, but it would be a strange >>>>>> choice for anything new. >>>>> >>>>> I'm genuinely interested to hear people thoughts on this.&nbsp; Personally >>>>> if I anticipate a true long life interfacing requirement - 20, 30, >>>>> 40 years - RS232 is my preferred option, ideally (if appropriate >>>>> to the use case) with a command line on it. >>>> <snip> >>>>> >>>>> I don't pretend to have answers in the general case, just interested >>>>> in what peoples thoughts are. >>>>> >>>> >>>> Anything you can do with RS323 you can do with Ethernet. There are >>>> pathological size/weight/power cases where Ethernet doesn't fit but >>>> if it does... >>> >>> >>> Ethernet does have a couple of annoying configuration issues, and >>> requires either a custom client on an attached PC, or requires enough >>> software to implement TCP and a TELNET or HTTP server (and TCP/IP >>> brings a couple of annoying configuration issues as well). >>> >> >> There exist things like RasPi boards which can have FTDI USB >> RS232 ports attached. So really? You should be able to use DynDNS and >> DHCP and that's about all the config you need. With the RasPi's I have >> seen, it's even 802.11 - just carry an AP and you're in. >> >> You can do all the fiddly bits once, and offsite. >> >> Generally, I'll have a custom TCP server running on the Pi, which >> provides the option of encoding any twiddly parts about the device on >> the other end of the FTDI device, within the Pi. > > I don't know what kind of systems you work with, but to me a Pi is > convenient for testing and developing, but is out of the question for > most delivered systems. The same goes for jumbled mixups with dynamic > DNS - fine for test setups, not for deployment. >
All I can say is that a Pi makes a fine terminal server. Whether it's appropriate for deployed systems is up to you. I'd much rather use a Pi for field debugging rather than be tied to a serial cable's length from the DUT.
>> >>> And, of course, as soon as you do have an Ethernet connection, >>> anything non-TCP/IP is ruled out because the customer and marketing >>> will immediately want to be able to do (whatever) from across the >>> campus, and then inevitably further than that.&nbsp; And then you have >>> security issues. >>> >> >> Almost everything has Ethernet now. > > Almost every microcontroller does /not/ have Ethernet. Almost every > electronics board made does /not/ have Ethernet. >
Then you have to do something else, and it'll probably have to be a fully supported, costed and tracked set of circuit packs along with the associated soft deliverables. And it'll rot like beef in the summer sun as soon as the budget gets cut. Underspeccing the I/O capability of a target made a lot more sense 30 years ago than it does now.
>> >>> Definitely the way to go if you can, but there are enough hurdles that >>> you can find yourself longing for async RS-232 and a terminal >>> emulator. >>> >> >> Oh, not so much :) Well, sometimes :) >> >
-- Les Cargill
David Brown wrote:
> On 01/03/2019 00:07, gnuarm.deletethisbit@gmail.com wrote: >> On Thursday, February 28, 2019 at 1:41:36 AM UTC-6, David Brown wrote: >>> On 28/02/2019 05:15, Les Cargill wrote: >>>> >>>> Generally, I'll have a custom TCP server running on the Pi, which >>>> provides the option of encoding any twiddly parts about the device on >>>> the other end of the FTDI device, within the Pi. >>> >>> I don't know what kind of systems you work with, but to me a Pi is >>> convenient for testing and developing, but is out of the question for >>> most delivered systems. The same goes for jumbled mixups with dynamic >>> DNS - fine for test setups, not for deployment. >> >> It's nice to say you don't like using pis for delivered systems, but that's not useful to anyone else unless you explain why. > > Fair enough. > >> >> The rPi foundation even makes boards specifically for embedded systems and I believe they have some level of assurance these units will continue to be available. > > Normally when talking about a Pi without being specific, it is > reasonable to assume standard Pi boards. These have no guaranteed > availability lifetime, no thoughts of MTBF or environmental limits, are > full of connectors without any locking or stability, are impractical for > any kind of solid mounting, and are not practically designed for > production, testing and integration with industrial systems that need to > be produced consistently, solidly, reliably, and cheaply. > > These devices are made for the desktop - for education, experiments, > fun, prototypes, for cheap computers. They are excellent for that. But > not for later stages in most kinds of delivered embedded systems. (Of > course there are some kinds of system where they are fine, but those are > in the minority.) You buy you Pi boards one at a time, not in > deliveries of hundreds or thousands. >
Oh, to be sure - a straight Pi isn't fit for most uses. I did do an experiment where a vanilla Cubie board ran in an extremely harsh environment for over a year :) it wasn't a purely intentional experiment - the Cubie was placeholder while the "real board" was being developed and somebody forgot to upgrade it. Indeed, it should not have been deployed outside of test at all. Even worse for the Pi is that the Ethernet hangs off the USB bus and eats a lot of USB bandwidth, if that's a consideration.
> The embedded Pi cards /are/ more suited for production of finished > systems. But they still suffer from the same disadvantage any embedded > Linux system has in comparison to using small microcontrollers - long > and complicated production programming, finer and more delicate > electronics, security, software auditing and control, software > licensing, timing jitter, boot times, large and complex updates, > unstable software, support, developer requirements, power requirements, > environmental limits. > > Now, embedded Linux systems can give you enormous flexibility, and you > get a vast amount of software features and power for very little cost. > In many systems, this is what you want, and a Pi compute module (not a > normal Pi) may be a reasonable way to get that. But in many more > systems, you don't need that - and the cost of having a much more > complex system is far too high. > >> >> >>>> Almost everything has Ethernet now. >>> >>> Almost every microcontroller does /not/ have Ethernet. Almost every >>> electronics board made does /not/ have Ethernet. >> >> I think both statements are exaggerations. Plenty of MCUs are Ethernet capable. > > I did a quick and unscientific test. On Digikey, there are 78,510 > microcontrollers. 4,498 have Ethernet. (Yes, I know you get multiple > lines for essentially the same devices.) I will admit that is a higher > proportion than I had expected. But still, the great majority of > available types of microcontroller do not have Ethernet. And while I > have no statistics here, I would expect the non-Ethernet > microcontrollers here to ship in several orders of magnitude higher > quantities than the the ones with Ethernet. At what point can we say > that almost every microcontroller shipped does not have Ethernet? 99% > 99.9%? 99.99%? >
What I mean by my statement is that there usually exists a comparable member of a family or another family close to the one without Ethernet for a little additional monetary cost. Ann it may be that a Pi makes a nice addition to field kit complete with specialized software. I had a long-term J1939 logger based on a Pi that worked great - at the other end of a WiFi link was a PC that did all the actual logging.
> > Certainly Ethernet is getting more common - there are more devices > available, and there are quality network stacks available freely. There > is a much lower entry cost to using Ethernet now than there was 5 years > ago. But still I stand by my statement that almost every board made > does not have Ethernet. >
Far enough. We have to decide what the tradeoffs need to be.
>> If you want Ethernet it is easy to select a version with a network interface. >> > > That is true, when you are at a certain size of microcontroller. If you > are talking about a 32-bit device with 64 or more pins, 256K flash and > 64K ram, running at 60+ MHz - yes, there is a high chance that you can > find a device in the same family that has Ethernet. If you are using > 8-bit or 16-bit microcontrollers, small or cheap devices (which may be > 32-bit), low-power devices, high temperature devices, tiny package > devices - no, you probably won't find Ethernet alternatives without > changing family. >
IMO, 8 or 16 bit devices should have a lot smaller software footprint and darn near be fully testable ( if you have the schedule for it ). That doesn't mean zero defects but it means greatly reduced defects.
> In my own designs, I am quite fond of Ethernet. It gives a lot of > flexibility and convenience. (I have a board plan which would have > Ethernet merely for development and debugging.) But it is not for every > use. >
Fair enough. -- Les Cargill