is it possible to transfer data through CAN using DMA, Does the CAN support DMA?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-03 1:39 AM - last edited on ‎2024-04-03 1:46 AM by mƎALLEm
I want to receive the data from one nucleo board through CAN protocol and it should trigger the DMA and shuffle the received data and transmit back again to another board.
In ioc configuration I am unable to enable the DMA (peripheral to memory and vice versa), it is showing like Memory-to-memory configuration. Manually I added the DMA configuration and trying to link the DMA with CAN peripheral, it is showing error like CAN_HandleTypeDef has no member named 'hdmatx'
Solved! Go to Solution.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-03 2:31 AM - edited ‎2024-04-03 2:45 AM
Ok thanks:
If you look at the reference manual RM0394 tables 41/42, there is no DMA request to the CAN peripheral:
So no CAN transfers with DMA.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-03 1:45 AM
Hello,
First answer: not possible to use DMA with CAN.
Which product are you using?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-03 1:58 AM
The Reference Manual(s) for the chip(s) you are using will tell you what peripherals are capable of DMA.
The Reference Manual will be available on the Product Page for the chip, under 'Documentation'.
You haven't said what chip(s) you are using, so impossible to be more specific.
A complex system designed from scratch never works and cannot be patched up to make it work.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-03 2:24 AM
I am using Nucleo-L452RE board.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-03 2:25 AM
@Nila ,
Before closing the thread could you please provide the MCU part number or the board you're using?
The answer I provided needs to be more cocurate if you provide this info.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-03 2:31 AM - edited ‎2024-04-03 2:45 AM
Ok thanks:
If you look at the reference manual RM0394 tables 41/42, there is no DMA request to the CAN peripheral:
So no CAN transfers with DMA.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-03 2:34 AM
@Nila wrote:I am using Nucleo-L452RE board.
So the chip is STM32L452RE
The Product Page is:
https://www.st.com/en/microcontrollers-microprocessors/stm32l452re.html#documentation
The Reference Manual is RM0394
Tables 41 & 42 show you which peripherals have DMA capability:
See also Figures 25 & 26:
A complex system designed from scratch never works and cannot be patched up to make it work.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-03 10:09 PM
MCU part number is 497-17008-ND
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-04 2:52 AM
That's not an ST Part Number!
As already noted, the ST Part Number for the MCU chip is STM32L452RE
(It looks like a DigiKey stock number - for the board, not the MCU)
A complex system designed from scratch never works and cannot be patched up to make it work.
