1

How to get more than one uart interface

is a quite interesting question that I was not able to fully answer for my rPi Model B+ v.2 - the one with the extended 40pin connectors.

To avoid this beeing a useless clone of the original question, I am going to be more specific:

  • Raspberry Pi Model B+ with 40pin connectors only
  • goal is to have something like ttyAMA1 or ttyS0 AND ttyAMA0 -> two seperate com-Ports
  • NO USB-Adapters
  • NO IC-Based Shields
  • some resistors or caps if needed would be ok
  • a sound explaination on why a second com-port on the B+ is not possible is ok as well!

Why do I think this should be possible?

According to the Documentation of the BCM2835 (Page 10 & 175) and these Pages:

http://elinux.org/RPi_BCM2835_GPIOs#RXD1

http://lavalink.com/2012/04/more-on-raspberry-pi-serial-ports/

there is a mini UART and the PL011 UART and I eighter miss something or just not understood why this second UART is unavailable by default.

My rPi is otherwise configured good so far and the ttyAMA0 works fine.


So, has anybody an idea how to activate ttyAMA1 or the reason why this is not possible?

3
  • 1
    My understanding is there is only one UART (with different configurations). Even if there were others the pins referenced are not available on the B+, which only exposes GPIO00-27
    – Milliways
    Commented Dec 13, 2014 at 7:51
  • I'm going to put this "on hold" as a duplicate of the other question, since Milliway's comment, and joan's answer, imply the answer is the same. If someone knows different, please leave a comment to that effect (and/or cast a reopen vote), but any answer that applies equally to the A/B and A+/B+ should go on the original question.
    – goldilocks
    Commented Dec 13, 2014 at 13:24
  • 2
    The question is not answered in the "duplicate" post. The existence of multiple UARTs within the Pi hardware is not even mentioned. I don't see how the OP could elicit an answer by referring to the "duplicate".
    – joan
    Commented Dec 13, 2014 at 17:16

1 Answer 1

3

Yes and No. Yes, you can use the auxiliary UART on the Pi. No, because to do so would be pointless. The only gpios available on the Pi for the auxiliary UART are gpios 14/15 which are shared with the primary UART.

To use two hardware UARTs you'll need to be using the compute module.

See page 102 of the Broadcom Peripherals document.

7
  • hm, on page 102 you can see that ALT5 would enable TXD1/RXD1 to GPIO32/GPIO33, while GPIO14/15 could stay ALT0 and link to TXD0/RXD0, as they state that every GPIO pin can carry an alternative function - so did you prove yourself wrong or did I miss here something?
    – Jook
    Commented Dec 13, 2014 at 8:24
  • is it because you can only switch between ALT functions as a whole? so ALT0 for all or ALT5 for all? no individual setup possible? Would you happen to have a link to a good guide on how to switch between those ALT setups? It might be sufficient if I could switch to ALT5.
    – Jook
    Commented Dec 13, 2014 at 8:26
  • 1
    Gpios 32/33 are not brought out to any pins (except on the compute module). You can set one gpio to ALT0 and another to ALT5, there is no restriction in that sense,
    – joan
    Commented Dec 13, 2014 at 8:32
  • darn, you're right, I mixed pins with GPIOs x_x ... @joan you sir/madam were most helpful and I am happy to have now a good reference here to this topic.
    – Jook
    Commented Dec 13, 2014 at 8:33
  • My pigpio library does provide bit-bang serial support (reading a bit easier than writing) which may meet your needs.
    – joan
    Commented Dec 13, 2014 at 8:37

Not the answer you're looking for? Browse other questions tagged or ask your own question.