Impact of using UART
I'm trying to understand the impact of using UART communication of the Raspberry's GPIO pins. So I'm reading the Raspberry UART documentation, but I'm not sure if I get everything right.
It says:
By default, on Raspberry Pis equipped with the wireless/Bluetooth module (Raspberry Pi 3 and Raspberry Pi Zero W), the PL011 UART is connected to the BT module
I'm not sure what "connected" means in this context. Because it says "by default", it seems to me that there are other options, potentially configurable, so it's just a software connection.
Later, the documentation says
pi3-disable-bt
disables the Bluetooth device and restores UART0/ttyAMA0 to GPIOs 14 and 15.
So does "connected" mean that a) the bluetooth data is forwarded/copied to the PL011 UART (one-way)? Or b) does it also mean that writing to the GPIO pins will send data over bluetooth (two-way)? Or c) the connection between Bluetooth and UART on GPIO pins is an exclusive one. You could either use Bluetooth or use UART.
Last, I have a question on the sentence
pi3-miniuart-bt
switches the Raspberry Pi 3 and Raspberry Pi Zero W Bluetooth function to use the mini UART (ttyS0), and restores UART0/ttyAMA0 to GPIOs 14 and 15.
in combination with
The particular deficiencies of the mini UART compared to the PL011 are : [...] [long list of disadvantages]
Since I need Bluetooth and UART, this seems to be the right option to me. Does Bluetooth work really fine using the Mini-UART? I definitely don't like to have Bluetooth issues.
I don't consider the suggested duplicate How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW as a duplicate, because
a) my question is about the impact, not on how to make it work.
b)
The /dev/ttyAMA0 previously used to access the UART now connects to Bluetooth.
is something I already know (mentioned above), except for the term "connect", which is also not defined in the answers.
c)
Unfortunately there are a number of other consequences: [...]
which are already listed in the official documentation which I linked to.
d)
the answers
if you want to change the blutooth to miniuart port(bad)
dtoverlay=pi3-miniuart-bt
just says "it's bad", but does not define how bad it is.
bluetooth uart
add a comment |
I'm trying to understand the impact of using UART communication of the Raspberry's GPIO pins. So I'm reading the Raspberry UART documentation, but I'm not sure if I get everything right.
It says:
By default, on Raspberry Pis equipped with the wireless/Bluetooth module (Raspberry Pi 3 and Raspberry Pi Zero W), the PL011 UART is connected to the BT module
I'm not sure what "connected" means in this context. Because it says "by default", it seems to me that there are other options, potentially configurable, so it's just a software connection.
Later, the documentation says
pi3-disable-bt
disables the Bluetooth device and restores UART0/ttyAMA0 to GPIOs 14 and 15.
So does "connected" mean that a) the bluetooth data is forwarded/copied to the PL011 UART (one-way)? Or b) does it also mean that writing to the GPIO pins will send data over bluetooth (two-way)? Or c) the connection between Bluetooth and UART on GPIO pins is an exclusive one. You could either use Bluetooth or use UART.
Last, I have a question on the sentence
pi3-miniuart-bt
switches the Raspberry Pi 3 and Raspberry Pi Zero W Bluetooth function to use the mini UART (ttyS0), and restores UART0/ttyAMA0 to GPIOs 14 and 15.
in combination with
The particular deficiencies of the mini UART compared to the PL011 are : [...] [long list of disadvantages]
Since I need Bluetooth and UART, this seems to be the right option to me. Does Bluetooth work really fine using the Mini-UART? I definitely don't like to have Bluetooth issues.
I don't consider the suggested duplicate How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW as a duplicate, because
a) my question is about the impact, not on how to make it work.
b)
The /dev/ttyAMA0 previously used to access the UART now connects to Bluetooth.
is something I already know (mentioned above), except for the term "connect", which is also not defined in the answers.
c)
Unfortunately there are a number of other consequences: [...]
which are already listed in the official documentation which I linked to.
d)
the answers
if you want to change the blutooth to miniuart port(bad)
dtoverlay=pi3-miniuart-bt
just says "it's bad", but does not define how bad it is.
bluetooth uart
Possible duplicate of How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW
– Milliways
Jan 1 at 22:31
While the SPI port has input/output buffers, the TxD and RxD pins on newer models are only 8 bytes deep, and no RTC or CTS. You are essentially bit-banging the port to read and write data to/from specific self-created larger main buffers. Another negative is that it runs on system clock, so for SPI and serial ports to be stable you need to fix the system clock frequency.
– Sparky256
Jan 2 at 0:06
add a comment |
I'm trying to understand the impact of using UART communication of the Raspberry's GPIO pins. So I'm reading the Raspberry UART documentation, but I'm not sure if I get everything right.
It says:
By default, on Raspberry Pis equipped with the wireless/Bluetooth module (Raspberry Pi 3 and Raspberry Pi Zero W), the PL011 UART is connected to the BT module
I'm not sure what "connected" means in this context. Because it says "by default", it seems to me that there are other options, potentially configurable, so it's just a software connection.
Later, the documentation says
pi3-disable-bt
disables the Bluetooth device and restores UART0/ttyAMA0 to GPIOs 14 and 15.
So does "connected" mean that a) the bluetooth data is forwarded/copied to the PL011 UART (one-way)? Or b) does it also mean that writing to the GPIO pins will send data over bluetooth (two-way)? Or c) the connection between Bluetooth and UART on GPIO pins is an exclusive one. You could either use Bluetooth or use UART.
Last, I have a question on the sentence
pi3-miniuart-bt
switches the Raspberry Pi 3 and Raspberry Pi Zero W Bluetooth function to use the mini UART (ttyS0), and restores UART0/ttyAMA0 to GPIOs 14 and 15.
in combination with
The particular deficiencies of the mini UART compared to the PL011 are : [...] [long list of disadvantages]
Since I need Bluetooth and UART, this seems to be the right option to me. Does Bluetooth work really fine using the Mini-UART? I definitely don't like to have Bluetooth issues.
I don't consider the suggested duplicate How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW as a duplicate, because
a) my question is about the impact, not on how to make it work.
b)
The /dev/ttyAMA0 previously used to access the UART now connects to Bluetooth.
is something I already know (mentioned above), except for the term "connect", which is also not defined in the answers.
c)
Unfortunately there are a number of other consequences: [...]
which are already listed in the official documentation which I linked to.
d)
the answers
if you want to change the blutooth to miniuart port(bad)
dtoverlay=pi3-miniuart-bt
just says "it's bad", but does not define how bad it is.
bluetooth uart
I'm trying to understand the impact of using UART communication of the Raspberry's GPIO pins. So I'm reading the Raspberry UART documentation, but I'm not sure if I get everything right.
It says:
By default, on Raspberry Pis equipped with the wireless/Bluetooth module (Raspberry Pi 3 and Raspberry Pi Zero W), the PL011 UART is connected to the BT module
I'm not sure what "connected" means in this context. Because it says "by default", it seems to me that there are other options, potentially configurable, so it's just a software connection.
Later, the documentation says
pi3-disable-bt
disables the Bluetooth device and restores UART0/ttyAMA0 to GPIOs 14 and 15.
So does "connected" mean that a) the bluetooth data is forwarded/copied to the PL011 UART (one-way)? Or b) does it also mean that writing to the GPIO pins will send data over bluetooth (two-way)? Or c) the connection between Bluetooth and UART on GPIO pins is an exclusive one. You could either use Bluetooth or use UART.
Last, I have a question on the sentence
pi3-miniuart-bt
switches the Raspberry Pi 3 and Raspberry Pi Zero W Bluetooth function to use the mini UART (ttyS0), and restores UART0/ttyAMA0 to GPIOs 14 and 15.
in combination with
The particular deficiencies of the mini UART compared to the PL011 are : [...] [long list of disadvantages]
Since I need Bluetooth and UART, this seems to be the right option to me. Does Bluetooth work really fine using the Mini-UART? I definitely don't like to have Bluetooth issues.
I don't consider the suggested duplicate How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW as a duplicate, because
a) my question is about the impact, not on how to make it work.
b)
The /dev/ttyAMA0 previously used to access the UART now connects to Bluetooth.
is something I already know (mentioned above), except for the term "connect", which is also not defined in the answers.
c)
Unfortunately there are a number of other consequences: [...]
which are already listed in the official documentation which I linked to.
d)
the answers
if you want to change the blutooth to miniuart port(bad)
dtoverlay=pi3-miniuart-bt
just says "it's bad", but does not define how bad it is.
bluetooth uart
bluetooth uart
edited Jan 2 at 19:44
Thomas Weller
asked Jan 1 at 16:43


Thomas WellerThomas Weller
1,16011135
1,16011135
Possible duplicate of How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW
– Milliways
Jan 1 at 22:31
While the SPI port has input/output buffers, the TxD and RxD pins on newer models are only 8 bytes deep, and no RTC or CTS. You are essentially bit-banging the port to read and write data to/from specific self-created larger main buffers. Another negative is that it runs on system clock, so for SPI and serial ports to be stable you need to fix the system clock frequency.
– Sparky256
Jan 2 at 0:06
add a comment |
Possible duplicate of How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW
– Milliways
Jan 1 at 22:31
While the SPI port has input/output buffers, the TxD and RxD pins on newer models are only 8 bytes deep, and no RTC or CTS. You are essentially bit-banging the port to read and write data to/from specific self-created larger main buffers. Another negative is that it runs on system clock, so for SPI and serial ports to be stable you need to fix the system clock frequency.
– Sparky256
Jan 2 at 0:06
Possible duplicate of How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW
– Milliways
Jan 1 at 22:31
Possible duplicate of How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW
– Milliways
Jan 1 at 22:31
While the SPI port has input/output buffers, the TxD and RxD pins on newer models are only 8 bytes deep, and no RTC or CTS. You are essentially bit-banging the port to read and write data to/from specific self-created larger main buffers. Another negative is that it runs on system clock, so for SPI and serial ports to be stable you need to fix the system clock frequency.
– Sparky256
Jan 2 at 0:06
While the SPI port has input/output buffers, the TxD and RxD pins on newer models are only 8 bytes deep, and no RTC or CTS. You are essentially bit-banging the port to read and write data to/from specific self-created larger main buffers. Another negative is that it runs on system clock, so for SPI and serial ports to be stable you need to fix the system clock frequency.
– Sparky256
Jan 2 at 0:06
add a comment |
2 Answers
2
active
oldest
votes
The three options are:
default configuration
- UART0/ttyAMA0 to Bluetooth
- Mini-UART/dev/ttyS0 to GPIOs 14 and 15
pi3-disable-bt
- no Bluetooth support
- UART0/ttyAMA0 to GPIOs 14 and 15
pi3-miniuart-bt
- Mini-UART/ttyS0 connected to Bluetooth
- UART0/ttyAMA0 to GPIOs 14 and 15
In general, the Mini-UART has one big pitfall. It doesn't have its own clock source, so the UART bitrate depends on the CPU clock. Which means you have to set a fixed CPU clock for reliable communication. For serial console this is usually not a problem because it's a debugging tool.
Does that mean I have to set a fixed baud rate so that Bluetooth works reliably? Is that all?
– Thomas Weller
Jan 2 at 19:45
The problem is that the actual baud rate depends on both the baud rate setting registers and the SoCs core clock (note: not the CPU clock). So if you want the mini-uart to work reliablly you have to lock the frequency of the SoC core clock. raspberrypi.org/documentation/configuration/uart.md
– Peter Green
Jan 2 at 19:48
add a comment |
(See Janka's answer for the practical implications, I just wanted to clear up another aspect of the question).
so it's just a software connection.
Not exactly.
The BCM283x SoCs like many higher end microcontrollers and SoCs has a pin mux unit. This allows different combinations of perhiperals to be connected to the pins of the SoC.
The BCM283x SoC has two UARTs, the "Mini UART" and the "Full UART". The pin muxing functionality in the SoC can be used to connect either of these UARTs to either the serial pins on the GPIO header or to the on-board bluetooh.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("schematics", function () {
StackExchange.schematics.init();
});
}, "cicuitlab");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "447"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fraspberrypi.stackexchange.com%2fquestions%2f92505%2fimpact-of-using-uart%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
The three options are:
default configuration
- UART0/ttyAMA0 to Bluetooth
- Mini-UART/dev/ttyS0 to GPIOs 14 and 15
pi3-disable-bt
- no Bluetooth support
- UART0/ttyAMA0 to GPIOs 14 and 15
pi3-miniuart-bt
- Mini-UART/ttyS0 connected to Bluetooth
- UART0/ttyAMA0 to GPIOs 14 and 15
In general, the Mini-UART has one big pitfall. It doesn't have its own clock source, so the UART bitrate depends on the CPU clock. Which means you have to set a fixed CPU clock for reliable communication. For serial console this is usually not a problem because it's a debugging tool.
Does that mean I have to set a fixed baud rate so that Bluetooth works reliably? Is that all?
– Thomas Weller
Jan 2 at 19:45
The problem is that the actual baud rate depends on both the baud rate setting registers and the SoCs core clock (note: not the CPU clock). So if you want the mini-uart to work reliablly you have to lock the frequency of the SoC core clock. raspberrypi.org/documentation/configuration/uart.md
– Peter Green
Jan 2 at 19:48
add a comment |
The three options are:
default configuration
- UART0/ttyAMA0 to Bluetooth
- Mini-UART/dev/ttyS0 to GPIOs 14 and 15
pi3-disable-bt
- no Bluetooth support
- UART0/ttyAMA0 to GPIOs 14 and 15
pi3-miniuart-bt
- Mini-UART/ttyS0 connected to Bluetooth
- UART0/ttyAMA0 to GPIOs 14 and 15
In general, the Mini-UART has one big pitfall. It doesn't have its own clock source, so the UART bitrate depends on the CPU clock. Which means you have to set a fixed CPU clock for reliable communication. For serial console this is usually not a problem because it's a debugging tool.
Does that mean I have to set a fixed baud rate so that Bluetooth works reliably? Is that all?
– Thomas Weller
Jan 2 at 19:45
The problem is that the actual baud rate depends on both the baud rate setting registers and the SoCs core clock (note: not the CPU clock). So if you want the mini-uart to work reliablly you have to lock the frequency of the SoC core clock. raspberrypi.org/documentation/configuration/uart.md
– Peter Green
Jan 2 at 19:48
add a comment |
The three options are:
default configuration
- UART0/ttyAMA0 to Bluetooth
- Mini-UART/dev/ttyS0 to GPIOs 14 and 15
pi3-disable-bt
- no Bluetooth support
- UART0/ttyAMA0 to GPIOs 14 and 15
pi3-miniuart-bt
- Mini-UART/ttyS0 connected to Bluetooth
- UART0/ttyAMA0 to GPIOs 14 and 15
In general, the Mini-UART has one big pitfall. It doesn't have its own clock source, so the UART bitrate depends on the CPU clock. Which means you have to set a fixed CPU clock for reliable communication. For serial console this is usually not a problem because it's a debugging tool.
The three options are:
default configuration
- UART0/ttyAMA0 to Bluetooth
- Mini-UART/dev/ttyS0 to GPIOs 14 and 15
pi3-disable-bt
- no Bluetooth support
- UART0/ttyAMA0 to GPIOs 14 and 15
pi3-miniuart-bt
- Mini-UART/ttyS0 connected to Bluetooth
- UART0/ttyAMA0 to GPIOs 14 and 15
In general, the Mini-UART has one big pitfall. It doesn't have its own clock source, so the UART bitrate depends on the CPU clock. Which means you have to set a fixed CPU clock for reliable communication. For serial console this is usually not a problem because it's a debugging tool.
answered Jan 1 at 18:03
JankaJanka
1,294310
1,294310
Does that mean I have to set a fixed baud rate so that Bluetooth works reliably? Is that all?
– Thomas Weller
Jan 2 at 19:45
The problem is that the actual baud rate depends on both the baud rate setting registers and the SoCs core clock (note: not the CPU clock). So if you want the mini-uart to work reliablly you have to lock the frequency of the SoC core clock. raspberrypi.org/documentation/configuration/uart.md
– Peter Green
Jan 2 at 19:48
add a comment |
Does that mean I have to set a fixed baud rate so that Bluetooth works reliably? Is that all?
– Thomas Weller
Jan 2 at 19:45
The problem is that the actual baud rate depends on both the baud rate setting registers and the SoCs core clock (note: not the CPU clock). So if you want the mini-uart to work reliablly you have to lock the frequency of the SoC core clock. raspberrypi.org/documentation/configuration/uart.md
– Peter Green
Jan 2 at 19:48
Does that mean I have to set a fixed baud rate so that Bluetooth works reliably? Is that all?
– Thomas Weller
Jan 2 at 19:45
Does that mean I have to set a fixed baud rate so that Bluetooth works reliably? Is that all?
– Thomas Weller
Jan 2 at 19:45
The problem is that the actual baud rate depends on both the baud rate setting registers and the SoCs core clock (note: not the CPU clock). So if you want the mini-uart to work reliablly you have to lock the frequency of the SoC core clock. raspberrypi.org/documentation/configuration/uart.md
– Peter Green
Jan 2 at 19:48
The problem is that the actual baud rate depends on both the baud rate setting registers and the SoCs core clock (note: not the CPU clock). So if you want the mini-uart to work reliablly you have to lock the frequency of the SoC core clock. raspberrypi.org/documentation/configuration/uart.md
– Peter Green
Jan 2 at 19:48
add a comment |
(See Janka's answer for the practical implications, I just wanted to clear up another aspect of the question).
so it's just a software connection.
Not exactly.
The BCM283x SoCs like many higher end microcontrollers and SoCs has a pin mux unit. This allows different combinations of perhiperals to be connected to the pins of the SoC.
The BCM283x SoC has two UARTs, the "Mini UART" and the "Full UART". The pin muxing functionality in the SoC can be used to connect either of these UARTs to either the serial pins on the GPIO header or to the on-board bluetooh.
add a comment |
(See Janka's answer for the practical implications, I just wanted to clear up another aspect of the question).
so it's just a software connection.
Not exactly.
The BCM283x SoCs like many higher end microcontrollers and SoCs has a pin mux unit. This allows different combinations of perhiperals to be connected to the pins of the SoC.
The BCM283x SoC has two UARTs, the "Mini UART" and the "Full UART". The pin muxing functionality in the SoC can be used to connect either of these UARTs to either the serial pins on the GPIO header or to the on-board bluetooh.
add a comment |
(See Janka's answer for the practical implications, I just wanted to clear up another aspect of the question).
so it's just a software connection.
Not exactly.
The BCM283x SoCs like many higher end microcontrollers and SoCs has a pin mux unit. This allows different combinations of perhiperals to be connected to the pins of the SoC.
The BCM283x SoC has two UARTs, the "Mini UART" and the "Full UART". The pin muxing functionality in the SoC can be used to connect either of these UARTs to either the serial pins on the GPIO header or to the on-board bluetooh.
(See Janka's answer for the practical implications, I just wanted to clear up another aspect of the question).
so it's just a software connection.
Not exactly.
The BCM283x SoCs like many higher end microcontrollers and SoCs has a pin mux unit. This allows different combinations of perhiperals to be connected to the pins of the SoC.
The BCM283x SoC has two UARTs, the "Mini UART" and the "Full UART". The pin muxing functionality in the SoC can be used to connect either of these UARTs to either the serial pins on the GPIO header or to the on-board bluetooh.
answered Jan 1 at 21:41
Peter GreenPeter Green
1,216411
1,216411
add a comment |
add a comment |
Thanks for contributing an answer to Raspberry Pi Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fraspberrypi.stackexchange.com%2fquestions%2f92505%2fimpact-of-using-uart%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Possible duplicate of How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW
– Milliways
Jan 1 at 22:31
While the SPI port has input/output buffers, the TxD and RxD pins on newer models are only 8 bytes deep, and no RTC or CTS. You are essentially bit-banging the port to read and write data to/from specific self-created larger main buffers. Another negative is that it runs on system clock, so for SPI and serial ports to be stable you need to fix the system clock frequency.
– Sparky256
Jan 2 at 0:06