﻿================================================================================
                                样例使用说明
================================================================================
Date            Author      IAR       MDK       GCC
2022-03-31      CDT         7.70      5.36      gcc-arm-none-eabi-10.3-2021.10-win32

================================================================================
平台说明
================================================================================
GCC工程，由Eclipse IDE外挂GNU-ARM Toolchain，再结合pyOCD GDB Server实现工程的编译、
链接和调试。在用Eclipse导入工程后，请将xxxx_PyOCDDebug中pyocd-gdbserver和SVD文件
设置为正确的路径；请将xxxx_PyOCDDownload中pyocd设置为正确的路径。注意，这些路径不
能包含非英文字符。

================================================================================
功能描述
================================================================================
本例程展示了CAN时间触发通信（TTCAN）的实现方式。TTCAN的触发模式为时间触发。例程展示的一
种用法如下：CAN模块在收到time master的reference message后，将要发送的数据加载到指定的
发送缓存中，当模块计数器计数到指定的发送触发时间后，数据自动发出。例程将数据收发情况通过
串口输出，可在上位机用串口调试助手软件查看。

说明：
1. 波特率设置：
   1）系统时钟240MHz；
   2）CAN的通信时钟选用系统时钟的6分频，频率40MHz；
   3）CAN位时间分频为通信时钟的4分频，即10MHz；
   4）CAN通信波特率为500kbps，位时间为20TQ，采样点为80%。
2. 接收筛选器设置：
   1）标准ID 0x701，ID掩码为0，只接收标准ID为0x701的帧；
   2）扩展ID 0x12131415，ID掩码为0x000000F0，可接收扩展ID为0x121314x5的帧；
3. TTCAN设置：
   1）reference message ID 为扩展ID 0x12131415；
   2）TTCAN触发方式为单次发送触发：在收到 reference message 后，将需要发送的帧填充到
      指定的缓存，当TTCAN计数器的值达到触发时间寄存器（CAN_TT_TRIG）设定的值时，已经填
      充到缓存的帧自动发出；
   3）关于TTCAN的触发方式以及触发时间等配置，可在初始化时配置好并在后续业务中一直使用，也
      可以在下次发送数据或接收数据之前动态按需修改。
4. 使用及现象：
   1）用CAN设备发送ID为扩展ID 0x12131415的帧；
   2）500毫秒后，CAN设备会收到ID为标准ID 0x601 的帧。

================================================================================
测试环境
================================================================================
测试用板:
---------------------
EV_A4A0_LQ176_Rev1.0

辅助工具:
---------------------
支持CAN通信的设备（简称CAN设备）

辅助软件:
---------------------
串口调试助手软件（115200bps，8N1）

================================================================================
使用步骤
================================================================================
1）用 DAP 接口调试，可以直接通过串口调试助手查看程序运行情况；
2）例程中 CAN 通信波特率为 500kbps，采样点为80%。将 CAN 设备做同样设置（见波特率设置）后，
   将 CANH 和 CANL 分别与开发板上 CAN1 的 CANH 和 CANL 连接（以太网接口旁）；
3）打开工程，重新编译，启动调试或直接下载程序运行；
4）CAN 设备向开发板发送数据帧，ID 为扩展 ID 0x12131415，串口调试助手会打印收到的
   数据帧，开发板会在 500ms 后，发送一帧 ID 为标准 ID 0x601 的数据帧给 CAN 设备。

================================================================================
注意
================================================================================
CAN控制逻辑时钟（PCLK1）频率不能低于CAN通信时钟频率。

================================================================================
