本文介绍瑞萨RH850/F1L用户手册(user manual)的CAN接口部分的中文翻译。
博主会一直更新该文章,直到CAN部分翻译完成.
版权声明
本博文系欧科曼汽车电子所有,转载请注明出处。 欧科曼汽车电子致力于瑞萨MCU及周边相关产品开发设计。
email:1256153255@qq.com
website for get 瑞萨RH850F1x开发板和瑞萨E1仿真器
第16章Section 16 LIN Master Interface (RLIN2)
本节包含LIN master接口(RLIN2)的一般说明。
本节的第一部分描述了RH850/F1L特有的特性,如单元数、寄存器基址等。本节的其余部分描述了RLIN2的功能和寄存器。
16.1 Features of RH850/F1L RLIN2
16.1.1 Number of Units and Channels
此微控制器具有以下数量的RLIN2单元和通道。
例如,RLN24nGLWBR/RLN21nGLWBR是LIN唤醒波特率选择寄存器,是RLIN2的全局寄存器。RLN24nmLiMD/RLN21nmLiMD是LIN模式寄存器,是通道寄存器。
下面列出了每个产品对应的索引。
16.1.2 Register Base Address
16.1.3 Clock Supply
16.1.4 Interrupt Request
16.1.5 Reset Sources
16.1.6 External Input/Output Signals
CAUTION
当P0_0引脚用作RLIN20RX时,P0_0引脚输出低电平RESETOUT信号,产生复位,并在复位被解除后继续输出低电平。
详情请参阅Section 2.11.1.1, P0_0: RESETOUT.
16.2 Overview
16.2.1 Functional Overview
LIN master接口是一个硬件LIN通信控制器,符合LIN规范版本1.3、2.0、2.1、2.2和SAEJ2602(2005年9月),并自动执行帧通信和错误确定。
Table16.10 显示了LIN master接口规范。
Note 1. Since the same register is used for configuration, the inter-byte space (header) = response space.
Note 2. For wake-up reception, the input signal low-level width count is indicated.
16.2.2 Block Diagram
Figure16.1显示了LIN master接口的框图。
16.3 Registers
LIN master接口的寄存器包括全局寄存器和通道寄存器。由于全局寄存器是为每个单元分配的,因此可以为每个单元单独设置它们。由于通道寄存器分配给每个通道,因此它们可以单独控制每个通道。
16.3.1 List of Registers
下表列出了RLIN2的寄存器。
有关<RLIN24n_base>和<RLIN21n_base>的详细信息,请参阅Section 16.1.2, Register Base Address.
16.3.2 Global Registers
请移步查阅英文手册
16.3.3 Channel Registers
请移步查阅英文手册
16.4 Interrupt Sources
LIN中断是LIN master接口生成的中断请求。
每个通道有三个中断源;成功帧/唤醒传输、成功帧/唤醒接收和错误检测。
来自这三个源的中断请求“或”生成一个中断请求“LIN中断”。
当RLN24nmLiST/RLN21nmLiST寄存器中的相应标志位置为1,而RLN24nmLiIE/RLN21nmLiIE寄存器中的相应位为1(中断使能)时,输出相应的中断请求。但是,如果在RLN24nmLiST/RLN21nmLiST寄存器中的相应标志位置1时请求中断,则会忽略该中断。因此,将相应的标志位清0以再次使能中断。
Figure16.2显示了LIN中断的框图。
16.5 Modes
LIN master接口提供以下四种模式:
◆ LIN复位模式
◆ LIN操作模式
◆ LIN唤醒模式
◆ LIN自检模式
模式转换(LIN自检模式除外)是被各个通道独立控制的。
Figure 16.3显示了模式转换。Table 16.31描述了模式转换条件。Table 16.32列出了每种模式下可用的操作。
通过读取RLN24nmLiMST/RLN21nmLiMST寄存器中的OMM1和OMM0位,可以验证是否已转换到LIN复位模式、LIN操作模式或LIN唤醒模式。
有关LIN自检模式的说明,请参阅Section 16.15, LIN Self-Test Mode。
16.6 LIN Reset Mode
将RLN24nmLiCUC/RLN21nmLiCUC寄存器中的OM0位置为0(LIN复位模式)会导致转换到LIN复位模式。通过确定RLN24nmLiMST/RLN211NMLIMST寄存器中的OMM 0位已设置为0(LIN复位模式)以验证在向LIN复位模式转换。此模式下LIN通信停止。
从LIN复位模式可以转换到LIN操作模式、LIN唤醒模式和LIN自检模式。
当转换到LIN复位模式时,以下寄存器将初始化为其复位值,并在LIN复位模式下保留其初始值:
◆ RLN24nmLiTRC / RLN21nmLiTRC
◆ RLN24nmLiST / RLN21nmLiST
◆ RLN24nmLiEST / RLN21nmLiEST
即使转换到LIN复位模式,下列寄存器仍保留其以前的值:
◆ RLN24nGLWBR / RLN21nGLWBR
◆ RLN24nGLBRP0 / RLN21nGLBRP0
◆ RLN24nGLBRP1 / RLN21nGLBRP1
◆ RLN24nmLiMD / RLN21nmLiMD
◆ RLN24nmLiBFC / RLN21nmLiBFC
◆ RLN24nmLiSC / RLN21nmLiSC
◆ RLN24nmLiWUP / RLN21nmLiWUP
◆ RLN24nmLiIE / RLN21nmLiIE
◆ RLN24nmLiEDE / RLN21nmLiEDE
◆ RLN24nmLiDFC / RLN21nmLiDFC
◆ RLN24nmLiIDB / RLN21nmLiIDB
◆ RLN24nmLiCBR / RLN21nmLiCBR
◆ RLN24nmLiDBRb / RLN21nmLiDBRb
16.7 LIN Operation Mode
当处于LIN操作模式时,执行帧处理(帧头传输、响应传输、响应接收和错误检测)。
在从LIN复位模式转换到LIN模式的过程中,将RLN24nmLiCUC/RLN21nmLiCUC寄存器中的OM1和OM0位置为11B会将模式切换为LIN操作模式,将RLN24nmLiMST/RLN21nmLiMST寄存器中的OMM1和OMM0位更改为11B。通信设置应在RLN24nmLiMST/RLN21nmLiMST寄存器变为11B后执行。
16.8 LIN Wake-Up Mode
在LIN唤醒模式中,执行唤醒信号处理(唤醒传输、唤醒接收和错误检测)。
在从LIN复位模式转换到LIN模式的过程中,将RLN24nmLiCUC/RLN21nmLiCUC寄存器中的OM1和OM0位设置为01B会将模式更改为LIN唤醒模式,将RLN24nmLiMST/RLN21nmLiMST寄存器中的OMM1和OMM0位更改为01B。
通信设置应在RLN24nmLiMST/RLN21nmLiMST寄存器变为01B后执行。
16.9 Header Transmission/Response Transmission/Response Reception
16.9.1 Header Transmission
Figure 16.4显示了在帧头传输中LIN主接口的操作。Table 16.33显示了帧头传输中的处理。
16.9.2 Response Transmission (响应传输)
Figure 16.5显示了LIN master接口响应传输的操作。Table 16.34显示了响应传输的处理。
16.9.3 Response Reception
Figure 16.6显示了LIN master接口在响应接收中的操作。Table 16.35显示了响应接收的处理。
16.10 Data Transmission/Reception(数据传输/接收)
16.10.1 Data Transmission (数据传输)
每个Tbit传输一位数据。
发送的数据经由LIN收发器返回到接收数据输入管脚。接收数据和发送数据逐位比较,结果存储在RLN24nmLiEST/RLN21nmLiEST寄存器的BER标志位中(见Section 16.14, Error Status)。
在LIN主接口中,由于每1 Tbit=16fLIN生成一次数据,因此接收数据的采样点是第13个时钟周期(81.25%位置)。
16.10.2 Data Reception(数据接收)
通过使用同步的RLIN2mRX信号(内部信号)执行数据接收,该信号是来自与LIN系统时钟(fLIN)同步的RLIN2mRX引脚的输入。
字节字段在同步的RLIN2mRX信号起始位的下降沿同步。在检测到下降沿之后,在0.5Tbit之后再次执行采样,并且如果同步的RLIN2mRX信号是低电平,则将下降沿识别为起始位。如果复位后的RLIN2mRX信号被反断言固定为低电平或在重新采样时检测到高电平,则下降沿不会被识别为起始位。
检测到起始位后的位采样周期为1个Tbit。
16.11 Transmission/Reception Data Buffering(传输/接收数据缓冲区)
本节介绍LIN master接口连续发送或接收数据时发生的缓冲区处理。
16.11.1 Transmission of LIN Frames(LIN帧传输)
对于8字节传输,存储在寄存器RLN24nmLiDBR1/RLN21nmLiDBR1到RLN24nmLiDBR8/RLN21nmLiDBR8中的内容被依次传输到LIN帧的数据区域1到8。在4字节传输的情况下,存储在寄存器RLN24nmLiDBR1/RLN21nmLiDBR1到RLN24nmLiDBR4/RLN21nmLiDBR4中的内容被传输到LIN帧的数据区域1到4,但是寄存器RLN24nmLiDBR5/RLN21nmLiDBR5到RLN24nmLiDBR8/RLN21nmLiDBR8的内容不被传输。传输的checksum存储在RLN24nmLiCBR/RLN21nmLiCBR寄存器中。
Figure 16.9显示了LIN传输处理和相应的缓冲器。
(1) Frame Separate Mode (帧分离模式)
将RLN24nmLiDFC/RLN211NMLIDFC寄存器中的FSM位置1设置为帧分离模式。
在帧分离模式下,当单独的传输开始请求提示时,发送帧头和响应。
当报头传输完成时,RLN24nmLiST/RLN21nmLiST寄存器中的HTRC标志位置为1(帧头传输成功)。
16.11.2 Reception of LIN Frames
对于8字节接收,LIN帧的数据区域1到8的内容在接收到停止位时分别存储在寄存器RLN24nmLiDBR1/RLN21nmLiDBR1到RLN24nmLiDBR8/RLN21nmLiDBR8中。在4字节接收的情况下,LIN帧的数据区域1到4的内容分别存储在寄存器RLN24nmLiDBR1/RLN21nmLiDBR1到RLN24nmLiDBR4/RLN21nmLiDBR4中;寄存器RLN24nmLiDBR5/RLN21nmLiDBR5到RLN24nmLiDBR8/LN21nmLiDBR8中未存储任何数据。接收到的checksum存储在RLN24nmLiCBR/RLN21nmLiCBR寄存器中。
Figure 16.10显示了LIN接收处理和相应的缓冲器。
(1)Reception of Data 1
当接收完第一字节数据时,RLN24nmLiST/RLN211NMList寄存器中的D1RC标志位置为1(数据1接收成功)。
16.12 Wake-Up Transmission/Reception
唤醒传输/接收可在LIN唤醒模式下使用。
16.12.1 Wake-Up Transmission
在LIN唤醒模式下,将RLN24nmLiDFC/RLN21nmLiDFC寄存器中的RFT位置为1(传输),同时将RLN24nmLiTRC/RLN21nmLiTRC寄存器的FTS位设置为1(帧传输或唤醒传输/接收启动),可使输出管脚输出唤醒信号。唤醒信号的低电平宽度是通过RLN24nmLiWUP/RLN21nmLiWUP寄存器中的WUTL[3:0]位设置的。但是,如果RLN24nGLWBR/RLN21nGLWBR寄存器的LWBR0位的值为1(当使用LIN 2.x时),则无论RLN24nmLiMD/RLN21nmLiMD寄存器的LCKS位如何设置,LIN系统时钟(fLIN)都具有低电平宽度fa(JW)。选择fa时将波特率设置为19200 bps,并将RLN24nmLiWUP/RLN21nmLiWUP寄存器的WUTL[3:0]位设置为0100B(5 Tbits),无论RLN24nmLiMD/RLN21nmLiMD寄存器的LCKS位如何设置,都可以在LIN唤醒模式下输出260us低电平宽度。
如果唤醒低电平输出没有任何错误,则RLN24nmLiST/RLN21nmLiST寄存器中的FTC标志位置为1(成功帧或唤醒传输);当RLN24nmLiIE/RLN21nmLiIE寄存器中的FTCIE位为1(成功帧/唤醒传输中断使能)时,产生中断请求。
如果检测到错误,则终止唤醒传输,并将检测到的错误的错误标志(RLN24nmLiEST/RLN21nmLiEST寄存器中的PBER标志或BER标志)设置为1(物理总线错误检测/位错误检测)。
16.12.2 Wake-Up Reception
唤醒信号的检测涉及使用输入信号低电平宽度计数功能。
输入信号低电平宽度计数功能使用与数据接收相同的采样点测量RLIN2mRX引脚的输入信号的低电平宽度。这允许测量低电平宽度为2.5-Tbit或更长的fLIN的输入信号。
当使用LIN规范版本1.3时,将RLN24nGLWBR/RLN21nGLWBR寄存器中的LWBR0位设置为0。当使用LIN规范版本2.x时,将LWBR0位设置为1。
当LWBR0位置为1时,无论RLN24nmLiMD/RLN21nmLiMD寄存器中LCKS位的设置如何,都会选择fa作为LIN系统时钟(fLIN)(LCKS位不会更改)。
在LIN唤醒模式期间无论RLN24nmLiMD/RLN21nmLiMD寄存器中LCKS位如何设置,选择fa时将波特率设置为19200 bps允许输入信号具有130us或更长时间的低电平宽度。
使用此功能时,在LIN唤醒模式下,将RLN24nmLiDFC/RLN21nmLiDFC寄存器中的RFT位设置为0(接收),将RLN24nmLiTRC/RLN21nmLiTRC寄存器中的FTS位设置为1(开始帧传输或唤醒传输/接收)。
当达到要测量的低电平宽度时,RLN24nmLiST/RLN211NMList寄存器中的FRC标志位置为1(帧或唤醒接收成功),如果RLN24NMLIE/RLN211NMLIE寄存器中的FRCIE位为1(启用成功的帧或唤醒接收中断),则产生中断请求。
16.12.3 Wake-Up Collision
如果主节点和从节点同时发送唤醒信号,LIN总线上会发生冲突;但是,在LIN master接口中未检测到唤醒信号的冲突。
16.13 Status
在LIN模式操作期间,LIN master接口可检测七种状态。
其中三种状态(成功帧/唤醒传输、成功帧/唤醒接收、错误检测)可以生成中断请求。
Table 16.36 展示了状态类型。
Note 1:在LIN操作模式下,通过向RLN24nmLiEST/RLN21nmLiEST寄存器中的CSER标志、FER标志、FTER标志、PBER标志或BER标志写入0,来将寄存器RLN24nmLiEST/RLN21nmLiEST的ERR标志位清0。
Note 2:当RLN24nmLiDFC/RLN21nmLiDFC寄存器中的RFDL[3:0]位为0000B(0字节+校验和)时未检测到。
16.14 Error Status
16.14.1 Types of Error Statuses
LIN master接口可以检测LIN主模式下的五种错误状态。这些错误状态可通过RLN24nmLiEST/RLN21nmLiEST寄存器中的相应位进行检查。
所有错误状态代表中断源。
Table 16.37显示了错误状态的类型。
**Note 1:**如果检测到位错误,则在发送停止位后中止进程。如果在非数据区域(例如字节间空间)中检测到位错误,则立即中止传输。如果在唤醒的传输期间检测到位错误,则在传输导致错误的位之后中止唤醒的传输。
**Note 2:**超时时间取决于响应字段数据长度(RLN24nmLiDFC/RLN21nmLiDFC寄存器中的RFDL[3:0]位)和校验和选择(RLN24nmLiDFC/RLN21nmLiDFC寄存器中的CSM位),可根据以下公式计算:
选择经典校验和时(RLN24nmLiDFC/RLN21nmLiDFC中的CSM位为0时):超时时间=49+(数据字节数+1)× 14[Tbit]
选择增强校验和时(RLN24nmLiDFC/RLN21nmLiDFC中的CSM位为1时):超时时间=48+(数据字节数+1)× 14[Tbit]
当选择经典校验和时,上述超时时间大于LIN规范包版本1.3的TFRAME_MAX,或当选择增强校验和时,大于LIN规范包版本2.x的TFRAME_MAX。
错误状态在下一次通信开始、软件清除或转换到LIN重置模式时清除。
16.14.2 Target Time Domain for Error Detection
Figure 16.13显示了LIN master接口监控错误检测的时域。
16.15 LIN Self-Test Mode
LIN master接口提供LIN自检模式。当LIN主接口进入LIN自检模式时,RLIN2mTX和RLIN2mRX从外部断开,并在LIN master接口内部连接。因此,从RLIN2mTX发送的帧被循环回RLIN2mRX。
可以执行两种类型的自检:
◆ LIN自检模式(传输):帧头传输和响应传输。
◆ LIN自检模式(接收):帧头发送和响应接收。
在LIN自检模式下,无论波特率发生器的设置如何,操作都以最快的波特率执行。无论波特率相关寄存器的设置如何,波特率都在LIN通信时钟源/16[bps]处工作。
在LIN自检模式下,不支持以下功能:
◆ LIN唤醒模式
◆ 帧分离模式
不要使用这些功能。
16.15.1 Transition to LIN Self-Test Mode
写入RLN24nGLSTC/RLN21nGLSTC寄存器可使能LIN自检模式。
RLN24nGLSTC/RLN211NGLSTC寄存器的LSTM位置为1表示模式已切换到LIN自检模式。
转换到LIN自检模式需要特定的顺序。在此顺序中,信息必须连续三次写入LIN自检控制寄存器,如下所示:
◆ 将设备的所有通道切换到LIN复位模式。
将RLN24nmLiCUC/RLN21nmLiCUC寄存器中的OM0位设置为0(LIN复位模式)。
读取RLN24nmLiMST/RLN21nmLiMST寄存器中的OMM0位,并确认其为0(LIN复位模式)。
◆ 1st write: RLN24nGLSTC / RLN21nGLSTC register = 1010 0111B (A7H)
◆ 2nd write: RLN24nGLSTC / RLN21nGLSTC register = 0101 1000B (58H)
◆ 3rd write: RLN24nGLSTC / RLN21nGLSTC register = 0000 0001B (01H)
◆ 确认所有通道已转换到LIN自检模式
读取RLN24nGLSTC/RLN21nGLSTC寄存器中的LSTM位;确认为1(LIN自检模式)。
如果第一次写入(A7H)的键被错误写入两次,则取消向LIN自检模式的转换。上述顺序应从第一个写入步骤开始重试。此外,如果在转换到LIN自检模式期间(对RLN24nGLSTC/RLN21nGLSTC寄存器的三次连续写入操作)执行对同一单元中另一个LIN相关寄存器的写入,则转换也被取消。
16.15.2 Transmission in LIN Self-Test Mode
要对转换执行自检,请执行以下步骤:
◆ 设置波特率相关寄存器
RLN24nGLBRP0 / RLN21nGLBRP0 register = xxxx xxxxB1
RLN24nGLBRP1 / RLN21nGLBRP1 register = xxxx xxxxB1
RLN24nmLiMD / RLN21nmLiMD register = 0000 xx00B
◆ 设置中断启用寄存器和错误启用相关寄存器。
RLN24nmLiIE / RLN21nmLiIE register = 0000 0xxxB*2
RLN24nmLiEDE / RLN21nmLiEDE register = 0000 xxxxB
◆ 设置中断字段和空间相关寄存器。
RLN24nmLiBFC / RLN21nmLiBFC register = 00xx xxxxB
RLN24nmLiSC / RLN21nmLiSC register = 00xx 0xxxB
◆ 退出LIN复位模式
将11B写入RLN24nmLiCUC/RLN21nmLiCUC寄存器中的OM1和OM0位,并检查RLN24nmLiMST/RLN21nmLiMST寄存器中的OMM1和OMM0位是否为11B。
◆ Set the transmit frame related registers.
RLN24nmLiDFC / RLN21nmLiDFC register = 00x1 xxxxB
RLN24nmLiIDB / RLN21nmLiIDB register = xxxx xxxxB
RLN24nmLiDBR1 / RLN21nmLiDBR1 to RLN24nmLiDBR8 / RLN21nmLiDBR8 registers =
xxxx xxxxB
◆ 启动帧头传输→ 响应传输
将RLN24nmLiTRC/RLN21nmLiTRC寄存器中的FTS位设置为1(开始帧传输或唤醒传输/接收)。
执行LIN自检模式(传输),生成中断,并更新状态和错误状态。Checksum由LIN主接口自动计算。
为了在运行时挂起LIN自检模式(传输),请将RLN24nmLiCUC/RLN21nmLiCUC寄存器中的OM0位置为0(LIN复位模式),这将导致转换到LIN复位模式。
◆ 当传输完成时,loop-back帧数据的反转值被存储在RLN24nmLiIDB/RLN21nmLiIDB、RLN24nmLiDBRb/rln21nmlidbrbrb和RLN24nmLiCBR/RLN21nmLiCBR寄存器中(数据在存储之前被反转,因为传输的值应该与loop-back值进行比较)。然后,清除RLN24nmLiTRC/RLN21nmLiTRC寄存器中的FTS位。
◆ 如果由于错误导致传输无法完成,则设置适用的错误标志,并清除RLN24nmLiTRC/RLN211NMLitrc寄存器中的FTS位。
NOTE:
X : Don’t care
Note 1 : 以下寄存器的设置不会反映在LIN自检模式的操作中:
RLN24nGLBRP0/RLN21nGLBRP0寄存器、RLN24nGLBRP1/RLN21nGLBRP1寄存器和RLN24nmLiMD/RLN21nmLiMD寄存器中的LCKS位。因此,没有必要设置这些寄存器。
Note 2 : 如有必要,设置**Section 6, Exceptions/Interrupts.**中所述的相关寄存器。
16.15.3 Reception in LIN Self-Test Mode
为了执行接收时自检,请执行以下步骤:
◆ Set the baud rate related registers.
RLN24nGLBRP0 / RLN21nGLBRP0 register = xxxx xxxxB1
RLN24nGLBRP1 / RLN21nGLBRP1 register = xxxx xxxxB1
RLN24nmLiMD / RLN21nmLiMD register = 0000 xx00B*1
◆ Set the interrupt enable and error enable related registers.
RLN24nmLiIE / RLN21nmLiIE register = 0000 0xxxB*2
RLN24nmLiEDE / RLN21nmLiEDE register = 0000 x0xxB
◆ Set the break field and space related registers.
RLN24nmLiBFC / RLN21nmLiBFC register = 00xx xxxxB
RLN24nmLiSC / RLN21nmLiSC register = 00xx 0xxxB*1
◆ 退出LIN复位模式。
将11B写入RLN24nmLiCUC/RLN21nmLiCUC寄存器中的OM1和OM0位,并检查RLN24nmLiMST/RLN21nmLiMST寄存器中的OMM1和OMM0位是否为11B。
◆ Set the receive frame related registers.
RLN24nmLiDFC / RLN21nmLiDFC register = 00x0 xxxxB
RLN24nmLiIDB / RLN21nmLiIDB register = xxxx xxxxB
RLN24nmLiDBR1 / RLN21nmLiDBR1 to RLN24nmLiDBR8 / RLN21nmLiDBR8 registers = xxxx xxxxB
RLN24nmLiCBR / RLN21nmLiCBR register = xxxx xxxxB
由于要传输的checksum值不是自动计算的,因此执行计算并在RLN24nmLiCBR/RLN21nmLiCBR寄存器中指定计算值。通过指定不正确的checksum,可以测试checksum错误。
◆ 启动帧头传输→ 响应传输
将RLN24nmLiTRC/RLN21nmLiTRC寄存器中的FTS位设置为1(开始帧传输或唤醒传输/接收)。
执行LIN自检模式(接收),生成中断,并更新状态和错误状态。
为了在运行时挂起LIN自检模式(接收),请将RLN24nmLiCUC/RLN21nmLiCUC寄存器中的OM0位设置为0(LIN复位模式),这将导致转换到LIN复位模式。
◆ 当接收完成时,loop-back帧数据的反转值被存储在RLN24nmLiIDB/RLN21nmLiIDB、RLN24nmLiDBRb/rln21nmlidbrbrb和RLN24nmLiCBR/RLN21nmLiCBR寄存器中(数据在被存储之前被反转,因为设置值应该与loop-back值进行比较)。然后,清除RLN24nmLiTRC/RLN21nmLiTRC寄存器中的FTS位。
◆ 如果由于错误导致接收无法完成,则设置适用的错误标志,并清除RLN24nmLiTRC/RLN21nmLiTRC寄存器中的FTS位。
NOTE:
X : Don’t care
Note 1. 以下寄存器的设置不会反映到LIN自检模式的操作中:
RLN24nGLBRP0/RLN21nGLBRP0寄存器、RLN24nGLBRP1/RLN21nGLBRP1寄存器、RLN24nmLiMD/RLN21nmLiMD寄存器中的LCKS位以及RLN24nmLiSC/RLN21nmLiSC寄存器中的IBS位和IBHS位(仅响应空间)。因此,没有必要设置这些寄存器。
Note 2. 如有必要,设置Section 6, Exceptions/Interrupts 中所述的相关寄存器。
16.15.4 Exiting LIN Self-Test Mode
为了退出LIN自检模式,请执行以下步骤:
◆ 将设备的所有通道切换到LIN复位模式。
将0写入RLN24nmLiCUC/RLN21nmLiCUC寄存器中的OM0位,以转换到LIN复位模式。但是,如果在转换到LIN自检模式后,任意通道的寄存器RLN24nmLiMST/RLN21nmLiMST的OMM1和OMM0位都不是11B,将11B写入任意通道的RLN24nmLiCUC / RLN21nmLiCUC寄存器的OM1和OM0位。检查RLN24nmLiMST/RLN21nmLiMST寄存器中的OMM1和OMM0位是否设置为11B,然后转换到LIN复位模式。
◆ 确认LIN master接口已退出LIN自检模式。
读取RLN24nGLSTC/RLN21nGLSTC寄存器中的LSTM位,并确认它不是0(不在LIN自检模式下)。
◆ 确认转换到LIN复位模式。
读取RLN24nmLiMST/RLN21nmLiMST寄存器中的OMM0位,并确认其为0(LIN复位模式)。
16.16 Baud Rate Generator
LIN系统时钟(fLIN)通过将LIN通信时钟源频率除以波特率发生器获得,波特率通过将该时钟除以16获得。波特率的倒数称为位时间(Tbit)。
Figure 16.16显示了波特率生成的框图。
将LIN通信时钟源设置在4 MHz到40 MHz的范围内。
通过设置RLN24nGLBRP0/RLN21nGLBRP0寄存器,使fa为307200 Hz(=19200)× 16) ,得到的系统时钟频率为fa=19200× 16,fb=9600× 16,fc=2400× 16。这些系统时钟频率在位定时发生器中除以16,从而产生19200 bps、9600 bps和2400 bps的波特率。另外,通过设置RLN24nGLBRP1/RLN21nGLBRP1寄存器,使fd为166672 Hz(=10417)× 16) ,得到的系统时钟频率为fd=10417× 16.在位定时发生器中,该系统时钟频率除以16,从而生成10417 bps。
波特率的计算公式如下所示。