版主strongchen,需要你的帮助!!!!!!
- UID
- 106897
- 性别
- 男
|
版主strongchen,需要你的帮助!!!!!!
我打算用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][em06][em01] |
|
|
|
|
|
- UID
- 106897
- 性别
- 男
|
兄弟们懂的都给我说一下吧!!!!!!!!!
不懂的咱也讨论讨论,三个臭皮匠顶个诸葛亮!!!
自己先顶。 |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
不好意思,CAN/LIN的通讯我也没具体弄过,所以没办法回答。不过我会找人来帮你。请等等吧。 |
|
|
|
|
|
- UID
- 106743
- 性别
- 男
|
[建议]
1.迼个是LIN 的規格"section 2.1.1 Break : A slave node shall use a break detection threshold of 11 nominal bit times".
2.在Slave接收到同步域0x55的首个0和1位时, Arbiter即可计算出波特率.那刚开始检测同步间隔时波特率是多少都應該冇问题.
多看LIN規格和買粒Freescale MCU 來學習,將會解決你的疑问o
[em03] |
|
|
|
|
|