>> One advantage is that CAN-FD frames and normal CAN frames can be on the same network
How does this work? If a classical CAN frame is broadcasted, CAN FD controller and classical CAN controllers will be able to read the frame id because they will have the same baud rate for the frame ID? From the frame id, CAN FD controller will find out that this is classical CAN frame and ignore it?
On the same network, classical CAN message cannot be received by CAN FD controller? And vice versa?
Most CAN controllers ignore most CAN frames.
If you have, for example, 10 modules on a network, and one of those module transmits something, the chances are that the most of the other modules will have no interest that bit of information. Some items of information will be of use to most or all of the modules, but many items will only be used by one other module. When some modules are for optional items on the cars, information may be transmitted that is of no interest to any other module.
A CAN database might have 100 IDs, but a module could only be interested in 20 or so of them. So when an ID arrives that a module isn't interested in, that frame won't be used by that module. It doesn't matter whether the data in that frame can be interpreted by that module or not, as the data will be ignored.
For example, you might have a signal saying that the lights are on. A seat module will ignore that.
If a new signal arrives on the CANbus with a new ID, existing modules will ignore it. New signals can be added until the network utilisation approaches 100%, and most vehicles run at much less than that.
If that new signal is CAN-FD, the ID will be understood by the existing modules, but the data will not be understood because the baud rate is wrong. The data in the CAN-FD frame, as seen by the CAN (non-FD) modules will be random. It could be anything. However, as any data with the new ID will be ignored, that won't affect the non-FD modules. They will just see it as an error, but nothing to do with them, and get on doing what they are programmed to do.
I think that CAN-FD modules are likely to be able to understand non-FD frames. They will be programmed with a list of IDs of CAN-FD frames that they need to understand, and the meanings of each of the 64 bytes of data they contain. They will also be programmed with a list of IDs of the non-FD frames and the meanings of each of the 8 bytes of data they contain. As long as the baud rate switching that happens during the reception of a CAN-FD frame can be turned on and off according to the ID, then a CAN-FD module can interpret non-FD frames, which would meant that new modules could still understand the old signals.