规格
在示例应用程序中,DTC 用于生成带有附加 CRC 代码的发送数据,并对带有附加 CRC 代码的接收数据进行 CRC 计算,DMAC 用于通过带有附加 CRC 代码的串行通信发送和接收 130 字节数据。
用于CRC生成的多项式为X^16+X^15+X^2+1,并且执行用于LSB优先通信的CRC码生成。
使用 SCI 通道 1,通信格式为 8 个数据位、1 个停止位、无奇偶校验。
通信比特率为38,400 bps。
使用 DMAC 通道 0(接收)和通道 1(发送)。
DTC 使用 SCI1 发送数据空中断(TXI1)和 DMAC0 传输结束中断(DMTEND0)。
CRC
计算器初始化数据(H'82)预先准备在片内 RAM 中。
将 CRC 初始化数据 (H'82) 传送到 CRC 计算器指定 CRC 生成的多项式、指定 LSB 优先通信的 CRC 代码生成,并清除 CRC 数据输出
寄存器 (CRCDOR)。
在片内RAM的发送数据存储区域中,预先准备了128字节的发送数据。
128字节的发送数据包括如下顺序值:H'00、H'01、H'02、…、H'7D、H'7E、H'7F。
1) 发送操作
1. 使能 SCI1 发送数据空中断(TXI1)。
2. 通过TXI1 中断激活DTC。
3. 通过 DTC 传输,初始化 CRC 计算器,生成 CRC 代码,并将 CRC 代码附加到传输数据中(总共 130 个字节)。
4. 在 TXI1 中断处 DTC 传输结束后,通过
CPU TXI1 中断将 TXI1 中断设置为 DMAC 激活中断请求目标,并启用 TXI1 中断。
5. 使用 >
span class=”caps”>CPU 将发送数据的个字节 (H'00) 写入发送数据寄存器 (),从而生成 TXI1 中断,从而激活 DMAC1。
6. 通过 DMAC 传输发送附加 CRC 代码的发送数据(共 129 字节)。
7. 发送结束后,重置DTC 和DMAC1。
8. 返回步骤1并重复发送操作。
2)接收操作
1. 使能 SCI1 接收数据满中断(RXI1)。
2. 通过 RXI1 中断激活 DMAC。
3. 通过 DMAC 传输将附加 CRC 代码的接收数据(共 130 个字节)传输到片内 RAM。
4. 通过 DMAC0 传输结束中断 (DMTEND0) 激活 DTC。
5. 通过DTC 传输,初始化CRC 计算器,计算CRC 计算结果,并保存CRC 计算结果。
6. DTC 传输结束后,使用 CPU DMTEND0 中断确定是否发生 CRC 错误。
7. 如果发生 CRC 错误,请停止接收操作并点亮连接到 I/O 端口的
LED 以提供错误通知。如果没有发生 CRC 错误,则重置 DTC 和 DMAC0。
8. 返回步骤1并重复接收操作。
图 1 显示了示例应用程序中使用的规范。
规格
操作确认环境
下面图 2 中的表列出了用于确认示例应用程序操作的环境组件。
运行确认环境