一种基于铁电存储器的双机串行通信技术.docx
- 文档编号:900480
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:6
- 大小:28.68KB
一种基于铁电存储器的双机串行通信技术.docx
《一种基于铁电存储器的双机串行通信技术.docx》由会员分享,可在线阅读,更多相关《一种基于铁电存储器的双机串行通信技术.docx(6页珍藏版)》请在冰豆网上搜索。
一种基于铁电存储器的双机串行通信技术
一种基于铁电存储器的双机串行通信技术
摘要分析不同种类单片机之间通信的方式及难点,提出一种基铁电存储器的解决方案与实例。
包括一个可靠通信协议和流程以及此方法的优点和需要注意的方法。
关键词单片机通信铁电存储器2总线仲裁通信协议谁着电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。
对于莫一些场合,比如复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。
如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,但单片机之间的通信一直是困扰这种方法拓展的主要问题。
本文将分析比较几种单片机之间的方式、难点,并提出一种解决方案。
1几种常用单片机之间的通信方式①采用硬件进行异步串行通信。
这是一种占用口线少,有效、可靠的通信方式;但遗憾的是许多小型单片机没有硬件,有些也只有1个,如果系统还要与上位机通信的话,硬件资源是不够的。
这种方法一般用于单片机有应件且不需与外界进行串行通信或采用双单片机的场合。
②采用片内接口或2总线模块串行通信形式。
2接口具有硬件简单、软件编程容易等特点,但目前大多数单片机不具备硬件2模块。
③利用软件模拟2模式通信,范文先生网收集整理这种方式很难模拟从机模式,通信双方对每一位要做出响应,通信速率与软件资源的开销会形成一个很大的矛盾,处理不好会导致系统整体性能急剧下降。
这种方法只能用于通信量极少的场合。
④口对口并行通信,利用单片机的口线直接相连,加上1~2条握手信号线。
这种方式的特点是通信速度快,1次可以传输4位或8位,甚至更多,但需要占用大量的口线,而且数据传递是准同步的。
在一个单片机向另一个单片机传送1个字节以后,必须等到另一个单片机的接收响应信号后才能传送下一个数据。
一般用于一些硬件口线比较富余的场合。
⑤利用双口作为缓冲器通信。
这种方式的最大特点就是通信速度快,两边都可以直接用读写存储器的指令直接操作;但这种方式需要大量的口线,而且双口的价格很高,一般只用于一些对速度有特殊要求的场合。
从上面几种方案来看,各种方法对硬件都有很大的要求与限制,特别是难以在功能简单的单片机上实现,因此寻求一种简单、有效的,能在各种单片机之间通信的方法具有重要的意义。
③、④方案中,双方单片机要传递的每一位或每一个字节做出响应,通信数据量较大时会耗费大量的软件资源,这在一些实时性要求高的地方是不允许的。
针对这一问题,假设在单片机之间增加1个数据缓冲器,大批数据先写入缓冲区,然后再让对方去取,各个单片机对数据缓冲器都是主控模式,这样必然会大大提高通信效率。
谈到数据缓冲,我们马上会想到并行,但是并行需要占用大量的口线数据线+地址线+读写线+片选线+握手线,一般在16条以上。
这是一个让人望而生畏的数字,而且会大大增加面积并给布线带来一定的困难,极少有人采用这种方式。
串行接口的在市场上很少见,不但难以买到而且价格很高。
移位寄存器也可以做数据缓冲器,但目前容量最大的也只128位,因为是先进先出结构,所以不管传递数据多少,接收方必须移完整个寄存器,灵活性差而且大容量的移位寄存器也是少见难买的。
一种被称为铁电存储器芯片的出现,给我们带来了解决方法。
2利用铁电存储器作为数据缓冲器的通信方式铁电存储器是美国公司刚刚推出的一种新型非易失性存储器件,简称。
与普通、-相比,它具有不需写入时间、读写次数无限,没有分布结构可以连续写放的优点,因此具有与的双得特性,而且价格相对较低。
现在大多数的单片机系统配备串行如24、93等用来存储参数。
如果用1片代替原有,使它既能存储参数,又能作串行数据通信的缓冲器。
2个或多个单片机与1片接成多主-从的2总线方式,增加几条握手线,即可得到简单高效的通信硬件电路。
在软件方面,只要解决好2多主-从的控制冲突与通信协议问题,即可实现简单、高效、可靠的通信了。
3实例双单片机结构,多功能低功耗系统1硬件78
52与78458组成一个电池供电、可远程通信的工业流量计。
78458采用32768晶振,工作电流低,不间断工作,实时采集传感器的脉冲及温度、压力等一些模拟量;7852采110592晶振,由于它的工作电流较大,采用间断工作,负责流量的非线性校正、参数输入、液晶显示、与上位机通信等功能,它的用于远程通信。
通信接口部分线路如图1所示,2个单片机共用1片2接口的2416组成二主一从的2总线控制方式,7852的35、32分别与78458的51、50连接作握手信号线与。
我们把握手线简称线定义为总线控制、指示线,主要用于获取总线控制权与判别总线是否忙;握手线简称线定义为通知线,主要用于通知对方取走数据。
22总线仲裁由于我们采用的是二主一从的2总线方式,因此防止2个主机同时去操作从机防冲突是一个非常重要的问题。
带有硬件2模块的器件一般是这样的,器件内部有1个总线仲裁器与总线超时定时器当总线超时定时器超时后指示总线空闲,这时单片机可以发出获取总线命令,总线仲裁器通过一系列操作后确认获取总线成功或失败;超时定时器清零,以后的每一个状态变化对总线所有主机的超时定时器进行清零,以防止它溢出,指示总线正处于忙状态,直到一个主机对总线控制结束不再产生脉冲;超时定时器溢出,总线重新回到空闲状态。
但是目前大多数单片机没有配备硬件2模块,而且当2个主机的工作频率相差较大时,超时定时器定时值只能设为较大的值,这样也会影响总线的使用效率。
下面介绍一种用软件模拟2总线仲裁的方式2读写操作程序的软件模拟十分多见,这里不再多述用1条握手线,流程图如图2所示,当线高电平时,指示总线空闲;当其中一个主机要获取总线控制权时,先查询总线是否空闲,忙则退出,空闲则向线发送一个测试序列如1000101011001011,在每次发送位1后读取的线状态。
如果读取状态为0,马上退出,说明有其它器件已经抢先获取总线;如果一个序列读取的线状态都正确,则说明已成功获得总线控制权,这时要拉低线以指示总线忙,直到读写高线,使总线回到空闲状态。
不同的主机采用不同的测试序列,或产生随机测试序列,测试序列长度可以选得长一些,这样可以增加仲裁的可靠性。
3通信协议一个可靠通信体系,除了好的硬件电路外,通信协议也至关重要。
在单片机系统资源与执行速度都非常有限的情况下,一个简捷有效的协议是非常重要的。
下面具体介绍一种比较适用于单片机通信的协议,数据以包的形式传送。
数据包结构①包头——指示数据包的开始,有利于包完整性检测,有时可省略;②地址——数据包要传送的目标地址,若只有双机通信或硬件区分地址可以省略;③包长度——指示整个数据包的长度;④命令——指示本数据包的作用;⑤参数——需要传送的数据与参数;⑥校验——验证数据包的正确性,可以是和校验、异或校验、校验等或者是它们的组合;⑦包尾——指示数据包的结尾,有利于包完整性检测,有时可省略。
4通信流程首先,要在里划分好各个区域,各个单片机的参数区、数据接收区等。
然后,单片机可以向另一个单片机发送数据包,发送完毕之后通过向握手线发送1个脉冲通知对方取走数据;接收方读取数据并进行处理后,向内发送方的数据接收区写入回传数据或通信失败标志,再向握手线发送1个脉冲回应发送方。
表3是单片机1启动1次与单片机2之间的通信的例子。
如果需要单片机2发送的话,只需交换一下操作过程即可。
表3步骤单片机1单片机2线线1总线空闲总线空闲112获取总线控制权其它操作013向内单片机2的数据接收区写入一包通信数据其它操作014
向线发送走个负脉冲,通知单片机2,启动超时定时器其它操作0负脉冲5其它操作响应来自线的脉冲,读取内数据接收区的内容无须获取总线操作016其它操作对数据进行处理后,向内单片机1的数据接收区写入回传数据或通信失败标志017其它操作向线发送1个负脉冲,通知单片机10负脉冲8清超时定时器,读取数据区内容。
如果失败可以做重发或其它处理;如果成功则拉高线,释放2总线,1次通信工程结束其它操作119如果超时定时器溢出,说明单片机2没有响应单片机1的通知,可以做重发或故障处理
4总结通过实践可知,以上方法是可行的。
与其它方法相比具有发下优点①简单。
占用单片机口线少、、握手线、握手线。
②通用。
软件模拟2主机方式,可以在任何种类的单片机之间通信。
③高效。
由于采用数据缓冲,可以在不同时钟频率、不同速度的单片机之间通信;读写数据时,可以2总线的最高速度进行,可以实现1次传送大量数据;在一个单片机向传送数据时,另一个单片机无须一一作出响应或等待,可以进行其它程序操作,提高软件工作效率。
④灵活。
通信硬件接口对于各个单片机是对等的,通过软件配置,每个单片机既可以根据需要主动发送通信,也可以只响应其它单片机的呼叫。
⑤容易扩展。
通过增加地址识别线,修改通信协议,即可做到多机通信。
以下是需要注意的地址①为了提高通信效率,握手线最好使用中断端口,负脉冲宽度一定要满足速度较低单片机中断信号要求。
如果没有中断的话应增加1条口线,用改变端口状态的方法通知对方,等待对方查询,而不是负脉冲。
②向对方发送负脉冲时,应屏蔽自己的中断。
③由于参数与通信缓冲区同时设在同一片内,要避免对参数部分的误操作。
一个较好的解决办法是把参数存放在地址的后半部分2=1,在进行通信操作时,把的引脚拉高地址在后半部分的单元写保护,这样可以有效地防止测验时对参数区误操作。
④由于2总线在一个时间段内只有1个主机和1个从机,所以当1个单片机正在写通信数据时,另一个单片机是不能对进行操作的。
如果需要实时、频繁地读取中参数的话,请预先将参数读入单元使用或另外增加专门存放参数的芯片。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 存储器 双机 串行 通信 技术