0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用铁电存储器作为数据缓冲器的通信方式

IEEE电气电子工程师 来源:YXQ 2019-08-06 14:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

铁电存储器是美国Ramtran公司推出的一种非易失性存储器件,简称FRAM。与普通EEPROM、Flash-ROM相比,它具有不需写入时间、读写次数无限,没有分布结构可以连续写放的优点,因此具有RAM与EEPROM的双得特性,而且价格相对较低。

现在大多数的单片机系统配备串行EEPROM(如24CXX、93CXX等)用来存储参数。如果用1片FRAM代替原有EEPROM,使它既能存储参数,又能作串行数据通信的缓冲器。2个(或多个)单片机与1片FRAM接成多主-从的I2C总线方式,增加几条握手线,即可得到简单高效的通信硬件电路。在软件方面,只要解决好I2C多主-从的控制冲突与通信协议问题,即可实现简单、高效、可靠的通信了。

实例(双单片机结构,多功能低功耗系统)

(1)硬件

W78LE52与EMC78P458组成一个电池供电、可远程通信的工业流量计。78P458采用32.768kHz晶振,工作电流低,不间断工作,实时采集传感器的脉冲及温度、压力等一些模拟量;W78LE52采11.0592MHz晶振,由于它的工作电流较大,采用间断工作,负责流量的非线性校正、参数输入、液晶显示、与上位机通信等功能,它的UART用于远程通信。2个单片机共用1片I2C接口的FRAM(FM24CL16)组成二主一从的I2C总线控制方式,W78LE52的P3.5、P3.2分别与78P458的P51、P50连接作握手信号线A与B。我们把握手线A(简称A线)定义为总线控制、指示线,主要用于获取总线控制权与判别总线是否“忙”;握手线B(简称B线)定义为通知线,主要用于通知对方取走数据。

(2)I2C总线仲裁

由于我们采用的是二主一从的I2C总线方式,因此防止2个主机同时去操作从机(防冲突)是一个非常重要的问题。带有硬件I2C模块的器件一般是这样的,器件内部有1个总线仲裁器与总线超时定时器:当总线超时定时器超时后指示总线空闲,这时单片机可以发出获取总线命令,总线仲裁器通过一系列操作后确认获取总线成功或失败;超时定时器清零,以后的每一个SCL状态变化对总线所有主机的超时定时器进行清零,以防止它溢出,指示总线正处于“忙”状态,直到一个主机对总线控制结束不再产生SCL脉冲;超时定时器溢出,总线重新回到“空闲”状态。但是目前大多数单片机没有配备硬件I2C模块,而且当2个主机的工作频率相差较大时,超时定时器定时值只能设为较大的值,这样也会影响总线的使用效率。

下面介绍一种用软件模拟I2C总线仲裁的方式(I2C读写操作程序的软件模拟十分多见,这里不再多述):用1条握手线A,当A线高电平时,指示总线空闲;当其中一个主机要获取总线控制权时,先查询总线是否空闲,“忙”则退出,空闲则向A线发送一个测试序列(如:1000101011001011),在每次发送位“1”后读取的A线状态。如果读取状态为“0”,马上退出,说明有其它器件已经抢先获取总线;如果一个序列读取的A线状态都正确,则说明已成功获得总线控制权,这时要拉低A线以指示总线“忙”,直到读写高A线,使总线回到“空闲”状态。不同的主机采用不同的测试序列,或产生随机测试序列,测试序列长度可以选得长一些,这样可以增加仲裁的可靠性。

(3)通信协议

一个可靠通信体系,除了好的硬件电路外,通信协议也至关重要。在单片机系统RAM资源与执行速度都非常有限的情况下,一个简捷有效的协议是非常重要的。下面具体介绍一种比较适用于单片机通信的协议,数据以包的形式传送。数据包结构:

①包头——指示数据包的开始,有利于包完整性检测,有时可省略;

②地址——数据包要传送的目标地址,若只有双机通信或硬件区分地址可以省略;

③包长度——指示整个数据包的长度;

④命令——指示本数据包的作用;

⑤参数——需要传送的数据与参数;

⑥校验——验证数据包的正确性,可以是和校验、异或校验、CRC校验等或者是它们的组合;

⑦包尾——指示数据包的结尾,有利于包完整性检测,有时可省略。

(4)通信流程

首先,要在FRAM里划分好各个区域,各个单片机的参数区、数据接收区等。然后,单片机可以向另一个单片机发送数据包,发送完毕之后通过向握手线B发送1个脉冲通知对方取走数据;接收方读取数据并进行处理后,向FRAM内发送方的数据接收区写入回传数据或通信失败标志,再向握手线B发送1个脉冲回应发送方。

如果需要单片机2发送的话,只需交换一下操作过程即可。

4 总结

通过实践可知,以上方法是可行的。与其它方法相比具有发下优点:

①简单。占用单片机口线少(SCL、SDA、握手线A、握手线B)。

②通用。软件模拟I2C主机方式,可以在任何种类的单片机之间通信。

③高效。由于采用数据缓冲,可以在不同时钟频率、不同速度的单片机之间通信;读写数据时,可以I2C总线的最高速度进行,可以实现1次传送大量数据;在一个单片机向FRAM传送数据时,另一个单片机无须一一作出响应或等待,可以进行其它程序操作,提高软件工作效率。

④灵活。通信硬件接口对于各个单片机是对等的,通过软件配置,每个单片机既可以根据需要主动发送通信,也可以只响应其它单片机的呼叫。

⑤容易扩展。通过增加地址识别线,修改通信协议,即可做到多机通信。

以下是需要注意的地方:

①为了提高通信效率,握手线B最好使用中断端口,负脉冲宽度一定要满足速度较低单片机中断信号要求。如果没有中断的话应增加1条口线,用改变端口状态的方法通知对方,等待对方查询,而不是负脉冲。

②向对方发送负脉冲时,应屏蔽自己的中断。

③由于参数与通信缓冲区同时设在同一片FRAM内,要避免对参数部分的误操作。一个较好的解决办法是把参数存放在地址的后半部分(A2=1),在进行通信操作时,把FRAM的WP引脚拉高(地址在后半部分的单元写保护),这样可以有效地防止测验时对参数区误操作。

④由于I2C总线在一个时间段内只有1个主机和1个从机,所以当1个单片机正在写通信数据时,另一个单片机是不能对FRAM进行操作的。如果需要实时、频繁地读取FRAM中参数的话,请预先将参数读入RAM单元使用或另外增加专门存放参数的芯片。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 缓冲器
    +关注

    关注

    6

    文章

    2237

    浏览量

    49093
  • 通信
    +关注

    关注

    18

    文章

    6488

    浏览量

    140350
  • 铁电存储器
    +关注

    关注

    2

    文章

    199

    浏览量

    18839
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    时钟缓冲器的一些主要应用领域介绍

    时钟缓冲器,简称时钟缓冲器或时钟缓存,是一种用于存储和保护时钟信号的电子元件。它的主要作用是在时钟输入和输出之间提供一个低延迟、高精度的缓冲
    的头像 发表于 04-02 16:30 8707次阅读
    时钟<b class='flag-5'>缓冲器</b>的一些主要应用领域介绍

    Infineon CY15X108QN:低功耗随机存储器的卓越之选

    Infineon CY15X108QN:低功耗随机存储器的卓越之选 在各类电子设备中,存储器的性能直接影响着设备的运行效率和数据安全性。
    的头像 发表于 03-29 12:00 384次阅读

    74AHC244:八进制缓冲器/线路驱动的技术剖析

    深入了解一下SG Micro Corp推出的74AHC244八进制缓冲器/线路驱动。 文件下载: 74AHC244.pdf 一、产品概述 74AHC244是一款具有三态输出的八进制缓冲器/线路驱动
    的头像 发表于 03-16 10:35 658次阅读

    74LV541A:八进制缓冲器/线路驱动的技术剖析

    驱动,它在众多应用场景中都有着出色的表现。 文件下载: 74LV541A.pdf 一、产品概述 74LV541A 是一款具有三态输出的八进制缓冲器/线路驱动,其供电电压范围为 2.0V 至 5.5V,这使得它在不同的电源环境
    的头像 发表于 03-13 14:45 280次阅读

    高性能时钟缓冲器 CDC318A:特性、参数与应用解析

    )的 CDC318A 时钟缓冲器,它在同步动态随机存取存储器(SDRAM)时钟缓冲应用中表现出色。 文件下载: cdc318a.pdf 一、CDC318A 概述 CDC318A 是一款专门为 PC
    的头像 发表于 02-10 14:40 703次阅读

    时钟缓冲器技术选型与设计要点

    在现代高速数字系统中,时钟信号的完整性直接影响着系统的性能和稳定性。时钟缓冲器作为时钟树设计的核心组件,承担着信号分配、噪声隔离和时序优化的关键任务。随着5G通信、AI芯片和数据中心等
    的头像 发表于 12-16 15:57 722次阅读
    时钟<b class='flag-5'>缓冲器</b>技术选型与设计要点

    使用有源缓冲器提高相移全桥效率

    传统上,要限制输出整流上的最大电压应力,需要无源缓冲器,例如电阻-电容器-二极管 (RCD) 缓冲器,但使用无源缓冲器将消耗功率,从而导
    的头像 发表于 11-12 09:30 4551次阅读
    使用有源<b class='flag-5'>缓冲器</b>提高相移全桥效率

    时钟缓冲器的应用场景及如何选择合适的时钟缓冲器

    时钟缓冲器广泛应用于各种电子系统中,以下是一些典型的应用场景:1.通信设备:在高速通信设备中,时钟信号的质量直接影响数据传输的准确性。时钟缓冲器
    的头像 发表于 10-30 14:12 714次阅读
    时钟<b class='flag-5'>缓冲器</b>的应用场景及如何选择合适的时钟<b class='flag-5'>缓冲器</b>?

    Texas Instruments SN74HCT240八通道缓冲器/线路驱动数据手册

    Texas Instruments SN74HCT240八通道缓冲器/线路驱动专门设计用于改善时钟驱动、三态存储器地址驱动以及面向总线
    的头像 发表于 07-23 10:40 1207次阅读
    Texas Instruments SN74HCT240八通道<b class='flag-5'>缓冲器</b>/线路驱动<b class='flag-5'>器</b><b class='flag-5'>数据</b>手册

    Texas Instruments SN74HC240八通道缓冲器/线路驱动数据手册

    Texas Instruments SN74HC240八通道缓冲器/线路驱动专门设计用于改善时钟驱动、三态存储器地址驱动以及面向总线的
    的头像 发表于 07-23 10:33 1053次阅读
    Texas Instruments SN74HC240八通道<b class='flag-5'>缓冲器</b>/线路驱动<b class='flag-5'>器</b><b class='flag-5'>数据</b>手册

    Texas Instruments SN74LV240A八路缓冲器/驱动数据手册

    Texas Instruments SN74LV240A八路缓冲器/驱动设计用于提高时钟驱动、3态存储器地址驱动和面向总线的接收
    的头像 发表于 07-15 11:18 1052次阅读
    Texas Instruments SN74LV240A八路<b class='flag-5'>缓冲器</b>/驱动<b class='flag-5'>器</b><b class='flag-5'>数据</b>手册

    Texas Instruments SN74ACT17六路缓冲器数据手册

    Texas Instruments SN74ACT17六路缓冲器包括六个独立的CMOS逻辑缓冲器,具有TTL兼容的施密特触发输入。这些缓冲器可在短时间内支持高达 ±75mA输出驱动(
    的头像 发表于 07-15 10:00 1041次阅读
    Texas Instruments SN74ACT17六路<b class='flag-5'>缓冲器</b><b class='flag-5'>数据</b>手册

    Texas Instruments SN74AHCT367六路缓冲器和线路驱动数据手册

    Texas Instruments SN74AHCT367六路缓冲器和线路驱动设计用于提高时钟驱动、三态存储器地址驱动以及面向总线的接
    的头像 发表于 07-14 09:56 1351次阅读
    Texas Instruments SN74AHCT367六路<b class='flag-5'>缓冲器</b>和线路驱动<b class='flag-5'>器</b><b class='flag-5'>数据</b>手册

    Texas Instruments SN74HC368六路反相缓冲器数据手册

    Texas Instruments SN74HC368六路反相缓冲器设计用于提高时钟驱动、三态存储器地址驱动以及面向总线的接收和发射
    的头像 发表于 07-03 15:14 1045次阅读
    Texas Instruments SN74HC368六路反相<b class='flag-5'>缓冲器</b><b class='flag-5'>数据</b>手册

    时钟缓冲器在现代化建设中的作用

    时钟缓冲器作为现代电子技术中的一项关键元件,其在信息化建设和智能化发展中所扮演的角色日益凸显。随着社会的不断发展,人们对信息传输的速度和准确性要求越来越高,时钟缓冲器以其独有的功能,确保了数据
    的头像 发表于 05-27 14:08 840次阅读
    时钟<b class='flag-5'>缓冲器</b>在现代化建设中的作用