You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nuttx.apache.org by Petro Karashchenko <pe...@gmail.com> on 2023/09/02 13:25:16 UTC

ESP32-S3 RS485 support

Hi,

I'm currently trying to enable RS485 support for ESP32-S3. I see that there
is some support of RS485 mode in ESP32 and it seems to be straight forward
to port it to ESP32-S3 however I see that currently ESP32-S3 lowputc has
next lines

modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485_EN_M, 0);
modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485TX_RX_EN_M, 0);
modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485RXBY_TX_EN_M, 0);


So I wonder if anybody has already leveraged the RS458 capabilities of
ESP32-S3?

Additionally I see that the same registers are available for ESP32, but I
do not see any place where the "UART_RS485_CONF_REG" register is modified
for ESP32 with RS485 enabled UARTs.

Best regards,
Petro

Re: ESP32-S3 RS485 support

Posted by Petro Karashchenko <pe...@gmail.com>.
I rethink my question again and this depends on HW configuration also, so
can't be handled at driver level generically.

сб, 2 вер. 2023 р. о 18:31 Petro Karashchenko <pe...@gmail.com>
пише:

> Hello Alan,
>
> Thank you. I will try to port SW RS485 to ESP32-S3, but from my experience
> in the past with RS485 I have a question: how TX echo is filtered out from
> RX stream when SW RS485 is used? Or that should be done at the application
> layer?
>
> Best regards,
> Petro
>
> сб, 2 вер. 2023 р. о 16:46 Alan C. Assis <ac...@gmail.com> пише:
>
>> Hi Petro,
>>
>> The current RS485 implementation used on ESP32 is not using internal
>> RS485 controller of ESP32, it is implemented by "software". So you can
>> use it connecting a RS485 transceiver to UART port and using the right
>> DIR pin controller by RS485 driver.
>>
>> It is possible to use the internal IP RS485 from ESP32 or ESP32-S3,
>> you just need to look how it is done in the ESP-IDF and replicate it.
>>
>> But the SW RS485 works fine and it is easier to implement.
>>
>> BR,
>>
>> Alan
>>
>> On 9/2/23, Petro Karashchenko <pe...@gmail.com> wrote:
>> > Hi,
>> >
>> > I'm currently trying to enable RS485 support for ESP32-S3. I see that
>> there
>> > is some support of RS485 mode in ESP32 and it seems to be straight
>> forward
>> > to port it to ESP32-S3 however I see that currently ESP32-S3 lowputc has
>> > next lines
>> >
>> > modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485_EN_M, 0);
>> > modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485TX_RX_EN_M, 0);
>> > modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485RXBY_TX_EN_M, 0);
>> >
>> >
>> > So I wonder if anybody has already leveraged the RS458 capabilities of
>> > ESP32-S3?
>> >
>> > Additionally I see that the same registers are available for ESP32, but
>> I
>> > do not see any place where the "UART_RS485_CONF_REG" register is
>> modified
>> > for ESP32 with RS485 enabled UARTs.
>> >
>> > Best regards,
>> > Petro
>> >
>>
>

Re: ESP32-S3 RS485 support

Posted by Petro Karashchenko <pe...@gmail.com>.
Hello Alan,

Thank you. I will try to port SW RS485 to ESP32-S3, but from my experience
in the past with RS485 I have a question: how TX echo is filtered out from
RX stream when SW RS485 is used? Or that should be done at the application
layer?

Best regards,
Petro

сб, 2 вер. 2023 р. о 16:46 Alan C. Assis <ac...@gmail.com> пише:

> Hi Petro,
>
> The current RS485 implementation used on ESP32 is not using internal
> RS485 controller of ESP32, it is implemented by "software". So you can
> use it connecting a RS485 transceiver to UART port and using the right
> DIR pin controller by RS485 driver.
>
> It is possible to use the internal IP RS485 from ESP32 or ESP32-S3,
> you just need to look how it is done in the ESP-IDF and replicate it.
>
> But the SW RS485 works fine and it is easier to implement.
>
> BR,
>
> Alan
>
> On 9/2/23, Petro Karashchenko <pe...@gmail.com> wrote:
> > Hi,
> >
> > I'm currently trying to enable RS485 support for ESP32-S3. I see that
> there
> > is some support of RS485 mode in ESP32 and it seems to be straight
> forward
> > to port it to ESP32-S3 however I see that currently ESP32-S3 lowputc has
> > next lines
> >
> > modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485_EN_M, 0);
> > modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485TX_RX_EN_M, 0);
> > modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485RXBY_TX_EN_M, 0);
> >
> >
> > So I wonder if anybody has already leveraged the RS458 capabilities of
> > ESP32-S3?
> >
> > Additionally I see that the same registers are available for ESP32, but I
> > do not see any place where the "UART_RS485_CONF_REG" register is modified
> > for ESP32 with RS485 enabled UARTs.
> >
> > Best regards,
> > Petro
> >
>

Re: ESP32-S3 RS485 support

Posted by "Alan C. Assis" <ac...@gmail.com>.
Hi Petro,

The current RS485 implementation used on ESP32 is not using internal
RS485 controller of ESP32, it is implemented by "software". So you can
use it connecting a RS485 transceiver to UART port and using the right
DIR pin controller by RS485 driver.

It is possible to use the internal IP RS485 from ESP32 or ESP32-S3,
you just need to look how it is done in the ESP-IDF and replicate it.

But the SW RS485 works fine and it is easier to implement.

BR,

Alan

On 9/2/23, Petro Karashchenko <pe...@gmail.com> wrote:
> Hi,
>
> I'm currently trying to enable RS485 support for ESP32-S3. I see that there
> is some support of RS485 mode in ESP32 and it seems to be straight forward
> to port it to ESP32-S3 however I see that currently ESP32-S3 lowputc has
> next lines
>
> modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485_EN_M, 0);
> modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485TX_RX_EN_M, 0);
> modifyreg32(UART_RS485_CONF_REG(priv->id), UART_RS485RXBY_TX_EN_M, 0);
>
>
> So I wonder if anybody has already leveraged the RS458 capabilities of
> ESP32-S3?
>
> Additionally I see that the same registers are available for ESP32, but I
> do not see any place where the "UART_RS485_CONF_REG" register is modified
> for ESP32 with RS485 enabled UARTs.
>
> Best regards,
> Petro
>