CN111162984B - 一种基于biss-c的控制方法、装置及通信系统 - Google Patents
一种基于biss-c的控制方法、装置及通信系统 Download PDFInfo
- Publication number
- CN111162984B CN111162984B CN201911385649.9A CN201911385649A CN111162984B CN 111162984 B CN111162984 B CN 111162984B CN 201911385649 A CN201911385649 A CN 201911385649A CN 111162984 B CN111162984 B CN 111162984B
- Authority
- CN
- China
- Prior art keywords
- module
- communication interface
- spi
- pwm
- signals
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40202—Flexible bus arrangements involving redundancy by using a plurality of master stations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请提供一种基于BISS‑C的控制方法、装置及通信系统,该控制方法应用于主站芯片,包括:通过预配置的DMA模块控制第一PWM模块向通信接口的第一逻辑数据输入端和SPI模块的时钟端输出方波信号,以及控制第二PWM模块向通信接口的第二逻辑数据输入端输出具有预设变化的电平信号;通过SPI模块的MISO端接收通信接口的第一逻辑数据输出端发来的数据信号。本申请能够低成本、高效率地实现BISS‑C协议的双向通信,能够最大限度地减少MCU资源占用,同时,可适用于目前的绝大多数MCU芯片,通用性强,可移植性高。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种基于BISS-C的控制方法、装置及通信系统。
背景技术
BISS通信协议是一种全双工同步串行总线通信协议,专门为满足实时、双向、高速的传感器通信而设计。BISS通信协议目前的版本是BISS-C,在伺服系统中,编码器大多使用BISS-C协议。在BISS-C协议中,通信双方分别为主站和从站,编码器作为从站,而伺服驱动器或者运动控制器作为主站,主站通过BISS-C协议读取编码器采集的位置信息。BISS-C协议分为传感器模式和寄存器模式两种通信方式,传感器模式下主站只能读取到从站发送的传感器信息,而寄存器模式下可以获取到从站所有开放的信息以及设置从站参数。
在目前的现有技术中,一般采用的方案是通过现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)或专用的BISS-C芯片将BISS-C数据解码后通过高速接口(如HSSI)传输给主站,或者主站使用支持BISS-C接口的处理器。在BISS-C协议的多从机组网(Multi-slave Networking)方式下,其通信连接关系如图1所示。而使用FPGA或者专用BISS-C芯片将会导致整个通信方案的成本较高。在一些其他的方案中,是利用微控制单元(Microcontroller Unit,MCU)的输入输出(IO)口模拟BISS-C通信过程中的MA信号等,这样的模拟效果性能较差,且MCU的资源占用率高;或者,选择内置BISS-C接口外设的MCU,这样存在的问题是MCU的选择受限,且成本较高。
发明内容
本申请实施例的目的在于提供一种基于BISS-C的控制方法、装置及通信系统,能够极大改善现有技术中存在的问题。
第一方面,本申请提供一种基于BISS-C的控制方法,应用于主站芯片,其中,所述主站芯片包括直接存储器访问DMA模块、脉冲宽度调制PWM模块和串行外设接口SPI模块,所述PWM模块包括第一PWM模块和第二PWM模块,所述方法包括:
通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,第一PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,第二PWM模块向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
通过所述SPI模块的MISO端接收所述通信接口的第一逻辑数据输出端发来的数据信号。
在上述方案中,主站芯片通过第一PWM模块发送BISS-C协议中的MA信号,通过第二PWM模块发送BISS-C协议中的MO信号,通过SPI模块的MISO端接收BISS-C协议中的SL信号,从而控制主站芯片工作于寄存器模式。该方案可以应用于绝大多数的处理芯片,通用性强,而且整个通信过程不需要其他外围的电路或者芯片进行转换,硬件成本极大降低;同时,在通信过程中,主站芯片只需要简单的触发和解析,收发过程均由DMA实现,最大程度地降低了主站芯片的处理负荷,资源占用率低。
可选的,在通过所述SPI模块的MISO端接收所述通信接口的第一逻辑数据输出端发来的数据信号之前,所述方法还包括:通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的传感器模式;其中,第一PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出占空比为1:1的方波信号,第二PWM模块向所述通信接口的第二逻辑数据输入端输出持续的低电平信号。
在上述方案中,主站芯片通过第一PWM模块发送BISS-C协议中的MA信号,同时将第二PWM模块的输出拉低,从而控制主站芯片工作于传感器模式。
可选的,在通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号之前,所述方法还包括:将定时器模块配置为:定时器模块的第一通道和第二通道分别对应输出至第一PWM模块和第二PWM模块;将DMA模块配置为:存储器为增量模式,数据传输方向为存储器到外设,存储器地址为第一数组和第二数组所在的地址,其中,第一数组为第一PWM模块的关联数组,第二数组为第二PWM模块的关联数组;将SPI模块配置为:SPI模块为主站模式,SPI模块的时钟为从站输入模式,SPI模块的DMA数据接收功能启用。
第二方面,本申请提供一种基于BISS-C的控制方法,应用于主站芯片,其中,所述主站芯片包括DMA模块、PWM模块和SPI模块,所述SPI模块配置为从站模式,所述方法包括:
通过预配置的DMA模块控制PWM模块和SPI模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,所述PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,所述SPI模块的MISO端向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,其中,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
通过所述SPI模块的MOSI端接收所述通信接口的第一逻辑数据输出端发来的数据信号。
在上述方案中,主站芯片通过PWM模块发送BISS-C协议中的MA信号,通过SPI模块的MISO端发送BISS-C协议中的MO信号,通过SPI模块的MOSI端接收BISS-C协议中的SL信号,从而控制主站芯片工作于寄存器模式。
可选的,在通过所述SPI模块的MOSI端接收所述通信接口的第一逻辑数据输出端发来的数据信号之前,所述方法还包括:通过预配置的DMA模块控制PWM模块和SPI模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的传感器模式;其中,所述PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出占空比为1:1的方波信号,所述SPI模块的MISO端向所述通信接口的第二逻辑数据输入端输出持续的低电平信号。
在上述方案中,主站芯片通过PWM模块发送BISS-C协议中的MA信号,同时将SPI模块的MISO端的输出拉低,从而控制主站芯片工作于传感器模式。
第三方面,本申请提供一种基于BISS-C的控制装置,配置于主站芯片,其中,所述主站芯片包括DMA模块、PWM模块和SPI模块,所述PWM模块包括第一PWM模块和第二PWM模块,所述装置包括:
第一控制模块,用于通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,第一PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,第二PWM模块向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
第一接收模块,用于通过所述SPI模块的MISO端接收所述通信接口的第一逻辑数据输出端发来的数据信号。
第四方面,本申请提供一种基于BISS-C的控制装置,配置于主站芯片,其中,所述主站芯片包括DMA模块、PWM模块和SPI模块,所述装置包括:
第二控制模块,用于通过预配置的DMA模块控制PWM模块和SPI模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,所述PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,所述SPI模块的MISO端向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,其中,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
第二接收模块,用于通过所述SPI模块的MOSI端接收所述通信接口的第一逻辑数据输出端发来的数据信号。
第五方面,本申请提供一种基于BISS-C的通信系统,包括:主站芯片和通信接口,其中,所述主站芯片包括DMA模块、PWM模块和SPI模块,所述PWM模块包括第一PWM模块和第二PWM模块,所述第一PWM模块的输出端与所述通信接口的第一逻辑数据输入端连接,所述第二PWM模块的输出端与所述通信接口的第二逻辑数据输入端连接,所述SPI模块的MISO端与所述通信接口的第一逻辑数据输出端连接;
所述主站芯片用于通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,第一PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,第二PWM模块向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
所述通信接口用于对所述信号进行处理,并将处理后的信号传输给相连的从站设备;以及用于对相连的从站设备发来的数据信号进行处理,并将处理后的数据信号通过第一逻辑数据输出端输出至所述SPI模块;
所述主站芯片还用于通过所述SPI模块接收所述数据信号。
可选的,所述主站芯片还用于:通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的传感器模式;其中,第一PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出占空比为1:1的方波信号,第二PWM模块向所述通信接口的第二逻辑数据输入端输出持续的低电平信号。
第六方面,本申请提供一种基于BISS-C的通信系统,包括:主站芯片和通信接口,其中,所述主站芯片包括DMA模块、PWM模块和SPI模块,所述PWM模块的输出端与所述通信接口的第一逻辑数据输入端连接,所述SPI模块的MISO端与所述通信接口的第二逻辑数据输入端连接,所述SPI模块的MOSI端与所述通信接口的第一逻辑数据输出端连接;
所述主站芯片用于通过预配置的DMA模块控制PWM模块和SPI模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,所述PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,所述SPI模块的MISO端向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,其中,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
所述通信接口用于对所述信号进行处理,并将处理后的信号传输给相连的从站设备;以及用于对相连的从站设备发来的数据信号进行处理,并将处理后的数据信号通过第一逻辑数据输出端输出至所述SPI模块;
所述主站芯片还用于通过所述SPI模块接收所述数据信号。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有技术中BISS-C协议的通信方案的示意图;
图2为本申请第一实施例提供的通信系统的示意图;
图3为本申请第一实施例中点对点组网下通信系统的具体连接示意图;
图4为本申请第一实施例中多从机组网下通信系统的具体连接示意图;
图5为本申请第一实施例中控制方法的流程图;
图6为本申请第二实施例中点对点组网下通信系统的具体连接示意图;
图7为本申请第二实施例中控制方法的流程图。
图标:10-主站芯片;20-通信接口;30-从站设备;11-DMA模块;12-PWM模块;13-SPI模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
第一实施例
本申请实施例提供一种通信系统,如图2所示,在该通信系统中,包括:主站芯片10和通信接口20,通信接口20能够与至少一个从站设备30相连,主站芯片10通过通信接口20与从站设备30进行BISS-C通信。其中,主站芯片10包括有:直接存储器访问(Direct MemoryAccess,DMA)模块11、脉冲宽度调制(Pulse Width Modulation,PWM)模块12和串行外设接口(Serial Peripheral Interface,SPI)模块13。PWM模块12中包括第一PWM模块和第二PWM模块。主站芯片10可以是现有的带有DMA模块、PWM模块和SPI模块的处理芯片,包括但不限于数字信号处理(Digital Signal Processor,DSP)芯片或者单片机,例如型号为STM32F407的单片机芯片;通信接口20可以是RS422接口,其可以选用TI公司生产的型号为SN65C1168E的RS422芯片,当然,也可以使用其他通信速率高于10MHz的RS422芯片或者其他全双工芯片等。
BISS-C协议的组网方式包括:点对点组网(Point-to-Point)和多从机组网(Multi-slave Networking)。在点对点组网方式中,主站处于传感器模式时,通过通信接口向从站发出MA(master)信号,用于向从站提供时钟脉冲,然后从站返回SL(slave)信号,也即从站采集的数据信息,因此,主站能够读取到从站发送的数据信息;主站处于寄存器模式时,通过通信接口向从站发出MA信号和MO信号,MO信号中携带从站的寄存器地址、寄存器值等设置的从站参数信息,然后从站返回SL信号,因此,主站与从站能够进行双向的数据通信。
本实施例以主站芯片为STM32F407、通信接口为RS422接口为例对通信系统和控制方法进行介绍。图3示出了点对点组网下通信系统的一种具体连接示意图。其中,第一PWM模块(PWM1)的输出端与通信接口RS422的第一逻辑数据输入端(1D)连接,第二PWM模块(PWM2)的输出端与RS422的第二逻辑数据输入端(2D)连接,SPI模块的MISO端与RS422的第一逻辑数据输出端(1R)连接。标准的BISS-C协议是差分信号,RS422用于将主站芯片的单端信号转为差分信号后发送到相连的从站,以及将从站的差分信号转为单端信号后发送给主站芯片处理,RS422与从站设备的连接可以参照现有技术。图4示出了多从机组网下通信系统的具体连接示意图,多个从站设备首尾连接,整个通信由主站发出的MA信号进行同步。
在本实施例中,使用SPI模块作为BISS-C协议的数据接收(用于接收从站的SL信号),使用PWM模块作为BISS-C协议的数据发送(用于向从站发送MA信号和MO信号);其中,PWM1对应BISS-C的MA功能,PWM2对应BISS-C的MO功能,SPI_MISO对应BISS-C的SL功能。
进一步的,本实施例提供一种应用于主站芯片中的控制方法,能够兼容BISS-C协议的传感器模式和寄存器模式。本实施例仅以图3所示的点对点组网为例进行阐述,但对多从机组网同样适用。图5示出了该控制方法的流程图,包括如下步骤:
步骤110:对主站芯片中的定时器模块、DMA模块和SPI模块进行配置。
在与从站设备进行通信之前,先对主站芯片中的各个模块进行配置。在具体的配置过程中,将定时器模块配置为:定时器模块的第一通道和第二通道分别对应输出至第一PWM模块和第二PWM模块;将DMA模块配置为:存储器为增量模式,数据传输方向为存储器到外设,存储器地址为第一数组和第二数组所在的地址,其中,第一数组为第一PWM模块的关联数组,第二数组为第二PWM模块的关联数组;将SPI模块配置为:SPI模块为主站模式,SPI模块的时钟为从站输入模式,SPI模块的DMA数据接收功能启用。
在一个实施例中,主站芯片使用的DMA模块为DMA2,使用的定时器模块为TIM8,使用的SPI模块为SPI1。在定时器模块配置时,启用TIM8的CH1和CH2两个通道,分别对应输出至PWM1和PWM2;在DMA配置时,启用DMA2_Stream2中的CH0通道,存储器地址设置为数组MA_BUF和MO_BUF的地址,其中,MA_BUF是PWM1的输出关联数组,MO_BUF是PWM2的输出关联数组,在通信过程中,只需要更改两个数组中的数据值就能够改变PWM模块的输出内容,即能够控制PWM1和PWM2的输出信号;SPI1对应DMA2_Stream0的CH3通道。
在配置完成后,主站芯片能够与从站设备进行BISS-C通信。主站芯片通过下述步骤120和步骤130控制自身工作于寄存器模式。
步骤120:通过预配置的DMA模块控制第一PWM模块向通信接口的第一逻辑数据输入端和SPI模块的时钟端输出方波信号。
在BISS-C协议的寄存器模式下,主站需要向从站提供标准的方波信号(MA信号)。本实施例使用PWM1充当MA信号功能。在配置完成后,主站芯片通过DMA模块控制PWM1向SPI_CLK和RS422的1D管脚输出方波信号,该方波信号用于充当MA信号功能。在上述过程中,MA_BUF数组控制MA信号时序,主站芯片设置MA_BUF数组,使PWM1能够输出方波信号。
在一个实施例中,在BISS通信帧中的CDM信号之前,配置PWM1的DMA外设数据长度以控制时钟信号脉冲数,如PWM1重载值为4,设置MA_BUF所有值为2时PWM1即输出占空比为1:1的方波信号,作为BISS-C的时钟信号。
步骤130:通过预配置的DMA模块控制第二PWM模块向通信接口的第二逻辑数据输入端输出具有预设变化的电平信号。
在寄存器模式下,主站需要向从站提供MA信号和MO信号,本实施例使用PWM2提供MO信号的输出。在配置过程中,MO_BUF为PWM2的输出关联数组,MO_BUF控制MO信号时序。MO_BUF的值需要根据待发送的数据(如设置的从站参数值)进行计算,然后将计算后的数据转换为PWM2的输出占空比和长度即可。例如,主站芯片向从站设备发送0x3数据,那么PWM2的输出数据需要设置二进制格式为01001100b,MO_BUF数组的值为{0,1,0,0,1,1,0,0},之后,PWM2根据MO_BUF数组的值进行对应的电平信号输出。
在本实施例中,选用的PWM1和PWM2使用同一个定时器,两者的时钟是同步的,因此不需要考虑MA和MO的相位问题。
在步骤120和步骤130中,主站芯片通过控制PWM1输出方波信号(即BISS-C中的MA信号),以及控制PWM2输出占空比变化的电平信号(即BISS-C中的MO信号),从而控制该主站芯片工作于寄存器模式。
在另一实施例中,由于传感器模式下,主站只需要向从站提供MA信号即可,也就是说,主站芯片只需要PMW1输出MA信号,而PWM2的MO功能不需要使用,因此,主站芯片通过MA_BUF控制PWM1输出占空比为1:1的方波信号(即BISS-C中的MA信号),以及通过MO_BUF控制PWM2输出持续的低电平信号,从而控制该主站芯片工作于传感器模式。
应当理解,步骤120和步骤130没有严格的顺序先后关系,在通信过程中,主站芯片可以同时控制PWM1输出方波信号和控制PWM2输出变化的电平信号。
步骤140:通过SPI模块的MISO端接收通信接口的第一逻辑数据输出端发来的数据信号。
主站芯片通过SPI模块的MISO管脚接收RS422的1R管脚发来的数据信号,将对应的数据存储在内存中,之后,主站芯片可自行对接收到的数据进行处理。
在上述方案的具体实施过程中,主站芯片设置MA_BUF数组使PWM1能够输出方波信号,并将待发送的数据转换后写入MO_BUF数组相应的位置,使PWM2输出变化的电平信号,设置DMA2_Stream2中CH0通道的缓存大小以控制发送的方波数量,根据发送的方波数量设置DMA2_Stream0中CH3通道的缓存大小以控制SPI1的接收数据长度。设置完成后先使能DMA2_Stream0的CH3通道,然后使能DMA2_Stream2的CH0通道,STM32F407将自行进行数据的收发操作,之后,只需要查询DMA2_Stream2CH0的接收寄存器标志位即可判断数据收发是否完成,在数据收发完成后主站芯片即可自行处理接收到的数据,从而实现寄存器模式下的主站芯片与从站设备的双向数据通信。而当主站芯片工作于传感器模式时,需要设置MO_BUF数组使PWM2输出持续的低电平信号,其他的操作与寄存器模式完全一致。
在多从机组网时,其通信原理与上述点对点组网相同,主站芯片根据BISS-C通信时序相应地设置MA_BUF和MO_BUF数组即可实现数据的收发,在此不做赘述。
在本实施例的通信系统中,主站芯片用于执行上述的控制方法,通过DMA控制PWM1和PWM2的输出信号以控制主站芯片工作于相应的模式,通信接口通过相连的逻辑数据输入端接收PWM1和PWM2输出的信号,并对该信号进行处理,转换为差分信号后发送给相连的从站设备。在从站设备返回数据信号(SL信号)时,通信接口对从站设备返回的数据信号进行处理,转换为单端信号后发给SPI模块的MISO端,从而实现主站芯片与从站设备的双向数据通信。
在现有技术中,绝大部分的BISS-C主站都只工作在传感器模式下,而并没有工作在寄存器模式,而且,市面上的绝大部分产品都是使用第三方的BISS-C芯片转成其他信号后再和主站芯片进行交互通信,而本方案使得主站芯片可以直接和外部的从站进行通信,而不需要其他外围的电路或者芯片的转换。进一步的,在实施上述方案时,只要芯片带有SPI片上外设、PWM片上外设和DMA片上外设即可适用,而目前的绝大多数MCU都带有这三种片上外设,所以该方案可以应用于绝大多数MCU,通用性强。同时,除主站芯片外,上述方案只需要一块RS422收发器芯片即可实现,硬件成本极大降低。同时,在通信过程中,主站芯片只需要简单的触发和解析,收发过程均由DMA实现,最大程度地降低了主站芯片的处理负荷,芯片只需处理接收到的数据即可,资源占用率低。
基于同一发明构思,本实施例还提供一种基于BISS-C的控制装置,配置于上述的主站芯片,该装置包括:
第一控制模块,用于通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制主站芯片工作于BISS-C协议的寄存器模式;其中,第一PWM模块向通信接口的第一逻辑数据输入端和SPI模块的时钟端输出方波信号,第二PWM模块向通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,预设变化的电平信号是根据对待发送的数据进行转换后获得;
第一接收模块,用于通过SPI模块的MISO端接收通信接口的第一逻辑数据输出端发来的数据信号。
可选的,第一控制模块还用于:通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制主站芯片工作于BISS-C协议的传感器模式;其中,第一PWM模块向通信接口的第一逻辑数据输入端和SPI模块的时钟端输出占空比为1:1的方波信号,第二PWM模块向通信接口的第二逻辑数据输入端输出持续的低电平信号。
上述提供的控制装置与对应的控制方法的基本原理及产生的技术效果相同,为简要描述,装置部分未提及之处,可参考方法部分中的相应内容,在此不做赘述。
第二实施例
本实施例提供一种通信系统,该通信系统与第一实施例的不同之处在于:第一实施例使用的是PWM2来实现MO功能,而本实施例使用SPI模块的MISO来实现MO功能。在该通信系统中,主站芯片仅包括一路PWM输出,另一路PWM输出使用SPI模块替代。在点对点组网下该通信系统的一种具体连接示意图如图6所示。SPI模块的MISO端与通信接口的第二逻辑数据输入端(2D)连接,SPI模块的MOSI端与通信接口的第一逻辑数据输出端(1R)连接,其他连接关系与第一实施例一致。
在本实施例中,PWM1对应BISS-C的MA功能,SPI_MISO对应BISS-C的MO功能,SPI_MOSI对应BISS-C的SL功能。
进一步的,本实施例提供一种应用于上述主站芯片的控制方法,具体流程图如图7所示,包括如下步骤:
步骤210:对主站芯片中的定时器模块、DMA模块和SPI模块进行配置。
在具体的配置过程中,将定时器模块配置为:定时器模块的第一通道对应输出至PWM模块;将DMA模块配置为:存储器为增量模式,数据传输方向为存储器到外设,存储器地址为第一数组和第二数组所在的地址,其中,第一数组为PWM模块的关联数组,第二数组为SPI模块的MISO的关联数组;将SPI模块配置为:SPI模块为从站模式,SPI模块的时钟为从站输入模式,SPI模块的DMA数据发送功能和数据接收功能启用。
在一个实施例中,主站芯片使用的DMA模块为DMA2,使用的定时器模块为TIM8,使用的SPI模块为SPI1。在定时器模块配置时,启用TIM8的CH1通道,对应输出至PWM1;在DMA配置时,启用DMA2_Stream2中的CH0、DMA2_Stream0中的CH3和DMA2_Stream3中的CH3通道,存储器地址设置为数组MA_BUF和MO_BUF的地址,用于控制PWM1和SPI_MISO的输出信号;DMA2_Stream0_CH3和DMA2_Stream3_CH3分别对应SPI1的SPI_MISO和SPI_MOSI。
步骤220:通过预配置的DMA模块控制PWM模块向通信接口的第一逻辑数据输入端和SPI模块的时钟端输出方波信号。
步骤230:通过预配置的DMA模块控制SPI模块的MISO端向通信接口的第二逻辑数据输入端输出具有预设变化的电平信号。
在本实施例中,SPI模块的MISO和MOSI起到发送MO信号和接收SL信号的功能。主站芯片通过DMA控制PWM1向通信接口RS422的第一逻辑数据输入端(1D)和SPI的时钟端(SPI_CLK)发送方波信号,作为MA信号,以及,通过DMA控制SPI的MISO端向RS422的2D端发送变化的电平信号,作为MO信号,从而控制主站芯片工作于寄存器模式。
在另一实施例中,主站芯片通过DMA控制PWM1向RS422的1D端和SPI的SPI_CLK发送占空比为1:1的方波信号,以及,通过DMA控制SPI的MISO端向RS422的2D端发送持续的低电平信号,从而控制主站芯片工作于传感器模式。
步骤240:通过SPI模块的MOSI端接收通信接口的第一逻辑数据输出端发来的数据信号。
从站设备的数据信号(差分信号)发送到RS422,RS422将差分信号转换为单端信号后发送给SPI的MOSI端,主站芯片通过SPI模块的MOSI端接收RS422发来的数据信号。
基于同一发明构思,本申请实施例还提供一种控制装置,配置于上述的主站芯片,该装置包括:
第二控制模块,用于通过预配置的DMA模块控制PWM模块和SPI模块向外部的通信接口发送信号,以控制主站芯片工作于BISS-C协议的寄存器模式;其中,PWM模块向通信接口的第一逻辑数据输入端和SPI模块的时钟端输出方波信号,SPI模块的MISO端向通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,其中,预设变化的电平信号是根据对待发送的数据进行转换后获得;
第二接收模块,用于通过SPI模块的MOSI端接收通信接口的第一逻辑数据输出端发来的数据信号。
可选的,第二控制模块还用于:通过预配置的DMA模块控制PWM模块和SPI模块向外部的通信接口发送信号,以控制主站芯片工作于BISS-C协议的传感器模式;其中,PWM模块向通信接口的第一逻辑数据输入端和SPI模块的时钟端输出占空比为1:1的方波信号,SPI模块的MISO端向通信接口的第二逻辑数据输入端输出持续的低电平信号。
需要说明的是,本实施例着重阐述的是与第一实施例的不同之处,本实施例中基于BISS-C的控制方法、装置及通信系统的基本原理及产生的技术效果与前一实施例相同,为简要描述,本实施例部分未提及之处,可参考上一实施例中的相应内容,在此不做赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于BISS-C的控制方法,其特征在于,应用于主站芯片,其中,所述主站芯片包括直接存储器访问DMA模块、脉冲宽度调制PWM模块和串行外设接口SPI模块,所述PWM模块包括第一PWM模块和第二PWM模块,所述方法包括:
通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,第一PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,第二PWM模块向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
通过所述SPI模块的MISO端接收所述通信接口的第一逻辑数据输出端发来的数据信号。
2.根据权利要求1所述的方法,其特征在于,在通过所述SPI模块的MISO端接收所述通信接口的第一逻辑数据输出端发来的数据信号之前,所述方法还包括:
通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的传感器模式;其中,第一PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出占空比为1:1的方波信号,第二PWM模块向所述通信接口的第二逻辑数据输入端输出持续的低电平信号。
3.根据权利要求1或2所述的方法,其特征在于,在通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号之前,所述方法还包括:
将定时器模块配置为:定时器模块的第一通道和第二通道分别对应输出至第一PWM模块和第二PWM模块;
将DMA模块配置为:存储器为增量模式,数据传输方向为存储器到外设,存储器地址为第一数组和第二数组所在的地址,其中,第一数组为第一PWM模块的关联数组,第二数组为第二PWM模块的关联数组;
将SPI模块配置为:SPI模块为主站模式,SPI模块的时钟为从站输入模式,SPI模块的DMA数据接收功能启用。
4.一种基于BISS-C的控制方法,其特征在于,应用于主站芯片,其中,所述主站芯片包括DMA模块、PWM模块和SPI模块,所述SPI模块配置为从站模式,所述方法包括:
通过预配置的DMA模块控制PWM模块和SPI模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,所述PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,所述SPI模块的MISO端向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,其中,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
通过所述SPI模块的MOSI端接收所述通信接口的第一逻辑数据输出端发来的数据信号。
5.根据权利要求4所述的方法,其特征在于,在通过所述SPI模块的MOSI端接收所述通信接口的第一逻辑数据输出端发来的数据信号之前,所述方法还包括:
通过预配置的DMA模块控制PWM模块和SPI模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的传感器模式;其中,所述PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出占空比为1:1的方波信号,所述SPI模块的MISO端向所述通信接口的第二逻辑数据输入端输出持续的低电平信号。
6.一种基于BISS-C的控制装置,其特征在于,配置于主站芯片,其中,所述主站芯片包括DMA模块、PWM模块和SPI模块,所述PWM模块包括第一PWM模块和第二PWM模块,所述装置包括:
第一控制模块,用于通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,第一PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,第二PWM模块向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
第一接收模块,用于通过所述SPI模块的MISO端接收所述通信接口的第一逻辑数据输出端发来的数据信号。
7.一种基于BISS-C的控制装置,其特征在于,配置于主站芯片,其中,所述主站芯片包括DMA模块、PWM模块和SPI模块,所述装置包括:
第二控制模块,用于通过预配置的DMA模块控制PWM模块和SPI模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,所述PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,所述SPI模块的MISO端向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,其中,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
第二接收模块,用于通过所述SPI模块的MOSI端接收所述通信接口的第一逻辑数据输出端发来的数据信号。
8.一种基于BISS-C的通信系统,其特征在于,包括:主站芯片和通信接口,其中,所述主站芯片包括DMA模块、PWM模块和SPI模块,所述PWM模块包括第一PWM模块和第二PWM模块,所述第一PWM模块的输出端与所述通信接口的第一逻辑数据输入端连接,所述第二PWM模块的输出端与所述通信接口的第二逻辑数据输入端连接,所述SPI模块的MISO端与所述通信接口的第一逻辑数据输出端连接;
所述主站芯片用于通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,第一PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,第二PWM模块向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
所述通信接口用于对所述信号进行处理,并将处理后的信号传输给相连的从站设备;以及用于对相连的从站设备发来的数据信号进行处理,并将处理后的数据信号通过第一逻辑数据输出端输出至所述SPI模块;
所述主站芯片还用于通过所述SPI模块接收所述数据信号。
9.根据权利要求8所述的系统,其特征在于,所述主站芯片还用于:通过预配置的DMA模块控制第一PWM模块和第二PWM模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的传感器模式;其中,第一PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出占空比为1:1的方波信号,第二PWM模块向所述通信接口的第二逻辑数据输入端输出持续的低电平信号。
10.一种基于BISS-C的通信系统,其特征在于,包括:主站芯片和通信接口,其中,所述主站芯片包括DMA模块、PWM模块和SPI模块,所述PWM模块的输出端与所述通信接口的第一逻辑数据输入端连接,所述SPI模块的MISO端与所述通信接口的第二逻辑数据输入端连接,所述SPI模块的MOSI端与所述通信接口的第一逻辑数据输出端连接;
所述主站芯片用于通过预配置的DMA模块控制PWM模块和SPI模块向外部的通信接口发送信号,以控制所述主站芯片工作于BISS-C协议的寄存器模式;其中,所述PWM模块向所述通信接口的第一逻辑数据输入端和所述SPI模块的时钟端输出方波信号,所述SPI模块的MISO端向所述通信接口的第二逻辑数据输入端输出具有预设变化的电平信号,其中,所述预设变化的电平信号是根据对待发送的数据进行转换后获得;
所述通信接口用于对所述信号进行处理,并将处理后的信号传输给相连的从站设备;以及用于对相连的从站设备发来的数据信号进行处理,并将处理后的数据信号通过第一逻辑数据输出端输出至所述SPI模块;
所述主站芯片还用于通过所述SPI模块接收所述数据信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911385649.9A CN111162984B (zh) | 2019-12-27 | 2019-12-27 | 一种基于biss-c的控制方法、装置及通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911385649.9A CN111162984B (zh) | 2019-12-27 | 2019-12-27 | 一种基于biss-c的控制方法、装置及通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111162984A CN111162984A (zh) | 2020-05-15 |
CN111162984B true CN111162984B (zh) | 2022-02-01 |
Family
ID=70558888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911385649.9A Active CN111162984B (zh) | 2019-12-27 | 2019-12-27 | 一种基于biss-c的控制方法、装置及通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111162984B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111800203A (zh) * | 2020-07-14 | 2020-10-20 | 南通西塔自动化科技有限公司 | 一种基于pwm的单总线通讯远程i/o实现方法及系统 |
CN112902990B (zh) * | 2021-01-15 | 2023-10-27 | 长春禹衡光学有限公司 | 一种位置传感器的位置数据获取方法、装置及设备 |
CN112947163B (zh) * | 2021-02-01 | 2022-08-05 | 贵州航天林泉电机有限公司 | 一种基于dsp的biss-c协议传感器数据解析与提取方法 |
CN113535614B (zh) * | 2021-09-13 | 2022-01-11 | 之江实验室 | 一种解码biss-c协议的通信系统 |
CN113835465B (zh) * | 2021-09-28 | 2024-02-02 | 北京维普无限智能技术有限公司 | 生成pwm信号的系统、方法及相应的电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119907A (zh) * | 2015-07-22 | 2015-12-02 | 哈尔滨工业大学 | 一种基于FPGA的BiSS-C通信协议方法 |
CN107707447A (zh) * | 2017-09-22 | 2018-02-16 | 中科新松有限公司 | 一种基于EtherCAT的从站系统及控制方法 |
ES1210714U (es) * | 2018-03-21 | 2018-04-20 | Fanamoel, S.A. | Dispositivo señalizador óptico y acústico con mensajes de voz y sonido para aparatos de elevación |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022934A (zh) * | 2014-05-28 | 2014-09-03 | 中山火炬职业技术学院 | 基于profibus-dp协议的通信设备的通信方法 |
CN106066837B (zh) * | 2016-05-30 | 2018-12-18 | 哈工大机器人集团有限公司 | 一种基于fpga的biss-c协议通用控制器 |
-
2019
- 2019-12-27 CN CN201911385649.9A patent/CN111162984B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119907A (zh) * | 2015-07-22 | 2015-12-02 | 哈尔滨工业大学 | 一种基于FPGA的BiSS-C通信协议方法 |
CN107707447A (zh) * | 2017-09-22 | 2018-02-16 | 中科新松有限公司 | 一种基于EtherCAT的从站系统及控制方法 |
ES1210714U (es) * | 2018-03-21 | 2018-04-20 | Fanamoel, S.A. | Dispositivo señalizador óptico y acústico con mensajes de voz y sonido para aparatos de elevación |
Non-Patent Citations (4)
Title |
---|
基于 BiSS 协议的编码器及其在伺服驱动系统中的应用;霍海龙;《电气自动化》;20110530;第33卷(第3期);第12-14页 * |
基于 DSP 的移动机器人运动控制系统设计;相里燕妮;《中国优秀硕士学位论文全文数据库信息科技辑》;20160615;第19-35页 * |
基于BiSS_C协议的编码器接口技术及在伺服驱动系统中的应用;商怀昊;《金属加工(冷加工)》;20150801;第62-64页 * |
基于FPGA的BiSS_C协议编码器接口技术研究及解码实现;王希远;《液晶与显示》;20160430;第386-391页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111162984A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111162984B (zh) | 一种基于biss-c的控制方法、装置及通信系统 | |
CN106951388B (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
US9059724B2 (en) | Differential decoder | |
EP3008609B1 (en) | Camera control interface extension bus | |
WO2018040016A1 (zh) | 一种协议转换器及协议转换方法 | |
CN105119907A (zh) | 一种基于FPGA的BiSS-C通信协议方法 | |
CN101895549A (zh) | 车辆通信网络数据转换网关及其转换方法 | |
US8477668B2 (en) | High speed data transmission method and corresponding devices | |
CN201717878U (zh) | 车辆通信网络数据转换网关 | |
CN104506516A (zh) | 一种Modbus RTU/ASCII和Modbus TCP通信协议转换的网关及其实现方法 | |
CN107748509B (zh) | 基于单片机收发控制的asi通信从机实施方法 | |
CN108153688A (zh) | 串行隔离通信方法及系统 | |
CN112328523B (zh) | 传输双倍速率信号的方法、装置及系统 | |
CN108319441B (zh) | 音频播放的控制方法、装置、系统、处理器及存储介质 | |
WO2014134947A1 (zh) | 控制信息的收发装置和方法 | |
WO2018130045A1 (zh) | 数据传输装置及方法、喷墨打印系统 | |
KR102006068B1 (ko) | 인터페이스 변환장치 | |
CN110740085A (zh) | 一种基于并机系统的通信方法、通信装置及终端 | |
CN114253896B (zh) | 一种用于i2s音频总线的时钟生成方法及系统 | |
CN105389155B (zh) | 一种利用spi接口实现tdm音频数据接收的方法及系统 | |
CN115017084A (zh) | 一种多功能串行接口通信装置及串行数据传输控制方法 | |
US11580040B2 (en) | Synchronized processing of process data and delayed transmission | |
CN105553801B (zh) | 一种低延迟1394物理层转发电路 | |
CN110471881B (zh) | 一种实现多个从设备与spi主设备快速通讯方法 | |
US20090310521A1 (en) | Multiple die communication 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 |