3 ms·
Or we could agree to use a self-clocked format (Manchester coding or similar) so it wouldn’t be necessary to know the rate up front. It would go half as fast, b
by wrs 3y ago
Or we could agree to use a self-clocked format (Manchester coding or similar) so it wouldn’t be necessary to know the rate up front. It would go half as fast, but we have 4MHz UARTs nowadays so that’s no big deal for a console.
Everybody uses a USB dongle now to talk to these things anyway, so there’s no reason to stay electrically or logically compatible with RS-232.
- detourdog 3y agowhat sort of compatibility does RS-232 doesn't represent if not electrical or logical?
- wrs 3y agoI’m saying RS-232 is irrelevant both electrically and logically, if you’re already assuming people can agree on something new. There are lots of better cheap 3-wire logic-level serial protocols nowadays. The days when your PC had a literal RS-232 port on the back are long gone.
- Rediscover 3y agoFWIW, some Panasonic laptops still have real (non-USB, as opposed to their internally-USB-based) RS-232 ports. Just saying...
- bongodongobob 3y agoIndustrial automation would like a word. Seems to be slowly moving to TCP/IP but lots and lots use serial communication either internally or to the HMI/workstation.
- wrs 3y agoIndustrial or automotive communication is over long distances in hostile environments (as was RS-232, arguably). This is just for short logic-level comms to a debug port on a board.
- detourdog 3y agoI'll bet many of those implementations are SLIP Serial link IP.
- spauldo 3y agoOccasionally, but usually it's simpler protocols like Modbus running over serial.
- bongodongobob 3y agoYup, if it was built in the mid 2010s or later I'll see that, but most of the machines I've worked with have been running since the 90s. Still running Windows XP etc.
- detourdog 3y agoWhat I was trying to express is that a protocol based on simple electricity/gates and logic is so simple that it almost has to exist and almost all that RS-232 consists of. Many 1-wire are RS-232 implementations over a "1" wire. I have my eye on Sony 8K TV and it has RS-232.
- wrs 3y agoAgreed, my suggestion is just to make that simple protocol self-clocking (which is simple to do) so you eliminate the strict yet unknowable timing requirement of “UART protocol” (I don’t know a better name for the logical protocol underlying RS-232).
- theamk 3y agoAre there? If I look at a common MCU, my choices are UART, SPI and I2C. Out of those, UART is the only interface which can easily handle printf-style debug messages without additional protocols. I can manage something with SPI or I2C in a pinch, but this would be non-standard and require special software on PC side. If I really hate UART for some reason I can set up SPI master, but this will just require 2 extra wires and a very special host adapter (all the ones I saw are master-mode). More expensive micros have CAN and Ethernet. Ethernet is nice but needs magnetics, probably overkill for debug port; plus once you have Ethernet on-board no one is happy with raw frames, so you end up with ARP, DHCP, IP, TCP and lots of memory usage. CAN is pretty cool, but developer tools are overpriced and very bad, and most larger SOCs do not have support for it. Plus you still have to select baudrate for it :) Sadly, there does not seem to be anything "new" people could agree too... The combined inertia of billions of microcontrollers will keep UART alive forever. ... but hey, if I were a head of R&D for microcontroller company, I'd totally design my own debug protocol. It'd be pulse based (to allow random clock rates but also keep line quiet when there is no output), potentially capacitively coupled (because I hate ground loops), use single signal wire + ground (because debug channel does not need full duplex), have integrated "packet end" mark and predefined packet types for text logs and binary TLV. It'd also have fully open debug tools. But I am not designing my own chips, so I am just using UART.
- wrs 3y agoTo be clear, this doesn’t currently exist, but the premise was that everyone agrees to switch to something else. (Which is an unlikely premise, but maybe if something got momentum…) Microcontrollers do have their own proprietary serial debug protocols. ARM SWD, for example, has been around for almost 15 years. It’s “proprietary”, but being ARM that means it’s in billions of chips from many manufacturers. It does require a clock line, though. https://www.ti.com/lit/wp/spmy004/spmy004.pdf https://www.ti.com/lit/wp/spmy004/spmy004.pdf I’m suggesting something much simpler though, just keep the UARTs and stick a Manchester encoder/decoder in between.