It's using a brand new peripheral.
There is all the code you can possibly need in the reference manual chapter.
Maybe I have not explained the problem I am having (or don't understand it (more likely)) .
If I substitute a dsPIC33EP128MC506 then the CAN is present and can be configured, can you please explain what you mean be "It's using a brand new peripheral." does this mean Microchip have no support for this FD-CAN in MCC for any part?
As a team, we are new to CAN, and (as is so often the case) are pushed for time, MCC is a huge help as it generates usable code that can be understood, trimmed, and tweaked to suit our particular needs.
I guess the real answer may be that MCC does not yet offer support for the FD-CAN peripheral for this (or any?) part.
I suppose the frustration I am having is that I can't find a definitive way of searching for what peripherals MCC supports for each part...without going through each part in MPLAB-X. This is, again, probably a failing on my part to locate this information.....
I understand your problems.
It's a new peripheral because it's the first (Microchip) part with CAN FD.
There are many differences (Actually some of them are covered in the migration documents you can find in the product page)
- DMA is not required, altough i have no idea on how the memory transfer between ram and peripheral happens, if the processor is stalled or if there actually is a dedicated dma or a dedicated bus or what.
- Altough some control operations (modes, configuration) are the same everything else is different
The buffers are arranged differently
The sequence of operations to read from/write to fifos is different
The configuration itself for the clock and for the time quanta is different and much more complicated than with CAN 2.0
I'll repeat myself and please note that i'm not being rude: Go read the manual.
Because if you did instead of complaining and asking for "more meaningful help" you would have seen that they actually did a very good job in explaining the peripheral and how to configure it. The clock and time quanta are explained very well, with formulas and criterias and if even then it will be confusing (it will.) there are tables with settings values that should work without issues, because FD is so much more complex on timing requirements!
Then there are code examples which show how to declare the FIFOs in ram, how to access them and how to perform reads and writes. Litterally the only thing that they didn't do is to provide a project with the example source code already copy pasted.
This is why RTFM.
It will be a very steep hill to climb if you have no CAN experience, but it would be in any case, with any CAN controller. You need to set up a network to test the communication, you need a decent and reliable can bus analyzer that comes with decent and reliable software, preferably compatible with BUSMASTER, none of that cheap rubbish like the microchip can analyzer. That is a horrible mess.
Then i understand how it is, i also like to use code generators for the stuff i don't want to write, like USB or the console drivers but i HAVE to know how the peripheral work for when the code generator is wrong, because it will be, or when i can't understand what it does, because it doesn't help me with that. And being the sole developer here means that i have to know everything. I can't rely on things being already done.
And reading the manual always helps, you're going to waste time waiting for answers anyway.
If you need other references, the peripherals resembles the one in the PIC32MX (it may very well be the same, with added FD support)