[发明专利]一种实现两个单片机间相互通信且数据共享的方法有效
申请号: | 201210307442.1 | 申请日: | 2012-08-27 |
公开(公告)号: | CN102855210A | 公开(公告)日: | 2013-01-02 |
发明(设计)人: | 汪晓强;郭忠慧;刘晓文 | 申请(专利权)人: | 福建省力得自动化设备有限公司 |
主分类号: | G06F13/40 | 分类号: | G06F13/40;G06F15/167 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 蔡学俊 |
地址: | 350009 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 两个 单片机 相互 通信 数据 共享 方法 | ||
技术领域
本发明涉及单片机数据通讯、共享技术领域,特别是一种实现两个单片机间相互通信且数据共享的方法。
背景技术
目前存在的两个单片机间数据通讯和数据共享主要有两种方法:一.串行总线实现单片机间数据通讯,如UART,SPI总线以及IIC总线等;二.利用双口RAM实现单片机间数据通讯和数据共享。利用以上两种方法实现数据通讯主要存在以下的问题和不足:
1. 利用串行总线实现单片机间数据通讯,由于串行总线传送的单位为BIT,通讯的速度收到限制。
2. 利用串行总线实现单片机间数据通讯,需要采用完善而且复杂的通讯协议和收发流程来保证数据的完整性和可靠性,软件实现较为复杂且较为占用单片机的运算资源。
3. 利用双口RAM实现单片机间数据通讯和数据共享的方法需要采用额外的双口RAM硬件资源,双口RAM硬件属于特殊IC器件,器件价格较贵,势必造成硬件成本增加。
4. 利用双口RAM实现单片机间数据通讯和数据共享的方法由于双口RAM容量较小无法满足大数据量共享的需求。
发明内容
为克服上述问题,本发明的目的是提供一种实现两个单片机间相互通信且数据共享的方法。
本发明采用以下方案实现:一种实现两个单片机间相互通信且数据共享的方法,其特征在于:采用一片SRAM作为所述两个单片机间数据通讯和数据共享缓存,并根据单片机的握手信号通讯口的状态控制单片机的外部存储器接口在高阻态和读写状态间切换,以确保一个时刻只有一个单片机在访问该SRAM。
在本发明一实施例中,所述的握手信号通讯口是所述单片机的两个IO口。
在本发明一实施例中,所述两个IO口定义成状态输入口和状态输出口,运行时,一单片机判断状态输入口的是否为‘1’,若为‘1’则标识另一单片机没有对SRAM进行读写,这时该单片机先将状态输出口置位‘0’标识该单片机正在对SRAM进行读写,然后该单片机对SRAM进行需要的操作;在该单片机对SRAM操作结束后将将状态输出口置位‘1’。
在本发明一实施例中,所述两个单片机的外部存储器接口采用并联的方式连接到所述SRAM的外部接口。
本发明实现方法简单,相对现有的技术节约了器件成本,提高了数据通信的速度。
附图说明
图1是本发明电路连接示意图。
图2是本发明实施例单片机读写流程示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1所示,本实施例提供一种实现两个单片机间相互通信且数据共享的方法,其特征在于:采用一片SRAM作为所述两个单片机间数据通讯和数据共享缓存,并根据单片机的握手信号通讯口的状态控制单片机的外部存储器接口在高阻态和读写状态间切换,以确保一个时刻只有一个单片机在访问该SRAM。本实施例中,所述的握手信号通讯口是所述单片机的两个IO口。
请参照图1和图2,运行时,当单片机1要对SRAM进行读写操作时,先判断状态输入口的是否为‘1’,若为‘1’标识单片机2没有对SRAM进行读写,这时单片机1先将状态输出口置位‘0’标识单片机1正在对SRAM进行读写(单片机2此时不可对SRAM操作),然后单片机1对SRAM进行需要的操作。在单片机1对SRAM操作结束后将将状态输出口置位‘1’(单片机2此时可对SRAM操作)。单片机2对SRAM(C)的读写操作同流程单片机1相同。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建省力得自动化设备有限公司,未经福建省力得自动化设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210307442.1/2.html,转载请声明来源钻瓜专利网。