26

Ordinary UARTs have to be pre-configured with the desired baud rate (as well as word length, stop bits, parity, etc) traditionally by a human. For several decades now though there have been implementations of "auto baud" detection found in some settings, which typically works by timing key features of the waveform to deduce the baud rate. Early versions ...


22

The UART doesn't care as long as it is reasonably exact. \$\frac{15000000}{230400}\approx65\$ \$65\cdot230400=14976000\$ So your UART is going to be too fast by a factor of \$\frac{15000}{14976}\approx1.002204\$. It becomes a problem at \$1+\frac{1}{2\cdot11}\approx1.045\$, when the time shift across 11 bits is more than half a bit.


12

Here is the 'big print' features description of a relatively high end ARM MCU. There are a number of PLLs and dividers with prescalers and postscalers that are capable of creating almost any frequency you might need as an integer ratio. The PLL multiplies its input frequency by some integer, and a divider can divide by some number (not necessarily powers ...


11

In SPI each bit is transmitted on a clock edge, therefore the data rate (in bits) is the same as the clock frequency. Your datasheet is not providing the maximum frequency, but it is providing the minimum cycle time, which is \$250ns\$. As we know the relation between frequency and period time is \$f=1/T\$, we can calculate the maximum frequency as $$ f_{max}...


10

A minor point: by definition, a Baud (named after Emile Baudot) is one symbol per second. So your statement, baud 115200 means 115200 bits per second only if each baud = 1 bit. If each baud is 5 bits, then having baud 115200 means a bit rate of 115200 * 5 bits per seconds. is correct in spirit, but you should replace the word "baud" with "symbol". ...


10

This can be achieved using a modulator. See for example the MSP430x1xx user guide. On page 260 it says: The USART baud rate generator is capable of producing standard baud rates from non-standard source frequencies. The baud rate generator uses one prescaler/divider and a modulator as shown in Figure 13−7. This combination supports fractional ...


8

It's definitely possible to get up in the Mbps range with an Arduino, especially with your Due. The serial monitor only supports bauds up to 115200, but you can use a separate terminal window which allows you to set your baud to anything you like. For a little more information, see This Thread on the Arduino forum. In terms of setup, on the Arduino it's ...


8

Two UARTS "agree" on baud rate by means of documentation and by operator/user setting the baud rate by hands, including handshake protocol, stop bit size, etc.


8

The UARTs typically used in RS232-type serial systems work by sampling the data line somewhere mid bit according to a division of the predefined baud rate base frequency clock. As such, if the sent data and receiver are not on the same frequency the "sample-point" will wander closer to the edge of the bit frame on successive bits. With a normal UART the bit ...


6

If you are building your own network, yes. All baud rates are valid provided every single device on the bus is using that particular baud rate. If your bus has devices which are beyond your control, use only standard baud rates, otherwise you will generate error frames. Standard baud rates are 125 kbit/s, 250 kbit/s, 500 kbit/s and 1 ...


6

In my experience, radio modules usually have 2 different baud rates: UART baud rate is the baud rate for communicating to microcontroller on the board. Usually, it's adjustable. Over-the-air baud rate is the baud rate for communicating via Bluetooth. It's usually fixed. I've searched through the user manual and datasheet for RN-41, which is the Bluetooth ...


6

All a MAX232 provides is level translation. "Traditional" RS-232 uses high-voltages to do it's signaling, generally ~+10V to indicate a logical "0", and ~-10V to indicate a logic "1" (though the spec technically says anything > 3V = 0, and < -3V = 1. In real-world applications, you may see a range of signaling levels represented as "RS232"). However, ...


6

Your baud rate is not an integer divisor of your MCU clock. The baud rate is divided from the MCU's clock. It is easy to get 9600, 19200 and other rates with an integer divisor of the clock. for example, if you have a 6.144MHz crystal, to get 19200 you need to divide by 3200. For the odd data rates in various applications (Audio, analog video, and many ...


6

High Speed CAN and Low Speed CAN has difference in Physical Layer implementation. Bosch's CAN standard talks about Data link layer and Network layer but it left out "Physical Layer". (IMO)Reason being, it could be optimizied in Future. Coming to question, High Speed CAN is defined in standard ISO11898-2 while ISO11898-3 talks about Low Speed CAN. High ...


6

2 kbytes = 2048 bytes. Transmission of a byte requires: 1 start bit 8 bits = actual byte 1 bit parity 2 bits stop Total of 12 bits. The baud is 2048 * 12 = 24576 baud Have a look at this Wikipedia article.


6

The UART used in a PC COM port doesn't carry out modulation as such, that would only happen when you send the serial data through something like a modem or radio link where it has to be converted into an audio signal in the range carried by a telephone line or used to modulate a carrier wave. The "mapping" is defined by the interface standard; in the case ...


6

The timings have to be accurate enough that they don't drift apart before the protocol resyncronises. UART serial resyncronises on each byte and a byte is around 10 bits (8 bits of data plus start and stop). We assume that our UART targets the middle of each bit. If everything is is perfect and only one end is inaccurate that allows for approximately 5% ...


5

You don't normally connect 1-wire devices to UARTs. So you don't need to set a baud-rate. See Beaglebone Black 1-wire or ditto with Arch Linux As an aside, 1-wire support is standard in the Raspian OS used on the Raspberry pi, it seems somewhat easier to use.


5

The 2 comes from the need to avoid aliasing. Note that \$log_2(L)\$ is the sample size, and if we divide the bit rate by sample size we get the sample rate: \$\frac{2B\log_2(L)}{\log_2(L)}= 2B\$. The formula says that bandwidth B needs a sample rate of at least 2B. You're disagreeing and saying that it just needs a B sample rate. But the bandwidth is B, ...


5

There are two things that have to match, baud rate and the signalling levels. The PIC does not natively do RS-232 signalling levels. The MAX232 chip (or one of its many variants and similar products from various vendors) takes care of converting the PIC UART signals to RS-232 electrically, if your sensor actually needs real RS-232. Some devices use logic ...


5

I would rather that the "baud rate clock" drifts from the center of the bit towards the end of the bit. That's fine when looking at the receiver, but keep in mind that UART communications is usually two-way. If you send with a slow clock, then you're putting the receiver at the other end at a greater disadvantage. It's better to pick the smallest absolute ...


5

A lot of people assume that the UART is actually running on a fixed clock i.e. You take a sample every \$ T \$ seconds. This is not necessarily true. At least not in all the UART modules I've designed. The way it works is you have an internal sample clock. Say you can sample every 100ns. You know where the middle of each bit is. So, you pick a sampling ...


5

The number of bits to transmit is 32. In addition, there is 1 start and 1 stop bit per 8 or 9 bits (depending what is selected for #data bits), assuming 8 data bits, there are 4 start bits and 4 stop bits, so in total 32 + 4 + 4 = 40 bits. 115200 baud means 11500 bits/sec, so 40 bits will take 40 / 115200 = appr. 0.000347 s = 347 us. However, there might ...


5

Hint: did you remember that data is transmitted LSB first? simulate this circuit – Schematic created using CircuitLab Figure 1. 9600 Hz squarewave. From the comments: In base 16, 1010 is A right? 0101 is 5. So the data is surely AAh, we can be sure option D is the answer. As shown in Figure 1, the data is 0x55 so that eliminates c) and d). As ...


4

The factor two is best visible when you draw an image. The bandwidth B can at best contain a full sine wave. But a single sine wave can hold two bits: one high and one low. I'm not a mathematician, but I guess two subsequent high bits would look similar to the red line (notice that I change the y-scale slightly for clarity): In this image the both edges ...


4

One definitive way to test is to wire your MIDI out to your MIDI in, and set up the system using the USB-serial as before, but routing it (through your 'virtual midi cable' software) to the MIDI out port on the computer. This will test to see if your USB MIDI hardware is in fact working reliably at the data rate the device works at. In my experience, many ...


4

SPI uses clock and data. From the sending (master) end, clock and data fly down their respective cables in sync (but delayed by the cable) and they reach the slave end and hey presto, the slave clocks in the data and does what it has to do but, what if it has to send back some data such as a value of something. OK, it transmits its data synchronized to the ...


4

I'm guessing that the micro can't hit the higher baud rates accurately enough given the rather low clock speed of 8 MHz. This illustrates one of the drawbacks of blindly using a canned library. Your library apparently has no means to tell you what baud rate it actually ended up with and at run time it's too late to do anything about it. Most UARTs need a ...


4

Basic CAN protocol doesn't support nodes running at different bitrates: The speed of CAN may be different in different systems. However, in a given system the bitrate is uniform and fixed. The newer version of the protocol called CAN FD, provides support for flexible data rate, as its name suggests. Legacy CAN hardware is supported on CAN FD networks, ...


4

Wakeup from Stop mode using LPUART The LPUART is able to wake up the MCU from Stop modewhen the UESM bit is set and the LPUART clock is set to HSI or LSE (refer to the Reset and clock control (RCC) section. LPUART source clock is HSI If during stop mode the HSI clock is switched OFF, when a falling edge on the LPUART receive line is detected, ...


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