| 00:00 | 
                                
                                    - There have been a couple of modifications to the CAN standard over the years and a couple of terms you're likely to encounter when specifying CAN devices are CAN 2.0A, 2.0B, standard and extended parameter IDs.
                                    
                                 | 
                            
                        
                            
                            | 00:13 | 
                                
                                    The original CAN specification defined the PID length as 11 bits meaning it could have a value in decimal between 0 and 2047 so that is only 2048 unique PIDs that were available.
                                    
                                 | 
                            
                        
                            
                            | 00:28 | 
                                
                                    In practice though, because of the way the priority system is implemented, the real world number of available PIDs is often far less than this.
                                    
                                 | 
                            
                        
                            
                            | 00:35 | 
                                
                                    Once CAN started being used in industry, it became clear that this limit on available PIDs could easily be reached so the CAN 2.0B specification was then released.
                                    
                                 | 
                            
                        
                            
                            | 00:46 | 
                                
                                    CAN 2.0B ups the number of bits used for the frame PID to 29, meaning there are now more than 500 million unique PIDs available.
                                    
                                 | 
                            
                        
                            
                            | 00:55 | 
                                
                                    In practice, this is far more PIDs than should ever be required so this limit is not likely to cause any issues any time soon.
                                    
                                 | 
                            
                        
                            
                            | 01:02 | 
                                
                                    Often you'll hear these CAN specifications referred to as standard PID and extended PID.
                                    
                                 | 
                            
                        
                            
                            | 01:08 | 
                                
                                    These terms mean the same thing as CAN 2.0A and 2.0B.
                                    
                                 | 
                            
                        
                            
                            | 01:13 | 
                                
                                    CAN 2.0B is backwards compatible with 2.0A, meaning a device specified to adhere to 2.0B, can both receive and transmit 2.0A frames as well.
                                    
                                 | 
                            
                        
                            
                            | 01:26 | 
                                
                                    If a 2.0A device sees a data frame with an extended 2.0B PID format however, it will throw an error.
                                    
                                 | 
                            
                        
                            
                            | 01:34 | 
                                
                                    If you've created a bus that has both 2.0A and 2.0B devices on it, you need to program all the 2.0B devices to transmit standard frame PID data.
                                    
                                 | 
                            
                        
                            
                            | 01:45 | 
                                
                                    So that's put them in 2.0A mode.
                                    
                                 | 
                            
                        
                            
                            | 01:48 | 
                                
                                    That way, everything will be compatible in our performance automotive applications.
                                    
                                 | 
                            
                        
                            
                            | 01:53 | 
                                
                                    In our performance automotive applications then limit of 2048 unique PIDs is more than enough and this doesn't cause us any problems in practice.
                                    
                                 | 
                            
                        
                            
                            | 02:03 | 
                                
                                    CAN FD is a relatively recent update to the CAN standard.
                                    
                                 | 
                            
                        
                            
                            | 02:06 | 
                                
                                    The FD stands for flexible data rate which is the main change from the CAN 2.0B standard.
                                    
                                 | 
                            
                        
                            
                            | 02:13 | 
                                
                                    That said, there are a couple of other important changes as well.
                                    
                                 | 
                            
                        
                            
                            | 02:16 | 
                                
                                    The overall maximum transmission speed has been increased from 1 Mb per second to 8 Mb per second and the maximum length of the data section of a frame has been increased to 64 bytes.
                                    
                                 | 
                            
                        
                            
                            | 02:27 | 
                                
                                    And there has been facility added to allow the arbitration and controlled sections of a data frame to be sent at a fixed speed with the data section then transmitted at a higher rate.
                                    
                                 | 
                            
                        
                            
                            | 02:37 | 
                                
                                    This eliminates the need to manually configure the bus transmission speed for every device.
                                    
                                 | 
                            
                        
                            
                            | 02:43 | 
                                
                                    CAN FD has not yet widely been adopted by the performance automotive aftermarket so we're not going to be covering it specifically in this course.
                                    
                                 | 
                            
                        
                            
                            | 02:50 | 
                                
                                    But if you do encounter it in an OEM application, make sure to purchase a CAN sniffing tool that supports the protocol and you should be able to interface with the data stream.
                                    
                                 | 
                            
                        
                            
                            | 03:00 | 
                                
                                    At which point the rest of the reverse engineering principles described later in the course will still be valid.
                                    
                                 |