CANフレームはすべてのビットに対してエッジが現れることを保証するわけではありません。同じ論理レベルの連続ビットが最大5ビット連続して存在し、波形にエッジが現れないまま存在します。
バスが正常に動作し、フレームがエラーなく転送されている場合、フレームの終わりに近づくにつれて、確認応答スロットが優勢になります(CAN_H がハイ、CAN_L がロー)。直前のビット(CRC区切り文字)と直後のビット(確認区切り文字)は劣性になります(CAN_HとCAN_Lはほぼ同じ電圧です)。したがって、常に確認応答スロットの幅を測定し、ビットレートを決定することが可能です。
「CAN バスの専門家であるEmbedded Systems AcademyからのFAQ寄稿。詳細については、 www.esacademy.comをご覧ください。
あなたの指摘はまさにその通りです。CANのビット詰め込み機構は少なくとも6ビットごとにエッジを保証しますが、オートボーやビットレート測定に任意のデータビットに頼るのは、ペイロードや詰め込み間隔が異なるため難しい場合があります。