CN1171578A - 使用普通微电脑进行串行数据的发送和接收的设备和方法 - Google Patents
使用普通微电脑进行串行数据的发送和接收的设备和方法 Download PDFInfo
- Publication number
- CN1171578A CN1171578A CN97112122A CN97112122A CN1171578A CN 1171578 A CN1171578 A CN 1171578A CN 97112122 A CN97112122 A CN 97112122A CN 97112122 A CN97112122 A CN 97112122A CN 1171578 A CN1171578 A CN 1171578A
- Authority
- CN
- China
- Prior art keywords
- serial data
- mentioned
- serial
- clock signal
- unit
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
- Microcomputers (AREA)
Abstract
一种串行数据通讯设备和方法,利用无内置I2C串行通讯硬件的普通微电脑进行I2C串行数据通讯。其中,代表串行数据发送或接收开始的开始条件是由开始条件检测装置利用输入的I2C通讯串行时钟信号和串行数据所检测;代表串行数据发送或接收停止的停止条件是由停止条件检测装置利用串行时钟信号和串行数据所检测。微电脑根据开始条件检测装置和停止条件检测装置提供的开始和停止信号为串行数据的发送或接收分别产生并发出一个中断。
Description
本发明普遍涉及一种数据通讯,更具体地说,是涉及一种用于串行数据通讯的方法和设备,它能够利用普通微电脑发送和接收内集成电路(IIC或I2C)的串行数据。
在用于串行数据通讯的传统设备中,串行数据的发送和接收由一硬件完成,该硬件作为一系统控制器内置在电脑中,并专门用于I2C串行通讯。
图1A是一种内置有I2C硬件的微电脑结构图。参考图1A,I2C串行通讯数据的发送和接收是在微电脑1的控制下完成的。具体来说,如图2A和2B所示,用于接收带有串行时钟信号SLC的串行数据SDA(都从外部接收到)的开始条件(start condition)由内置于微电脑1中的I2C硬件检测到。
接收到的数据与串行时钟信号SLC同时被逐字节地临时保存在一个数据寄存器IICDR中,该寄存器结构由图1B所示。然后,它们将被保存在内置于微电脑1的RAM(随机存取存储器)中。
作为结果,接收到的数据是通过数据寄存器IICDR被逐字节地保存在RAM中的。因此,如果系统接收到一个如图2A和2B所示的停止条件(stop condition),则数据接收将中止。
在数据传输的情况下,待发送的数据被临时保存在数据寄存器IICDR中,当如图2A和2B所示的开始条件出现后,数据将被逐字节地发送。随着数据传输的进行,当最后的数据发送完后,如图2A和2B所示的停止条件将中止数据传输。图3是一个算法图,它体现出利用含有内置I2C硬件的微电脑发送/接收I2C串行通讯数据的过程。
如上所述,传统的通讯设备应利用内置于微电脑的I2C硬件来完成I2C串行通讯。否则,I2C串行数据的发送/接收将不可能实现。
本发明的目的就是解决相关领域中涉及的问题,并提供一种用于串行数据通讯的设备和方法。利用该设备和方法,普通微电脑可以通过检测串行数据通讯的开始和停止条件来发送和接收I2C串行数据,而不需要内置的I2C串行通讯硬件。
从本发明的一个方面来看,它提供了一种用于串行数据通讯的设备,该设备包括一开始条件检测装置,它利用输入的I2C通讯串行时钟信号和串行数据检测串行数据发送或接收的开始条件,从而提供开始信号;一停止条件检测装置,它利用串行时钟信号和串行数据检测串行数据发送或接收的停止条件,从而提供停止信号;以及一微电脑,它可以根据由开始条件检测装置和停止条件检测装置提供的开始和停止信号为串行数据的发送或接收分别产生并发出一个中断。当中断产生后,微电脑将执行串行时钟信号和串行数据的发送或接收。
从本发明的另一个方面来看,它提供了一种利用普通电脑进行串行数据通讯的方法,该方法包括以下步骤:利用输入的I2C通讯串行时钟信号和串行数据,产生或检测串行数据发送或接收的开始条件;为发送或接收串行数据产生一个中断,并在产生或检测到开始条件时执行串行数据的发送和接收;利用串行时钟信号和串行数据,产生或检测串行数据发送或接收的停止条件,并在产生或检测到停止条件时中止串行数据的发送和接收。
通过对以下优选实例的描述并参考附图,本发明的上述目的、其它特征和优点将变得一目了然。其中:
图1A是一内置有I2C通讯硬件的微电脑结构视图。
图1B是一数据寄存器结构视图,该寄存器可以逐字节地临时保存待发送或接收到的I2C通讯数据。
图2A和2B分别说明了I2C通讯的串行时钟信号和串行数据的波形。
图3是一个算法图,它体现出利用含有内置I2C硬件的微电脑(如图1A所示)发送/接收I2C串行通讯数据的过程。
图4是一个设备方框图,该设备可以根据本发明所述,利用普通微电脑进行I2C串行数据通讯。
图5A到5E说明了当根据本发明检测到开始条件时,出现在图4中不同点的波形图。
图6A到6E说明了当根据本发明检测到停止条件时,出现在图4中不同点的波形图。
图7是一个算法图,它体现出根据本发明所述的串行数据接收的过程。
图8是一个算法图,它体现出根据本发明所述的串行数据发送的过程。
图4是一个设备方框图,该设备可以根据本发明所述,利用普通微电脑进行I2C串行数据通讯。根据图4,开始条件检测装置20接收到I2C通讯的一个串行时钟信号SCL和串行数据SDA,并检测串行数据发送/接收的开始条件,从而输出相应的开始信号。反相器30将待输入进开始条件检测装置的串行数据SDA反相,从而使开始条件检测装置20能够检测开始条件。
停止条件检测装置40接收到串行时钟信号SCL和串行数据SDA,并检测串行数据发送/接收的停止条件,从而输出相应的停止信号。如图4所示,开始和停止条件检测装置可以用双稳电路来实现,如触发器。
根据从开始条件检测装置20或停止条件检测装置40输出的开始或停止信号,微电脑10将为串行数据发送/接收产生或发出一个中断。微电脑10可以用嵌入式处理器、微控制器或类似器件来实现。当中断产生后,微电脑10将通过它本身的串行时钟信号输入/输出端(SCL-IN和SCL-OUT)和串行数据输入/输出端(SDA-IN和SDA-OUT)发送或接收串行时钟信号SCL和串行数据SDA。
缓冲部分50含有缓冲器51到54,它用于缓冲从微电脑10输入或输出的串行时钟信号SCL和串行数据SDA。
图4中,参考数字R1到R5代表限流电阻。
根据本发明上面所述,I2C串行数据通讯设备可以利用普通电脑进行I2C串行数据通讯,其功能是通过使普通微电脑能够检测I2C通讯的开始和停止条件来完成的。以下将参考图4、5A到5E、6A到6E、图7和图8对本发明的详细特征及操作进行解释。
首先,在串行数据接收的情况下,串行时钟信号SCL和串行数据SDA是从外部输入的。串行数据SDA经反相器30反相,然后通过输入端CLK1输入至开始条件检测装置20,而串行时钟信号SCL则通过输入端CLR1输入至开始条件检测装置。因此,开始条件检测装置20就可根据输入的串行时钟信号SCL和串行数据SDA检测开始条件,并通过其本身的输出端Q1-输出开始信号ST。
具体来说,如图5B所示的串行数据SDA先被反相器30反相,然后经输入端CLK1输入至开始条件检测装置20(如图5C所示),进而使开始条件检测装置20的输出端Q1-输出开始信号ST(如图5E所示)。微电脑10通过中断端INT-从开始条件检测装置20中接收开始信号ST,并产生用于接收串行时钟信号SCL和串行数据SDA的中断(图7中步骤S10到S11)。
此后,微电脑10通过缓冲器50和53将输入的串行时钟信号SCL和串行数据SDA输入至它的输入端SCL-IN和SDA-IN中。详细地说,当串行时钟信号SCL为高电平时,微电脑10先将串行数据SDA逐字节地保存在内置的数据寄存器中,并对保存在数据寄存器中的串行数据进行解码,然后将经解码后的数据存储在内置的RAM中(图7中步骤S12)。当对1个字节的串行数据接收完成后,在如图2A和2B所示的串行时钟信号的第九个高电平周期之间,微电脑10从其串行数据输出端SDA-OUT向发送部分输出一低电平接收确认信号ACK,使发送部分知道一个字节的数据已经被安全地接收(图7中步骤S13和S14)。
然后,当停止条件检测装置40根据输入的串行时钟信号SCL和串行数据SDA检测到串行数据SDA的停止条件时,它将从输出端Q2-输出停止信号SP。微电脑10对其输入端SIN(如图6E所示)上输入的低电平停止信号SP作出反应,并停止数据的接收(图7中步骤S15)。如果停止条件检测装置40的输出端Q2-保持高电平,则I2C串行数据通讯操作将持续进行。
在串行数据发送的情况下,微电脑10首先利用其输出端SCR-OUT和SDA-OUT输出的串行时钟信号SCL和串行数据SDA向接收部分发送开始条件,然后发送1个字节的串行数据SDA(图8中步骤S20和S21)。具体来说,每当从输出端SCL-OUT输出的串行时钟信号SCL变为低电平时,微电脑10就顺序输出1位串行数据SDA。
然后,在串行时钟信号SCL的第九个高电平周期期间,微电脑10将检查它的输入端SDA-IN并确定是否从接收部分传来低电平接收确认信号ACK(图8中步骤S22)。如果确定有接收确认信号ACK输入,则数据的发送将逐字节地继续进行,如上所述。
当数据发送结束后(图8中步骤23),微电脑10将利用串行时钟信号SCL和串行数据SDA(图8中步骤S24)向接收部分发送停止条件,从而中止数据发送。
如上所述,本发明能够利用没有内置I2C通讯硬件的普通微电脑进行I2C串行数据通讯,因此减少了通讯设备的制造成本。
尽管对本发明的优选实施例已经作出详细的文字和图解描述,但它仅起到说明的作用。应该明白,对其形式或内容所做的修改和变换不会脱离本发明下述权利要求中所提出的精神和范围。
Claims (9)
1.一种利用普通微电脑进行串行数据通讯的设备,其特征在于包括:
开始条件检测装置,它利用输入的I2C通讯串行时钟信号和串行数据检测串行数据发送或接收的开始条件,从而提供开始信号;
停止条件检测装置,它利用上述串行时钟信号和串行数据,检测上述串行数据发送或接收的停止条件,从而提供停止信号;
控制装置,它可以根据由开始条件检测装置和停止条件检测装置提供的上述开始和停止信号为串行数据的发送或接收分别产生并发出一个中断,当上述中断产生后,它将执行上述串行时钟信号和串行数据的发送或接收。
2.如权利要求1所述的串行数据通讯设备,其特征在于进一步含有串行数据转换装置,它用于对上述串行数据进行转换并将转换后的数据输入至开始条件检测装置,从而使得上述开始条件检测装置能够根据上述经转换后的串行数据来检测上述开始条件。
3.如权利要求2所述的串行数据通讯设备,其特征在于上述串行数据转换装置含有一反相器。
4.如权利要求1所述的串行数据通讯设备,其特征在于进一步含有能够对从上述控制装置输入或输出的上述串行时钟信号和串行数据进行缓冲的设备。
5.如权利要求1所述的串行数据通讯设备,其特征在于通过上述控制装置对上述串行数据的发送或接收是逐字节地进行的。
6.如权利要求1所述的串行数据通讯设备,其特征在于上述控制装置含有一内置的随机存取存储器,它用于存储上述待发送或已接收的串行数据。
7.一种利用普通微电脑进行串行数据通讯的方法,其特征在于包括以下步骤:
利用内集成电路(I2C)通讯型的串行时钟信号和串行数据,产生或检测串行数据发送或接收的开始条件;
为发送或接收上述串行数据产生一个中断,并在产生或检测到上述开始条件时执行一个预定数据单元的串行数据的发送和接收;
利用上述串行时钟信号和串行数据,产生或检测上述串行数据发送或接收的停止条件;
在产生或检测到上述停止条件时中止上述串行数据的发送和接收。
8.如权利要求7所述的串行数据通讯方法,其特征在于上述发送或接收的串行数据的预定数据单元为1个字节。
9.如权利要求8所述的串行数据通讯方法,其特征在于进一步含有在执行完发送或接收上述预定数据单元的步骤之后,检查和确认安全收到上述串行数据的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KRP9619634 | 1996-06-03 | ||
KRP96-19634 | 1996-06-03 | ||
KR1019960019634A KR0184136B1 (ko) | 1996-06-03 | 1996-06-03 | 범용 마이컴을 이용한 아이 스퀘어 씨 통신 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1171578A true CN1171578A (zh) | 1998-01-28 |
CN1114866C CN1114866C (zh) | 2003-07-16 |
Family
ID=19460673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97112122A Expired - Fee Related CN1114866C (zh) | 1996-06-03 | 1997-06-03 | 使用普通微电脑进行串行数据的发送和接收的设备和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5903737A (zh) |
KR (1) | KR0184136B1 (zh) |
CN (1) | CN1114866C (zh) |
BR (1) | BR9702377A (zh) |
GB (1) | GB2313987B (zh) |
ID (1) | ID18788A (zh) |
MX (1) | MX9704092A (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078192A (en) * | 1997-09-18 | 2000-06-20 | Ericsson, Inc. | Circuit and method for using the I2 C serial protocol with multiple voltages |
DE19744375A1 (de) * | 1997-10-08 | 1999-04-15 | Philips Patentverwaltung | Steuerschaltung für einen Microcontroller |
US8108508B1 (en) * | 1998-06-22 | 2012-01-31 | Hewlett-Packard Development Company, L.P. | Web server chip for network manageability |
US6594691B1 (en) * | 1999-10-28 | 2003-07-15 | Surfnet Media Group, Inc. | Method and system for adding function to a web page |
US6456219B1 (en) | 2000-02-22 | 2002-09-24 | Texas Instruments Incorporated | Analog-to-digital converter including two-wire interface circuit |
KR20020066636A (ko) * | 2001-02-13 | 2002-08-21 | 엘지이노텍 주식회사 | 디지털 셋탑박스 프로세서간의 통신 방법 |
US6799233B1 (en) * | 2001-06-29 | 2004-09-28 | Koninklijke Philips Electronics N.V. | Generalized I2C slave transmitter/receiver state machine |
US6968472B2 (en) * | 2002-04-22 | 2005-11-22 | Silicon Labs Cp. Inc. | Serial data interface |
FR2839827B1 (fr) * | 2002-05-14 | 2005-07-15 | St Microelectronics Sa | Circuit de detection de depart, circuit de detection d'arret, et circuit de detection de donnees transmises selon le protocole iic |
US7221749B2 (en) * | 2002-09-23 | 2007-05-22 | At&T Knowledge Ventures, L.P. | Removing slamming protection to permit a change in service providers |
DE60201334T2 (de) * | 2002-10-29 | 2005-10-06 | Agilent Technologies, Inc. (n.d.Ges.d.Staates Delaware), Palo Alto | Stromrichtungserkennung |
US7391788B2 (en) * | 2002-11-01 | 2008-06-24 | Broadcom Corporation | Method and system for a three conductor transceiver bus |
GB2422697A (en) * | 2003-04-30 | 2006-08-02 | Agilent Technologies Inc | Serial communication between master and slave devices |
US20060230385A1 (en) * | 2005-04-12 | 2006-10-12 | I-Lang Chang | Method for displaying program profiling, software development program with profiling display and physical storage medium with software development program |
JP2007164765A (ja) * | 2005-11-15 | 2007-06-28 | Matsushita Electric Ind Co Ltd | Iicバス通信システム、スレーブ装置およびiicバス通信制御方法 |
DE102006004346A1 (de) * | 2006-01-30 | 2007-10-18 | Deutsche Thomson-Brandt Gmbh | Datenbusschnittstelle mit abschaltbarem Takt |
TWI444021B (zh) * | 2007-09-17 | 2014-07-01 | Htc Corp | 解譯串列傳輸訊號之方法 |
US9436647B2 (en) * | 2013-09-13 | 2016-09-06 | Stmicroelectronics Asia Pacific Pte Ltd | IIC bus start-stop detection circuit |
DE102014206752B4 (de) | 2014-04-08 | 2021-08-12 | Robert Bosch Gmbh | Bestimmung des Zustands eines I2C-Busses |
DE102014223362A1 (de) | 2014-11-17 | 2016-05-19 | Robert Bosch Gmbh | Steuerungseinrichtung für I²C-Slave-Einrichtungen |
CN105446927B (zh) * | 2015-11-16 | 2018-03-13 | 郑州众智科技股份有限公司 | 基于发电机组历史记录的串口通信方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4689740A (en) * | 1980-10-31 | 1987-08-25 | U.S. Philips Corporation | Two-wire bus-system comprising a clock wire and a data wire for interconnecting a number of stations |
FR2565751B1 (fr) * | 1984-06-08 | 1986-09-05 | Radiotechnique Compelec | Circuit d'interface du type esclave |
FR2565752B1 (fr) * | 1984-06-08 | 1986-09-05 | Radiotechnique Compelec | Circuit d'interface du type esclave fonctionnant avec un bus serie |
US4727477A (en) * | 1985-03-22 | 1988-02-23 | International Business Machines Corp. | Logically transportable microprocessor interface control unit permitting bus transfers with different but compatible other microprocessors |
DE3789728T2 (de) * | 1986-05-22 | 1994-12-15 | Chrysler Corp | Serieller Datenbus für verschiedene Betriebsarten (SCI, SPI und gepufferte SPI) und Verfahren für serielle Peripherieschnittstelle in einem seriellen Datenbus. |
US5226173A (en) * | 1988-05-06 | 1993-07-06 | Hitachi, Ltd. | Integrated data processor having mode control register for controlling operation mode of serial communication unit |
FR2728705A1 (fr) * | 1994-12-21 | 1996-06-28 | Philips Electronics Nv | Procedure de transmission de donnees par bus |
JPH08204784A (ja) * | 1995-01-31 | 1996-08-09 | Mitsubishi Denki Semiconductor Software Kk | シリアル入出力回路を内蔵したマイクロコンピュータ |
US5696994A (en) * | 1995-05-26 | 1997-12-09 | National Semiconductor Corporation | Serial interface having control circuits for enabling or disabling N-channel or P-channel transistors to allow for operation in two different transfer modes |
-
1996
- 1996-06-03 KR KR1019960019634A patent/KR0184136B1/ko not_active IP Right Cessation
-
1997
- 1997-05-30 US US08/865,779 patent/US5903737A/en not_active Expired - Lifetime
- 1997-06-03 CN CN97112122A patent/CN1114866C/zh not_active Expired - Fee Related
- 1997-06-03 MX MX9704092A patent/MX9704092A/es unknown
- 1997-06-03 BR BR9702377A patent/BR9702377A/pt not_active IP Right Cessation
- 1997-06-03 GB GB9711459A patent/GB2313987B/en not_active Expired - Fee Related
- 1997-06-03 ID IDP971886A patent/ID18788A/id unknown
Also Published As
Publication number | Publication date |
---|---|
ID18788A (id) | 1998-05-07 |
MX9704092A (es) | 1997-12-31 |
CN1114866C (zh) | 2003-07-16 |
KR980007258A (ko) | 1998-03-30 |
KR0184136B1 (ko) | 1999-05-15 |
GB9711459D0 (en) | 1997-07-30 |
GB2313987B (en) | 1998-09-16 |
GB2313987A (en) | 1997-12-10 |
BR9702377A (pt) | 1998-09-08 |
US5903737A (en) | 1999-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1114866C (zh) | 使用普通微电脑进行串行数据的发送和接收的设备和方法 | |
US7979629B2 (en) | Memory module and control method of serial peripheral interface using address cache | |
CN1390417A (zh) | 简化的硬件网络适配器和通信方法 | |
CN1212517A (zh) | 集成电路之间的串行数据通信 | |
GB2265283A (en) | Resynchronization of a synchronous serial interface | |
US5889817A (en) | Communication system with data comparison circuit | |
CN1317657C (zh) | 串行数据传输系统、串行数据传输方法及通信单元 | |
KR20050052537A (ko) | 버스 상에 데이터를 전송하기 위한 방법 | |
CN1137708A (zh) | 数字信号处理方法及其装置 | |
US4955061A (en) | Method and apparatus for processing an image signal | |
EP0287678B1 (en) | Data transfer system having transfer discrimination circuit | |
JPH0713880A (ja) | バスに対する情報伝送方法 | |
US20080279289A1 (en) | Transmitter, receiver, method for transmitting, method for receiving, fixed length serial burst data transfer system, semiconductor device, and hybrid semiconductor device | |
US6760854B2 (en) | Method and apparatus for handling a framing error at a serial interface by forcing invalid commands to be read upon determine the command is invalid | |
CN1441566A (zh) | 使用三步通信缓存的通信设备 | |
US6219416B1 (en) | Method and apparatus for processing FISU frames according to the Signalling System 7 protocol | |
KR100245708B1 (ko) | 이모빌라이져 시스템 | |
CN1620008A (zh) | 一种实现数据传输快速响应的方法 | |
JPH098863A (ja) | 通信プロトコル制御装置 | |
KR19990074276A (ko) | 시리얼 버스라인 및 이를 이용한 데이터 전송방법 | |
JP2630077B2 (ja) | クロック同期式シリアルインターフェース | |
EP0383946A1 (en) | Series control apparatus | |
JPH106615A (ja) | 印字装置 | |
JP2000003312A (ja) | 同期式シリアル通信システム及びその制御方法 | |
JPH1139256A (ja) | 通信制御装置および通信制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030716 |