我打算用M68HC908GZ32建一个CAN/LIN 混和网,遇到如下ESCI部分的一些问题,望高手给我解答:
1、如果作为LIN的Slave节点,首先需要检测到Master的同步间隔域(逻辑上为0)。是否将SCBR中的LINR置位以后就可以把同步间隔当作break character检测到?但是data sheet中“When LINR is set inSCBR, the ESCI recognizes a break character when a start bit is followed by 9 or 10 0 data bits and a 0 where the stop bit should be, resulting in a total of 11 or 12 consecutive 0 data bits.”作何理解??难道只能识别相对从机11、12个bit位的同步间隔?如果间隔较长呢?
2、在Slave接收到同步域ox55时,LIN协议规定要计算出每个bit的时间然后使其和主机同步。计算Tbit就应该用Arbiter的控制寄存器和数据寄存器来实现。问题是,得到主机的一个Tbit后怎样让Slave来同步。是否由Arbiter的Data Register的值来计算得到波特率,然后再去设置波特率? 那刚开始检测同步间隔时波特率设为多少?
[em27] |