Comms protcols and high speed comms - Page 1
Forum section: electronics / beginners

author: Faringdon
author_rank: Super Contributor
timestamp: March 09, 2022, 09:19:27 am
content: HiIve lost count of the number of job ads which say the following..."Experience working with TCP-IP, UDP, CAN, SPI, UART, I2C and USB communication protocols"They dont particularly want you to be able to program them in a micro....just want you to have experience.What issues are they concerned about, presumbly noise issues and bit error rate?Do you agree that the number one issue is making the go and return as close as possible together. and best of all is coax..reducing the current loop area of the comms loop?

author: jonpaul
author_rank: Super Contributor
timestamp: March 09, 2022, 09:49:05 am
content: Farrington: You are vague on the post: These are PHY layers, not a SW protpcol.And "high speed" is very vague as one has low baud mixed up with TCP/IP eg 10 gigabyte coax ethernet and USB3.2 etc.Hardware or software?Just reas the standardsj

author: Renate
author_rank: Super Contributor
timestamp: March 09, 2022, 10:16:57 am
content: Quote from: Faringdon on March 09, 2022, 09:19:27 amHistorically speaking, the move has been away from coax and unbalanced signals."Ethernet" used to be coax, it's all optical or balanced now. (OTOH video production still uses coax, up to 12 Gbps.)Short distance interfaces have all become low voltage differential "lanes" for whatever you need. (SATA, HDMI, Display Port, UFS...)In any case, like any job ad, they are throwing in a hodge-podge of stuff.

author: Gyro
author_rank: Super Contributor
timestamp: March 09, 2022, 12:16:28 pm
content: I think the relevant words are "communication protocols"Without the rest of the ad, it's not possible to make any further judgement. It doesn't sound as simple as grounding and current loop area to me though - and you're not very good at those anyway.

author: Cerebus
author_rank: Super Contributor
timestamp: March 09, 2022, 01:17:58 pm
content: Quote from: jonpaul on March 09, 2022, 09:49:05 amNo, they all have the idea in common of needing some soft of protocol. TCP/IP is most definitely not a PHY not even by implication, but is pure protocol. Ditto UDP. CAN has a well defined protocol and an implicit associated PHY layer, so do I2C and USB. SPI and UART are more on the borderline, but still have anelementof protocol to them.

author: Cerebus
author_rank: Super Contributor
timestamp: March 09, 2022, 01:24:30 pm
content: Quote from: Faringdon on March 09, 2022, 09:19:27 amIf you are so vague on the topic as to need to ask it's a clear sign that you don't have the wherewithal to be considered for a post with those requirements.QuoteNo. The number one issue is to have at least the first clue before trying to formulate a question like that.

author: penfold
author_rank: Frequent Contributor
timestamp: March 09, 2022, 03:20:45 pm
content: Quote from: Faringdon on March 09, 2022, 09:19:27 amSPI, I2C... I think you'd need a good excuse to be an electronic engineer who didn't know a fair amount about those two.TCP-IP, UDP, CAN, and USB, on the other hand: if its on a job spec, it's likely that the company already has some equipment that uses some of those standards. If you'd be involved in PCB design, then you'd need to know the electrical requirements for those interfaces, voltages frequency, edge timings, characteristic impedances, ways of properly protecting against ESD/EMC and how to verify a good circuit design and PCB layout. If you're only working on analog or signal processing parts of a board, then it's worth knowing how to design in immunity to interference from those signals. If you're designing PSUs, then you'd need to know ways of avoiding interference to those protocols. (With network standards there is both the underlying phy that will be relevant and also data and user layers that will be more or less so tolerant to noise.)If the company does have gear using those network protocols, then more than likely you'd be needing to use it in a "prototype state" when testing your own hardware... that's the real value of such an interview question: the precise electrical stuff could be found in application notes; knowing common faults AND how to get around them during testing stages when everyone's too busy to pile in on one problem is where the value can be.

author: max_torque
author_rank: Super Contributor
timestamp: March 09, 2022, 04:17:00 pm
content: Job adverts are written most often by people who have no idea what the people they are trying to employ actually do!You tend to see collections of "buzzwords" and acronyms simply because the person writing the advert does know what they mean.For example, the electronics dept want a new engineer, they say to HR "oh yeah, they need to have some experience with CAN" and then someone chimes in "oh, and USB too" "oh and what about TCIP".The person writing the advert notes this down, not knowing what on earth these things actually are.What the Elec department actually want is a clever, commited and experienced engineer who can work out how to make all the stuff they develop work, be that using CAN or TCIP or whatever......

author: dmills
author_rank: Super Contributor
timestamp: March 09, 2022, 08:20:41 pm
content: And then the list of stupid buzz words winds up going into some sort of artificial stupid pattern matching thing that filters CVs and the next thing you know a 30 year veteran of the trade is wasting half a page of CV space on random low speed serial protocols that everyone in the game uses routinelyIf they are asking for those things they probably do microcontroller stuff and expect you to need to either debug the wire protocols or write test code to run on whatever toy processor they are using, it also likely means that the HR tail is wagging the dog.BTW Coax is not commonplace outside of some niche applications (Fighting with a 12Gb/s SDI one at the moment, no 8b10 or 64b66 or such, what were they thinking?), modern practise is differential pairs, sometimes using current mode signalling, see PCIe (Surprisingly easy to make work given the speed), USB (Sort of, grumble), HDMI, Modern Ethernet, CAN, even 422/485 (But watch the common mode range).

author: Renate
author_rank: Super Contributor
timestamp: March 09, 2022, 09:56:59 pm
content: Quote from: dmills on March 09, 2022, 08:20:41 pmSometimes even ancient practice. I've built digital video interfaces (D1) using ECL.

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 09, 2022, 10:12:52 pm
content: They probably want you to know the terms enough to be able to hold a conversation with chinese engineers doing the work. =)

author: gcewing
author_rank: Regular Contributor
timestamp: March 10, 2022, 06:20:59 am
content: I've plugged some USB devices into my computer. Does that make me experienced with USB?

author: Berni
author_rank: Super Contributor
timestamp: March 10, 2022, 06:33:14 am
content: Yeah usually HR doesn't actually know what they need to hire so they just list out all the technical words that there boss mentioned in the conversation about hiring someone.(In a large company it is also likely that said boss also didn't know what most of these technical words mean, but he heard the engineers use them all the time, so we clearly use that a lot)I do occasionally glance over job posting that linked in throws at me despite not actually looking for a job. Half the time they look decent but other times they have silly stuff in them. Like for example hiring for a MCU software developer (the little things that run bare metal C or maybe a RTOS) and then listing the requirement that they need to know how to rebuild a linux kernel and write kernel modules. How do you expect to run a linux kernel on a Cortex M0 MCU?

author: rstofer
author_rank: Super Contributor
timestamp: March 11, 2022, 09:08:25 pm
content: You could have working examples of all of these protocols with a couple of day's effort. Berkeley Sockets takes care of TCP/IP, a Ping server takes care of UDP, CAN I know nothing about but RawHid would be a trivial example for USB. I2C and SPI are all over the place and many Raspberry Pi examples are floating around. Ditto for Arduino.Just write the code, print it out and stuff it in a tabbed folder. Bring to interview... You can be pretty certain that you will get through the first 3 rounds of interviews before anybody even bothers to look at the code. Nor would they understand it if they did.Google for "visual studio usb", "visual studio can bus" or "berkeley sockets" Why spend 4 years (or more) in college when Google is the ultimate "cheat sheet"? Other than the paper, of course...

author: dmills
author_rank: Super Contributor
timestamp: March 12, 2022, 10:22:37 am
content: Those people are how I get paid to fix designs after some pillock used I2C over a 100M cable past the welding robots, or assumed UDP was reliable or whatever other form of optimistic stupid came calling.Yea, making this shit work in a sort of 'most of the time' way on a collection of amazon sourced 'dev' boards on a bench is EASY, making it work ALL of the time in a real production system takes a little more work, and sometimes requires architecture changes.Regards, Dan.