CN101556567B - 微处理器之间的串行通信方法 - Google Patents
微处理器之间的串行通信方法 Download PDFInfo
- Publication number
- CN101556567B CN101556567B CN2009100115752A CN200910011575A CN101556567B CN 101556567 B CN101556567 B CN 101556567B CN 2009100115752 A CN2009100115752 A CN 2009100115752A CN 200910011575 A CN200910011575 A CN 200910011575A CN 101556567 B CN101556567 B CN 101556567B
- Authority
- CN
- China
- Prior art keywords
- data
- chip
- main control
- control chip
- controlled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开一种微处理器之间的串行通信方法,是将主控芯片的I/O口A与被控芯片的I/O口B-1相接,主控芯片的中断口与被控芯片的I/O口B-2相接,被控芯片在数据准备好之后,即可主动通过握手信号通知主控芯片,主控芯片随之将时钟发出,被控芯片就能够及时地将数据发出,提高了被控芯片通信的时效性;主控芯片无需定时发出时钟信号,减少了通讯工作的压力;不仅对整帧数据进行(例如SUM校验)校验,而且所设置的补位数据可使数据帧异步应答,实现对数据的每一字节都进行比较,及时发现错误并进行纠错处理,不仅提高了数据传输的正确性,而且也提高了数据传输的时效性。
Description
技术领域:
本发明涉及一种微处理器之间的串行通信方法,尤其是一种可减少通讯压力、提高数据传输速度及准确性、改善计算机内部运行性能的微处理器之间的串行通信方法。
背景技术:
目前,主控芯片(主控微处理器)与被控芯片(被控微处理器)之间的串行通信方法是在两芯片之间相接有发送数据线、接收数据线和一条公用的时钟线,数据则由命令帧、响应帧序列组成,每一帧数据由n个字节组成。主控芯片为了得到来自被控芯片的数据,必须每隔一定时间(例如20微妙)就向被控芯片发出时钟,而传输的数据(命令帧、响应帧序列)也只有在一帧数据传送完成后才能判断数据正确与否,如通过计算SUM值进行校验等。现有的串行通信方法存在以下问题,均影响了计算机的运行性能:
1.主控芯片不停地向被控芯片发出时钟,导致主控芯片的通信一直处于忙碌的工作状态,增加了主控芯片的通信压力;
2.对于所传输的数据只进行一次校验,难以保证所传数据的精确性;
3.不能及时发现并纠正每一字节数据在传输中出现的错误,因此对于字节较多的一帧数据,就会严重影响其通信的时效性;被控芯片一直处于等待状态,只有主控芯片的时钟到达之后才能将数据发出,同样影响到通信的时效性。
发明内容:
本发明是为了解决现有技术所存在的上述技术问题,提供一种可减少通讯压力、提高数据传输速度及准确性、改善计算机内部运行性能的微处理器之间的串行通信方法。
本发明的技术解决方案是:一种微处理器之间的串行通信方法,有主控芯片及被控芯片,主控芯片与被控芯片之间相接有发送数据线、接收数据线和时钟线,其特征在于:主控芯片的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步骤重新开始。
本发明同现有技术相比,具有如下优点:
1.被控芯片在数据准备好之后,即可主动通过握手信号通知主控芯片,主控芯片随之将时钟发出,被控芯片就能够及时地将数据发出,提高了被控芯片通信的时效性;主控芯片无需定时发出时钟信号,减少了通讯工作的压力。
2.不仅对整帧数据进行(例如SUM校验)校验,而且所设置的补位数据可使数据帧异步应答,实现对数据的每一字节都进行比较,及时发现错误并进行纠错处理,不仅提高了数据传输的正确性,而且也提高了数据传输的时效性。
附图说明:
图1是本发明实施例主控芯片与被控芯片通信接口连接示意图。
图2、3是本发明实施例被控芯片向主控芯片发送数据的流程图。
图4、5是本发明实施例主控芯片向被控芯片发送数据的流程图。
图6是本发明实施例被控芯片向主控芯片发送数据的时序图。
图7是本发明实施例主控芯片向被控芯片发送数据的时序图。
具体实施方式:
下面将结合附图说明本发明的具体实施方式。如图1所示:有与现有技术相同的主控芯片及被控芯片,主控芯片与被控芯片之间相接有发送数据线、接收数据线和时钟线,与现有技术所不同的是主控芯片的I/O口A与被控芯片的I/O口B-1相接,主控芯片的中断口与被控芯片的I/O口B-2相接。
本发明实施例的每一帧数据由17字节组成,第1字节为操作码,第2到第15字节为参数,第16字节为SUM校验值,最后一字节为通信结束值。
被控芯片向主控芯片发送数据的流程如图2、图3所示,时序如图6所示,主控芯片向被控芯片发送数据的流程如图4、图5所示,时序如图7所示。
主控芯片或被控芯片发出一帧数据从第1字节到第17字节,其数据分别为:SND[0]、SND[1]、SND[2]、......SND[14]、SND[15]、SND[16]。
被控芯片或主控芯片按字节依次接收的数据分别为:RCV[0]、RCV[1]、RCV[2]、.....RCV[14]、RCV[15]、RCV[16]。
主控芯片或被控芯片的补位数据可以是任意数据,如00H。
主控芯片或被控芯片按字节依次反馈的数据分别是:SND[0]f、SND[1]f、SND[2]f、......SND[14]f、SND[15]f。
被控芯片向主控芯片发送数据按照如下步骤进行:
1.1被控芯片通过I/O口B-2、中断口向主控芯片发出通信请求;
1.2主控芯片通过I/O口A应答并发送补位数据00H;
1.3被控芯片将一帧数据的第1字节数据SND[0]发出;
1.4主控芯片收到第1字节数据RCV[0]并将第1字节数据反馈至被控芯片;
1.5被控芯片将得到的反馈数据SND[0]f与所发出的第1字节数据SND[0]对比,正确进行下一步骤(1.6步骤),错误则向主控芯片发出数据传送错误信号(如0Xff)并从1.1步骤重新开始;
1.6被控芯片将此帧数据的第2字节数据SND[1]发出;
1.7主控芯片收到第2字节数据RCV[1]并将收到的数据反馈至被控芯片;
1.8被控芯片将得到的反馈数据SND[1]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/O口A电平拉低,使其在发送数据时一直处于低电平状态;
2.2主控芯片发出一帧数据的第1字节数据SND[0];
2.3被控芯片收到第1字节数据RCV[0]并反馈补位数据,如00H;
2.4主控芯片发出此帧数据的第2字节数据SND[1];
2.5被控芯片收到第2字节数据RCV[1]并将第1字节数据反馈至主控芯片;
2.6主控芯片将得到的第1字节反馈数据SND[0]f与所存储的第1字节数据SND[0]对比,正确则进行下一步骤(2.7),错误则向被控芯片发出数据错误信号(将I/O口A电平拉高)并从2.1步骤重新开始发送;
2.7主控芯片将数据的第3字节数据SND[2]发出;
2.8被控芯片收到第3字节数据RCV[2]并将上次收到的第2字节数据反馈至主控芯片;
2.9主控芯片将得到的反馈数据SND[1]f与所发出的SND[1]数据对比,正确则进行下一字节数据传送,错误则向被控芯片发出数据传送错误信号(将I/O口A电平拉高)并从2.1步骤开始重新发送;
2.10重复2.7~2.9步骤发送每4~16字节数据,直至被控芯片将数据的第17字节数据发出;
2.11被控芯片计算SUM值并与所收到的第n-1字节数据对比,正确被控芯片则将SUM值反馈至主控芯片,主控芯片向被控芯片发出通信结束信号,即将I/O口A电平拉高;错误被控芯片则向主控芯片发出数据传送错误信号(如0Xff),主控芯片也向被控芯片发出数据传送错误信号(将I/O口A电平拉高)并从2.1步骤开始重新发送。
Claims (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步骤重新开始。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100115752A CN101556567B (zh) | 2009-05-18 | 2009-05-18 | 微处理器之间的串行通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100115752A CN101556567B (zh) | 2009-05-18 | 2009-05-18 | 微处理器之间的串行通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101556567A CN101556567A (zh) | 2009-10-14 |
CN101556567B true CN101556567B (zh) | 2012-07-18 |
Family
ID=41174686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100115752A Active CN101556567B (zh) | 2009-05-18 | 2009-05-18 | 微处理器之间的串行通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101556567B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783431B (zh) * | 2019-02-25 | 2023-02-07 | 东莞蕾纳智能科技有限公司 | 微处理器间i/o端口通信方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561070A (zh) * | 2004-02-23 | 2005-01-05 | 四川长虹电器股份有限公司 | 一种基于串行通讯接口方式的mcu间通讯协议 |
CN1561069A (zh) * | 2004-02-23 | 2005-01-05 | 四川长虹电器股份有限公司 | 一种基于改进i2c接口方式的mcu间通讯协议 |
CN1671141A (zh) * | 2005-02-28 | 2005-09-21 | 邹润民 | 多主通信系统 |
CN1897513A (zh) * | 2005-07-15 | 2007-01-17 | 华为技术有限公司 | 一种单片机串口通信方法和单片机控制系统 |
-
2009
- 2009-05-18 CN CN2009100115752A patent/CN101556567B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561070A (zh) * | 2004-02-23 | 2005-01-05 | 四川长虹电器股份有限公司 | 一种基于串行通讯接口方式的mcu间通讯协议 |
CN1561069A (zh) * | 2004-02-23 | 2005-01-05 | 四川长虹电器股份有限公司 | 一种基于改进i2c接口方式的mcu间通讯协议 |
CN1671141A (zh) * | 2005-02-28 | 2005-09-21 | 邹润民 | 多主通信系统 |
CN1897513A (zh) * | 2005-07-15 | 2007-01-17 | 华为技术有限公司 | 一种单片机串口通信方法和单片机控制系统 |
Non-Patent Citations (1)
Title |
---|
JP特开平7-319806A 1995.12.08 |
Also Published As
Publication number | Publication date |
---|---|
CN101556567A (zh) | 2009-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100366029C (zh) | 通信控制器、主机端控制器、通信设备、通信系统和方法 | |
CN107832250B (zh) | 一种基于spi的主从通讯时序方法 | |
CN103116562A (zh) | 用于借助同步串行接口进行异步串行数据传输的方法 | |
CN105786753A (zh) | 一种i2c总线上的主从设备间的传输数据的方法及设备 | |
CN103051414A (zh) | 一种串行通信纠错方法和系统 | |
CN104038316B (zh) | 空间相机高可靠高时效异步串行通讯方法 | |
CN110990312B (zh) | 一种用于随钻探测中的芯片级数据通信方法 | |
CN107592250B (zh) | 基于航空fc总线多速率自适应测试设备 | |
CN102237983A (zh) | 非帧结构通讯系统中文件传输方法、发送装置和接收装置 | |
CN108011692A (zh) | 一种用于单片机的数据通信方法 | |
CN105260260A (zh) | 具有数据校验功能的spi数据传输设备及数据校验方法 | |
CN204633784U (zh) | 一种数据传输装置 | |
CN105183687A (zh) | 一种分时串口通信方法及系统 | |
CN101556567B (zh) | 微处理器之间的串行通信方法 | |
CN104991795B (zh) | 主动电容笔的固件升级方法及装置 | |
CN103107862A (zh) | 逻辑器件及其mdio数据发送方法 | |
CN110794982B (zh) | 触控显示装置及用于其的控制器 | |
US9094911B2 (en) | Data communication system, method of optimizing preamble length, and communication apparatus | |
CN103199966A (zh) | 工控系统中的数据传输方法及工控子系统、工控系统 | |
CN108241586B (zh) | 控制器电路与估计延迟补偿方法 | |
CN103577368B (zh) | 一种基于spi协议的iic扩展通信方法及装置 | |
CN101425877A (zh) | 一种模块间通讯的方法 | |
CN104735551A (zh) | Advb接收容错及处理方法 | |
JP2014082578A (ja) | 通信パケットを用い送信装置と受信装置を有する全二重通信装置及びその通信方法 | |
CN108509365B (zh) | 一种dbi的数据传输方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160721 Address after: 116000, Dalian building, 717 Huangpu Road, 10 hi tech Industrial Park, Liaoning, China Patentee after: Hua Luguang Storage Research Institute (Dalian) Limited Address before: 116023 Liaoning city of Dalian province high tech Park Road No. 1 (Chinese Hualu Matsushita Electronic Information Co., Ltd.) Patentee before: China Hualu-Panisonic Electronic Information Co., Ltd. |