This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

UART vs UART_HCI?

Hello. I am trying to port BLE serialization code to a host MCU, to say STM32F4.

I am looking through porting documentation (BTW, it is quite well documented. Well done Nordic!), and the page said I could either port UART PHY or UART_HCI PHY.

UART_HCI is said to be "a reliable UART" and an additional timer ISR (TIMER_IRQ) is attached to the simple UART. Both of them uses the same TX/RX, RTS/CTS pins.

So does it simply mean that porting UART_HCI is better than porting UART? How UART and UART_HCI are different, and what are the consideration when porting UART_HCI to the host MCU, over porting UART?

Thank you very much.

Parents
  • The UART HCI is considered to be more reliable since it uses checksums(CRC), acknowledgement packets and other metadata. The drawback here is the increased overhead. The UART HCI is therefore more complex than the simple UART RAW, and it would therefore take more time porting the UART HCI to the host MCU than UART RAW.

    You can read more about the UART RAW protocol here, and the UART HCI protocol here.

Reply
  • The UART HCI is considered to be more reliable since it uses checksums(CRC), acknowledgement packets and other metadata. The drawback here is the increased overhead. The UART HCI is therefore more complex than the simple UART RAW, and it would therefore take more time porting the UART HCI to the host MCU than UART RAW.

    You can read more about the UART RAW protocol here, and the UART HCI protocol here.

Children
Related