CN101221550A - 一种串行通讯的方法及芯片 - Google Patents

一种串行通讯的方法及芯片 Download PDF

Info

Publication number
CN101221550A
CN101221550A CNA200810049185XA CN200810049185A CN101221550A CN 101221550 A CN101221550 A CN 101221550A CN A200810049185X A CNA200810049185X A CN A200810049185XA CN 200810049185 A CN200810049185 A CN 200810049185A CN 101221550 A CN101221550 A CN 101221550A
Authority
CN
China
Prior art keywords
data
serial
chip
communication
serial communication
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.)
Pending
Application number
CNA200810049185XA
Other languages
English (en)
Inventor
许新朋
李改霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CNA200810049185XA priority Critical patent/CN101221550A/zh
Publication of CN101221550A publication Critical patent/CN101221550A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

本发明公开了一种串行通讯的方法,它包括以下步骤:***初始化,发送通讯数据帧,接收通讯数据帧,***初始化时,在打开串口后,先设置串口芯片通讯参数和FIFO中断触发级别;在发送通讯数据帧时,区别地址数据和应用数据的标志位,其步骤包括:将奇偶校验位设置为“1”,然后发送地址,再将奇偶校验位设置为“0”,发送数据;在串口通讯芯片支持的情况下,将所述区别地址数据和应用数据的标志位和全部数据一起缓存到操作***驱动程序的缓存和串口通讯芯片上的FIFO缓存中。本发明解决了切换标志位时遇到的时间问题,并同时使上位工控机收到数据后向上层应用报告的速度也比默认设置提高4到16倍,同时扩大了地址空间。

Description

一种串行通讯的方法及芯片
技术领域
本发明属于电子通讯领域,特别是涉及一种高效率的串行数据通讯的方法,并提供一种在该方法中所使用的芯片。
背景技术
RS485协议由于设计简单,成本低廉,目前仍然广泛的应用于工业数据通讯领域,上位工控机等高速设备与下位单片机等低速设备构成集散***,而由于RS-485总线和成本的限制,上位工控机与下位单片机间采用主从方式通信,特别是为了节省布线成本,工业上多采用半双工方式通讯,通常采用11位方式,依次为起始位、8位数据位、奇偶校验位、停止位,下位单片机串口工作在方式3,每个单片机终端都约定了1个唯一的地址。此时奇偶校验位在对于下位单片机来说并不是作为奇偶校验位来使用的,而是用做“地址”数据和“数据”数据的区分标志位。这样,下位单片机就可以通过判断奇偶校验位来实现平时只接收“地址”数据,当“地址”数据和自己的地址吻合时再接收“数据”数据。否则,下位单片机将忙于不断的进入中断处理通讯数据而没有时间处理其他业务。
基于上述的原理描述,一种常见的通讯帧格式如下:
  地址(1字节)  长度(1字节)  命令(2字节)  数据(4字节)  校验(4字节)
地址:总线上终端的地址,要求其在物理层上传输时校验位为1。
长度:当前帧的长度,要求其在物理层上传输时校验位为0。
命令:命令类型和子类型,要求其在物理层上传输时校验位为0。
数据:命令参数或应答数据,要求其在物理层上传输时校验位为0。
校验:当前帧的CRC校验和,要求其在物理层上传输时校验位为0。
可以看到,要求通讯时地址字节和其他数据字节的校验位不同,地址字节的校验位为1,其他数据字节的校验位为0。为了达到这个目的,上位工控机有两种方式可供选择:
①先设置串口的奇偶校验方式为标记校验,此时发出的数据校验位始终为1,发送完成地址字节后,修改串口的奇偶校验方式为空校验,此时发出的数据校验位始终为0。
②设置串口的奇偶校验方式为偶校验,或者奇校验,对所有地址字节和数据字节,都空出来1位不要使用,即仅7位实际有效,通过对空出来的这1位置0或者置1,就可以间接达到控制最终的奇偶校验位的作用。
如果采用第一种方式,由于上位工控机是高速设备,受操作***时钟以及操作***缓存、串口芯片缓存等因素的综合影响,在默认情况下,发出地址字节后(必须是该字节已经从芯片发送到了线路上之后才可以更改校验方式,否则就会出现发出的数据校验位不明的情况)需要等待几十毫秒,这个时间即便是对于9600的波特率来说也是过长了,且这个时间无法在可以接受的误差下进行估计。当总线上有多个设备时,效率非常低下,所以无法实用。
如果采用第二种方式,那么很显然,必须空出一位,此时需要对要发送的数据编码,从8位序列编码为7位序列,接收的时候再解码。为了方便编解码,实际应用中常见到直接把1个字节分成两个字节的编码方式,具体编码方式是形如十六进制数据“30”,直接编码成十六进制的“33 30”。这种空出一位的方式对总线资源造成了浪费。
无论采用第一种还是第二种方式,当上位工控机接收数据时,如果上位工控机希望自己发送完数据后能尽可能快的得到下位终端的回应,则除了下位终端尽快回应外,上位工控机收到数据后应尽快向上层应用报告收到数据的事件。
发明内容
本发明的目的就在于提供一种高效率的串行通讯的方法,并提供一种实施该方法所需的串行通讯芯片。
本发明的目的可通过以下措施来实现:
本发明包括以下步骤:***初始化,发送通讯数据帧,接收通讯数据帧,其特征在于:***初始化时,在打开串口后,先设置串口芯片通讯参数和FIFO中断触发级别;在发送通讯数据帧时,区别地址数据和应用数据的标志位,其步骤包括:将奇偶校验位设置为“1”,然后发送地址,再将奇偶校验位设置为“0”,发送数据;在串口通讯芯片支持的情况下,将所述区别地址数据和应用数据的标志位和全部数据一起缓存到操作***驱动程序的缓存和串口通讯芯片上的FIFO缓存中。
***初始化时,在打开串口后,还需要查询和配置计时器精度TimerResolution。
查询和配置计时器精度Timer Resolution包括以下步骤:查询当前计时器精度Timer Resolution;判断是否为最高可用精度;如果不是最高可用精度,将计时器精度Timer Resolution设置为最高可用精度。
***初始化时,通过串口设备IO控制码设置FIFO中断触发级别。
发送通讯数据帧时,在发送地址和数据之后均需要进行等待,等待时间根据发送字符的长度和波特率来设定。
发送通讯数据帧时,等待的时间超过2毫秒的部分,使用线程休眠的方法;等待的时间低于2毫秒的部分,通过CPU性能计数器进行延迟。
发送通讯数据帧时,通过串口设备IO控制码直接操作硬件的方式来设置奇偶校验位。
接收通讯数据帧时,分别读取地址和数据。
一种实施上述方法所需要的串行通讯芯片,芯片的外部总线和内部总线均为9位,并采用9位数据缓冲区Data Bus Buffer、9位发送存储寄存器Transmitter Holding Register、9位发送移位寄存器Transmitter ShiftRegister、9位接收缓冲寄存器Receiver Buffer Register、9位接收移位寄存器Receiver Shift Register,外部接口上引出9个数据管脚,且采用9位发送和接收FIFO。
将串行通讯芯片挂接在16位以上的***板总线上,CPU采用16位的方式对所述的串行通讯芯片进行输入输出数据。
本发明通过调整上位工控机操作***和对上位工控机内含的串口通讯芯片的适当设置,可以解决切换标志位时遇到的时间问题,并同时使上位工控机收到数据后向上层应用报告的速度也比默认设置提高4到16倍,同时扩大了地址空间,在不增加地址长度的情况下,使***总线上可以容纳的设备数量增大了一倍。采用本发明中所述新芯片实施本发明时,可以在保证高效率的前提下将速度提高到115200bps以及更高的速度。实施本发明的***在终端一级兼容于基于现有技术实现的终端,并且实施本发明的成本低廉,体现了良好的工业价值。
附图说明
图1是本发明实施例1的示意流程图;
图2是本发明实施例2的示意流程图;
图3是本发明中查询和配置计时器精度Timer Resolution的示意流程图;
图4是本发明实施例3中通过CPU性能计数器进行延迟的示意流程图;
图5是本发明实施例4中通过CPU性能计数器进行延迟的示意流程图;
图6是本发明中串行通讯芯片的原理图。
具体实施方式
本发明中,串行通讯的方法所作用的***,是一个高速设备通过串行总线与多个低速设备进行通讯。高速设备指CPU处理能力在30MIPS以上、内部总线频率在10MHZ以上的计算机***,如PC、工控机、智能手机、工业手持机等。低速设备指CPU处理能力在30MIPS以下、内部总线频率在10MHZ以下的计算机***,如单片机、PLC等。本发明的实施例均基于RS485协议进行说明,也可以应用于其他具有类似特征的通讯协议。
实施例1
如图1所示,本发明中串行通讯的方法包括以下步骤:①***初始化,在打开串口后,先设置串口芯片通讯参数和FIFO中断触发级别;②发送通讯数据帧,区别地址数据和应用数据的标志位,并和全部数据一起缓存到操作***驱动程序的缓存和芯片上的FIFO缓存中,其步骤包括:将奇偶校验位设置为“1”,然后发送地址,再将奇偶校验位设置为“0”,发送数据;③接收通讯数据帧。
根据Windows和Linux等常用非实时多任务操作***的配置要求,特别是受布线成本和距离的影响,9600和19200是工业应用中最常用的两个波特率。下面以波特率为9600为例,说明本发明中的各项配置。并且,19200波特率也可以采用这样的参数设置。
将串口通讯操作的线程优先级设置为比默认值高,但低于串口驱动程序的优先级。不同的操作***优先级的划分层级以及默认值、驱动程序优先级数值都是不同的,可以自行编写驱动程序,来设定任意所需要的驱动程序优先级。试验证实采用比默认高一级的线程优先级具有最广泛的通用性。
对于FIFO中断触发级别,一般来说,默认值为8或16,在本发明中,需要设置串口通讯芯片的FIFO的中断触发级别为1。如果禁用FIFO将导致性能严重下降。
串口驱动程序的设置如下:
读间隔超时Read Interval Timeout=10ms;
读超时常量Read Total Timeout Constant=20ms;
读超时乘数Read Total Timeout Multiplier=10ms;
写超时乘数Write Total Timeout Multiplier=10ms;
写超时常量Write Total Timeout Constant=20ms;
上边参数的意义是:
当读取N个数据时,总读取等待时间是Read Total Timeout Multiplier×N+Read Total Timeout Constant,超过这个时间认为超时;
当写N个数据时,总等待时间是Write Total Timeout Multiplier×N+Write Total Timeout Constant,超过这个时间认为超时。
上述参数可以根据操作***串口驱动程序的文档说明进行调整,理论上数值越小***对串行通讯的响应越迅速,但随之出现通讯错误的几率也上升了。上述数值是试验测得的适应性最好的数值,在实际应用中通讯帧错误率低于万分之五。
如图6所示,一种实施上述方法所需要的串行通讯芯片,外部总线和内部总线均为9位,并采用9位数据缓冲区Data Bus Buffer、9位发送存储寄存器Transmitter Holding Register、9位发送移位寄存器Transmitter ShiftRegister、9位接收缓冲寄存器Receiver Buffer Register、9位接收移位寄存器Receiver Shift Register,外部接口上引出9个数据管脚,且采用9位发送和接收FIFO。所述9位发送和接收FIFO系指位宽,并非指FIFO总位数,例如FIFO总位数可以是16×9、128×9、256×9等规格。
为了简化连接,从逻辑上来说,将串行通讯芯片直接挂接在16位以上***板总线上,CPU采用16位的方式对该芯片输入或者输出数据,这16位中只有9位有效,即D8~D0,其中的D8就是计算或者设置好的校验位。现在的CPU已经足够快、内存也已经足够大,CPU使用16位端口操作该串行通讯芯片带来的方便性、兼容性等效益远大于损失。
实施例2
如图1所示,本发明中串行通讯的方法包括以下步骤:①***初始化,在打开串口后,先设置串口芯片通讯参数和FIFO中断触发级别;②发送通讯数据帧,区别地址数据和应用数据的标志位,并和全部数据一起缓存到操作***驱动程序的缓存和芯片上的FIFO缓存中,其步骤包括:将奇偶校验位设置为“1”,然后发送地址,再将奇偶校验位设置为“0”,发送数据;③接收通讯数据帧。
以波特率为19200为例,说明本实施例中的各项配置。并且,9600波特率也可以采用这样的参数设置。
串口驱动程序的设置如下:
读间隔超时Read Interval Timeout=5ms;
读超时常量Read Total Timeout Constant=15ms;
读超时乘数Read Total Timeout Multiplier=5ms;
写超时乘数Write Total Timeout Multiplier=5ms;
写超时常量Write Total Timeout Constant=15ms;
上边参数的意义是:
当读取N个数据时,总读取等待时间是Read Total Timeout Multiplier×N+Read Total Timeout Constant,超过这个时间认为超时;
当写N个数据时,总等待时间是Write Total Timeout Multiplier×N+Write Total Timeout Constant,超过这个时间认为超时。
其他参数的设置和技术方案与实施例1相同。
实施例3
如图2所示,本发明中串行通讯的方法包括以下步骤:①***初始化,在打开串口后,先设置串口芯片通讯参数和FIFO中断触发级别;另外还需要要查询和配置计时器精度Timer Resolution。②发送通讯数据帧,区别地址数据和应用数据的标志位,在串口通讯芯片支持的情况下,将所述区别地址数据和应用数据的标志位和全部数据一起缓存到操作***驱动程序的缓存和串口通讯芯片上的FIFO缓存中,其步骤包括:将奇偶校验位设置为“1”,然后发送地址,再将奇偶校验位设置为“0”,发送数据;在发送地址和数据之后均需要进行等待,所述的等待时间根据发送字符的长度和波特率来设定。③接收通讯数据帧。
对于Windows和Linux等非实时多任务操作***,所述计时器精度也即默认的线程调度时间片,其值通常在10到15ms之间,将这个时间切换到1ms。这是因为,采用9600这一个最慢的串口通讯速率时,一个字符的发送时间约为1.1ms。
如图3所示,在步骤①中,查询和配置计时器精度Timer Resolution包括以下步骤:查询当前计时器精度Timer Resolution;判断是否为最高可用精度;如果不是最高可用精度,将计时器精度Timer Resolution设置为最高可用精度。在通用操作***中,最高精度通常为1ms,或者说操作***时钟频率为1000Hz,所以通常实际设置数值为1ms。设置为低于1ms的数值在技术上是可以实现的,但是随着数值的减小,操作***线程调度越来越频繁,***效率就越来越低了。
在步骤②中,在发送地址和数据之后均需要进行等待,所述的等待时间根据发送字符的长度和波特率来设定,且等待的时间均为微妙级等待,以保证效率并确定发送的地址和数据已经从线路上发送出去。
在实际操作过程中,需要进行相对精确的计时,其方法是将需要等待的时间分割开:等待的时间超过2毫秒的部分,使用线程休眠的方法;等待的时间低于2毫秒的部分,通过CPU性能计数器进行延迟。所述休眠与延迟的区别在于休眠让出CPU时间片给其他应用,而延迟则继续占用CPU时间片。如图4所示,通过CPU性能计数器进行延迟的步骤为:保存并设置新的线程关系掩码,接着查询高精度性能计数器的频率,并查询高精度性能计数值,计算需要等待的计数值,判断是否已经到了需要的计数值,如果已经到了需要的计数值,则恢复线程关系掩码,否则让出当前时间片,查询高精度性能计数值,再次进行判断。
设置奇偶校验位,需要程序员调用专门制定的函数来进行设置,所述的函数为本领域技术人员能够实现的现有技术。
一种实施上述方法所需要的串行通讯芯片,可以采用原有的串行通讯芯片,也可以采用如图6所示本发明中的串行通讯芯片,其外部总线和内部总线均为9位,并采用9位数据缓冲区Data Bus Buffer、9位发送存储寄存器TransmitterHolding Register、9位发送移位寄存器Transmitter Shift Register、9位接收缓冲寄存器Receiver Buffer Register、9位接收移位寄存器Receiver ShiftRegister,外部接口上引出9个数据管脚,且采用9位发送和接收FIFO。所述9位发送和接收FIFO系指位宽,并非指FIFO总位数,例如FIFO总位数可以是16×9、128×9、256×9等规格。
采用原有的芯片时,必须完成上述方法中的每一个步骤,包括:初始化时,设置串口芯片通讯参数、串口芯片中断触发级别和查询配置计时器精度;在发送通讯数据帧时,调用专门制定的函数将奇偶校验位设置为“1”,发送地址,进行微妙级等待,再次调用专门制定的函数将奇偶校验位设置为“0”,发送数据,再次进行微妙级等待;接收通讯数据帧时,读取地址和数据。
串口通讯操作的线程优先级、FIFO中断触发级别、串口驱动程序的设置均与实施例1中的设置相同。
另外,通过对驱动程序等***软件的修改,可以做到本发明中的串行通讯芯片应用接口和原有芯片兼容,在配置方式上和原有芯片相同,即从应用角度看支持奇校验、偶校验、标记校验、空校验、无校验位等方式。当然也可以根据需要采用不兼容的方式。
从串行线路的角度看,本发明中的串行通讯芯片,可称为16C550NEW及衍生系列,与原有芯片,如16C550及衍生系列等,是等同的。整个工业应用***中,采用原有芯片和采用本发明中的芯片的终端在终端一级是可以相互替换的,保证了良好的兼容性。
简单的说,本发明中的芯片是9位芯片,原有芯片是8位芯片,他们之间的关系就如同32位CPU和16位CPU的关系。
新芯片的核心设计思想是外部和内部总线都是9位,普通寄存器是8位,移位寄存器等相应的模块做相应处理。相对于原16C550芯片,芯片内部不再需要自动计算奇偶校验位,该奇偶校验位的计算由外部处理器计算好,通过数据总线传入,即D8,也可以考虑保留这个自动奇偶校验的功能,通过控制寄存器来设置使用D8还是使用芯片的自动奇偶校验功能。这样,就无需采用在发送完地址字节之后,再等待数据物理上从线路发出,然后再切换奇偶校验的方式,而可以连续的发送“奇偶校验方式”不同的数据,不但提高了效率,还简化了上层应用程序的控制流程。
实施例4
如图2所示,本发明中串行通讯的方法包括以下步骤:①***初始化,在打开串口后,先设置串口芯片通讯参数和FIFO中断触发级别;另外还需要查询和配置计时器精度Timer Resolution。②发送通讯数据帧,区别地址数据和应用数据的标志位,在串口通讯芯片支持的情况下,将所述区别地址数据和应用数据的标志位和全部数据一起缓存到操作***驱动程序的缓存和串口通讯芯片上的FIFO缓存中。其步骤包括:将奇偶校验位设置为“1”,然后发送地址,再将奇偶校验位设置为“0”,发送数据;在发送地址和数据之后均需要进行等待,所述的等待时间根据发送字符的长度和波特率来设定。③接收通讯数据帧时,分别读取地址和数据。
在发送通讯数据帧时的等待时间里,将需要等待的时间分割开:等待的时间超过2毫秒的部分,使用线程休眠的方法;等待的时间低于2毫秒的部分,通过CPU性能计数器进行延迟。所述休眠与延迟的区别在于休眠让出CPU时间片给其他应用,而延迟则继续占用CPU时间片。如图5所示,将延迟过程拆分为开始计时何停止计时,由此通过CPU性能计数器进行延迟的步骤为:开始计时并制定总延迟时间Time1,然后执行占用时间Time2的工作,最后延迟(Time1-Time2)的时间。
为实施该方法,可以采用原有的串行通讯芯片,其原理与实施例3中相同。
实施例5
如图2所示,本发明中串行通讯的方法包括以下步骤:①***初始化,在打开串口后,先设置串口芯片通讯参数和FIFO中断触发级别,通过串口设备IO控制码设置FIFO中断触发级别;另外还需要查询和配置计时器精度TimerResolution。②发送通讯数据帧,区别地址数据和应用数据的标志位,在串口通讯芯片支持的情况下,将所述区别地址数据和应用数据的标志位和全部数据一起缓存到操作***驱动程序的缓存和串口通讯芯片上的FIFO缓存中,其步骤包括:将奇偶校验位设置为“1”,然后发送地址,再将奇偶校验位设置为“0”,发送数据;在发送地址和数据之后均需要进行等待,所述的等待时间根据发送字符的长度和波特率来设定,与此同时,通过串口设备IO控制码直接操作硬件的方式来设置奇偶校验位。③接收通讯数据帧时,分别读取地址和数据。
为实施该方法,可以采用原有的串行通讯芯片,其原理与实施例3中相同。
本发明中的实施例仅为实施本发明的个别实施方式,而不限定于所述的实施例。本领域的熟练技术人员可在权利要求书所要求的范围内做任意的修改。
本发明中的串行通讯芯片具有广泛的工业应用环境,如校园餐厅餐饮售饭***、超市POS***、环境检测***、云台控制***以及其他一个高速设备需要高效的访问多个低速设备的工业环境。由于本发明中的芯片和原芯片可以实现兼容,所以原芯片能够应用的领域该芯片也可以应用。该新芯片或者基于该思想的改进芯片可能还适用于国防工业上有类似需求的项目。基于该芯片以及该芯片的设计思想,可以衍生出很多类似串行芯片,如16C554NEW、Super IO芯片等等。还有一些厂家的专用定制产品也可以通过实施该发明而获益,如MOXA系列串口通信卡CI-132等、研华系列通信卡等。

Claims (10)

1.一种串行通讯的方法,它包括以下步骤:***初始化,发送通讯数据帧,接收通讯数据帧,其特征在于:***初始化时,在打开串口后,先设置串口芯片通讯参数和FIFO中断触发级别;在发送通讯数据帧时,区别地址数据和应用数据的标志位,其步骤包括:将奇偶校验位设置为“1”,然后发送地址,再将奇偶校验位设置为“0”,发送数据;在串口通讯芯片支持的情况下,将所述区别地址数据和应用数据的标志位和全部数据一起缓存到操作***驱动程序的缓存和串口通讯芯片上的FIFO缓存中。
2.根据权利要求1所述的串行通讯的方法,其特征在于:***初始化时,在打开串口后,还需要查询和配置计时器精度Timer Resolution。
3.根据权利要求2所述的串行通讯的方法,其特征在于:所述的查询和配置计时器精度Timer Resolution包括以下步骤:查询当前计时器精度TimerResolution;判断是否为最高可用精度;如果不是最高可用精度,将计时器精度Timer Resolution设置为最高可用精度。
4.根据权利要求1所述的串行通讯的方法,其特征在于:***初始化时,通过串口设备IO控制码设置FIFO中断触发级别。
5.根据权利要求1所述的串行通讯的方法,其特征在于:发送通讯数据帧时,在发送地址和数据之后均需要进行等待,所述的等待时间根据发送字符的长度和波特率来设定。
6.根据权利要求1或5所述的串行通讯的方法,其特征在于:发送通讯数据帧时,等待的时间超过2毫秒的部分,使用线程休眠的方法;等待的时间低于2毫秒的部分,通过CPU性能计数器进行延迟。
7.根据权利要求6所述的串行通讯的方法,其特征在于:发送通讯数据帧时,通过串口设备IO控制码直接操作硬件的方式来设置奇偶校验位。
8.根据权利要求1所述的串行通讯的方法,其特征在于:接收通讯数据帧时,分别读取地址和数据。
9.一种如权利要求1所述的实施该方法所需要的串行通讯芯片,其特征在于:所述芯片的外部总线和内部总线均为9位,并采用9位数据缓冲区Data BusBuffer、9位发送存储寄存器Transmitter Holding Register、9位发送移位寄存器Transmitter Shift Register、9位接收缓冲寄存器Receiver BufferRegister、9位接收移位寄存器Receiver Shift Register,外部接口上引出9个数据管脚,且采用9位发送和接收FIFO。
10.根据权利要求9所述的串行通讯芯片,其特征在于:将所述的串行通讯芯片挂接在16位以上的***板总线上,CPU采用16位的方式对所述的串行通讯芯片进行输入输出数据。
CNA200810049185XA 2008-01-30 2008-01-30 一种串行通讯的方法及芯片 Pending CN101221550A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA200810049185XA CN101221550A (zh) 2008-01-30 2008-01-30 一种串行通讯的方法及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA200810049185XA CN101221550A (zh) 2008-01-30 2008-01-30 一种串行通讯的方法及芯片

Publications (1)

Publication Number Publication Date
CN101221550A true CN101221550A (zh) 2008-07-16

Family

ID=39631397

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200810049185XA Pending CN101221550A (zh) 2008-01-30 2008-01-30 一种串行通讯的方法及芯片

Country Status (1)

Country Link
CN (1) CN101221550A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306137A (zh) * 2011-08-16 2012-01-04 苏州瀚瑞微电子有限公司 利用串口通信模拟片上***总线的方法
CN102508757A (zh) * 2011-11-02 2012-06-20 四川长虹电器股份有限公司 一种Linux***的串口调试实现方法
CN103092805A (zh) * 2011-11-08 2013-05-08 财团法人资讯工业策进会 串行数据传输***及其方法
CN103365798A (zh) * 2013-06-27 2013-10-23 华为技术有限公司 一种串口分时复用的方法及***
CN105278437A (zh) * 2014-06-16 2016-01-27 上海宝信软件股份有限公司 基于S7-300/400 PLC的Modbus RTU/ASCII协议实现方法
WO2017032178A1 (zh) * 2015-08-27 2017-03-02 深圳市中兴微电子技术有限公司 一种校验和的计算方法、网络处理器及计算机存储介质
CN109313623A (zh) * 2017-11-15 2019-02-05 深圳配天智能技术研究院有限公司 切换串口数据传输状态的方法及装置
CN111124986A (zh) * 2019-12-30 2020-05-08 贵州兔淘智能科技有限公司 一种与Modbus兼容且更高效的异步串口通信协议
CN113778920A (zh) * 2021-11-12 2021-12-10 湖南双菱电子科技有限公司 一种嵌入式处理器串口通信方法和软件开发工具包

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306137A (zh) * 2011-08-16 2012-01-04 苏州瀚瑞微电子有限公司 利用串口通信模拟片上***总线的方法
CN102508757A (zh) * 2011-11-02 2012-06-20 四川长虹电器股份有限公司 一种Linux***的串口调试实现方法
CN103092805B (zh) * 2011-11-08 2015-09-16 财团法人资讯工业策进会 串行数据传输***及其方法
CN103092805A (zh) * 2011-11-08 2013-05-08 财团法人资讯工业策进会 串行数据传输***及其方法
CN103365798B (zh) * 2013-06-27 2016-08-31 华为技术有限公司 一种串口分时复用的方法及***
CN103365798A (zh) * 2013-06-27 2013-10-23 华为技术有限公司 一种串口分时复用的方法及***
CN105278437A (zh) * 2014-06-16 2016-01-27 上海宝信软件股份有限公司 基于S7-300/400 PLC的Modbus RTU/ASCII协议实现方法
WO2017032178A1 (zh) * 2015-08-27 2017-03-02 深圳市中兴微电子技术有限公司 一种校验和的计算方法、网络处理器及计算机存储介质
CN106484503A (zh) * 2015-08-27 2017-03-08 深圳市中兴微电子技术有限公司 一种校验和的计算方法及网络处理器
CN106484503B (zh) * 2015-08-27 2019-10-18 深圳市中兴微电子技术有限公司 一种校验和的计算方法及网络处理器
CN109313623A (zh) * 2017-11-15 2019-02-05 深圳配天智能技术研究院有限公司 切换串口数据传输状态的方法及装置
WO2019095124A1 (zh) * 2017-11-15 2019-05-23 深圳配天智能技术研究院有限公司 切换串口数据传输状态的方法及装置
CN109313623B (zh) * 2017-11-15 2022-04-15 深圳配天智能技术研究院有限公司 切换串口数据传输状态的方法及装置
CN111124986A (zh) * 2019-12-30 2020-05-08 贵州兔淘智能科技有限公司 一种与Modbus兼容且更高效的异步串口通信协议
CN113778920A (zh) * 2021-11-12 2021-12-10 湖南双菱电子科技有限公司 一种嵌入式处理器串口通信方法和软件开发工具包

Similar Documents

Publication Publication Date Title
CN101221550A (zh) 一种串行通讯的方法及芯片
CN109857685B (zh) 一种mpu与fpga扩展多串口的实现方法
CN102023954B (zh) 具有多路i2c总线的装置、处理器、***主板及工控计算机
CN100504921C (zh) 一种智能卡操作***和方法
CN102929836B (zh) 一种航天专用asic芯片***
CN102420877B (zh) 一种多模式高速智能异步串口通信模块及实现方法
CN102023942A (zh) Spi外设访问装置及方法
CN102023953A (zh) 具有多路i2c总线的***的控制方法
CN101866328A (zh) 一种自动访问的串行总线读写控制方法
CN101581964B (zh) 计算机***及***设备驱动方法
CN104156333A (zh) 一种基于fpga的uart多接口扩展***和方法
CN100480923C (zh) I2c总线从控制器软实现方法
CN104320317A (zh) 一种以太网物理层芯片状态的传送方法和装置
CN107436851B (zh) 串行外设接口四线隔离***及其控制方法
CN204423250U (zh) 一种具有多路高速智能can的x86嵌入式cpu主板
CN102546107B (zh) 接触式卡片与读卡设备间的数据传输方法、***和转接卡
CN107291647A (zh) Dsp读取扩展串口中接收通道数据的方法
CN1561492A (zh) 用于与总线连接的总线***和总线接口
CN204229397U (zh) Rs232串口与以太网接口转换器
CN201336032Y (zh) 一种软件模拟串行数据传输装置
CN101673220A (zh) 一种提高双界面sim卡工作并行度的方法
CN101415027B (zh) 基于hdlc协议的通讯模块及数据实时转发存储控制方法
CN1934558A (zh) 信令设备以及用于其的方法
CN101655825B (zh) 一种使用fpga实现lpc-usb双向通信的装置及lpc-usb和usb-lpc数据转换方法
CN106649183A (zh) 一种基于mcu的低功耗串行通信芯片

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20080716