CN115933451A - 处理系统、相关集成电路、设备和方法 - Google Patents
处理系统、相关集成电路、设备和方法 Download PDFInfo
- Publication number
- CN115933451A CN115933451A CN202210988272.1A CN202210988272A CN115933451A CN 115933451 A CN115933451 A CN 115933451A CN 202210988272 A CN202210988272 A CN 202210988272A CN 115933451 A CN115933451 A CN 115933451A
- Authority
- CN
- China
- Prior art keywords
- signal
- shift register
- processing system
- transfer
- clock signal
- 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
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/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/423—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
-
- 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
-
- 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/40006—Architecture of a communication node
- H04L12/40032—Details regarding a bus interface enhancer
-
- 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
-
- 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
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
本公开的实施例涉及处理系统、相关集成电路、设备和方法。在一个实施例中,一种用于操作处理系统的方法包括在CAN FD光数据传输阶段期间由微处理器对该处理系统的串行外围接口(SPI)通信接口的控制寄存器进行编程,以便激活主模式;由所述微处理器在所述CAN FD光数据传输阶段期间生成一个传输CAN FD光帧;由所述微处理器在所述CAN FD光数据传输阶段期间将所述传输CAN FD光帧存储到存储器;以及在所述CAN FD光数据传输阶段期间由所述微处理器激活第一DMA通道,使得所述第一DMA通道将所述传输CAN FD光帧从所述存储器顺序地传输到所述SPI通信接口中的传输移位寄存器。
Description
相关申请的交叉引用
本申请要求2021年8月18日提交的意大利申请No.102021000022037的权益,该申请在此通过参考引入本文。
技术领域
本公开的实施例涉及一种微控制器,该微控制器被配置为经由CAN FD(控制器局域网络灵活数据速率)总线交换数据。
背景技术
图1示出了典型的电子系统,例如车辆的电子系统,包括多个处理系统10,例如嵌入式系统或集成电路、例如现场可编程门阵列(FPGA)、数字信号处理器(DSP)或微控制器(例如专用于汽车市场)。
例如,在图1中示出了通过适当的通信系统20连接的三个处理系统101、102和103。例如,通信系统可以包括经由网关连接到车辆控制总线的车辆控制总线,例如控制器区域网络(CAN)总线,以及可能的多媒体总线,例如面向媒体的系统传输(MOST)总线。通常,处理系统10位于车辆的不同位置,并且可以包括例如发动机控制单元、变速器控制单元(TCU)、防抱死制动系统(ABS),车身控制模块(BCM)和/或导航和/或多媒体音频系统。因此,一个或多个处理系统10也可以实现实时控制和调节功能。这些处理系统通常被标识为电子控制单元。
图2示出了可用作图1的任何处理系统10的示例性数字处理系统10,特别是微控制器的框图。
在所考虑的例子中,处理系统10包括通过软件指令编程的微处理器102,通常是中央处理单元(CPU)。通常,由微处理器102执行的软件存储在非易失性程序存储器104中,例如闪存或EEPROM。因此,存储器104被配置为存储处理单元102的固件,其中固件包括将由微处理器102执行的软件指令。一般来说,非易失性存储器104还可用于存储其它数据,例如配置数据,例如校准数据。
微处理器102通常还与易失性存储器104b相关联,例如随机存取存储器(RAM)。例如,存储器104b可用于存储临时数据。
如图2所示,通常经由一个或多个存储器控制器100来执行与存储器104和/或104b的通信。存储器控制器100可集成在微处理器102中或经由通信通道(例如,处理系统10的系统总线)连接到微处理器102。例如,系统总线可以包括例如基于高级可扩展接口(AXI)总线体系结构和/或片上网络(NoC)的一个或多个总线系统。
类似地,存储器104和/或104b可以与微处理器102集成在单个集成电路中,或者存储器104和/或104b可以是单独的集成电路的形式并且例如经由印刷电路板的迹线连接到微处理器102。
在所考虑的示例中,微处理器102可以具有从以下组中选择的相关联的一个或多个(硬件)资源/外围设备106:
-一个或多个通信接口IF,例如用于经由通信系统20交换数据,诸如通用异步接收器/传输器(UART)、串行外围接口总线(SPI)、集成电路间(I2C)、控制器局域网(CAN)总线、和/或以太网接口、和/或调试接口;和/或
-一个或多个模数转换器AD和/或数模转换器DA;和/或
-一个或多个专用数字组件DC,例如硬件计时器和/或计数器,或密码协处理器;和/或
-一个或多个模拟部件AC,例如比较器、传感器,例如温度传感器等;和/或
-一个或多个混合信号分量MSC,例如PWM(脉宽调制)驱动器。
通常,专用数字组件DC也可以对应于集成在处理系统10中的FPGA。例如,在这种情况下,存储器104还可以包括用于这种FPGA的程序数据。
例如,为此目的,系统总线实际上可以包括高级微控制器总线体系结构(AMBA)高性能总线(AHB),以及用于将资源/外围设备106连接到AMBA AHB总线的高级外围总线(APB)。
因此,数字处理系统10可以支持不同的功能。例如,微处理器102的行为由存储在存储器104中的固件确定,例如由微控制器10的微处理器102执行的软件指令。因此,通过安装不同的固件,相同的硬件(微控制器)可以用于不同的应用。
如上所述,在许多应用中,数据必须在数个处理系统10之间交换。例如,在汽车领域以及许多其他领域中,经常使用一个或多个CAN总线来在处理系统10之间交换数据。更具体地,在许多应用中,处理系统10应当连接到CAN FD光总线。例如,CAN FD光协议在文档“CAN FD Light Specification and test plan”,CAN in Automation(CiA)604-1,版本0.0.6,或“CAN FD Light Network Protocol and Implementation”,EuES003-06,版本1.3中描述,其在此通过引用并入本文。
例如,图3示出了典型情况,其中第一处理系统101和第二处理系统102连接到CANFD光总线20。
例如,处理系统101和102中的每个处理系统可以包括:
-CAN FD总线收发器320,其被配置为连接到CAN总线20;
-处理单元102;以及
-通信接口IF,其被配置为将处理单元102连接到CAN总线收发器320;
例如,通常需要这种附加的CAN总线收发器320,因为CAN总线20使用与处理单元102不同的信号电平和/或为了实现电流隔离。例如,在CAN FD光协议的情况下,收发器320是控制器局域网络灵活数据速率(CAN FD)收发器。
例如,传统的CAN总线收发器320包括两个接口。第一接口被配置为经由CAN总线20通过传输和接收差分不归零(NRZ)编码信号来交换数据。相反地,第二接口被配置为接收传输信号Tx并提供接收信号Rx,其中传输信号Tx和接收信号Rx是NRZ信号,优选地为单极非归零电平(NRZ-L)编码信号,诸如被设置为高(通常为处理单元102的电源电压)以用于传输逻辑“1”或被设置为低(通常为地)以用于传输逻辑“0”的二进制编码信号。
因此,通信接口IF可以向收发器320提供NRZ/二进制编码的传输信号TX,并从收发器320接收NRZ/二进制编码的接收信号RX。收发器320又管理CAN总线20上的数据交换。因此,通信接口IF实现(至少)数据链路层和可选的更高协议层,而收发器320管理物理层。因此,接口IF可以实现CAN FD光控制器。
如图3所示,收发器320可以以连接到包括处理单元102和硬件接口IF(参见例如处理系统101)的集成电路30的单独集成电路32的形式提供,或者收发器320可以集成在包括处理单元102和硬件接口IF(参见例如处理系统102)的集成电路30中。通常,CAN FD光控制器IF也可以集成在收发器320的集成电路32中。
发明内容
实施例提供了用于在微控制器中实现CAN FD光控制器的解决方案。
如前所述,各种实施例涉及适于传输和接收CAN FD光帧的处理系统,例如集成电路,例如微控制器。具体地,在各种实施例中,处理系统被配置为经由串行外围接口(SPI)通信接口来传输和接收CAN FD光帧。
具体地,在这种情况下,处理系统包括被配置为提供传输信号的传输端子,被配置为接收接收信号的接收端子和时钟端子。所述SPI通信接口连接到所述传输端子和所述接收端子,并且包括控制寄存器,所述控制寄存器被配置为存储标识时钟缩放因子的数据和标识操作模式的数据,其中所述操作模式指示主模式或从模式。
例如,SPI通信接口可以包括:给定字尺寸的传输移位寄存器,其被配置为通过响应于第一时钟信号顺序地提供传输移位寄存器的内容来生成传输信号;给定字尺寸的接收移位寄存器,其被配置为响应于第二时钟信号顺序地将接收信号的逻辑电平添加到接收移位寄存器的内容;以及时钟缩小电路,其被配置为接收时钟信号并通过根据时钟缩放因子缩小时钟信号来生成按比例缩小的时钟信号。
例如,在主模式中,SPI通信接口可以将缩小时钟信号作为第一时钟信号提供给传输移位寄存器。通常,还将缩小时钟信号作为第二时钟信号提供给接收移位寄存器。
相反,在从模式中,SPI通信接口可以将在时钟端子处接收的时钟信号作为第二时钟信号提供给接收移位寄存器。通常,在时钟端接收的时钟信号也作为第一时钟信号提供给传输移位寄存器。
在各种实施例中,处理系统还包括经由软件指令可编程的微处理器,被配置为连接到存储器的存储器控制器以及连接微处理器,存储器控制器和SPI通信接口的通信系统。
如前所述,处理系统被配置为经由SPI通信接口传输和接收CAN FD光帧。在这种情况下,传输端子和接收端子应当连接到CAN FD收发器。
由于CAN FD光帧通常大于传输移位寄存器和接收移位寄存器的字尺寸的事实,在各种实施例中,处理系统包括被配置为将给定字尺寸的分组从存储器传输到传输移位寄存器的第一DMA通道和被配置为将给定字尺寸的分组从接收移位寄存器传输到存储器的第二DMA通道。
此外,由于SPI通信接口是同步接口的事实,在各种实施例中,处理系统包括用于接收CAN FD光帧的以下附加块:
-边沿检测器,被配置为响应于检测到所述接收信号中的下降沿而断言第一控制信号;
-第一硬件计时器电路,被配置为当被使能时在所述时钟端子处生成时钟信号;以及
包括计数器的第二硬件计时器电路,被配置为当被使能时增加计数值,并且响应于确定所述计数值达到给定阈值而断言第二控制信号。
具体地,边沿检测器用于检测新的CAN FD光帧的开始,第一硬件计时器电路用于生成用于SPI通信接口的时钟信号,并且第二硬件计时器电路用于检测CAN FD光帧的结束。
具体地,在各种实施例中,第二硬件计时器电路的计数器被配置为:当被使能时,响应于确定接收信号在给定的时间阈值内被设置为高而断言第二控制信号,其中时间阈值至少对应于由第一硬件计时器电路生成的时钟信号的八个时钟周期的持续时间,并且其中第二硬件计时器电路的计数器被配置为响应于检测到接收信号为低而被重置。因此,在这种情况下,第二计数器检测到被设置为高的八个连续位的存在,这对应于CAN FD光帧的帧结束指示。
相反,在各种实施例中,第二硬件计时器电路的给定阈值至少对应于由第一硬件计时器电路生成的时钟信号的给定最大时钟周期数的持续时间。因此,在这种情况下,第二计数器发信号通知已经接收到给定的最大位数。
在各种实施例中,第一硬件计时器电路和/或第二硬件计时器电路可以是通用硬件计时器电路。优选地,第一硬件计时器电路实现脉冲宽度调制(PWM)信号发生器。为此,第一硬件计时器电路可以包括计数器,该计数器被配置为当被使能时生成作为PWM信号的时钟信号。
因此,该处理系统可以管理CAN FD光数据传输模式和/或CAN FD光数据接收模式。
具体地,在CAN FD光数据传输模式中,微处理器可以被配置为对SPI通信接口的控制寄存器进行编程,以便激活主模式,生成传输CAN FD光帧,将传输CAN FD光帧存储到存储器,并且激活第一DMA通道,由此第一DMA通道将传输CAN FD光帧从存储器顺序地传输到传输移位寄存器,并且SPI通信接口将存储的相应数据传输到传输移位寄存器。
相反地,在CAN FD光数据接收模式中,微处理器可以被配置为对SPI通信接口的控制寄存器进行编程,以便激活从模式,并且然后等待第一控制信号(例如中断信号)被第一计时器电路断言,从而指示接收CAN FD光帧的开始。响应于第一控制信号,微处理器然后可以使能第一硬件计时器电路和第二硬件计时器电路,由此第二DMA通道被配置为将给定字尺寸的分组从接收移位寄存器传输到存储器,由此顺序地将接收CAN FD光帧从接收移位寄存器传输到存储器。然后,微处理器等待第二控制信号(例如中断信号)被第二计时器电路断言,从而指示接收CAN FD光帧的结束。因此,响应于第二控制信号,微处理器可以从存储器中读取接收CAN FD光帧。在各种实施例中,响应于第二控制信号,微处理器还可以禁用第一硬件计时器电路和第二硬件计时器电路。
在各种实施例中,由第一硬件计时器电路生成的时钟信号也可以与接收信号同步。为此目的,第一硬件计时器电路的计数器可以被配置为响应于检测到接收信号的下降和/或上升沿而被重置,该下降和/或上升沿例如由边沿检测器或另一边沿检测器发信号通知。
因此,处理系统可以实现CAN FD光控制器/主设备或CAN FD光从设备二者。具体地,CAN FD光控制器/主设备首先传输传输CAN FD光帧,然后可选地接收接收CAN FD光帧。相反,CAN FD光从机首先接收接收CAN FD光帧,然后可选地传输传输CAN FD光帧。
附图说明
现在将参照附图描述本公开的实施例,附图仅通过非限制性示例的方式提供,其中:
图1示出了包括多个处理系统的电子系统的示例;
图2示出了处理系统的示例;
图3示出了CAN FD光通信系统的示例;
图4示出了被配置为经由CAN FD光总线交换数据的处理系统的实施例;
图5示出了图4的处理系统的串行通信接口的实施例;
图6示出了适于在图4的处理系统中使用的CAN FD收发器的实施例;
图7A和7B示出了CAN FD光帧的示例;
图8示出了图5的串行通信接口的硬件传输和接收电路的实施例;
图9示出了图8的硬件传输和接收电路的时钟管理电路的实施例;
图10示出了图8的硬件传输和接收电路的操作的实施例;
图11A和11B示出了图8的硬件传输和接收电路的操作的实施例;
图12示出了图4的处理系统的微处理器的操作以便传输数据的实施例;
图13示出了图4的处理系统的微处理器用以接收数据的操作的实施例;
图14示出了硬件SPI接口的传输部分的示例;
图15示出了使用图14的电路来传输CAN FD光帧的实施例;
图16示出了硬件SPI接口的接收部分的示例;以及
图17示出了处理系统的使用图16的电路来接收CAN FD光帧的处理系统的实施例。
具体实施方式
在以下描述中,给出了许多具体细节以提供对实施例的透彻理解。可以在没有一个或数个具体细节的情况下,或者利用其它方法,组件,材料等来实践实施例。在其它情况下,未示出或详细描述公知的结构,材料或操作,以避免使实施例的各方面模糊。
在整个说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征,结构或特性被包括在至少一个实施例中。因此,在本说明书中各处出现的短语“在一个实施例中”或“在实施例中”不一定都指同一实施例。此外,特定特征,结构或特性可以以任何合适的方式组合在一个或多个实施例中。
本文提供的标题仅仅是为了方便,并不解释实施例的范围或含义。
在下面的图4至17中,已经参照图1至3描述的部分,元件或部件由先前在该图中使用的相同附图标记表示;为了不使本发明的详细描述负担过重,下面将不再重复对这些先前描述的元件的描述。
图4示出了根据本说明书的处理系统10a的实施例。
具体地,在所考虑的实施例中,处理系统10a包括连接到(片上)通信系统114的至少一个处理核102a,例如n个处理核102a1…102an。例如,在实时控制系统的环境中,处理核心102a1…102an可以是ARM核心。通常,通信系统114可以包括例如基于高级可扩展接口(AXI)总线体系结构和/或片上网络(NoC)的一个或多个总线系统。
例如,如处理核心102a1的示例所示,每个处理核心102a可以包括微处理器1020和通信接口1022,通信接口1022被配置为管理微处理器1020和通信系统114之间的通信。在所考虑的实施例中,接口1022是主接口,其被配置为将(读或写)请求从微处理器1020转发到通信系统114,并且将可选响应从通信系统114转发到微处理器1020。在各种实施例中,处理核心102a还可包括从接口1024。例如,以这种方式,第一微处理器1020可以向第二微处理器1020传输请求(经由第一微处理器的通信接口1022,通信系统114和第二微处理器的通信接口1024)。例如,为此目的,除了系统总线或NoC之外,通信系统114还可以包括附加的协处理器总线,例如连接同一处理核心102a或所有处理核心102a的微处理器1020。
在各种实施例中,每个处理核心102a1…102an还可以包括另外的本地资源,诸如一个或多个本地存储器1026,其通常被标识为紧耦合存储器(TCM)。
如前所述,典型地,处理核心102a1…102an被布置为与非易失性存储器104和/或易失性存储器104b交换数据。在各种实施例中,这些存储器是系统存储器,即,为处理核心102a1…102an共享。举例来说,在各种实施例中,处理系统10a包含一个或多个存储器控制器100,其被配置为将至少一个非易失性存储器104和至少一个易失性存储器104b连接到通信系统114。如前所述,存储器104和/或104b中的一个或多个存储器可以集成在包括处理核心102a的集成电路30a中,或者可以在外部连接到集成电路30a。例如,处理系统10a可以包括:
-集成在处理系统10a的集成电路30a中并经由第一存储器控制器100连接到通信系统114的第一易失性存储器104b,以及
-在处理系统10a的集成电路30a外部并经由第二存储器控制器100连接到通信系统114的第二易失性存储器104b。
如前所述,处理系统10a可以包括一个或多个资源106,诸如一个或多个通信接口或协处理器(例如,密码协处理器)。
具体地,在所考虑的实施例中,处理系统10a包括经由从通信接口510连接到通信系统114的通信接口50。
具体地,如图5所示,在各个实施例中,通信接口50包括:
-硬件传输和接收接口电路504,其被配置为传输数据和接收数据;
-用于存储待传输数据的一个或多个传输数据寄存器DATATX,例如m个寄存器DATATX1..DATATXm;
-用于存储控制数据的一个或多个控制寄存器CTRL;以及
-用于存储已接收的数据的一个或多个接收数据寄存器DATARX,例如m个寄存器DATARX1…DATARXm。
在各种实施例中,相同的寄存器可以用作传输数据寄存器DATATX和接收数据寄存器DATARX。
因此,处理核心102a可被配置为经由通信系统114将以下请求中的一个或多个请求传输到通信接口50的从接口510:
-写入请求,以便将数据写入传输数据寄存器DATATX;
-写入请求,以便将数据写入到控制寄存器CTRL,例如,以便配置通信接口50和/或开始数据传输操作;以及
-读取请求,以便从接收数据寄存器DATARX读取数据。
例如,在各种实施例中,处理核心102a可将给定数目k的分组TD1…TDk写入到m个传输数据寄存器DATATX,或从m个接收数据寄存器DATARX读取给定数目k的分组RD1…RDk。通常,数据分组的数目k可以对应于或小于寄存器的数目m。
例如,出于此目的,寄存器DATATX,DATARX和CTRL中的每个寄存器可以具有相关联的通信系统114的相应物理地址(PA),并且每一读取或写入请求可以包含给定目标地址。例如,如上所述,通信系统114可以包括高级微控制器总线体系结构(AMBA)高性能总线(AHB),以及用于将通信接口50连接到AMB AAHB总线的高级外围总线(APB)。
在各种实施例中,处理系统10a还包括一个或多个直接存储器存取(DMA)控制器110。具体地,DMA控制器110包括连接到资源106的至少一个功能通道。例如,如图5所示,以这种方式,通信接口50可以经由两个通道连接到DMA控制器110:
-第一通道DMA1,其被配置为自主地将数据从源地址(例如,与存储器104b中的第一存储器范围相关联)传输到与传输数据寄存器DATATX相关联的目标地址;以及
-第二通道DMA2,其被配置为将数据从与接收数据寄存器DATARX相关联的源地址传输到目标地址(例如,与存储器104b中的第二存储器范围相关联)。
例如,在各种实施例中,通信接口50包括两个DMA接口电路5061和5062。具体地,第一DMA接口电路5061连接到DMA通道DMA1,并生成用于请求要传输的新数据的第一请求信号REQ1。相对地,第二DMA接口电路5062连接到DMA通道DMA2,并生成用于请求读取数据的第二请求信号REQ2。
通常,DMA通道DMA1和/或DMA通道DMA2可以用通用DMA控制器来实现,或者经由集成DMA控制器来实现,集成DMA控制器可以被配置为分别向通信系统114或直接向存储器控制器110传输读或写请求。例如,如图5中示意性示出的,在各种实施例中,DMA通道DMA1用通用DMA通道来实现,该通用DMA通道因此经由从接口510将数据传输到寄存器DATATX,而DMA通道DMA2是在通信接口50中实现的集成DMA写通道,该集成DMA写通道因此将数据直接从寄存器DATARX传输到通信系统114或直接传输到存储器控制器100。
举例来说,在各种实施例中,可以通过写入控制寄存器CTRL的内容(例如)以便设定使能数据传输的标志和/或使能DMA传输的标志来开始数据传输。因此,响应于控制寄存器CTRL的内容,DMA接口电路5061可以断言请求信号REQ1,由此DMA通道DMA1将给定数量k的数据分组TD1…TDk从存储器104b传输到m个传输数据寄存器DATATX。例如,DMA通道DMA1的源地址可以被初始化为用于存储传输数据的第一存储器槽TD1的地址ADR1,并且可以为每次DMA数据传输而增加。相反,可以将目标地址初始化为与第一传输数据寄存器DATATX0相关联的地址,并且可以为每个DMA数据传输增加目标地址。
在各种实施例中,一旦已经将数据分组TD1…TDk传输到传输数据寄存器DATATX,DMA通道DMA1还可以断言确认信号ACK1,该确认信号ACK1指示所请求的数目k的分组TD1…TDk已经被传输到传输数据寄存器DATATX。例如,DMA接口电路5061可以响应于确认信号ACK1而取消断言请求信号REQ1。此外,硬件通信接口504可以响应于确认信号ACK1开始数据传输。
在各种实施例中,一旦经由传输信号TXD完成所请求数目的位的传输,硬件通信接口504就可以断言信号TX_OK。例如,响应于信号TX_OK,DMA接口电路5061可以再次断言请求信号REQ1,从而请求新数据。另外地或可选地,信号TX_OK可用于为处理核102a生成中断。
类似地,一旦已经经由接收信号RXD接收到给定数目的位,硬件通信接口504就可以断言信号RX_OK。例如,在这种情况下,DMA接口电路5062可以被配置为断言请求信号REQ2,并且DMA通道DMA2可以被配置为将k个分组从m个接收数据寄存器DATARX传输到存储器104b,从而将接收到的数据RD1…RDn顺序地存储到存储器104b。例如,可以将DMA通道DMA2的源地址初始化为与第一接收数据寄存器DATARX0相关联的地址,并且为每次数据传输增加源地址。相对地,目标地址可以被初始化为用于存储所接收的数据的第一存储器槽RD1的地址ADR2,并且可以针对每次数据传输而增加。
在各种实施例中,一旦已经将数据分组RD1…RDk传输到存储器104b,DMA通道DMA2也可以断言确认信号ACK2,该确认信号ACK2指示所请求的数目k的分组RD1…RDk已经被传输到存储器104b。例如,DMA接口电路5062可以响应于确认信号ACK2而取消断言请求信号REQ2。响应于该确认信号ACK2,DMA接口电路5062可以断言准备信号RDY,该准备信号RDY被提供给硬件通信接口504。具体地,在这种情况下,硬件通信接口504可以被配置为仅在断言信号RDY时接受新数据。附加地或替换地,确认信号ACK2可用于为处理核心102a生成中断。
如图4所示,在各种实施例中,DMA控制器110因此可以包括:
-从接口1104,用于从通信系统114接收用于配置DMA控制器110的通道的配置数据,例如初始源地址,初始目标地址和要执行的DMA传输的数目k;以及
-主接口1102,用于经由通信系统114(或直接地)向存储器控制器100传输读和/或写请求。
具体地,在各种实施例中,通信接口50是串行通信接口,其被配置为:
-根据存储到传输数据寄存器DATATX的数据生成NRZ编码的传输信号TXD,例如二进制位序列,以及
-采样NRZ编码的接收信号RXD,例如二进制位序列,并将相应的数据存储到接收数据寄存器DATARX。
具体地,如图4所示,在各种实施例中,传输信号TXD和接收信号RXD可以分别连接到传输端子TX和接收端子RX。在各种实施例中,传输端子TX和接收端子RX连接到CAN FD收发器320,以便经由CAN FD光总线20交换数据。
通常,发射端子TX和接收端子RX可以是集成电路30a的管芯的焊盘或封装的集成电路30a的引脚,其中CAN FD收发器320设置在单独的集成电路32中。可选地,CAN FD收发器320可以集成在集成电路30a中。
例如,图6示出了CAN FD收发器320的可能实施例。
具体地,根据CAN FD标准,收发器320被配置为接收NRZ(例如,NRZ-L)编码传输信号TXD,例如二进制位序列。在所考虑的实施例中,收发器320因此包括CAN FD传输器电路322,其中传输器电路322连接到引脚/焊盘CANH和CANL,以连接到CAN FD(光)总线20的差分数据线。
收发器320还包括CAN FD接收器电路324,其被配置为通过分析端子CANH和CANL之间的电压来生成信号RXD。具体地,根据CAN FD标准,信号RXD是NRZ编码信号,例如二进制编码信号。
因此,CAN收发器320实质上转换信号的电压电平,而CAN FD光协议管理和信号的相应计时必须在处理系统10a中实现的CAN FD光控制器中实现。因此,在各种实施例中,处理系统10a应该能够根据CAN FD光协议生成传输信号TXD,并且类似地基于接收信号RXD的逻辑电平重构传输位序列。
因此,在解释CAN控制器与处理系统10a的实现之前,值得简要解释CAN FD光协议。具体地,CAN FD光是基于CAN FD协议的命令器/响应器协议。这在前面引用的参考文献中有描述。通常,关于CAN FD协议,还可以参考文档”Road vehicles—Controller areanetwork(CAN)—Part 1:Data link layer and physical signaling”,ISO11898-1:20152015,”Road vehicles—Controller area network(CAN)—Part 2:High-speedmedium access unit“,ISO11898-2:2016-2016,和/或”RM0407 Reference manual-SPC584Cx/SPC58ECx32-bit MCU family built on the PowerArchitecture forautomotive body electronics applications",RM0407 Rev.5,2019年5月。
因此,对于CAN FD协议,基本上CAN FD光协议省略了仲裁阶段。因此,命令器控制整个通信,并且通过在不期望来自其他网络参与者(“响应者”)的应答的情况下传输帧(诸如广播帧),或者通过在期望来自该响应者的应答的同时向专用寻址响应者传输帧,来使能每个通信周期。i.即,单播帧中的请求和应答方案。请求帧也可用于向寻址的响应器传输数据。只有被请求应答的寻址应答者被期望传输回帧,即,总线上没有其它设备被期望同时传输数据。因此,精确地定义了总线20上的帧序列,并且不需要仲裁。例如,利用该方案,不需要错误帧,因为清楚地标识了通信方向和应答。类似地,也不需要来自命令器或来自响应器的确认。错误帧被丢弃,并在CAN FD光方案中被视为未被接收。
例如,图7A和图7B示出了典型的CAN FD光帧。
具体地,CAN FD光协议使用通常对应于低逻辑电平(“0”)的显性逻辑电平和通常对应于高逻辑电平(“1”)的隐性逻辑电平。显性和隐性逻辑电平的逻辑电平的实现取决于CAN FD收发器320的实现。
在图7A和图7B所示的实施例中,如ISO11898-1:2015中规定的,CAN FD光帧按顺序包括:
-帧起始位SOF;
-11位CAN标准标识符SID<10:0>;
-远程请求替代位RRS被设置为显性电平(例如,“0”);
-标识符扩展位IDE被设置为显性电平(例如,“0”);
-灵活数据格式位FDS设置为隐性电平(例如,“1”);
-预留位res通常被设置为显性电平(例如,“0”);
-位速率切换位BRS设置为显性电平(例如,“0”),其指示以相同速率传输有效负载;
-错误状态指示符位ESI被设置为显性电平(例如,“0”);
-4位数据长度码字段DLC<3:0>,其允许指定要传输的数据量(值0x0000至0x1000分别对应于0-8个数据字节,值0x1001至0x1111分别对应于12、16、20、24、32、48和64个数据字节);
-有效载荷DATA,其可以对应于0-8、12、16、20、24、32、48和64个数据字节(参见字段DLC);
-3位填充位计数器字段SBC<2:0>;
-偶数奇偶校验位P;
-循环冗余校验字段CRC,其具有17位(对于多达16个数据字节)或21位(对于20至64个数据字节);
-CRC定界位CD,设置为隐性电平(例如,“1”);
-确认位AS;
-确认定界位AD,设置为隐性电平(例如,“1”);以及
-7位帧结束字段EOF<6:0>,其具有设置为隐性电平(例如,“1”)的所有位。
发明人已经观察到,在CAN FD光系统中,CAN控制器因此可以在传输之前准备完整的帧,然后在不运行仲裁的情况下传输该帧的位序列。
例如,在图4和图5所示的实施例中,处理核心102a可以准备由传输数据TD1..TDk表示的完整的CAN FD光帧,并且然后:
-将传输帧/数据TD1..TDk写入传输数据寄存器DATATX,或者
-将传输帧/数据TD1..TDk写入存储器104a,然后激活DMA传输,由此DMA通道DMA1将传输帧TD1..TDk从存储器104b传输到传输数据寄存器DATATX。
在这方面,图12示出了处理核心102a的操作的实施例,例如通过软件指令来实现,以便传输数据。
具体地,在开始步骤2000,处理核心102a决定经由通信接口50/CAN FD光总线20传输给定数据,从而开始传输帧/数据TD1…TDk的生成。
在步骤2002处,处理核心102a在步骤2004处将帧起始位SOF设定为显性电平。如稍后将描述的,该步骤纯粹是可选的。
接着,处理核心102a在步骤2006获得标准标识符,并在步骤2004将相应的标准标识符添加到传输帧TD1…TDk的字段SID。
接下来,处理核心102a在步骤2008将预定的CAN FD光控制位添加到传输帧TD1…TDk。控制位包括位RRS、IDE、FDF、BRS和ESI、其可以具有用于CAN FD光帧的固定电平。
接着,处理核心102a在步骤2012获得要传输的数据,在步骤2010确定相应的数据长度代码(DLC),并在步骤2014将数据长度代码添加到字段DLC和要传输的数据添加到传输帧TD1……TDk的字段DATA。
在步骤2016,处理核心102a然后根据CAN FD光标准ISO11898-1:2015的位填充规则添加可能的填充位,并在步骤2018计算相应的填充位计数,并将填充位计数添加到传输帧TD1……TDk的字段SBC。类似地,处理核心102a可确定奇偶校验位的值并将奇偶校验位添加到传输帧TD1…TDk的字段P。
在步骤2020,处理核心102a然后确定CRC位的相应数目,并将CRC位添加到传输帧TD1…Dk的字段CRC。通常,在该步骤中还可以添加根据ISO11898-1:2015的固定填充位。
最后,处理核心102a在步骤2022添加确认字段AS和AD的结尾位,以及帧结束分隔符EOF。
因此,基于传输帧的内容或仅可变长度字段的长度,处理核心102a可在步骤2024处确定帧长度并将标识帧长度的数据存储到通信接口50的控制寄存器CTRL。
此外,处理核心102a可在步骤2026将传输帧/数据TD1…TDk存储到传输数据寄存器DATATX或存储器104b,并激活DMA通道DMA1的DMA传输。
最后,处理核心102a可在步骤2028处例如通过在控制寄存器CTRL中设置相应位来激活数据传输操作,并且所述过程在步骤2030处终止。
通常,也可通过仅执行控制寄存器CTRL的单个编程来组合步骤2024、2026和2028处的控制寄存器CTRL的编程操作。
通常,为了确定传输帧/数据TD1…TDk的传输已完成,处理核心102a可监视控制寄存器CTRL中的标志及/或从通信接口50接收中断(例如,两者均响应于信号TX_OK而设定)。
在这方面,图13示出了处理核心102a的操作的实施例,例如通过软件指令来实现,以便接收数据。
具体地,一旦通信接口50在开始步骤2040接收到新的帧RD1…RDk,处理核心102a就可以在步骤2042读取接收到的帧/数据RD1…RDk。例如,为了开始该过程,处理核心102a可以监视控制寄存器CTRL中的标志和/或从通信接口50接收中断。在这方面,当通信接口50将数据存储到接收数据寄存器DATARX时(例如,如信号RX_OK所指示的)和/或一旦已经经由DMA通道DMA2将数据RD1…RDk传输到存储器104b时(例如,如信号ACK2所指示的),可以断言标志和/或中断。因此,在步骤2042处,处理核心102a可从接收数据寄存器DATARX或存储器104b读取所接收的帧/数据RD1…RDk。因此,在各种实施例中,在接收数据之前,处理核心102a可激活DMA通道DMA2的DMA传输,借此DMA通道DMA2将所接收的帧从接收数据寄存器DATARX传输到存储器104b。
在步骤2044处,处理核心102a可接着计算所接收的帧/数据RD1…RDk的CRC数据,并且可在步骤2046处将所接收的CRC数据(例如,在根据ISO11898-1:2015移除固定填充位之后的字段CRC)与所计算的CRC数据进行比较。
在所接收的CRC数据不对应于所计算的CRC数据(验证步骤2046的输出“N”)的情况下,处理核心102a可在步骤2048处忽略/丢弃所接收的数据,并且程序在停止步骤2056处终止。
相反,在所接收的CRC数据确实对应于所计算的CRC数据(验证步骤2046的输出“Y”)的情况下,处理核心102a在步骤2050处移除可能的填充位。
在步骤2052,处理核心102a然后可以获得标准标识符SID。
最后,在步骤2054,处理核心102a可以从接收的帧/数据RD1…RDk中提取数据。通常,为了确定数据字段DATA的长度(从而确定CRC字段的长度),处理核心102a可以提取数据长度码DLC和/或可以确定接收的位数。因此,在步骤2054,处理核心102a已经获得标识符SID和相应的数据DATA,并且该过程在步骤2056终止。
因此,在这种情况下,硬件串行通信接口504的传输部分可以被配置为根据CAN FD光标准的计时将与存储的传输帧的长度相对应的给定数目的位传输到传输数据寄存器DATATX。类似地,硬件串行通信接口504的接收部分应当被配置为根据CAN FD光标准的计时来接收接收帧,并且将该帧存储到接收数据寄存器DATARX。然而,在这种情况下,为了确定接收帧的长度,接收部分还应当被配置为检测所有位都被设置为隐性水平(例如,“1”)的帧结束字段EOF<6:0>。具体地,在各种实施例中,由于确认分隔符位AD应当被设置为隐性电平,所以接收部分被配置为通过检测被设置为隐性电平的八个连续位来确定帧的结束。
图8示出了硬件串行通信接口504的实施例。
具体地,在所考虑的实施例中,硬件通信接口504包括两个移位寄存器5040和5042。具体地,在所考虑的实施例中,移位寄存器5040用于存储要传输的数据。
在这方面,本发明人已经观察到,如图7A和图7B所示的CAN FD光帧包括单个帧起始位SOF(设置为显性电平)和七个帧结束位EOF(设置为隐性电平)。此外,CAN FD光帧可以包括多达675个位。具体地,CAN FD光包括固定数量的35位,包括22位的控制字段SOF、ID、RRS、IDE、FDF、res、BRS、ESI和DLC,4位用于填充位计数器字段SBC和奇偶校验位P,2位用于确认字段AS和AD,以及7位用于帧结束字段EOF。除了这35个固定位之外,还可以添加多个可变位,即数据字段DATA和字段CRC。数据字段DATA的长度由数据长度码DLC的内容指示。值DLC还确定CRC字段的位数,即17或21位。此外,根据帧的内容,根据ISO11898-1中描述的位填充规则添加附加的填充位。因此,虽然帧的位数可以是可变的,但是位数在开始数据传输操作之前是已知的。
因此,一旦处理核心102a已生成传输帧TD1…TDk的数据,处理核心102a也可决定要传输的位数。具体来说,在各种实施例中,处理核心102a被配置为将数据写入到控制寄存器CTRL,所述数据标识待传输的位的数目。
因此,一旦请求数据传输,硬件通信接口504可以例如通过使用移位寄存器5040的并行数据输入PDI将传输数据寄存器DATATX的内容传输到移位寄存器5040。为此,传输数据寄存器DATATX和移位寄存器5040优选地具有相同的尺寸,并且被配置为存储至少675位。
通常,存储到传输数据寄存器DATATX的传输帧也可以不包括帧起始位SOF。例如,在这种情况下,移位寄存器5040的第一位可以被设置为“0”,而移位寄存器5040的其它位被映射到传输数据寄存器DATATX的相应位。
此外,在各种实施例中,数据寄存器DATATX和移位寄存器5040可以用相同的移位寄存器来实现,其可以例如经由从接口510和/或DMA通道DMA1来写入。同样在这种情况下,可以使用附加位来存储帧起始位SOF。
因此,通常,处理核心102a准备CAN FD光帧(具有或不具有帧起始位SOF),并且将CAN FD光帧传输(经由处理核心102a和/或DMA通道DMA1)到移位寄存器5040,移位寄存器5040可选地可以添加帧起始位SOF。
在各种实施例中,移位寄存器5040被配置为依据时钟信号CLK2及传输使能信号TX_EN而依序将所存储的位传输到移位寄存器5040。
具体地,在所考虑的实施例中,硬件通信接口504还包括时钟管理电路5044,其被配置为响应于处理系统10a的系统时钟信号CLK而生成用于硬件通信接口504的时钟信号CLK2。
举例来说,如图9中所示,在各种实施例中,时钟管理电路可包含时钟预缩放电路5058,其被配置为生成预缩放时钟信号CLKPRE,所述预缩放时钟信号CLKPRE相对于时钟信号CLK的频率具有减小的频率,其中缩放因子可以根据存储到控制寄存器CTRL的配置数据而可编程。举例来说,可以使用被配置为响应于时钟信号CLK而增加计数值的计数器来实施预缩放电路5058,其中当计数值达到阈值时,计数器改变时钟信号CLKPRE的逻辑电平,其中根据由控制寄存器CTRL提供的配置数据来确定阈值。
在所考虑的实施例中,然后将预缩放的时钟信号CLKPRE提供给另一缩小电路5060,该电路被配置为生成具有相对于时钟信号CLKPRE的频率降低的频率的时钟信号CLK2,其中缩放因子可以是固定的或根据存储到控制寄存器CTRL的配置数据可编程。举例来说,可使用被配置为响应于时钟信号CLKPRE而增加计数值的计数器来实施缩小电路5060,其中当计数值达到阈值时,计数器改变时钟信号CLKPRE的逻辑电平,其中阈值视情况而根据由配置寄存器CTRL提供的配置数据来确定。
如图9所示,在各种实施例中,响应于同步信号SYNC来改变缩小电路5060的操作,然而,同步信号SYNC仅在接收数据时使用,并且稍后将对其进行描述。
因此,当传输数据时,时钟信号CLK2对应于时钟信号CLK的缩小版本(根据存储到控制寄存器CTRL的配置数据),并且可以具有例如1MHz或由CAN FD光支持的另一频率。
如前所述,移位寄存器5040还接收使能信号TX_EN,使能信号TX_EN使能数据传输操作。具体地,在所考虑的实施例中,移位寄存器5040被配置为,当使能信号TX_EN被断言并且响应于时钟信号CLK2时,在串行数据输出SD0处顺序地提供移位寄存器5040的内容。因此,当使能信号TX_EN被断言时,移位寄存器5040顺序地将存储的数据的位提供给移位寄存器5040(从帧起始位SOF开始)。
在所考虑的实施例中,使能信号TX_EN由传输控制电路5046生成,传输控制电路5046被配置为确定是否已经传输了给定数量的请求位。因此,在各种实施例中,传输控制电路5046被配置为根据存储到控制寄存器CTRL的配置数据来确定待传输的请求位的数目。举例来说,存储到控制寄存器CTRL的配置数据可以对应于待传输的位的总数(具有或不具有帧起始位SOF)。
例如,在各种实施例中,传输控制电路5046可以包括计数器,其响应于时钟信号CLK2而增加,从而指示传输位的数量。因此,当开始新的数据传输操作时,计数器可以被重置,从而断言使能信号TX_EN,并且当已经传输了所请求数目的位时,传输控制电路5046解除断言使能信号TX_EN。例如,在这种情况下,当传输控制电路5046取消断言使能信号TX_EN时,传输控制电路可以断言控制信号TX_OK。
在各种实施例中,硬件通信接口504包括组合逻辑电路5050,其被配置为当使能信号TX_EN被解除断言时将信号TXD设置为隐性电平,例如高。例如,在使能信号TX_EN被解除断言时将使能信号TX_EN设置为低的情况下,组合逻辑电路5050可以用逻辑或门来实现,该逻辑或门在输入处接收移位寄存器5056的串行数据输出信号SDO和使能信号TX_EN的反相版本,并且在输出处提供信号TXD。
组合逻辑电路5050纯粹是可选的,因为当使能信号TX_EN被解除断言时(例如,因为帧结束位EOF已被设定为隐性电平),串行数据输出信号SDO也可被设定为隐性电平。
相反地,移位寄存器5042被配置为存储经由信号RXD接收的位。
具体地,当没有数据传输发生时,接收信号RXD被设置为隐性水平,例如高。一旦由另一设备开始传输,就传输帧起始位SOF,由此将接收信号RXD设置为显性电平,例如低。
因此,在各种实施例中,硬件通信接口504包括接收控制电路5048。具体地,接收控制电路5048被配置为响应于信号RXD从隐性电平到显性电平的改变,例如响应于信号RXD的下降沿,断言接收使能信号RX_EN。
通常,如前所述,帧起始位SOF之后可以是可变数目的位(多达675位)。然而,通过将8位的序列设置为对应于位AD和帧结束字段EOF的隐性水平(例如,高)来精确地确定帧结束条件。实际上,CAN FD光协议的位填充保证了至多在具有相同逻辑电平的5位序列之后,其它数据的逻辑电平改变。
因此,在各种实施例中,接收控制电路5048被配置为响应于确定八个连续位被设定为隐性电平而解除断言接收使能信号RX_EN。举例来说,出于此目的,接收控制电路5048可包含被配置为响应于时钟信号CLK2而增加计数值的计数器,其中当信号RXD设定为显性电平时,计数器重置。因此,在这种情况下,当计数器达到8时,接收控制电路5048可以取消断言接收使能信号RX_EN。
因此,在各种实施例中,移位寄存器5042被配置为,当使能信号RX_EN被断言并且响应于时钟信号CLK2时,将施加到移位寄存器5042的串行数据输入SDI的逻辑电平顺序地添加到存储到移位寄存器5042的数据,其中串行数据输入SDI连接到接收信号RXD。通常,接收控制电路5048可以断言具有帧起始位SOF或仅用于下一位的接收使能信号RX_EN,由此将帧起始位SOF存储或不存储到移位寄存器5042。
因此,一旦接收到八个连续的隐性位,接收控制电路5048就解除断言接收使能信号RX_EN。在这种情况下,接收控制电路5048还可以断言控制信号RX_OK。
此外,一旦例如响应于信号RX_OK接收到八个连续隐性位,硬件通信接口504例如通过使用移位寄存器5042的并行数据输出PD0将移位寄存器5042的内容传输到接收数据寄存器DATARX。为此,接收数据寄存器DATARX和移位寄存器5042优选地具有相同的尺寸,并且被配置为存储至少675位。如上所述,传输到接收数据寄存器DATARX的接收帧也可以不包括帧起始位SOF。
如图10所示,当经由CAN FD收发器320传输数据时,实际上接收信号RXD对应于传输信号TXD的反馈。
因此,这允许对所传输的帧实现附加的监视特征,即,可以将所接收的帧与所传输的帧进行比较。例如,这可以用作安全特征,因为处理核心102a可以验证另一个电路是否已经修改了在CAN总线20上传输的数据。
或者,在各种实施例中,接收控制电路5048可以被配置为(例如)响应于存储到控制寄存器CTRL的配置数据和/或传输使能信号TX_EN而在使能数据传输时维持接收使能信号RX_EN解除断言。在各种实施例中,该行为也可以是可编程的。
因此,在所考虑的实施例中,数据的传输响应于时钟信号CLK2而发生,并且数据与该时钟CLK2同步地移出。相反,经由接收信号RXD接收的数据可以具有与该时钟CLK2偏差的相位和/或频率。实质上,频率偏移导致累积的相移,即,频率偏移可以被视为相移序列。在各种实施例中,为补偿相移,接收控制电路5048可被配置为基于检测到的位转变来调整所接收数据的取样点。具体地,在各种实施例中,为此目的使用同步信号SYNC。
具体地,在各种实施例中,接收控制电路5048被配置为响应于检测到接收信号RXD的逻辑电平的变化,即响应于下降沿从隐性电平到显性电平,和/或响应于上升沿从显性电平到隐性电平,来断言同步信号SYNC。例如,为此目的,接收控制电路5048可以响应于时钟信号CLKPRE对接收信号RXD进行采样,并且在当前采样被设置为显性电平并且先前采样被设置为隐性电平时和/或在当前采样被设置为隐性电平并且先前采样被设置为显性电平时断言同步信号SYNC。
如参照图9所述,缩小电路5060可以与同步信号SYNC同步,以便生成用于采样接收信号RXD的边沿。
例如,在各种实施例中,按比例缩小电路5060被实现为具有计数器,该计数器被配置为增加计数值CNT,并且当达到最大计数值时重置计数值CNT。此外,为了使计数值CNT与同步信号SYNC同步,可以响应于确定同步信号SYNC被断言而重置计数器CNT。
例如,在图11A中示出了显性逻辑电平为低并且接收机仅与信号RXD的下降沿同步的示例性情况。具体地,在所考虑的示例中,接收信号RX按顺序包括位B1=“0”(例如,对应于帧开始bisSOF),B1=“1”,B3=“1”和B4=“0”。
相应地,响应于位B1的接收信号RXD从高到低的改变,同步信号SYNC被断言,因此计数值CNT被重置。接下来,在时钟信号CLKPRE的每个时钟周期增加计数值,例如,直到达到最大值,例如4,然后计数器再次重置计数值CNT。因此,在所考虑的实施例中,当采样隐性电平时,计数值CNT不是通过同步信号SYNC重置,而是仅通过计数器重置。
因此,时钟信号CLK2可以在计数值CNT达到给定的第一值(例如3)时被断言,并且可以在计数值CNT达到给定的第一值(例如0)时被解除断言。
在这方面,图11B示出了当接收信号RXD的频率略高于时钟信号CLK2的频率时的情况。
具体地,在位B3的末尾,计数值达到最大值,例如4,并且计数器将计数值重置为0。然而,然后接收下降沿,由此接收控制电路5048断言同步信号SYNC,由此计数器CNT再次被重置。因此,在这种情况下,时钟信号CLK2的下降沿与下一个上升沿之间的时间对应于四个周期,而不是通常的三个周期。
通常,代替重置计数器5060,同步信号SYNC的逻辑电平可用于确定计数器的增加值。例如,默认地,增加值可以被设置为1。相反,当信号SYNC在计数值被设置为0时被断言时,计数器的增加值可以被设置为零,由此相位“0”被重复两次。相反地,当信号SYNC在计数值具有其最大值减1(例如,3)时被断言时,计数器的增加值可以被设置为2,由此间接地重置计数器。
在这方面,发明人已经观察到,时钟信号CLK2的这种再同步在CAN FD光协议的情况下特别有用,因为可以传输大量的位。
具体地,在各种实施例中,响应于接收信号RXD从隐性电平到显性电平的转变(诸如下降沿)而不是响应于从显性电平到隐性电平的转变(诸如上升沿)来生成同步信号SYNC。事实上,本发明人已经观察到,后一种转变可能不总是被使用,因为由于CAN总线物理层的特性,转变通常没有被很好地定义。具体地,当使用根据ISO11898-2的标准CAN物理层时,显性值(表示CAN总线上的逻辑“0”)由CAN收发器强烈地驱动,而隐性值由端子电阻器(并联的2×120欧姆,即60欧姆)确定。因此,显性到隐性边沿没有被很好地驱动,并且可能受到振铃。
此外,在这方面,位填充机制也是相关的,其不仅与确定帧结束字段EOF相关,而且确保在给定的最大位数内执行再同步。具体地,位填充确保在至多5位之后的边沿,并且因此至多在10位之后出现下降沿,这因此允许时钟信号CLK2的再同步。
因此,通信接口50可以用作CAN FD光帧的传输器和CAN FD光帧的接收器。
在这方面,在CAN FD光控制器,即CAN FD光主电路的情况下,处理核心102a首先(经由从接口510和/或DMA通道DMA1)向硬件收发器504提供CAN FD光帧(参见图12的描述)。在CAN FD光帧包括期望响应的请求的情况下,硬件收发器504随后将(经由从接口510和/或DMA通道DMA1)向处理核心102a提供所接收的CAN FD光帧(参见图13的描述)。
相反,在CAN FD光从电路的情况下,硬件收发器504将首先(经由从接口510和/或DMA通道DMA1)向处理核心102a提供所接收的CAN FD光帧(参见图13的描述)。在所接收的CAN FD光帧对应于期望响应的请求的情况下,处理核心102a然后可以(经由从接口510和/或DMA通道DMA1)向硬件收发器504提供响应CAN FD光帧(参见图12的描述)。
发明人已经观察到,现代处理系统通常包括串行外围接口(SPI)。在这方面,发明人已经观察到这种SPI接口可以用于传输和接收CAN FD光帧。因此,在这种情况下,通信接口50包括SPI接口。
例如,如图14所示,硬件SPI接口的传输部分504TX被配置为生成串行数据信号MOSI(主输出从输入)和同步时钟信号SCLK。
此外,通常传输电路504TX包括时钟缩小电路5044,其被配置为通过根据存储到一个或多个控制寄存器CTRL的配置数据按比例缩小处理系统10a的时钟信号CLK来生成时钟信号SCLK。
此外,传输电路504TX包括移位寄存器5040,处理核心102a可将待传输的数据传输到所述移位寄存器5040,并且所述移位寄存器5040经配置(当经由由传输控制电路5046提供的传输使能信号TX_EN使能时)以响应于时钟信号SCLK而将移位寄存器5040的内容依序提供到串行数据输出SDO,其中串行数据输出SDO提供信号MOSI。
因此,即使SPI接口是同步通信接口,通过仅将信号MOSI作为信号TXD提供给CANFD收发器320,SPI接口也可以用作异步传输接口。对于传输控制电路5046和时钟缩小电路的可能实施例,可以参考图8的先前描述。
因此,为了实现所存储的CAN FD光帧TD1…TDk的传输部分,时钟缩小电路5044应该能够生成与CAN FD规范兼容的时钟频率,例如1Mhz的时钟信号SCLK/CLK2。
通常,SPI接口的移位寄存器5040仅具有给定的字尺寸,例如8或16位,这不足以存储完整的CAN FD光帧。然而,本发明人已经观察到,通过使用具有传输数据寄存器DATATX和DMA传输的SPI接口,DMA通道DMA1能够将传输数据TD1…TDk的给定数据字从存储器104b传输到传输数据寄存器DATATX,其随后经由传输电路504TX传输。此外,当传输电路504TX顺序地传输当前数据字的位时,DMA通道DMA1可以将传输数据TD1…TDk的新数据字从存储器104b传输到传输数据寄存器DATATX。
因此,通过使用支持用于要传输的数据的DMA通道DMA1的SPI接口50,正确地配置DMA通道(诸如集成或通用DMA通道)和SPI接口50以便传输包括由处理核心102a准备的CANFD光帧的传输数据TD1…TDk的所有数据字就足够了。
在这方面,发明人已经观察到,存储到传输数据TD1…TDk的CAN FD光帧应当以特定的方式配置。
具体地,如图15所示,为了正确地用信号通知新帧的开始,信号MOSI/TXD应当从隐性电平改变到显性电平,例如从高到低。此外,当将信号MOSI/TXD维持在显性水平(例如,低)时,可以禁止连接至CAN FD总线20的另一个装置的可能的数据传输。
在这方面,SPI接口通常被配置为使得当传输电路504TX不激活时,信号MOSI被维持在最后的逻辑电平。例如,如图14所示,为了禁用移位寄存器(和时钟信号SCLK),传输电路504TX,例如直接时钟管理电路5044,可以包括逻辑门5064,其在输入端接收时钟信号CLK2和传输使能信号TX_EN,并且在输出端提供由移位寄存器5040使用的时钟信号SCLK。
因此,为了正确地传输存储到传输数据TD1…TDk的CAN FD光帧的帧起始条件,处理核心102a不必仅添加具有显性电平的帧起始位SOF,而是处理核心102a优选地还在帧起始位SOF之前添加设置为隐性的一个或多个位。例如,假设显性电平为低,则处理核心102a添加一个或多个位“1”,随后将帧起始位SOF设置为“0”(也参见图15)。因此,以这种方式,响应于确定请求数据传输操作,通信接口50:
-将第一数据字TD1从传输数据寄存器DATATX传输到移位寄存器5040,并且
-传输控制电路5046断言传输使能信号TX_EN,从而使能移位寄存器5040的移位操作(例如,通过使能时钟信号SCLK),由此移位寄存器5040顺序地提供第一数据字TD1的位,其中数据字TD1的第一位包括被设置为隐性电平的一个或多个位的序列,随后是被设置为显性电平的帧起始位SOF。
DMA通道DMA1然后可以将另外的数据字TD从存储器104b传输到传输数据寄存器,然后由传输电路504TX传输。
相反,为了正确地传输CAN FD光帧的七个帧结束位EOF,处理核心102a实际上不必将七个帧结束位EOF添加到最后的数据字TDk,但是处理核心102a添加具有隐性水平的至少一个位就足够了。举例来说,在各种实施例中,处理核心102a被配置为用指派给隐性电平(例如,高)的逻辑电平填充最后帧TDk(在对应于位AD的位位置之后)的最后位,借此确保当传输控制电路5046停用移位寄存器5040时,信号MOSI保持设定为隐性电平。
根据图10的描述,在这种情况下,SPI接口的接收器部分可以用于监控数据的传输。
具体地,如图16所示,SPI主接口的接收电路504RX包括移位寄存器5042,其被配置为响应于时钟信号SCLK同步地存储信号MISO(主输入从输出)的逻辑电平。典型地,接收电路504RX还包括接收机控制电路5048,其被配置为当接收到给定数量的位(例如8或16位)时断言信号RX_OK。一般来说,由于传输控制电路5046和接收器控制电路5048实质上实施相同的操作(即,对时钟信号SCLK的时钟循环的数目进行计数),因此这些电路也可与相同的控制电路组合并实施。
因此,为了实现读回功能,将SPI接口的MISO线连接到CAN收发器320的RXD信号(端子RX)就足够了,由此所传输的数据随后被接收回并存储到接收移位寄存器5042。此外,响应于接收信号RX_OK,可以将数据从接收移位寄存器5042传输到接收数据寄存器DATARX,并且可以使用DMA通道DMA2将所接收的数据从接收数据寄存器DATARX传输到存储器104b。
虽然该采样对传输数据的处理系统10a起作用,但是接收数据的处理系统10a不能简单地使用SPI接口的接收电路504RX。事实上,如例如关于图8所描述的,实际上CAN FD光接收器应当检测帧起始位SOF,如在接收器控制电路5048中所实现的,检测帧结束序列EOF,并且优选地响应于信号RXD的边沿将时钟信号CLK2/SCLK从隐性电平重新同步到显性电平。
然而,这些操作不是在传统的SPI接收机中实现的。
在这方面,图17示出了处理系统10a的实施例,其被配置为使用SPI通信接口50作为CAN FD光接收器。
具体地,图17中仅为简单起见示出了:
-接收移位寄存器5042,
-接收数据寄存器DATARX,
-生成接收控制信号RX_OK的(接收器)控制电路5048;以及
-DMA接口电路5062,其被配置为响应于接收控制信号RX_OK而与DMA通道DMA2通信。
具体地,当SPI通信接口50被配置为从接口时,时钟信号SCLK不是经由时钟缩小电路5044生成的,而是经由引脚/焊盘P3接收的。此外,由于以下事实:通过命名约定,接收移位寄存器5042在这种情况下经由引脚/焊盘P4接收信号MOSI(由SPI传输器/主机生成),上述电路被配置为:
-响应于时钟信号SCLK,顺序地存储经由连接到由CAN FD收发器提供的信号RXD的引脚/焊盘P4接收的信号MOSI的逻辑电平,以及
-响应于已经存储了给定数量的位(如经由控制电路5048发信号通知的),经由DMA传输将所存储的数据传输到存储器104b。
因此,只要时钟信号SCLK被激活,SPI(从)电路50就继续接收数据并经由DMA通道DMA2将接收到的数据(一旦接收到给定数量的位)传输到存储器104a。
然而,如上所述,CAN FD光协议是异步通信协议。因此,(接收)处理系统10a必须自己生成时钟信号SCLK。
具体来说,在各种实施例中,经由处理系统10a的可编程通用硬件计时器电路60(例如被配置为生成PWM信号PWM的PWM信号生成器电路)生成时钟信号SCLK。例如,计时器电路60可以被配置为在引脚/焊盘P2处生成时钟信号SCLK(例如信号PWM),并且引脚/焊盘P2在外部(相对于处理系统10a的集成电路30a)连接到被配置为接收SPI通信接口50的时钟信号SCLK的第二引脚/焊盘P3。
例如,在文档“ApplicationnoteAN4776-general-purposetimercookbookforSTM32microcontrollers”,Rev3,2019,STMicroelectronics中描述了通用计时器的可能实现,在此通过引用将其并入本文。
例如,在所考虑的实施例中,计时器电路60包括计时器计数器604,其被配置为响应于时钟信号CLK(例如系统时钟)来增加(或减少)计数值。计数器604与寄存器602(所谓的自动加载寄存器)相关联,所述寄存器602被配置为存储目标计数值的值。具体地,如果计时器计数器604被配置为向上计数器并且它到达计时器自动加载寄存器的内容,则计时器计数器604自己重置并且重新开始新的计数周期。相反,当计时器计数器604被配置为递减计数器并且它达到零值时,则计时器计数器值被设置为计时器自动重新加载寄存器602的内容,并且重新开始新的计数周期。因此,实质上,计时器计数器604被配置为周期性地对由存储到寄存器602的值所指示的给定数目的时钟周期进行计数。
此外,计时器电路60包括比较器606,其被配置为通过将计时器计数值(由计数器604提供)与参考值进行比较来生成PWM信号。因此,以此方式,存储到计时器自动加载寄存器602的值可用于界定PWM信号PWM的频率,并且比较器606的参考值可用于界定PWM信号PWM的工作循环。在各种实施例中,自动加载值和参考值是可编程的。例如,为此,计时器电路60可以包括连接到通信系统114的从接口608,其中可以通过向通信系统114传输一个或多个写请求(包括与用于存储自动加载值和参考值的寄存器相关联的地址)来对自动加载值和参考值进行编程。
在各种实施例中,计时器电路60还包括输出控制电路610。例如,这样的输出控制电路610可以被配置为将PWM信号PWM转发到引脚/焊盘P2。
因此,通过以适当的方式(例如,通过写入自动加载值和参考值)配置计时器电路60,硬件计时器电路60被配置为在引脚/焊盘P2处生成具有所请求的CAN FD光频率(例如,1Mhz)的PWM信号。因此,通过将引脚/焊盘P2外部连接到引脚/焊盘P3,SPI从接口50接收具有(近似)正确时钟频率的时钟信号SCLK。
然而,SPI接收器50使用的时钟信号SCLK可以相对于SPI传输器使用的时钟信号SCLK相移。因此,如前所述,时钟信号SCLK应当基于信号RXD的上升沿和/或优选地下降沿来重新同步。
例如,在各种实施例中,先前提及的通用计时器电路60(例如,STM32微控制器的通用计时器电路)还包括边沿检测器600,边沿检测器600可以被配置为(例如,经由计时器从模式控制寄存器TIMx_SMCR)响应于在引脚/焊盘P1处接收到的信号的下降沿来重置计时器计数器604(在递减计数器的情况下重置为自动加载值,或者在递增计数器的情况下重置为零)。因此,通过将引脚/焊盘P1连接到信号RXD,计时器计数器604以及时钟信号SCLK与信号RXD的下降沿重新同步。
因此,通过设置PWM信号的占空比(通过比较器608的参考值和自动加载值之间的比率),移位寄存器5042可以正确地采样接收信号RXD的值。例如,在各种实施例中,信号PWM的占空比被设置为30%和80%之间的值,优选地在40%和60%之间,例如大约50%。
通常,这种通用硬件计时器电路60也经常设置在现代微控制器中。在这方面,如何将这种通用计时器电路配置为PWM信号发生器以满足上述要求的具体细节可以基于所使用的微控制器而稍微改变,并且可以在相应的微控制器参考手册中找到。
如前所述,计时器电路60能够生成用于SPI接收器50的时钟信号SCLK。然而,SPI接收器50应当仅在传输CAN FD光帧时激活,如由帧起始位SOF所示。通常,SPI接收器50可通过停用时钟信号SCLK(即,通过停用计时器电路60)和/或通过停用SPI接收器50来停用。
在所考虑的实施例中,帧起始位因此可由边沿检测器检测,所述边沿检测器被配置为响应于信号RXD的下降沿而生成触发信号。因此,计时器计数器604或SPI接口50应当响应于该触发信号而被激活。
在这方面,STM32微控制器的通用计时器电路60不幸地不允许配置计时器计数器604以基于外部信号组合计时器使能和计时器重置事件。然而,计时器重置事件可用于在提供给处理核心102a的中断信号IRQ60中生成触发。
因此,在各种实施例中,处理核心102a可以配置如前所述的计时器电路60,还包括通过由边沿检测器600提供的信号重置计时器计数器电路604。然而,最初,处理核心102a禁用计时器计数器电路604并使能中断信号IRQ60。因此,一旦传输了帧起始位SOF,边沿检测器600就生成中断信号IRQ60。响应于中断信号IRQ60,处理核心102a然后可以使能计时器计数器电路604并且可选地禁用中断信号IRQ60。通常,也可以使用附加的边沿检测器来生成类似的中断信号。
然而,这导致SOF边沿和计时器使能之间的延迟。由于这个延迟通常是恒定的并且对应于时钟信号CLK的给定数目的时钟周期,处理核心102a可以针对计时器计数器604的第一周期配置补偿这个延迟的较小的自动加载值,并且然后对对应于所请求的CAN FD光传输速率的自动加载值进行编程。优选地,处理核心102还重新配置比较器608的参考值,以便获得近似相同的占空比。
通常,处理核心102a可以禁用/使能SPI接收器50,而不是禁用/使能计数器604。
因此,在各种实施例中,相同的通用计时器电路60可用于检测帧起始位SOF和生成时钟信号SCLK。
相反,可以使用附加的可编程硬件计时器电路62来检测帧结束序列EOF。例如,在所考虑的实施例中,计时器电路60还包括:
-计时器计数器624,其具有相关联的自动加载寄存器622;
-比较器622,其被配置为当计时计数器624的计数值达到参考值时生成信号;
-边沿检测器620,其被配置为响应于经由引脚/焊盘P5接收的信号的边沿而重置计时器计数器624,然而这次是上升沿;以及
-从接口628,用于对存储到寄存器622的自动加载值和比较器626的参考值进行编程,并且用于使能计时器计数器624。
通常,计时器电路62被配置为当计时器电路62的计数值达到给定阈值时生成中断IRQ62。例如,基于计时器电路62的实现,这可以通过以下方式获得:
-将自动加载值设置为阈值并将计数器624的重置事件用作中断信号IRQ62,或者
-将比较器626的参考值设置为阈值并将比较器626的比较值用作中断信号IRQ62。
因此,通过将引脚/焊盘P5连接到信号RXD,计时器电路62实质上用作监视计时器,其响应于信号RXD的上升沿而被重置。
因此,通过将计时器电路/监视计时器62的阈值设置为对应于CAN FD光帧的(至少)八个位的时间的值,一旦经由信号RXD接收到被设置为高的八个连续位,计时器电路62就断言中断信号IRQ62。
可替换地,计时器电路62可以被配置为,当信号RXD被设置为高时,响应于信号PWM增加计数值,从而指示被设置为高的连续接收位的数量,并且当计数值达到8时断言中断信号IRQ62。同样在这种情况下,当信号RXD被设置为低时,计数值被重置。
通常,硬件中的实际EOF场检测纯粹是可选的。具体地,在接收器电路(例如CAN FD光控制器/命令器)已经知道适于从给定发射器电路(例如给定CAN FD光应答器)接收的最大位数的情况下,接收器电路可以被配置为总是接收最大位数,并且处理核心102a可以被配置为经由软件指令来处理所接收的CAN FD帧,以便检测EOF字段。
因此,在这种情况下,计时器电路62可以:
-被配置为计时器/计数器电路,其使用与适于从给定发射机接收的最大位数的时间相对应的阈值;或者
-被配置为计数器电路,该计数器电路被配置为响应于信号PWM而增加计数值,从而指示所接收的位数,并且当计数值达到指示适于从给定发射机接收的最大位数的给定阈值时,断言中断信号IRQ62。
因此,在各种实施例中,处理核心102a可被配置为:
-配置作为从接口的SPI接口50;
-配置用于第一位SOF的计时器电路60的自动加载值和参考值;
-使能所述中断IRQ60;
-响应于该中断,使能计时器计数器604,为随后的位重新编程计时器电路60的自动加载值和参考值,并使能计时器计数器62。
通常,代替使用边沿检测器600来检测帧起始位SOF,计时器电路62的边沿检测器620或另一边沿检测器也可用于生成用信号通知帧起始位的中断。例如,当使用边沿检测器620时,处理核心102a应被配置为响应于该中断而使能计时器计数器604,为后续位重新编程计时器电路60的自动加载值和参考值,并重新编程计时器电路62的中断行为。
此外,处理核心102a配置SPI接口50和DMA通道DMA2。具体地,以这种方式,一旦已经接收到给定数目的位,诸如8或16位,SPI接收器50就可以生成DMA传输请求REQ2,并且DMA通道DMA2将这些位传输到存储器104b。
然而,这也意味着SPI接口50期望在生成DMA请求之前接收给定数量的位,例如16位中的8位。一方面,这意味着处理核心102应当优选地被配置为在接收数据之前重置移位寄存器5042,从而避免所接收的数据未正确对准。此外,处理核心102a应当验证帧结束位EOF已经被传输到存储器104b并且可能从SPI接口50读取剩余数据(不经由DMA通道DMA2自动传输),或者使能计时器电路60以便虚拟地接收另外的位,然后触发新的DMA传输。
虽然已经参考说明性实施例描述了本发明,但是该描述不旨在以限制的意义来解释。对于本领域技术人员来说,在参考说明书的基础上,说明性实施例的各种修改和组合以及本发明的其它实施例将是显而易见的。因此,所附权利要求书旨在涵盖任何此类修改或实施例。
Claims (20)
1.一种处理系统,包括:
传输端子,被配置为提供传输信号;
接收端子,被配置为接收接收信号;
时钟端子;
串行外围接口SPI通信接口,连接到所述传输端子和所述接收端子,所述SPI通信接口包括:
控制寄存器,其被配置为存储标识时钟缩放因子的数据和标识操作模式的数据,所述操作模式指示主模式或从模式;
给定字尺寸的传输移位寄存器,被配置为通过响应于第一时钟信号顺序地提供所述传输移位寄存器的内容来生成所述传输信号;
所述给定字尺寸的接收移位寄存器,被配置为响应于第二时钟信号来将所述接收信号的逻辑电平顺序地添加到所述接收移位寄存器的内容;以及
时钟缩小电路,被配置为接收输入时钟信号,并通过根据所述时钟缩放因子将所述输入时钟信号缩小来生成缩小时钟信号,其中所述SPI通信接口被配置为:
在所述主模式中,将所述缩小时钟信号作为所述第一时钟信号提供给所述传输移位寄存器,以及
在所述从模式中,将在所述时钟端子处接收的时钟信号作为所述第二时钟信号提供给所述接收移位寄存器;
微处理器;
接口,被配置为连接到存储器;
第一DMA通道,被配置为将所述给定字尺寸的分组从所述存储器传输到所述传输移位寄存器;
第二DMA通道,被配置为将所述给定字尺寸的分组从所述接收移位寄存器传输到所述存储器;
边沿检测器,被配置为响应于检测到所述接收信号中的下降沿而断言第一控制信号;
第一硬件计时器电路,被配置为当被使能时在所述时钟端子处生成所述输入时钟信号;以及
第二硬件计时器电路,包括计数器,所述计数器被配置为在被使能时增加计数值并且响应于确定所述计数值达到给定阈值而断言第二控制信号,
其中所述处理系统被配置为管理控制器局域网络灵活数据速率CAN FD光数据传输模式和/或CAN FD光数据接收模式,
其中在所述CAN FD光数据传输模式中,所述微处理器被配置为:
编程所述控制寄存器以便激活所述主模式,
生成传输CAN FD光帧,
将所述传输CAN FD光帧存储到所述存储器,
激活所述第一DMA通道,使得所述第一DMA通道将所述传输CAN FD光帧从所述存储器顺序地传输到所述传输移位寄存器,并且
其中,在所述CAN FD光数据接收模式中,所述微处理器被配置为:
编程所述控制寄存器以激活所述从模式,
响应于所述第一控制信号,使能所述第一硬件计时器电路和所述第二硬件计时器电路,使得所述第二DMA通道被配置为将所述给定字尺寸的分组从所述接收移位寄存器传输到所述存储器,由此将接收CAN FD光帧从所述接收移位寄存器顺序地传输到所述存储器,并且
响应于所述第二控制信号,从所述存储器读取所述接收CAN FD光帧。
2.根据权利要求1所述的处理系统,其中所述第二硬件计时器电路的所述计数器被配置为,当被使能时:
响应于确定所述接收信号在给计时间阈值内被设置为高而断言所述第二控制信号,所述时间阈值至少对应于由所述第一硬件计时器电路生成的所述时钟信号的八个时钟周期的持续时间,以及
响应于检测到所述接收信号为低而被重置。
3.根据权利要求1所述的处理系统,其中所述给定阈值至少对应于由所述第一硬件计时器电路生成的所述时钟信号的给定最大时钟循环数目的持续时间。
4.根据权利要求1所述的处理系统,其中所述SPI通信接口被配置为:
在所述主模式中,将所述缩小时钟信号作为所述第二时钟信号提供给所述接收移位寄存器,以及
在所述从模式中,将在所述时钟端子处接收的所述时钟信号作为所述第一时钟信号提供给传输移位寄存器。
5.根据权利要求1中所述的处理系统,其中所述微处理器被配置为在所述CAN FD光数据接收模式中并且响应于所述第二控制信号,禁用所述第一硬件计时器电路和所述第二硬件计时器电路。
6.根据权利要求1所述的处理系统,其中所述第一硬件计时器电路包括计数器,所述计数器被配置为当使能时生成脉冲宽度调制信号。
7.根据权利要求6所述的处理系统,其中所述第一硬件计时器电路的所述计数器被配置为响应于检测到所述接收信号的下降沿和/或上升沿而被重置。
8.根据权利要求1所述的处理系统,其中所述第一硬件计时器电路和/或所述第二硬件计时器电路是通用硬件计时器电路。
9.根据权利要求1所述的处理系统,其中所述传输端子和所述接收端子连接到CAN FD收发器。
10.一种集成电路,包括:
根据权利要求1所述的处理系统。
11.一种用于操作处理系统的方法,所述方法包括:
由微处理器在控制器局域网络灵活数据速率CAN FD光数据传输阶段编程所述处理系统的串行外围接口SPI通信接口的控制寄存器,以便激活主模式;
由所述微处理器在所述CAN FD光数据传输阶段期间生成传输CAN FD光帧;
由所述微处理器在所述CAN FD光数据传输阶段期间将所述传输CAN FD光帧存储到存储器;
由所述微处理器在所述CAN FD光数据传输阶段期间激活第一DMA通道,使得所述第一DMA通道将所述传输CAN FD光帧从所述存储器顺序地传输到在所述SPI通信接口中的传输移位寄存器;以及
由所述微处理器在所述CAN FD光数据接收阶段编程所述控制寄存器,以便激活从模式;
由所述微处理器在所述CAN FD光数据接收阶段期间响应于第一控制信号来使能所述处理系统的第一硬件计时器电路和第二硬件计时器电路,使得第二DMA通道将给定字尺寸的分组从所述SPI通信接口的接收移位寄存器传输到所述存储器,由此将接收CAN FD光帧从所述接收移位寄存器顺序地传输到所述存储器;以及
由所述微处理器在所述CAN FD光数据接收阶段期间响应于第二控制信号而从所述存储器读取所述接收CAN FD光帧。
12.一种处理系统,用于管理控制器区域网络灵活数据速率CAN FD光数据传输模式和/或CAN FD光数据接收模式,其中所述处理系统能够连接至存储器,所述处理系统包括:
传输端子,被配置为提供传输信号;
接收端子,被配置为接收接收信号;
串行外围接口SPI通信接口,连接到所述传输端子和所述接收端子,所述SPI通信接口包括:
控制寄存器,被配置为存储标识时钟缩放因子的数据和标识操作模式的数据,所述操作模式指示主模式或从模式;
给定字尺寸的传输移位寄存器,被配置为通过响应于第一时钟信号顺序地提供所述传输移位寄存器的内容来生成所述传输信号;
所述给定字尺寸的接收移位寄存器,被配置为响应于第二时钟信号来将所述接收信号的逻辑电平顺序地添加到所述接收移位寄存器的内容;以及
时钟缩小电路,被配置为接收输入时钟信号,并且通过根据所述时钟缩放因子将所述输入时钟信号缩小来生成缩小时钟信号,其中所述SPI通信接口被配置为:
在所述主模式中,将所述缩小时钟信号作为所述第一时钟信号提供给所述传输移位寄存器,以及
在所述从模式中,将所述时钟端子处接收的时钟信号作为所述第二时钟信号提供给所述接收移位寄存器;以及
微处理器,被配置为:
当处于所述CAN FD光数据传输模式时,
编程所述控制寄存器以便激活所述主模式,
生成传输CAN FD光帧,
将所述传输CAN FD光帧存储到所述存储器,并且
激活第一DMA通道,使得所述第一DMA通道将所述传输CAN FD光帧从所述存储器顺序地传输到传输移位寄存器,并且
当处于所述CAN FD光数据接收模式时,
编程所述控制寄存器以便激活所述从模式,
响应于第一控制信号,使能第一硬件计时器电路和第二硬件计时器电路,使得第二DMA通道被配置为将所述给定字尺寸的分组从所述接收移位寄存器传输到所述存储器,由此顺序地将接收CAN FD光帧从所述接收移位寄存器传输到所述存储器,并且
响应于第二控制信号,从所述存储器读取所述接收CAN FD光帧。
13.根据权利要求12所述的处理系统,
其中所述第一DMA通道被配置为将所述给定字尺寸的分组从所述存储器传输到所述传输移位寄存器,
其中所述第二DMA通道被配置为将所述给定字尺寸的分组从所述接收移位寄存器传输到所述存储器。
14.根据权利要求12所述的处理系统,进一步包括边沿检测器,所述边沿检测器被配置为响应于检测到所述接收信号中的下降沿而断言所述第一控制信号。
15.根据权利要求14所述的处理系统,
其中所述第一硬件计时器电路被配置为当使能时在所述时钟端子处生成所述输入时钟信号,并且
其中所述第二硬件计时器电路包括计数器,所述计数器被配置为当使能时增加计数值并且响应于确定所述计数值达到给定阈值而断言所述第二控制信号。
16.根据权利要求12所述的处理系统,其中所述SPI通信接口被配置为:
在所述主模式中,将所述缩小时钟信号作为所述第二时钟信号提供给所述接收移位寄存器,以及
在所述从模式中,将在所述时钟端子处接收的所述时钟信号作为所述第一时钟信号提供给所述传输移位寄存器。
17.根据权利要求12所述的处理系统,其中所述微处理器被配置为,在所述CAN FD光数据接收模式中并且响应于所述第二控制信号,禁用所述第一硬件计时器电路和所述第二硬件计时器电路。
18.根据权利要求12所述的处理系统,其中所述第一硬件计时器电路包括计数器,所述计数器被配置为当使能时生成脉冲宽度调制信号。
19.根据权利要求18所述的处理系统,其中所述第一硬件计时器电路的所述计数器被配置为响应于检测到所述接收信号的下降沿而被重置。
20.根据权利要求18所述的处理系统,其中所述第一硬件计时器电路的所述计数器被配置为响应于检测到所述接收信号的上升沿而被重置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT202100022037 | 2021-08-18 | ||
IT102021000022037 | 2021-08-18 | ||
US17/814,113 | 2022-07-21 | ||
US17/814,113 US11824681B2 (en) | 2021-08-18 | 2022-07-21 | Processing system, related integrated circuit, device and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115933451A true CN115933451A (zh) | 2023-04-07 |
Family
ID=78212568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210988272.1A Pending CN115933451A (zh) | 2021-08-18 | 2022-08-17 | 处理系统、相关集成电路、设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11824681B2 (zh) |
EP (1) | EP4137954A1 (zh) |
CN (1) | CN115933451A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4138343B1 (en) * | 2021-08-20 | 2024-02-21 | STMicroelectronics Application GmbH | Processing system, related integrated circuit, device and method |
CN117112480B (zh) * | 2023-10-24 | 2024-02-06 | 上海泰矽微电子有限公司 | 一种两线通信方法、装置及芯片 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4388434B2 (ja) * | 2004-07-28 | 2009-12-24 | パナソニック株式会社 | 監視カメラ装置、監視カメラ装置の制御方法およびそのプログラム |
KR101127598B1 (ko) | 2008-12-10 | 2012-03-23 | 한국전자통신연구원 | 센서네트워크에서 다중 안테나 정합과 dma 기반 데이터 전달 방법 및 이를 위한 싱크노드 |
EP2521319B1 (en) * | 2011-05-02 | 2015-10-14 | Robert Bosch GmbH | Controller area network with flexible data-rate |
US8943238B2 (en) * | 2012-05-18 | 2015-01-27 | Atmel Corporation | Operations using direct memory access |
US20150195765A1 (en) * | 2014-03-25 | 2015-07-09 | Sanjay Bhardwaj | Method, Apparatus and System for Connected Automobiles |
US9935774B2 (en) * | 2015-05-22 | 2018-04-03 | Nxp B.V. | Configurable cryptographic controller area network (CAN) device |
JP6652702B2 (ja) * | 2015-12-25 | 2020-02-26 | 富士通クライアントコンピューティング株式会社 | 伝送システムおよびマスタ装置 |
US11295828B2 (en) * | 2019-03-08 | 2022-04-05 | Analog Devices International Unlimited Company | Multi-chip programming for phased array |
JP7207231B2 (ja) * | 2019-08-21 | 2023-01-18 | トヨタ自動車株式会社 | 通信装置及びプロトコルの切替方法 |
IT202000006322A1 (it) * | 2020-03-25 | 2021-09-25 | Stmicroelectronics Application Gmbh | Sistema di elaborazione comprendente un’interfaccia periferica seriale con code, relativo circuito integrato, dispositivo e procedimento |
EP4138343B1 (en) * | 2021-08-20 | 2024-02-21 | STMicroelectronics Application GmbH | Processing system, related integrated circuit, device and method |
-
2022
- 2022-07-21 US US17/814,113 patent/US11824681B2/en active Active
- 2022-08-01 EP EP22188131.1A patent/EP4137954A1/en active Pending
- 2022-08-17 CN CN202210988272.1A patent/CN115933451A/zh active Pending
-
2023
- 2023-10-18 US US18/489,590 patent/US20240048405A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240048405A1 (en) | 2024-02-08 |
US11824681B2 (en) | 2023-11-21 |
EP4137954A1 (en) | 2023-02-22 |
US20230053564A1 (en) | 2023-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115933451A (zh) | 处理系统、相关集成电路、设备和方法 | |
JP2023018057A (ja) | 通信方法、対応するシステム、装置、信号及び乗物 | |
US10241953B2 (en) | Dynamic data-link selection over common physical interface | |
EP4138343B1 (en) | Processing system, related integrated circuit, device and method | |
US10146725B2 (en) | Method and device for checking the correct functioning of a serial data transmission | |
Ziermann et al. | CAN+: A new backward-compatible Controller Area Network (CAN) protocol with up to 16× higher data rates. | |
US8239597B2 (en) | Device-to-device communication bus for distributed power management | |
WO2017155897A1 (en) | Multiprotocol i3c common command codes | |
CN113691430B (zh) | 操作通信总线的方法、对应系统、设备以及车辆 | |
US9785595B2 (en) | Multi-channel universal serial bus (USB) to subrate channel systems | |
KR20170110610A (ko) | 시리얼 버스를 위한 수신 클록 캘리브레이션 | |
JPH04332065A (ja) | データ転送方法 | |
US20230205723A1 (en) | Communication device, communication method, and program | |
US20190356412A1 (en) | Fast termination of multilane double data rate transactions | |
US9065732B2 (en) | Communication configuration and method for debugging, respectively for programming one or more participants of the communication configuration | |
EP2985955A1 (en) | Controller area network (can) device and method for emulating classic can error management | |
CN113448902A (zh) | 有排队串行外围接口的处理系统、集成电路、设备和方法 | |
US9019975B2 (en) | Unified system networking with CEE-PCIE tunneling | |
EP1966942A2 (en) | Flow control mechanisms on synchronous serial tdma bus | |
US20180357121A1 (en) | Error correction calculation upon serial bus abort | |
US20230300001A1 (en) | Processing system, related integrated circuit, device and method | |
CN117251398A (zh) | 处理系统、相关集成电路、系统和方法 | |
US20240160598A1 (en) | Processing system, related integrated circuit, device and method | |
US11360916B2 (en) | Group slave identifier time-multiplexed acknowledgment for system power management interface | |
US9025614B2 (en) | Unified system networking with PCIE-CEE tunneling |
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 |