您的位置 首页 产品

8位单片机的多主机通讯计划

多主机通讯方案使用了瑞萨的8位单片机M37546,该单片机具有两个独立的串口,可以配置为同步或异步串口使用。使用了N沟道漏极开路总线结构与

多主机通讯计划运用了瑞萨的8位单片机M37546,该单片机具有两个独立的串口,能够装备为同步或异步串口运用。运用了N沟道漏极开路总线结构与UART通讯协议,在同一根电缆上完结数据的发送和接纳;一起加入了抵触检测功用,能够确保在不丢掉信息的情况下,完结裁定,完结多主机通讯。
在这个体系中的一切M37546的TxD1与RxD1都接到同一根总线上。一切数据都是在这一根线上传递的,一个主机发送的数据除了会被其他主机收到外,也会被自己的RxD1收到,这也是运用总线抵触检测功用裁定的必要条件之一。除此以外还需要将P11/TxD1管脚设置为N沟道开路输出方法,构成N沟开漏总线结构。电路见图1。

本计划运用了CAP0外部中止对总线进行监控,以防止多个设备一起发送的问题。M37546的P10/RxD/CAP0管脚既是串口1的输入RxD1,一起仍是输入捕捉功用的输入CAP0。由于UART帧的开端位一定是低电平,所以发送开端时会触发CAP0中止。在中止处理程序中查看串口1发送完毕标志位,假如发送完毕标志位是“1”,阐明本机的发送进程并没有发动,必定是其它主机发动的发送,应该马上进入接纳状况,直到对方发送完毕;假如发送完毕标志是“0”,阐明本机发动了发送,能够完毕对总线状况的监控(制止CAP0中止)转而持续后边的发送进程。这个监控进程也是对多个发送信号进行同步挑选的进程,由于只要多个主机一起或在很短时刻距离(小于CAP0中止呼应时刻)内发送开端位时,才干成功发动发送进程。只要确保了发送进程的同步,才干使用后边的位裁定方法。
位裁定是依托M37546的总线抵触检测功用完结的,其工作方法为:当串口开端接纳后,在对每一位接纳采样的一起,比较TxD发送的与RxD收到的数据,假如两者不同就会发生UART1总线抵触检测(U1BC)中止。
裁定进程利用了带上拉的N沟开漏总线的特色——“线与”。当某一个主机发送“1”的时分,假如其它主机正在发送“0”,“1”就不会出现在总线上。而发送“1”的主机从总线上收到的是“0”,这会触发U1BC中止。收到中止后,这个主机应该马上中止发送,转为接纳状况,以确保其它主机发送的数据不被损坏。
本计划除了物理层的内容外,还在UART协议的基础上加入了数据帧的概念。总线上的一切设备都会收到整个数据帧。假如发现自己的ID与意图ID相同,那么对后边的数据进行接纳并校验,并宣布应对。其它设备收到数据帧后只提取帧的长度信息,丢掉后边的数据、校验和应对段。当后续字节到达数据长度+2后,以为此帧正常完毕,总线回到闲暇状况,能够发动发送。数据帧的格局见图2。

别的,协议还规则了总线等待时刻。假如在一个数据帧的进程中数据中止时刻超越等待时刻,能够以为此次发送为非正常完毕。总线回到闲暇状况。
发送方假如收到不正常应对(校验犯错)或许未收到应对,能够挑选从头发送,可是重发的帧有或许会与其它主机发送的数据帧竞赛。
保存全零ID为播送地址,以播送地址为意图ID的帧会被一切主机接纳。而且不需要应对。
以上格局都是针对一般的体系而规划的,用户能够依据自己的需要来调整。比方,关于重要的数据能够用CRC校验方法替代校验和;设备较多时能够添加ID段长度等。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/254557.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部