CN114610669A - 多路串口通信中实现时钟同步校准的方法及系统 - Google Patents
多路串口通信中实现时钟同步校准的方法及系统 Download PDFInfo
- Publication number
- CN114610669A CN114610669A CN202210258227.0A CN202210258227A CN114610669A CN 114610669 A CN114610669 A CN 114610669A CN 202210258227 A CN202210258227 A CN 202210258227A CN 114610669 A CN114610669 A CN 114610669A
- Authority
- CN
- China
- Prior art keywords
- communication
- serial port
- port communication
- field
- serial
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 509
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000005070 sampling Methods 0.000 claims abstract description 61
- 125000004122 cyclic group Chemical group 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001795 light effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 208000032365 Electromagnetic interference Diseases 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
Images
Classifications
-
- 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/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及一种多路串口通信中实现时钟同步校准的方法及系统。其驱动芯片内包括一串口通信模块;配置串口通信数据帧,配置的串口通信数据帧包括时钟校准字段;任一驱动芯片的串口通信模块接收一串口通信数据帧后,根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准系统时钟fsys_trim,以实现基于驱动芯片内串口通信模块的校准系统时钟fsys_trim下多个驱动芯片串口通信时的时钟同步校准。本发明既能有效实现时钟同步校准,又能实现串口通信时的复位,提升应用场景的抗EMI性能,减少对驱动芯片的管脚资源占用。
Description
技术领域
本发明涉及一种方法及系统,尤其是一种多路串口通信中实现时钟同步校准的方法及系统。
背景技术
近年来,随着汽车产业电动化、智能化和追求更好用户体验的发展需求,车灯应用作为汽车产业最重要的一个应用方向,得到了快速的发展。在一些应用场景,如矩阵式大灯、氛围灯和贯穿式尾灯等应用场景中,为了满足客户满意的灯效,需要的驱动芯片数量成倍增长,有些甚至需要几十个驱动芯片才能实现要求的灯效。为了满足灯效的一致性和连贯性,所有驱动芯片需要实现时钟同步。
为了实现多个驱动芯片的同步,已有的方案采用同一个基准时钟,每个芯片的逻辑功能基于同样的时钟产生,但这样会导致整个应用场景的抗EMI(Electro-MagneticInterference)性能变差,这对EMI敏感的汽车应用非常不友好,同时也需要专门的时钟管脚来实现时钟的互联,占用了芯片有限的管脚资源。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种多路串口通信中实现时钟同步校准的方法及系统,其既能有效实现时钟同步校准,又能实现串口通信时的复位,提升应用场景的抗EMI性能,减少对驱动芯片的管脚资源占用。
按照本发明提供的技术方案,所述多路串口通信中实现时钟同步校准的方法,包括多个待进行串口通信的驱动芯片,每个驱动芯片内包括一用于串口通信处理的串口通信模块;配置利用驱动芯片内串口通信模块在串口通信时的串口通信数据帧,其中,所配置的串口通信数据帧包括用于时钟校准的时钟校准字段,所述时钟校准字段包括串行采样基准数据;
任一驱动芯片的串口通信模块接收一串口通信数据帧后,利用当前驱动芯片内串口通信模块的通信模块时钟OSC对串行采样基准数据采样并计数,以得到采样计数值N,且根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准系统时钟fsys_trim,以实现基于驱动芯片内串口通信模块的校准系统时钟fsys_trim下多个驱动芯片串口通信时的时钟同步校准。
根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准后系统时钟fsys_trim时,则有
所述串口通信数据帧还包括通信复位字段,其中,通信复位字段位于串口通信数据帧的头部,通信复位字段位于时钟校准字段的前并紧邻所述时钟校准字段;
利用串口通信数据帧对一驱动芯片内的串口通信模块复位时,通信复位字段的复位电平持续时间大于串口通信模块的复位基准电平持续时间。
所述串口通信数据帧还包括依次排布的通信命令字段、通信设备地址字段、寄存器地址字段、通信数据字段以及循环校验字段,其中,通信命令字段紧邻时钟校准字段,通信命令字段、通信设备地址字段以及寄存器地址字段内均包括一起始位、8个数据位以及一结束位。
利用串口通信数据帧内的通信命令字段配置驱动芯片内串口通信模块的串口通信模式,其中,所配置的串口通信模式包括广播写模式、单设备写模式或单设备读模式;
串口通信模式为单设备写模式或单设备读模式时,对通信完成的驱动芯片,利用所述驱动芯片内的串口通信模块发送一通信应答响应,其中,串口通信模式为单设备写模式时,通信应答响应包括通信设备地址字段;串口通信模式为单设备读模式时,通信应答响应包括响应通信数据字段以及响应循环校验字段。
对通信命令字段内的8个数据位,低两数据位构成通信模式配置位,中间的四数据位构成通信数据字段长度配置位,高两数据位构成奇偶校验位;
利用奇偶校验位进行奇偶校验时,则有
P0=CMD[0]+CMD[1]+CMD[2]+CMD[4];
P1=~(CMD[1]+CMD[3]+CMD[4]+CMD[5]);
其中,P0为低位的奇偶校验值,P1为高位的奇偶校验值,CMD[0]为通信命令字段第1数据位的值,CMD[1]为通信命令字段第2数据位的值,CMD[2]为通信命令字段第3数据位的值,CMD[3]为通信命令字段第4数据位的值,CMD[4]为通信命令字段第5数据位的值,CMD[5]为通信命令字段第6数据位的值。
对通信设备地址字段以及寄存器地址字段,通信设备地址字段内的第1数据位至第第3数据位形成寄存器地址位REGADDR[10:8],通信设备地址字段的第4数据位至第8数据位形成通信设备地址位;
寄存器地址字段的8个数据位形成寄存器地址位REGADDR[7:0],利用寄存器地址位REGADDR[7:0]以及寄存器地址位REGADDR[10:8]形成11位寄存器的起始地址。
循环校验字段包括CRCL位以及CRCH位;
串口通信模式为广播写模式或单设备写模式时,串口通信数据帧内还包括通信数据字段,所述通信数据字段位于寄存器地址字段与循环校验字段之间;
串口通信模式为广播写模式或单设备写模式时,采用基于CRC-16-IBM方式对串口通信数据帧内的通信命令字段、通信设备地址字段、寄存器地址字段、通信数据字段进行所需的CRC校验,得到的循环校验字段包括数据CRCL位以及数据CRCH位;
串口通信模式为单设备读模式时,采用基于CRC-16-IBM方式对串口通信数据帧内的通信命令字段、通信设备地址字段、寄存器地址字段进行所需的CRC校验,以得到的循环校验字段包括数据CRCL位以及数据CRCH位。
一种多路串口通信中时钟同步校准的系统,包括一串口通信主设备以及待与所述串口通信主设备串口通信的多个驱动芯片,每个驱动芯片内包括一用于串口通信处理的串口通信模块;配置利用驱动芯片内串口通信模块在串口通信时的串口通信数据帧,其中,所配置的串口通信数据帧包括用于时钟校准的时钟校准字段,所述时钟校准字段包括串行采样基准数据;
任一驱动芯片的串口通信模块接收串口通信主设备发送的一串口通信数据帧后,利用当前驱动芯片内串口通信模块的通信模块时钟OSC对串行采样基准数据采样并计数,以得到采样计数值N,且根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准系统时钟fsys_trim,以实现基于驱动芯片内串口通信模块的校准系统时钟fsys_trim下多个驱动芯片串口通信时的时钟同步校准。
根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准后系统时钟fsys_trim时,则有
本发明的优点:在与多个驱动芯片内的串口通信模块进行串口通信时,利用串口通信数据帧内的时钟校准字段能实现对每个串口通信模块的时钟校准,时钟校准时通过利用当前驱动芯片内串口通信模块的通信模块时钟OSC对串行采样基准数据采样并计数,以得到采样计数值N,根据采样计数值N,通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准系统时钟fsys_trim,以实现基于驱动芯片内串口通信模块的校准系统时钟fsys_trim下多个驱动芯片串口通信时的时钟同步校准,即能有效实现串口通信时的时钟同步校准,由于采用串口通信模块内部的通讯模块时钟SOC,从而能提高在时钟同步校准时的抗EMI能力,时钟校准不需要占用驱动芯片的时钟管脚;通过通信复位字段还能实现串口通信时对相应驱动芯片内串口通信模块的复位。
附图说明
图1为本发明驱动芯片的示意图。
图2为本发明串口通信数据帧内通信复位字段以及时钟校准字段的示意图。
图3为本发明通信命令字段紧邻时钟校准字段,通信命令字段、通信设备地址字段以及寄存器地址字段数据格式的示意图。
图4为本发明串口通信模式为广播写模式时的通信示意图。
图5为本发明串口通信模式为单设备写模式时的通信示意图。
图6为本发明串口通信模式为单设备读模式时的通信示意图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
为了能有效实现时钟同步校准,提升应用场景的抗EMI性能,减少对驱动芯片的管脚资源占用,本发明的时钟同步校准的方法,具体地:包括多个待进行串口通信的驱动芯片,每个驱动芯片内包括一用于串口通信处理的串口通信模块;配置利用驱动芯片内串口通信模块在串口通信时的串口通信数据帧,其中,所配置的串口通信数据帧包括用于时钟校准的时钟校准字段,所述时钟校准字段包括串行采样基准数据;
任一驱动芯片的串口通信模块接收一串口通信数据帧后,利用当前驱动芯片内串口通信模块的通信模块时钟OSC对串行采样基准数据采样并计数,以得到采样计数值N,且根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准系统时钟fsys_trim,以实现基于驱动芯片内串口通信模块的校准系统时钟fsys_trim下多个驱动芯片串口通信时的时钟同步校准。
具体地,串口通信时的时钟同步校准,具体是指同时存在多个驱动芯片时同时进行串口通信时的时钟同步校准,当然,在串口通信时,还应存在与驱动芯片适配连接的串口通信主设备,串口通信主设备的具体形式以及驱动芯片的具体形式均可以根据需要选择,以能满足实际的应用场景为准,如能满足背景技术中提到的矩阵式LED驱动情况,具体为本技术领域人员所熟知,此处不再一一列举和说明。一般地,在驱动芯片内至少包括一串口通信模块,如图1所示,利用串口通信模块能实现串口通信的处理,串口通信的处理一般包括串口数据的接收、发送等处理,具体处理的形式可以根据实际需要选择,串口通信模块以及所述串口通信模块在驱动芯片内的具体形式等均可根据实际需要选择,此处不再赘述。
在进行串口通信时,一般需要配置串口通信数据帧,以便串口通信模块能解析得到所需的串口通信数据。本发明实施例中,配置的串口通信数据帧包括时钟校准字段,同时,在时钟校准字段内包括串行采样基准字段。
串口通信主设备与多个驱动芯片串口通信时,串口通信主设备一般会发送一串口通信数据帧,发送的串口通信数据帧能被相应驱动芯片的串口通信模块所接收。本发明实施例中,在接收到串口通信数据帧后,用当前驱动芯片内串口通信模块的通信模块时钟OSC对串行采样基准数据采样并计数,在采样计数后能得到采样计数值N,具体可采用现有常用的技术手段实现对串行采样基准数据采样与计数,具体采样计数的方式可以根据实际需要选择,以能实现所需的采样计数为准,此处不再赘述。
具体实施时,在得到采样计数值N后,根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准系统时钟fsys_trim,以实现基于驱动芯片内串口通信模块的校准系统时钟fsys_trim下多个驱动芯片串口通信时的时钟同步校准,即能有效实现串口通信时的时钟同步校准,由于采用串口通信模块内部的通讯模块时钟SOC,从而能提高在时钟同步校准时的抗EMI能力,时钟校准不需要占用驱动芯片的时钟管脚。
具体地,串口通信时的目标时钟频率fsys为理想状态下的串口通信时的目标时钟评率fsys,计算确定的校准后系统时钟fsys_trim与目标时钟频率fsys相一致或两者之间的差值位于一允许的误差范围内,所述允许的误差范围与实际的应用场景等相关,具体可以根据需要选择或设置,此处不在赘述。
本发明实施例中,得到每个驱动芯片内串口通信模块的校准系统时钟fsys_trim后,即可实现基于驱动芯片内串口通信模块的校准系统时钟fsys_trim下多个驱动芯片串口通信时的时钟同步校准,从而每个驱动芯片内串口通信模块在相应校准系统时钟fsys_trim下满足在时钟同步与串口通信主设备进行串口通信。
进一步地,根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准后系统时钟fsys_trim时,则有
本发明实施例中,在串口通信时,串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys均能具体确定,对于一确定的驱动芯片,所述驱动芯片内串口通信模块的通讯模块时钟OSC的频率fosc也能具体确定得到,因此,可以计算得到当前驱动芯片内串口通信模块的校准后系统时钟fsys_trim。
具体实施时,串行采样基准数据的长度m可以为8位,串行采样基准数据可以为“10101010”,当然,串行采样基准数据还可以为其他形式,以能满足串行通信模块在通信模块时钟OSC的频率fosc对串行采样基准数据采样并计数的需求为准,此处不再赘述。
进一步地,所述串口通信数据帧还包括通信复位字段,其中,通信复位字段位于串口通信数据帧的头部,通信复位字段位于时钟校准字段的前并紧邻所述时钟校准字段;
利用串口通信数据帧对一驱动芯片内的串口通信模块复位时,通信复位字段的复位电平持续时间大于串口通信模块的复位基准电平持续时间。
本发明实施例中,为了能实现对驱动芯片内串口通信模块复位的目的,串口通信数据帧还需要包括通信复位字段,当存在通信复位字段时,通信复位字段一般位于串口通信数据帧的头部,如可位于串口通信数据帧的起始位置。时钟校准字段紧邻通信复位字段。
当需要利用串口通信数据帧对一驱动芯片内的串口通信模块复位时,通信复位字段的复位电平持续时间大于串口通信模块的复位基准电平持续时间。具体实施时,通常情况下,驱动芯片内串口通信模块在受到低电平且低电平持续时间在9bit情况下可实现对串口通信模块复位,因此,本发明实施例中,通信复位字段的复位电平为低电平且持续时间大于9bit时,即可实现对串口通信模块的复位。当然,复位基准电平还可以为高电平,复位基准电平的持续时间还可以为9bit外的其他情况,因此,通信复位字段的复位电平以及复位电平持续时间的具体情况,以复位基准电平相关,以能满足串口通信模块实际的复位为准,此处不在赘述。
图2中示出了通信复位字段以及时钟校准字段在串口通信数据帧内的情况,图2中,Break Field即为通信复位字段,Sync Field即为时钟校准字段,Measurement forClock Calibration即为串行采样基准数据。
如图4、图5和图6所示,所述串口通信数据帧还包括依次排布的通信命令字段、通信设备地址字段、寄存器地址字段、通信数据字段以及循环校验字段,其中,通信命令字段紧邻时钟校准字段,通信命令字段、通信设备地址字段以及寄存器地址字段内均包括一起始位、8个数据位以及一结束位。
本发明实施例中,在串口通信数据帧内还包括通信命令字段、通信设备地址字段、寄存器地址字段、通信数据字段以及循环校验字段,一般地,沿串口通信数据帧头部指向尾部的方向上,通信复位字段、时钟校准字段、通信命令字段、通信设备地址字段、寄存器地址字段、通信数据字段以及循环校验字段依次排布。
具体实施时,通信命令字段、通信设备地址字段以及寄存器地址字段内均包括一起始位、8个数据位以及一结束位,采用一起始位、8个数据位以及一结束位的具体格式可以参考图3的说明书。对于上述数据格式,低位的数据位先传输,高位的数据位后传输,图3中传输为0xA5的数据字节。
进一步地,对通信命令字段内的8个数据位,低两数据位构成通信模式配置位,中间的四数据位构成通信数据字段长度配置位,高两数据位构成奇偶校验位;
利用奇偶校验位进行奇偶校验时,则有
P0=CMD[0]+CMD[1]+CMD[2]+CMD[4];
P1=~(CMD[1]+CMD[3]+CMD[4]+CMD[5]);
其中,P0为低位的奇偶校验值,P1为高位的奇偶校验值,CMD[0]为通信命令字段第1数据位的值,CMD[1]为通信命令字段第2数据位的值,CMD[2]为通信命令字段第3数据位的值,CMD[3]为通信命令字段第4数据位的值,CMD[4]为通信命令字段第5数据位的值,CMD[5]为通信命令字段第6数据位的值。对于P1,“~”表示为取反运算。
本发明实施例中,对于通信命令字段内的8个数据位,具体可以形成通信模式配置位、通信数据字段长度配置位以及奇偶校验位,具体下表所示。
具体的,CMD Field即为通信命令字段,利用bit0、bit1可形成通信模式配置位CMD_CODE[1:0],利用bit2、bit3、bit4以及bit5形成通信数据字段长度配置位DATA_LENGFTH[3:0],对于通信数据字段长度配置位DATA_LENGFTH[3:0]可设置串口通信时数据传输的字节个数。利用bit6可表示低位的奇偶校验值P0,利用bit7可形成高位的奇偶校验值P1。
进一步地,利用串口通信数据帧内的通信命令字段配置驱动芯片内串口通信模块的串口通信模式,其中,所配置的串口通信模式包括广播写模式、单设备写模式或单设备读模式;
串口通信模式为单设备写模式或单设备读模式时,对通信完成的驱动芯片,利用所述驱动芯片内的串口通信模块发送一通信应答响应,其中,串口通信模式为单设备写模式时,通信应答响应包括通信设备地址字段;串口通信模式为单设备读模式时,通信应答响应包括通信数据字段以及循环校验字段。
本发明实施例中,利用串口通信数据帧内的通信命令字段配置驱动芯片内串口通信模块的串口通信模式,即利用通信模式配置位CMD_CODE[1:0]可实现对通信模式的配置,具体配置情况,如下表所示:
其中,Broadcast Write为广播写模式,Single Device Write即为单设备写模式,Single Device Read为单设备读模式。当处于广播写模式时,所有的驱动芯片内的串口通信模块被配置为从设备,串口通信主设备可以同时访问所有串口通信连接的从设备,但被访问的从设备不会像串口通信主设备发送响应帧。对于单设备写模式、单设备读模式的具体情况,下述进行具体详细说明。
进一步地,对通信设备地址字段以及寄存器地址字段,通信设备地址字段内的第1数据位至第第3数据位形成寄存器地址位REGADDR[10:8],通信设备地址字段的第4数据位至第8数据位形成通信设备地址位;
寄存器地址字段的8个数据位形成寄存器地址位REGADDR[7:0],利用寄存器地址位REGADDR[7:0]以及寄存器地址位REGADDR[10:8]形成11位寄存器的起始地址。
具体地,由上述说明可知,通信设备地址字段以及寄存器地址字段内均包括8个数据位,其中,通过通信设备地址字段以及寄存器地址字段共同配合,以能表示通信设备地址位以及11位寄存器的起始地址。
上表中,DEVID Field即为通信设备地址字段,REGADDR Field即为寄存器地址字段,其中,利用寄存器地址字段的8个数据位表示11位寄存器起始地址中11位地址的低8位地址,利用通信设备地址字段内bit0、bit1以及bit2形成11位寄存器起始地址中的高三位地址,而利用通信设备地址字段内的bit3~bit7形成通信设备地址位,即为DEVID[4:0]。
图4~图6中的DATA1~DATAn即为通信数据字段,通信数据字段传输数据的单位为byte,具体传输的字节数可通过通信数据字段长度配置位DATA_LENGFTH[3:0]设置。
进一步地,循环校验字段包括CRCL位以及CRCH位;
串口通信模式为广播写模式或单设备写模式时,串口通信数据帧内还包括通信数据字段,所述通信数据字段位于寄存器地址字段与循环校验字段之间;
串口通信模式为广播写模式或单设备写模式时,采用基于CRC-16-IBM方式对串口通信数据帧内的通信命令字段、通信设备地址字段、寄存器地址字段、通信数据字段进行所需的CRC校验,得到的循环校验字段包括数据CRCL位以及数据CRCH位;
串口通信模式为单设备读模式时,采用基于CRC-16-IBM方式对串口通信数据帧内的通信命令字段、通信设备地址字段、寄存器地址字段进行所需的CRC校验,以得到的循环校验字段包括数据CRCL位以及数据CRCH位。
本发明实施例中,串口通信模式为广播模式或单设备写模式时,CRC-16-IBM对串口通信数据帧内的通信命令字段、通信设备地址字段、寄存器地址字段以及通信数据字段进行所需的CRC校验,CRC-16-IBM循环校验的具体方式以及过程均与现有的CRC(CyclicRedundancy Check,循环校验)的过程相一致,具体为本技术领域人所熟知,此处不在赘述。在进行CRC校验后,即可得到CRCL位以及CRCH位,通过CRC校验,用于确保数据的一致性和完整性,提高串口数据通信的可靠性。当然,串口通信模式为单设备读模式是,采用基于CRC-16-IBM方式对串口通信数据帧内的通信命令字段、通信设备地址字段、寄存器地址字段进行CRC校验时的方式以及过程也与现有相一致,具体为本技术领域人员所熟知,此处不再赘述。
当一驱动芯片内的串口通信模块被配置处于单设备写模式时,在与串口通信主设备通信完成后,处于单设备写模式的串口通信模块,可选择的发送一个通信应答响应,即通信应答响应发送至串口通信主设备,如图5所示。通信应答响应的数据格式可为:{“011”,device ID[4:0]},根据通信应答响应,以能让串口通信主设备知道处于有效状态的串口通信模块。具体地,通信完成具体是指没有发生CRC校验错误以及奇偶校验错误的情况,即串口通信数据帧满足CRC校验以及奇偶校验。
当一驱动芯片内的串口通信模块被配置处于单设备读模式时,此时的串口通信数据帧包括通信复位字段(Break Field)+时钟校准字段(Sync Field)+通信命令字段(CMDField)+通信设备地址字段(DEVID Field)+寄存器地址字段(REG ADDR)+循环校验字段(CRC16),通信复位字段、时钟校准字段、通信命令字段、通信设备地址字段、寄存器地址字段以及循环校验字段的具体情况可以参考上述说明,此处不在赘述。
配置处于单设备读模式的串口通信模块,其通信应答响应包括响应通信数据字段以及响应循环校验字段,其中,响应通信数据字段,具体为被配置单设备读模式的驱动芯片内相应寄存器内的数据,驱动芯片内相应的寄存器可以从起始地址读出连续设定个数的寄存器值,具体可以根据实际情况配置,以能满足单设备读模式的需求为准;响应循环校验字段即为对响应通信数据字段进行CRC校验后得到的响应循环校验字段的CRC校验值,响应循环校验字段一般也包括响应CRCL位以及响应CRCH位,即在确定响应通信字段数据后,采用本技术领域常用的CRC循环校验可以得到响应循环校验字段,响应循环校验字段内的CRC校验值的具体情况可以参考上述说明。
综上,可得到本发明多路串口通信中时钟同步校准的系统,包括一串口通信主设备以及待与所述串口通信主设备串口通信的多个驱动芯片,每个驱动芯片内包括一用于串口通信处理的串口通信模块;配置利用驱动芯片内串口通信模块在串口通信时的串口通信数据帧,其中,所配置的串口通信数据帧包括用于时钟校准的时钟校准字段,所述时钟校准字段包括串行采样基准数据;
任一驱动芯片的串口通信模块接收串口通信主设备发送的一串口通信数据帧后,利用当前驱动芯片内串口通信模块的通信模块时钟OSC对串行采样基准数据采样并计数,以得到采样计数值N,且根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准系统时钟fsys_trim,以实现基于驱动芯片内串口通信模块的校准系统时钟fsys_trim下多个驱动芯片串口通信时的时钟同步校准。。
具体的,串口通信主设备、多个驱动芯片,每个驱动芯片内的串口通信模块以及利用时钟校准字段实现串口通信中时钟同步校准的过程均可以参考上述说明,此处不再赘述。
Claims (10)
1.一种多路串口通信中实现时钟同步校准的方法,包括多个待进行串口通信的驱动芯片,每个驱动芯片内包括一用于串口通信处理的串口通信模块;其特征是:配置利用驱动芯片内串口通信模块在串口通信时的串口通信数据帧,其中,所配置的串口通信数据帧包括用于时钟校准的时钟校准字段,所述时钟校准字段包括串行采样基准数据;
任一驱动芯片的串口通信模块接收一串口通信数据帧后,利用当前驱动芯片内串口通信模块的通信模块时钟OSC对串行采样基准数据采样并计数,以得到采样计数值N,且根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准系统时钟fsys_trim,以实现基于驱动芯片内串口通信模块的校准系统时钟fsys_trim下多个驱动芯片串口通信时的时钟同步校准。
3.根据权利要求1或2所述的多路串口通信中实现时钟同步校准的方法,其特征是:所述串口通信数据帧还包括通信复位字段,其中,通信复位字段位于串口通信数据帧的头部,通信复位字段位于时钟校准字段的前并紧邻所述时钟校准字段;
利用串口通信数据帧对一驱动芯片内的串口通信模块复位时,通信复位字段的复位电平持续时间大于串口通信模块的复位基准电平持续时间。
4.根据权利要求3所述的多路串口通信中实现时钟同步校准的方法,其特征是:所述串口通信数据帧还包括依次排布的通信命令字段、通信设备地址字段、寄存器地址字段以及循环校验字段,其中,通信命令字段紧邻时钟校准字段,通信命令字段、通信设备地址字段以及寄存器地址字段内均包括一起始位、8个数据位以及一结束位。
5.根据权利要求4所述的多路串口通信中实现时钟同步校准的方法,其特征是:利用串口通信数据帧内的通信命令字段配置驱动芯片内串口通信模块的串口通信模式,其中,所配置的串口通信模式包括广播写模式、单设备写模式或单设备读模式;
串口通信模式为单设备写模式或单设备读模式时,对通信完成的驱动芯片,利用所述驱动芯片内的串口通信模块发送一通信应答响应,其中,串口通信模式为单设备写模式时,通信应答响应包括通信设备地址字段;串口通信模式为单设备读模式时,通信应答响应包括响应通信数据字段以及响应循环校验字段。
6.根据权利要求4所述的多路串口通信中实现时钟同步校准的方法,其特征是:对通信命令字段内的8个数据位,低两数据位构成通信模式配置位,中间的四数据位构成通信数据字段长度配置位,高两数据位构成奇偶校验位;
利用奇偶校验位进行奇偶校验时,则有
P0=CMD[0]+CMD[1]+CMD[2]+CMD[4];
P1=~(CMD[1]+CMD[3]+CMD[4]+CMD[5]);
其中,P0为低位的奇偶校验值,P1为高位的奇偶校验值,CMD[0]为通信命令字段第1数据位的值,CMD[1]为通信命令字段第2数据位的值,CMD[2]为通信命令字段第3数据位的值,CMD[3]为通信命令字段第4数据位的值,CMD[4]为通信命令字段第5数据位的值,CMD[5]为通信命令字段第6数据位的值。
7.根据权利要求4所述的多路串口通信中实现时钟同步校准的方法,其特征是:对通信设备地址字段以及寄存器地址字段,通信设备地址字段内的第1数据位至第第3数据位形成寄存器地址位REGADDR[10:8],通信设备地址字段的第4数据位至第8数据位形成通信设备地址位;
寄存器地址字段的8个数据位形成寄存器地址位REGADDR[7:0],利用寄存器地址位REGADDR[7:0]以及寄存器地址位REGADDR[10:8]形成11位寄存器的起始地址。
8.根据权利要求4所述的多路串口通信中实现时钟同步校准的方法,其特征是:循环校验字段包括CRCL位以及CRCH位;
串口通信模式为广播写模式或单设备写模式时,串口通信数据帧内还包括通信数据字段,所述通信数据字段位于寄存器地址字段与循环校验字段之间;
串口通信模式为广播写模式或单设备写模式时,采用基于CRC-16-IBM方式对串口通信数据帧内的通信命令字段、通信设备地址字段、寄存器地址字段、通信数据字段进行所需的CRC校验,得到的循环校验字段包括数据CRCL位以及数据CRCH位;
串口通信模式为单设备读模式时,采用基于CRC-16-IBM方式对串口通信数据帧内的通信命令字段、通信设备地址字段、寄存器地址字段进行所需的CRC校验,以得到的循环校验字段包括数据CRCL位以及数据CRCH位。
9.一种多路串口通信中时钟同步校准的系统,包括一串口通信主设备以及待与所述串口通信主设备串口通信的多个驱动芯片,每个驱动芯片内包括一用于串口通信处理的串口通信模块;其特征是:配置利用驱动芯片内串口通信模块在串口通信时的串口通信数据帧,其中,所配置的串口通信数据帧包括用于时钟校准的时钟校准字段,所述时钟校准字段包括串行采样基准数据;
任一驱动芯片的串口通信模块接收串口通信主设备发送的一串口通信数据帧后,利用当前驱动芯片内串口通信模块的通信模块时钟OSC对串行采样基准数据采样并计数,以得到采样计数值N,且根据采样计数值N、通信模块时钟OSC的频率fosc、串口通信波特率B、串行采样基准数据的长度m以及串口通信时的目标时钟频率fsys确定当前驱动芯片内串口通信模块的校准系统时钟fsys_trim,以实现基于驱动芯片内串口通信模块的校准系统时钟fsys_trim下多个驱动芯片串口通信时的时钟同步校准。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210258227.0A CN114610669B (zh) | 2022-03-16 | 2022-03-16 | 多路串口通信中实现时钟同步校准的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210258227.0A CN114610669B (zh) | 2022-03-16 | 2022-03-16 | 多路串口通信中实现时钟同步校准的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114610669A true CN114610669A (zh) | 2022-06-10 |
CN114610669B CN114610669B (zh) | 2023-10-20 |
Family
ID=81862566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210258227.0A Active CN114610669B (zh) | 2022-03-16 | 2022-03-16 | 多路串口通信中实现时钟同步校准的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610669B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185133A (zh) * | 2023-04-25 | 2023-05-30 | 南京芯驰半导体科技有限公司 | 芯片时钟校准方法、装置、芯片、电子设备及存储介质 |
CN116805878A (zh) * | 2023-06-26 | 2023-09-26 | 深圳市维立科技有限公司 | 一种校准显示驱动芯片内部osc数值方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112906A1 (en) * | 2001-12-14 | 2003-06-19 | John Pigott | System for providing a calibrated clock and methods thereof |
CN1848715A (zh) * | 2005-04-05 | 2006-10-18 | 中兴通讯股份有限公司 | 实现同步串行数据在tdm网透传的方法、系统及处理装置 |
CN101013934A (zh) * | 2007-02-17 | 2007-08-08 | 北京航空航天大学 | 一种适用于分布式仿真的多路同步时钟分配器 |
US20110038388A1 (en) * | 2008-03-07 | 2011-02-17 | Robert Bosch Gmbh | Communication system including a data bus and multiple user nodes connected thereto, and method for operating such a communication system |
CN103235767A (zh) * | 2013-04-11 | 2013-08-07 | 和记奥普泰通信技术有限公司 | 一种主从mii管理接口串行通信方法 |
CN110750478A (zh) * | 2019-09-11 | 2020-02-04 | 深圳震有科技股份有限公司 | 一种多串口通信方法及系统 |
CN112099568A (zh) * | 2020-11-18 | 2020-12-18 | 杭州恒芯微电子科技有限公司 | Uart串口主从通信的时钟频率校准和频率测量方法 |
CN114167942A (zh) * | 2021-11-03 | 2022-03-11 | 珠海格力电器股份有限公司 | 芯片内部时钟频率校准方法,计算机设备及可读存储介质 |
-
2022
- 2022-03-16 CN CN202210258227.0A patent/CN114610669B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112906A1 (en) * | 2001-12-14 | 2003-06-19 | John Pigott | System for providing a calibrated clock and methods thereof |
CN1848715A (zh) * | 2005-04-05 | 2006-10-18 | 中兴通讯股份有限公司 | 实现同步串行数据在tdm网透传的方法、系统及处理装置 |
CN101013934A (zh) * | 2007-02-17 | 2007-08-08 | 北京航空航天大学 | 一种适用于分布式仿真的多路同步时钟分配器 |
US20110038388A1 (en) * | 2008-03-07 | 2011-02-17 | Robert Bosch Gmbh | Communication system including a data bus and multiple user nodes connected thereto, and method for operating such a communication system |
CN103235767A (zh) * | 2013-04-11 | 2013-08-07 | 和记奥普泰通信技术有限公司 | 一种主从mii管理接口串行通信方法 |
CN110750478A (zh) * | 2019-09-11 | 2020-02-04 | 深圳震有科技股份有限公司 | 一种多串口通信方法及系统 |
CN112099568A (zh) * | 2020-11-18 | 2020-12-18 | 杭州恒芯微电子科技有限公司 | Uart串口主从通信的时钟频率校准和频率测量方法 |
CN114167942A (zh) * | 2021-11-03 | 2022-03-11 | 珠海格力电器股份有限公司 | 芯片内部时钟频率校准方法,计算机设备及可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185133A (zh) * | 2023-04-25 | 2023-05-30 | 南京芯驰半导体科技有限公司 | 芯片时钟校准方法、装置、芯片、电子设备及存储介质 |
CN116805878A (zh) * | 2023-06-26 | 2023-09-26 | 深圳市维立科技有限公司 | 一种校准显示驱动芯片内部osc数值方法 |
CN116805878B (zh) * | 2023-06-26 | 2024-02-06 | 深圳市维立科技有限公司 | 一种校准显示驱动芯片内部osc数值方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114610669B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114610669A (zh) | 多路串口通信中实现时钟同步校准的方法及系统 | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
US20070061681A1 (en) | Mechanism for error handling of corrupted repeating primitives during frame reception | |
EP2476062B1 (en) | Adjustment of memory write timing based on error detection techniques | |
CN112118042B (zh) | 一种基于星载光纤接口的数据传输方法及装置 | |
CN113032319A (zh) | 基于fpga的车载系统数据传输方法及同步高速串行总线结构 | |
CN115296965A (zh) | 降低延时的Retimer均衡配置方法、系统及装置 | |
CN109286471B (zh) | 面向srio控制器的crc校验方法及装置 | |
CN114040446A (zh) | 一种信息间耦合校验的方法及装置 | |
CN113946480A (zh) | 一种i2c总线的检测装置和方法 | |
US20070258478A1 (en) | Methods and/or apparatus for link optimization | |
CN111752881A (zh) | 一种模块间通信方法及系统 | |
CN113495849A (zh) | 物理层的数据流切割装置及方法 | |
CN107943739B (zh) | 一种基于fpga的多组spi码信号检测验证方法 | |
US20150186309A1 (en) | Apparatus and method for processing data | |
CN114301991B (zh) | 通信方法、设备、系统及计算机可读存储介质 | |
CN112073152B (zh) | 一种提高chsi接收数据可靠性的fpga抗干扰处理方法 | |
US11139830B2 (en) | Bit inversion for data transmission | |
TWI254520B (en) | Device and method for retraining a receiver, and a transmitter | |
US20070217451A1 (en) | Data transmission method and transmission circuit thereof | |
CN114296991B (zh) | 一种应用于Expander的CRC数据校验方法和校验电路 | |
CN114726482B (zh) | 一种spi数据传输方法 | |
US20230141802A1 (en) | Method and interconnect interface for built-in self-test | |
US6901538B2 (en) | Method, system, and recording medium of testing a 1394 interface card | |
US10846085B2 (en) | Multi-lane data processing circuit and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |