cancel
Showing results for 
Search instead for 
Did you mean: 

STM32 chips with native modbus support

Posted on December 30, 2016 at 22:20

Hello there,

Is there any list of STM32 devices with native ModBus support? I am trying to find a proper mcu and I have to open each datasheet by hand and ctrl+F for modbus. There has to be a better way. So far I have figured out that only the newer devices have it (ie. F0 and F7). I need something in between with modbus support.

I would appreciate all help.

#stm32 #modbus
24 REPLIES 24
Posted on December 31, 2016 at 11:57

Yes its a very convenient functionality. The newer uart module also comes with automatic DE line toggle for RS485 mode, with adjustable toggle delay time. But please, this question is regarding the devices consisting of this functionality, not how good/ bad it is.

Posted on December 31, 2016 at 12:47

I am talking about them all the time. I need to know which devices exacly have them.

Posted on December 31, 2016 at 16:53

I am talking about them all the time. I need to know which devices exacly have them.

None of the features are really Modbus specific. And your first post was not quite specifc in this regard.

*Received/transmitted bytes are buffered in reserved SRAM using centralized DMA

Dropping the reserved SRAM, this is called FIFO. I guess this the most you can get (instead of DMA).

Once Modbus will be as heavily in use as CAN, vendors will put such stuff in hardware.  That means, most probably never ...

Posted on December 31, 2016 at 17:48

Receiver timeout interrupt is quite modbus specific, but I understand that one could use it for anything. But again, that was not the question. I emphasized modbus in the topic because I thought it would be easier to realize about which features I am talking about, as in the datasheet they are linked with modbus as well. If this doesnt work, then I rephrase the question:

Is there a list of STM32 devices that consist of 'advanced' uart features, such as 'Modbus communication', but in the meaning of datasheet nomenclature and not how easy it is to implement?

Or for example, which devices consist of 'Receiver timeout register (USARTx_RTOR)'?

For example when I am at the STM32 selector site and I click to sort by parallel interface I can choose between quad spi, mmc or sdio. I need something similar for uart. The selector only allows to sort by number of available uarts, not what features they consist of. Sorry if I expressed myself wrong. Is this more clear now?

Posted on December 31, 2016 at 18:08

Thing is 'modbus' has metastasized across a whole slew of physical layers.

I don't see it becoming a 'peripheral' because a) there are likely to be IP costs, licenses and patents, b) it is niche and splintered. It's why people build stuff using CAN or Ethernet so as not to reinvent new bus protocols on legacy peripherals with sketchy support/compatibility.

ST isn't going to spin new features into old designs. Whatever support it is you are looking for is only likely to be in newer family/series devices, or is achievable with general functionality already provided. ST has gone for very generic and simple peripheral design, the DMA for the USART has been very general (same controller works for SPI, I2C, TIM, etc), and the USART have a single holding buffer with no depth or FIFO

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on December 31, 2016 at 18:33

Thats perfectly fine, I dont need ST to implement any new features in older chips. I just need a table which will tell me which parts exacly are 'new' and 'old'.

Vyacheslav Azarov
Associate III
Posted on January 05, 2017 at 16:45

I also had this problem. I think need to improve product selector tools.

francesco239955_st
Associate II
Posted on January 09, 2017 at 19:36

Hi STM32F072 has this feature. Why CubeMx is assigning only one pin to for communication in case I choose modbus? is this a bug?

Posted on January 11, 2017 at 16:51

Hi

Maioli.Francesco

‌,

This is not a bug ! In modbus mode, only one pin is enabled, as mentioned in the RM0091 'USART functional description' section :

The following pin is required in RS485 Hardware control mode:

DE: Driver Enable activates the transmission mode of the external transceiver.

Regards

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Posted on January 11, 2017 at 17:09

Thanks for your feedback. The CubeMX is working perfectly with RS485 Hw control mode, by assigning the DE, TX and RX pins (-> DE, DI, RO pins to be connected to any transceiver): it is easy to me to connect to a transceiver and then use software library for modbus communication.

But setting CubeMX USART1 in Modbus mode , the project generated is including only the TX pin.

Cannot figure out how to connect to a transceiver for the RS485 physical layer. Could you help me? I am still convinced that it's not good