首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于BDC时序的几个问题,请大家帮忙

关于BDC时序的几个问题,请大家帮忙

1.从datasheet上看host发送或接收数据时都是先拉BKGD低大约4个clock,
target MCU怎么知道是接收数据还是要发送数据?比如host发送1和host接收1时的时序基本相同.

或许是根据host在拉低BKGD 4个clock后是否再驱动BKGD来判断?例如host发送1时则继续驱动BKGD为高,
host接收1时则在拉低BKGD 4个clock后进入高阻,以便target MCU能发送出speed-up pulse?

或许是根据host发送的上一个命令来判断,比如上一个host发送的命令不需要target MCU返回数据,则这
次就是host发送给target MCU;如上一个host发送的命令需要target MCU返回数据,则在返回完数据之前
都是target MCU发送给host.

这两种判断对吗?

2. 在进入BDC后在使用内部时钟的情况下,默认clock是多少?

3. host在测得target MCU的速率后如何同步?
   在datasheet上看到host的发送或接收与target MCU的时钟是异步的,对于0到1的延时,是不是target MCU
   内部自己就会处理了?

4. 有关于BDC时序更详尽的说明吗?
第一个问题:

BDC的通讯是主从式的通讯。我们的MCU(S12或S08)是从机。它是接收还是发送数据,要根据主机发的命令来执行。而且在通讯过程中,不管是收还是发,每一位的起始都由主机控制,从机MCU跟从主机发出的起始信号,进行每一位的收或者发。这就是一种带同步机制的异步通讯。
海纳百川  有容乃大
第二个问题:

MCU的BDC模块可以通过BDC命令选择不同的时钟源和时钟频率。不同的单片机可能有不同的选择项。其时钟频率值和MCU的晶振和总线频率有关。总之,它并没有一个固定的默认频率。具体数值要查看各MCU的数据手册。
海纳百川  有容乃大
第三个问题:

MCU的BDC的通讯频率是不固定的,所以主机必须检测目标MCU的BDC的频率(用同步命令)。检测到频率值后,主机就用相应的频率进行通讯。从前面问题的回答已经知道,在BDC的通讯中,每一位信号的起始都由主机发起,从机根据此起始信号进行同步,进行一位信号的收发。
海纳百川  有容乃大
第四个问题:

在每一个MCU的数据手册中,对BDC通讯的协议、时序和命令都有详细的说明。根据这些说明,完全可以开发出BDC的通讯控制主机。
海纳百川  有容乃大
谢谢版主!
返回列表