We’re rewarding the question askers & reputations are being recalculated! Read more.
35

I guess the confusion is you assume you can only send one bit per clock cycle. There are lots of ways a communication scheme can essentially encode more than one bit per symbol. A symbol is abstract idea as the atom of transfer in a communication system. It's really too big of a topic to cover in an answer to this question in any depth, but imagine you ...


14

It's supposed to be bidirectional so that slave devices can hold it low and "stretch" the clock during internal processing or whatever. However, not all master implementations actually look at the state of SCL, and not all slave devices have the capability to stretch the clock.


5

These Callback functions are called from the I2C interrupt handler. You shouldn't make other API calls from them. HAL_I2C_Master_Transmit_IT() check timeouts etc which might not work from an interrupt handler. This might a reason for slow execution, but regardless it's bad practice. A safer route is to set a global (and volatile) variable, and check for it ...


5

The clock line can be bi-directional for two reasons. Clock stretching Multi-master. Typically on slave devices that are entirely implemented in hardware the clock line is input-only. Such devices have no need to stretch the clock. On the other hand microcontroller based slaves typically do need to stretch the clock to give them time to interpret the ...


4

In short: A ground is not needed, because of RS485's characteristics. Isolation is in most cases best. TIA/EIA 485 specifies that no more than ±7V of potential between the grounds of two separate devices (shown as GPD below). The correct method for designing a differential data link is without ground wires. For ground potential differences higher than ...


4

The other answers have focused more on the Thunderbolt side of things, but let’s look back at the statement Intel's latest i9 processor speed... about 4.2GHz max 4.2 GHz is the system clock, which (in a very, very simplistic way) is comparable to the number of instructions per second, per core (it’s really a lot more complex than that, as not all ...


4

There is no direct correlation between processor speed and peripheral speed. It is not 10 ×. Thunderbolt 3 - \$\frac {40 Gbps} {8 bits/byte} = 5 Gbyte/s\$. This rate does not even seem unrealistic for a 4.2GHz 64-bit processor. But that is not what we are dealing with here. We have a peripheral with serial communication + graphic card. Four times ...


3

There are many techniques to encode or decode a large amount of information into one "communication bucket/wagon" (which are called symbols). The R-2R-type Digital-to-analog converter (illustrated below) is one of the simplest yet effective methods of transmitting e.g. 16x faster than the communication clock - provided that the receiver's Analog-to-digital ...


3

It was easy enough to find out there are indeed differential I2C transceivers, for example https://www.nxp.com/docs/en/data-sheet/PCA9615.pdf The reason regular I2C is not differential is that it's primarily intended for short distances within the same PCB. To quote the datasheet of above mentioned PCA9615: "The SMBus/I2C-bus was conceived as a simple slow ...


2

In a PLL, being "in lock" means that both signals that enter the phase detector are in phase. The phase detector could for example be implemented such that it will ouput: a negative output voltage \$V_1\$ when the rising edge of \$\phi_2\$ occurs first (before the rising edge of \$\phi_2\$) a zero output voltage \$V_1\$ when the rising edges of the input ...


1

LVDS signalling is depicted here on the right: - Link to website where I stole the picture. The common mode voltage is the average voltage of the upper and lower digital values. Upper is 1.40 volts and lower is 1.05 volts hence, the common mode voltage is 1.225 volts. So, as you can see the transistors are neither fully on nor fully off but biased at 1....


1

Mini-PCIe and mSATA are two different standards but which use the same physical connector. However they are not intercompatible by default. As far as I can tell, "colay" is probably an abbreviation for co-layout, or co-support, indicating that the slot simultaneously support both the Mini-PCIe and mSATA standards allowing both types of cards to be plugged ...


1

If you want I2C-style communication over longer distances, you should be looking at canbus, which is widely used in industrial and automotive applications for exactly that purpose.


1

No, a simple electrical interface converter won't work here, as the protocols sent over the interfaces are incompatible. RS-422 and RS-232 are specifications for electrical interfaces, they do not define what signals are sent over it. PC sends asynchronous start-stop data using an UART. These signals are just sent at RS-232 levels. SSI uses clock and data....


Only top voted, non community-wiki answers of a minimum length are eligible