目录
频道首页
Homebus(HBS)通信协议学习
收藏
0
EndlessCodeEndlessBug 最近修改于 2023-04-08 10:32:06

HBS通信主控与从机连接示意图

\ 两根HBS总线之间的电压差大约为15V,差分信号分别加载到HBS的这两根总线上。

示波器的探头测得(探头的地在任意一根HBS总线上,探头的信号输入端在另一根HBS总线上)

 

类似于电力载波的方式将MM1192输出的差分信号分别加载到HBS的两根总线上。

芯片\ MM1192(Mitsumi三美)

 

传输频率\ 最大10KHz,一般为9.6KHz。

编码方式

\ 脉宽编码,即通过高电平的持续时间来区分“0”、“1”。

 

“0”:50uS低电平+50uS高电平

“1”:50uS低电平+150uS高电平

(1)发送HBS差分数据

 

(2)接受HBS差分数据

 

收发信号方式\ AMI方式(信号交替反转码、伪三进制码)

原理:0不变,1交替变为+1,-1;

AMI识别:当两根信号线存在高低差时,识别为“0”,没有电压差时,识别为“1”。

校验方式\ 采用校验和的方式

工作原理\ 接受工作原理:通过pin15、pin16采集HBS查分信号,之后与芯片内部4.8V比较,将结果转换为“1”、“0”,最终在pin1输出。

发送工作原理:通过pin6采集“1”、“0”数字信号,经过芯片内部触发器、与非门触发三极管导通,最终在pin9、pin10输出差分信号。

发送数据前的载波检出\ 将信号端与MCU中断输入端短接,如果中断没有在载波检出时间以外发生,就认为通信上无载波信号。注:发送数据存在数据冲突,需重发数据,但不进行载波检出。

发送数据代码要求\ 控制器自身数据发送后,一定时间(6ms)不能接收到来自外部的回信,就再次发送通信数据。

如果控制器已经连续进行了两次重发数据都没有收到回信,则需延长较长一段时间再启动重发(可设100ms),如果对象为多个,则100ms后变更对象发送。

控制器发送数据后,收到NAK需要进行数据重发。

控制器连续进行了3次发送同一对象(2个100ms)或所有发送对象地址均尝试完后,等待较长时间(10s)重新开始,直到一定时间(3min),认为通信故障。

控制器自身故障,每隔10S重复上述过程,对于通信故障,不重复。

接收数据代码要求\ 控制器接收数据有效,对发送端发送ACK命令,如果接收异常,发送NAK命令。

注\ 采用HBS协议通信的线路,最大距离不能超过600m,干扰很大的场合建议使用带屏蔽功能的双绞线或缩短通信距离。

内容大纲
批注笔记
Homebus(HBS)通信协议学习
ArticleBot
z
z
z
z
主页
会议室
Git管理
文章
云文档
看板