微处理器之间的串行通信方法

文档序号:6481002阅读:219来源:国知局
专利名称:微处理器之间的串行通信方法
技术领域
-
本发明涉及一种微处理器之间的串行通信方法,尤其是一种可减少通讯压 力、提高数据传输速度及准确性、改善计算机内部运行性能的微处理器之间的 串行通信方法。
背景技术
-
目前,主控芯片(主控微处理器)与被控芯片(被控微处理器)之间的串 行通信方法是在两芯片之间相接有发送数据线、接收数据线和一条公用的时钟
线,数据则由命令帧、响应帧序列组成,每一帧数据由n个字节组成。主控芯 片为了得到来自被控芯片的数据,必须每隔一定时间(例如20微妙)就向被控 芯片发出时钟,而传输的数据(命令帧、响应帧序列)也只有在一帧数据传送 完成后才能判断数据正确与否,如通过计算SUM值进行校验等。现有的串行通 信方法存在以下问题,均影响了计算机的运行性能
1. 主控芯片不停地向被控芯片发出时钟,导致主控芯片的通信一直处于忙 碌的工作状态,增加了主控芯片的通信压力;
2. 对于所传输的数据只进行一次校验,难以保证所传数据的精确性;
3. 不能及时发现并纠正每一字节数据在传输中出现的错误,因此对于字节 较多的一帧数据,就会严重影响其通信的时效性;被控芯片一直处于等待状态, 只有主控芯片的时钟到达之后才能将数据发出,同样影响到通信的时效性。

发明内容
本发明是为了解决现有技术所存在的上述技术问题,提供一种可减少通讯 压力、提高数据传输速度及准确性、改善计算机内部运行性能的微处理器之间 的串行通信方法。
本发明的技术解决方案是 一种微处理器之间的串行通信方法,有主控芯 片及被控芯片,主控芯片与被控芯片之间相接有发送数据线、接收数据线和时 钟线,其特征在于主控芯片的I/O 口 A与被控芯片的I/O 口 B-l相接,主控 芯片的中断口与被控芯片的I/O 口 B-2相接;
被控芯片向主控芯片发送数据按照如下步骤进行1.1被控芯片发出通信请求;
1.2主控芯片应答并发送补位数据;
1.3被控芯片将第1字节数据发出;
1.4主控芯片收到第1字节数据并将第1字节数据反馈至被控芯片;
1.5被控芯片将得到的反馈数据与所发出的第1字节数据对比,正确则进行
将下一字节数据发出,错误则向主控芯片发出数据传送错误信号并从1.1步骤
重新开始;
1.6按照1.3-1.5步骤,依次完成第2字节 第n-2字节数据的发送,直至被 控芯片将数据的第n-l字节数据发出;
1.7主控芯片计算SUM值并与所收到的第n-l字节数据对比,正确主控芯 片则将SUM值反馈至被控芯片,错误则向被控芯片发出数据错误信号,被控芯 片从l.l步骤重新开始;
1.8被控芯片收到SUM值后发送第n字节数据;
主控芯片向被控芯片发送数据按照如下步骤进行
2.1主控芯片向被控芯片发出传送数据启动信号;
2.2主控芯片发出第1字节数据;
2.3被控芯片收到第1字节数据并反馈补位数据;
2.4主控芯片发出第2字节数据;
2.5被控芯片收到第2字节数据并将第1字节数据反馈至主控芯片;
2.6主控芯片将得到的反馈数据与所发出的第l字节数据对比,正确则将 第3字节数据发出,错误则向被控芯片发出数据错误信号并从2.1步骤重新开 始;
2.7按照2.4~2.6步骤,依次完成第4字节 第n-l字节的发送,直至被控芯 片将第n字节数据发出;
2.8被控芯片计算SUM值并与所收到的第n-l字节数据对比,正确被控芯 片则将SUM值反馈至主控芯片,主控芯片向被控芯片发出通信结束信号;错误 则与主控芯片互发数据传送错误信号,主控芯片从2.1步骤重新开始。
本发明同现有技术相比,具有如下优点
1.被控芯片在数据准备好之后,即可主动通过握手信号通知主控芯片,主 控芯片随之将时钟发出,被控芯片就能够及时地将数据发出,提高了被控芯片 通信的时效性;主控芯片无需定时发出时钟信号,减少了通讯工作的压力。2.不仅对整帧数据进行(例如SUM校验)校验,而且所设置的补位数据 可使数据帧异步应答,实现对数据的每一字节都进行比较,及时发现错误并进 行纠错处理,不仅提高了数据传输的正确性,而且也提高了数据传输的时效性。


图1是本发明实施例主控芯片与被控芯片通信接口连接示意图。
图2、 3是本发明实施例被控芯片向主控芯片发送数据的流程图。 图4、 5是本发明实施例主控芯片向被控芯片发送数据的流程图。 图6是本发明实施例被控芯片向主控芯片发送数据的时序图。 图7是本发明实施例主控芯片向被控芯片发送数据的时序图。
具体实施方式
-
下面将结合

本发明的具体实施方式
。如图1所示有与现有技术 相同的主控芯片及被控芯片,主控芯片与被控芯片之间相接有发送数据线、接 收数据线和时钟线,与现有技术所不同的是主控芯片的I/O 口 A与被控芯片的 I/O 口 B-l相接,主控芯片的中断口与被控芯片的I/O 口 B-2相接。
本发明实施例的每一帧数据由17字节组成,第1字节为操作码,第2到第 15字节为参数,第16字节为SUM校验值,最后一字节为通信结束值。
被控芯片向主控芯片发送数据的流程如图2、图3所示,时序如图6所示, 主控芯片向被控芯片发送数据的流程如图4、图5所示,时序如图7所示。
主控芯片或被控芯片发出一帧数据从第1字节到第17字节,其数据分别为 SND[O]、 SND[l]、 SND[2]、……SND[14]、 SND[15]、 SND[16]。
被控芯片或主控芯片按字节依次接收的数据分别为RCV[O]、 RCV[l]、 RCV[2]、 .....RCV[14]、 RCV[15]、 RCV[16]。
主控芯片或被控芯片的补位数据可以是任意数据,如00H。
主控芯片或被控芯片按字节依次反馈的数据分别是SND[O]f、 SND[l]f、 SND[2]f、……SND[14]f、 SND[15] f。
被控芯片向主控芯片发送数据按照如下步骤进行
1.1被控芯片通过I/0 口 B-2、中断口向主控芯片发出通信请求;
1.2主控芯片通过I/O 口 A应答并发送补位数据00H;
1.3被控芯片将一帧数据的第1字节数据SND
发出;
1.4主控芯片收到第1字节数据RCV[O]并将第1字节数据反馈至被控芯片;
1.5被控芯片将得到的反馈数据SND
f与所发出的第1字节数据SND[O]对比,正确进行下一步骤(1.6步骤),错误则向主控芯片发出数据传送错误信
号(如0Xff)并从1.1步骤重新开始;
1.6被控芯片将此帧数据的第2字节数据SND[1]发出;
1.7主控芯片收到第2字节数据RCV[1]并将收到的数据反馈至被控芯片;
1.8被控芯片将得到的反馈数据SND[l]f与刚发出的数据SND[1]对比,正
确则进行下一字节数据传送,错误则向主控芯片发出数据传送错误信号(如
0Xff)并从1.1步骤开始重新发送;
1.9重复1.6~1.8步骤发送第3~15字节数据,直至被控芯片将第16字节数
据SND[15]发出;
1.10主控芯片计算SUM值并与所收到的第16字节数据RCV[15]对比,正 确主控芯片则将SUM值反馈至被控芯片,错误则向被控芯片发出数据错误信号 (如0Xff),被控芯片从1.1步骤开始重新发送;
1.11被控芯片收到SUM值后发送第17字节数据SND[16],即结束值0x00, 数据传输结束。
主控芯片向被控芯片发送数据按照如下步骤进行
2.1主控芯片向被控芯片发出数据传送启动信号,如将I/0口A电平拉低, 使其在发送数据时一直处于低电平状态;
2.2主控芯片发出一帧数据的第1字节数据SND[O];
2.3被控芯片收到第1字节数据RCV[O]并反馈补位数据,如00H;
2.4主控芯片发出此帧数据的第2字节数据SND[1];
2.5被控芯片收到第2字节数据RCV[1]并将第l字节数据反馈至主控芯片; 2.6主控芯片将得到的第1字节反馈数据SND[O]f与所存储的第1字节数
据SND[O]对比,正确则进行下一步骤(2.7),错误则向被控芯片发出数据错误
信号(将1/0 口 A电平拉高)并从2.1步骤重新开始发送; 2.7主控芯片将数据的第3字节数据SND[2]发出;
2.8被控芯片收到第3字节数据RCV[2]并将上次收到的第2字节数据反馈 至主控芯片;
2.9主控芯片将得到的反馈数据SND[l]f与所发出的SND[1]数据对比,正 确则进行下一字节数据传送,错误则向被控芯片发出数据传送错误信号(将1/0 口 A电平拉高)并从2.1步骤开始重新发送;
2.10重复2.7~2.9步骤发送每4 16字节数据,直至被控芯片将数据的第17字节数据发出;
2.11被控芯片计算SUM值并与所收到的第n-l字节数据对比,正确被控芯 片则将SUM值反馈至主控芯片,主控芯片向被控芯片发出通信结束信号,即将 I/O 口 A电平拉高;错误被控芯片则向主控芯片发出数据传送错误信号(如 0Xff),主控芯片也向被控芯片发出数据传送错误信号(将I/0口A电平拉高) 并从2.1步骤开始重新发送。
权利要求
1.一种微处理器之间的串行通信方法,有主控芯片及被控芯片,主控芯片与被控芯片之间相接有发送数据线、接收数据线和时钟线,其特征在于主控芯片的I/O口A与被控芯片的I/O口B-1相接,主控芯片的中断口与被控芯片的I/O口B-2相接;被控芯片向主控芯片发送数据按照如下步骤进行1.1被控芯片发出通信请求;1.2主控芯片应答并发送补位数据;1.3被控芯片将第1字节数据发出;1.4主控芯片收到第1字节数据并将第1字节数据反馈至被控芯片;1.5被控芯片将得到的反馈数据与所发出的第1字节数据对比,正确则进行将下一字节数据发出,错误则向主控芯片发出数据传送错误信号并从1.1步骤重新开始;1.6按照1.3~1.5步骤,依次完成第2字节~第n-2字节数据的发送,直至被控芯片将数据的第n-1字节数据发出;1.7主控芯片计算SUM值并与所收到的第n-1字节数据对比,正确主控芯片则将SUM值反馈至被控芯片,错误则向被控芯片发出数据错误信号,被控芯片从1.1步骤重新开始;1.8被控芯片收到SUM值后发送第n字节数据;主控芯片向被控芯片发送数据按照如下步骤进行2.1主控芯片向被控芯片发出传送数据启动信号;2.2主控芯片发出第1字节数据;2.3被控芯片收到第1字节数据并反馈补位数据;2.4主控芯片发出第2字节数据;2.5被控芯片收到第2字节数据并将第1字节数据反馈至主控芯片;2.6主控芯片将得到的反馈数据与所发出的第1字节数据对比,正确则将第3字节数据发出,错误则向被控芯片发出数据错误信号并从2.1步骤重新开始;2.7按照2.4~2.6步骤,依次完成第4字节~第n-1字节的发送,直至被控芯片将第n字节数据发出;2.8被控芯片计算SUM值并与所收到的第n-1字节数据对比,正确被控芯片则将SUM值反馈至主控芯片,主控芯片向被控芯片发出通信结束信号;错误则与主控芯片互发数据传送错误信号,主控芯片从2.1步骤重新开始。
全文摘要
本发明公开一种微处理器之间的串行通信方法,是将主控芯片的I/O口A与被控芯片的I/O口B-1相接,主控芯片的中断口与被控芯片的I/O口B-2相接,被控芯片在数据准备好之后,即可主动通过握手信号通知主控芯片,主控芯片随之将时钟发出,被控芯片就能够及时地将数据发出,提高了被控芯片通信的时效性;主控芯片无需定时发出时钟信号,减少了通讯工作的压力;不仅对整帧数据进行(例如SUM校验)校验,而且所设置的补位数据可使数据帧异步应答,实现对数据的每一字节都进行比较,及时发现错误并进行纠错处理,不仅提高了数据传输的正确性,而且也提高了数据传输的时效性。
文档编号G06F13/38GK101556567SQ20091001157
公开日2009年10月14日 申请日期2009年5月18日 优先权日2009年5月18日
发明者王红林, 郭文健, 将 钟, 陈忠华 申请人:中国华录·松下电子信息有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1