CN115905080A - 处理***、相关集成电路、设备和方法 - Google Patents
处理***、相关集成电路、设备和方法 Download PDFInfo
- Publication number
- CN115905080A CN115905080A CN202211003589.1A CN202211003589A CN115905080A CN 115905080 A CN115905080 A CN 115905080A CN 202211003589 A CN202211003589 A CN 202211003589A CN 115905080 A CN115905080 A CN 115905080A
- Authority
- CN
- China
- Prior art keywords
- receive
- shift register
- signal
- transfer
- response
- 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
-
- 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
-
- 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/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- 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
-
- 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/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明的实施例涉及处理***、相关集成电路、设备和方法。一种处理***,包括被配置成提供传输信号的传输端子、被配置成接收接收信号的接收端子、经由软件指令而可编程的微处理器、被配置成连接到存储器的存储器控制器、串行通信接口和通信***。具体地,串行通信接口支持CAN FD Light操作模式和UART操作模式。为此,串行通信接口包括控制寄存器、时钟管理电路、传输移位寄存器、传输控制电路、接收移位寄存器和接收控制电路。对应地,微处理器可以经由相同的串行通信接口发送和/或接收CAN FD Light或UART帧。
Description
相关申请的交叉引用
本申请是于2021年08月20日提交的、题目为“Processing System,RelatedIntegrated Circuit,Device and Method”(处理***、相关集成电路、设备和方法)的意大利专利申请号102021000022124的翻译并且要求其优先权权益,在此在法律允许的最大范围内通过引用将其并入本文。
技术领域
本公开的实施例涉及被配置成经由CAN FD总线交换数据的微控制器。
背景技术
图1示出了通常的电子***(诸如交通工具的电子***),包括多个处理***10,诸如嵌入式***或集成电路,例如现场可编程门阵列(FPGA)、数字信号处理器(DSP)或微控制器(例如,专用于机动车市场)。
例如,在图1中示出了通过适当的通信***20连接的三个处理***101、102和103。例如,通信***可以包括交通工具控制总线(诸如控制器局域网(CAN)总线),并且可能包括经由网关连接到交通工具控制总线的多媒体总线(诸如面向媒体的***传输(MOST)总线)。通常,处理***10位于交通工具的不同位置处,并且可以包括例如引擎控制单元、传输控制单元(TCU)、防抱死制动***(ABS)、主体控制模块(BCM)和/或导航和/或多媒体音频***。对应地,处理***10中的一个或多个处理***也可以实现实时控制和调节功能。这些处理***通常被标识为电子控制单元。
图2示出了示例性数字处理***10(特别是微控制器)的框图,其可以被用作图1的处理***10中的任一个处理***。
在所考虑的示例中,处理***10包括经由软件指令编程的微处理器102,通常是中央处理单元(CPU)。通常,由微处理器102执行的软件被存储在诸如闪存或EEPROM的非易失性程序存储器104中。因此,存储器104被配置成存储处理单元102的固件,其中固件包括要由微处理器102执行的软件指令。通常,非易失性存储器104也可以被用于存储其它数据,诸如配置数据,例如校准数据。
微处理器102通常还与诸如随机存取存储器(RAM)的易失性存储器104b相关联。例如,存储器104b可以用于存储临时数据。
如图2中所示,与存储器104和/或104b的通信通常经由一个或多个存储器控制器100来执行。存储器控制器100可以被集成在微处理器102中或经由通信通道(诸如处理***10的***总线)连接到微处理器102。例如,***总线可以包括一个或多个总线***,例如,基于高级可扩展接口(AXI)总线架构和/或片上网络(NoC)。
类似地,存储器104和/或104b可以与微处理器102一起被集成在单个集成电路中,或者存储器104和/或104b可以是分开的集成电路的形式,并且例如经由印刷电路板的迹线连接到微处理器102。
在所考虑的示例中,微处理器102可以具有相关联的一个或多个(硬件)资源/***设备106,该资源/***设备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 Light总线。例如,CAN FD Light协议在文档“CAN FD Light Specification and test plan”,CAN in Automation(CiA)604-1,version 0.0.6,或者在“CAN FD Light Network Protocol and Implementation”,EuES003-06,version 1.3中进行了描述,它们通过引用并入本文。
例如,处理***101和102中的每个处理***可以包括:被配置成连接到CAN总线20的CAN FD总线收发器320;处理单元102;以及被配置成将处理单元102连接到CAN总线收发器320的通信接口IF。
例如,通常需要这种附加的CAN总线收发器320,因为CAN总线20使用与处理单元102不同的信号电平和/或为了实现电流隔离。例如,在CAN FD Light协议的情况下,收发器320是控制器局域网灵活数据速率(CAN FD)收发器。
例如,常规的CAN总线收发器320包括两个接口。第一接口被配置成:经由CAN总线20,通过发送和接收差分不归零(NRZ)编码信号来交换数据。相反,第二接口被配置成:接收传输信号Tx并且提供接收信号Rx,其中传输信号Tx和接收信号Rx是NRZ信号,优选为单极性不归零电平(NRZ-L)编码信号,诸如二进制编码信号,该二进制编码信号被设置为高(通常为处理单元102的供电电压)以用于发送逻辑“1”或被设置为低(通常为地)以用于发送逻辑“0”。
因此,通信接口IF可以将NRZ/二进制编码的传输信号TX提供给收发器320,并且从收发器320接收NRZ/二进制编码的接收信号RX。收发器320又管理在CAN总线20上的数据交换。因此,通信接口IF实现(至少)数据链路层和可选的更高的协议层,而收发器320管理物理层。因此,接口IF可以实现CAN FD Light控制器。
如图3中所示,收发器320可以以连接到包括处理单元102和硬件接口IF的集成电路30的分离集成电路32的形式被提供(例如,参见处理***101),或者收发器320可以被集成在包括处理单元102和硬件接口IF的集成电路30中(例如,参见处理***102)。通常,CANFD Light控制器IF也可以被集成在收发器320的集成电路32中。
发明内容
鉴于上述情况,本公开的各种实施例的目的是提供用于在微控制器中实现CAN FDLight控制器的解决方案。
根据一个或多个实施例,上述目标中的一个或多个目标通过具有在所附权利要求中具体阐述的特征的处理***来实现。实施例还涉及相关的集成电路、设备和方法。
权利要求是本文提供的公开的技术教导的组成部分。
如前所述,各种实施例涉及适于发送和接收CAN FD Light帧的处理***,诸如集成电路,例如微控制器。在各种实施例中,处理***包括被配置成提供传输信号的传输端子,并且包括被配置成接收接收信号的接收端子。处理***还包括经由软件指令而可编程的微处理器、被配置成连接到存储器的存储器控制器、串行通信接口,以及连接微处理器、存储器控制器和串行通信接口的通信***。
具体地,在各种实施例中,串行通信接口支持CAN FD Light操作模式和UART操作模式两者。
为此,串行通信接口包括控制寄存器,该控制寄存器被配置成存储标识时钟缩放因子的数据、标识请求的位数目的数据和标识操作模式的数据,其中操作模式指示CAN FDLight模式或UART模式。在各种实施例中,控制寄存器经由微处理器而可编程。
在各种实施例中,串行通信接口包括时钟管理电路,该时钟管理电路被配置成:接收时钟信号,并且根据存储到控制寄存器的时钟缩放因子生成按比例缩小时钟信号。
在各种实施例中,为了实现串行数据传输,串行通信接口包括传输移位寄存器和传输控制电路。传输移位寄存器被配置成:当传输使能信号被断言时,响应于按比例缩小时钟信号,通过顺序地提供传输移位寄存器的内容来生成传输信号。在各种实施例中,处理***被布置成选择性地将数据从微处理器传送到传输移位寄存器。
传输控制电路被配置成接收请求数据的传输的开始传输信号,并且响应于开始传输信号,断言传输使能信号。此外,当传输使能信号被断言时,响应于按比例缩小时钟信号,传输控制电路增加传输计数值,并且确定传输计数值是否达到存储到控制寄存器的请求的位数目。因此,响应于确定传输计数值达到请求的位数目,传输控制电路可以将传输使能信号取消断言。可选地,传输控制电路还可以向微处理器发送数据传输完成的信号。
因此,在各种实施例中,串行通信接口对CAN FD Light模式和UART模式两者使用相同的传输移位寄存器,由此经由时钟缩放因子和请求的位数目来设置传输特性。例如,在CAN FD Light模式中,请求的位数目可以对应于CAN FD Light帧的长度,而在UART模式中,请求的位数目可以通过仅激活UART模式来隐式设置。
因此,在各种实施例中,微处理器可以被配置成:生成传输CAN FD Light帧;确定传输CAN FD Light帧的长度;对控制寄存器进行编程以便将请求的位数目设置为传输CANFD Light帧的长度,并且将操作模式设置为CAN FD Light操作模式;以及将传输CAN FDLight帧提供给传输移位寄存器。
例如,在各种实施例中,传输移位寄存器可以具有至少675位,并且微处理器可以经由通信***将完整的传输CAN FD Light帧写入到传输移位寄存器。
备选地,传输移位寄存器可以具有给定的字大小,并且处理***可以包括第一DMA通道。在该情况下,微处理器可以被配置成将传输CAN FD Light帧存储到存储器,并且第一DMA通道可以将给定字大小的分组从存储器传送到传输移位寄存器,从而将传输CAN FDLight帧从存储器顺序地传送到传输移位寄存器。
相反,在各种实施例中,为了实现串行数据接收,串行通信接口包括接收移位寄存器和接收控制电路。通常,传输移位寄存器和接收移位寄存器也可以利用相同的移位寄存器来实现。
在各种实施例中,接收移位寄存器被配置成:当接收使能信号被断言时,响应于按比例缩小时钟信号,将接收信号的逻辑电平顺序地添加到接收移位寄存器的内容。在各种实施例中,处理***被布置成选择性地将数据从接收移位寄存器传送到微处理器。
接收控制电路被配置成检测接收信号中的下降沿,该下降沿指示新UART或CAN FDLight帧的开始。因此,响应于检测到接收信号中的下降沿,接收控制电路断言接收使能信号。但是,帧结束条件在UART和CAN FD Light之间改变。因此,接收控制电路被配置成:确定存储到控制寄存器的数据是指示CAN FD Light操作模式还是UART操作模式。
具体地,当接收使能信号被断言时并且响应于确定存储到控制寄存器的数据指示CAN FD Light模式,接收控制电路可以被配置成响应于按比例缩小时钟信号而增加第一接收计数值,并且接收信号被设置为高。相反,接收控制电路可以被配置成:每次接收信号被设置为低时,将接收计数值复位。此外,接收控制电路可以被配置成确定接收计数值是否达到八,这指示CAN FD Light帧的结束。因此,响应于确定接收计数值达到八,接收控制电路可以将接收使能信号取消断言。
相反,当接收使能信号被断言时并且响应于确定存储到控制寄存器的数据指示UART模式,接收控制电路可以响应于按比例缩小时钟信号而增加第二接收计数值。此外,接收控制电路可以确定接收计数值是否达到如由控制寄存器指示的请求的位数目,并且响应于确定接收计数值达到请求的位数目,接收控制电路可以将接收使能信号取消断言。通常,第一接收计数值和第二接收计数值可以由相同的计数器提供。
因此,在各种实施例中,接收控制电路能够检测可变长度CAN FD Light帧或固定长度UART帧的帧结束条件。
因此,在各种实施例中,微处理器可以被配置成:对控制寄存器进行编程以便将操作模式设置为CAN FD Light模式,并且确定接收控制电路是否将接收使能信号取消断言。响应于确定接收控制电路将接收使能信号取消断言,微处理器然后可以从接收移位寄存器获得接收CAN FD Light帧,并且分析接收CAN FD Light帧的内容。
例如,在各种实施例中,接收移位寄存器具有至少675位,并且微处理器可以被配置成经由通信***,从接收移位寄存器读取完整的接收CAN FD Light帧。
备选地,接收移位寄存器可以具有给定字大小,并且处理***可以包括第二DMA通道,其中第二DMA通道被配置成将给定字大小的分组从接收移位寄存器传送到存储器,从而将接收CAN FD Light帧从接收移位寄存器顺序地传送到存储器。在该情况下,微处理器可以从存储器读取接收CAN FD Light帧。
在各种实施例中,数据接收操作与接收信号同步。为此目的,时钟管理电路可以被配置成使按比例缩小时钟信号的生成与同步信号同步,并且接收控制电路可以被配置成响应于接收信号中的上升沿和/或下降沿而生成同步信号。
因此,处理***可以实现CAN FD Light控制器/主机或CAN FD Light从机两者。具体地,CAN FD Light控制器/主机首先发送传输CAN FD Light帧,然后可选地接收接收CANFD Light帧。相反,CAN FD Light从机首先接收接收CAN FD Light帧,然后可选地发送传输CAN FD Light帧。
附图说明
现在将参考附图描述本公开的实施例,这些附图仅作为非限制性示例被提供并且在附图中:
图1示出了包括多个处理***的电子***的示例;
图2示出了处理***的示例;
图3示出了CAN FD Light通信***的示例;
图4示出了被配置成经由CAN FD Light总线交换数据的处理***的实施例;
图5示出了图4的处理***的串行通信接口的实施例;
图6示出了适于在图4的处理***中使用的CAN FD收发器的实施例;
图7A和图7B示出了CAN FD Light帧的示例;
图8示出了图5的串行通信接口的硬件传输和接收电路的实施例;
图9示出了图8的硬件传输和接收电路的时钟管理电路的实施例;
图10示出了图8的硬件传输和接收电路的操作的实施例;
图11示出了图5的串行通信接口的硬件传输和接收电路的另外的实施例;
图12A和图12B示出了图8和图11的硬件传输和接收电路的操作的实施例;
图13示出了图4的处理***的微处理器的操作以发送数据的实施例;以及
图14示出了图4的处理***的微处理器的操作以接收数据的实施例。
具体实施方式
在以下描述中,给出了许多具体细节以提供对实施例的透彻理解。实施例可以在没有一个或几个具体细节的情况下被实践,或者利用其它方法、组件、材料等来实践。在其它情况下,未详细示出或描述众所周知的结构、材料或操作以避免模糊实施例的方面。
贯穿说明书,对“一个实施例”或“实施例”的引用意指结合该实施例描述的特定特征、结构或特性被包括在至少一个实施例中。因此,贯穿说明书,在各个地方出现的短语“在一个实施例中”或“在实施例中”不一定都指代相同的实施例。此外,特定特征、结构或特性可以在一个或多个实施例中以任何适当的方式进行组合。
本文提供的标题仅是为了方便,并且不解释实施例的范围或含义。
在下面的图4至图14中,已经参考图1至图3描述的部件、元件或组件由先前在这种图中使用的相同附图标记表示;为了不使本详细描述负担过重,下面将不再重复对这些先前描述元件的描述。
图4示出了根据本描述的处理***10a的实施例。
具体地,在所考虑的实施例中,处理***10a包括连接到(片上)通信***114的至少一个处理核102a,诸如n个处理核102a1...102an。例如,在实时控制***的上下文中,处理核102a1...102an可以是ARM-R52核。通常,通信***114可以包括一个或多个总线***,例如,基于高级可扩展接口(AXI)总线架构和/或片上网络(NoC)。
例如,如在处理核102a1的示例处所示,每个处理核102a可以包括微处理器1020和通信接口1022,通信接口1022被配置成管理微处理器1020和通信***114之间的通信。在所考虑的实施例中,接口1022是主机接口,该主机接口被配置成将来自微处理器1020的(读或写)请求转发到通信***114,并且将来自通信***114的可选响应转发到微处理器1020。在各种实施例中,处理核102a还可以包括从机接口1024。例如,以该方式,第一微处理器1020可以(经由第一微处理器的通信接口1022、通信***114和第二微处理器的通信接口1024)向第二微处理器1020发送请求。例如,为此目的,除了***总线或NoC之外,通信***114还可以包括附加的协处理器总线,例如,该协处理器总线连接相同处理核102a或所有处理核102a的微处理器1020。
在各种实施例中,每个处理核102a1...102an还可以包括另外的本地资源,诸如一个或多个本地存储器1026,通常被标识为紧密耦接存储器(TCM)。
如前所述,处理核102a1...102an通常被布置成与非易失性存储器104和/或易失性存储器104b交换数据。在各种实施例中,这些存储器是***存储器,即,对处理核102a1...102an共享。例如,在各种实施例中,处理***10a包括一个或多个存储器控制器100,存储器控制器100被配置成将至少一个非易失性存储器104和至少一个易失性存储器104b连接到通信***114。如前所述,存储器104和/或104b中的一个或多个存储器可以被集成在包括(一个或多个)处理核102a的集成电路30a中,或者可以外部连接到集成电路30a。例如,处理***10a可以包括:第一易失性存储器104b,第一易失性存储器104b被集成在处理***10a的集成电路30a中,并且经由第一存储器控制器100连接到通信***114;以及第二易失性存储器104b,第二易失性存储器104b相对于处理***10a的集成电路30a在外部,并且经由第二存储器控制器100连接到通信***114。
如前所述,处理***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连接到AMBA AHB总线的高级***总线(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通道DMA1经由从机接口510将数据传送到寄存器DATATX,而DMA通道DMA2是在通信接口50中实现的集成DMA写入通道,因此DMA通道DMA2直接将数据从寄存器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 Light总线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(Light)总线20的差分数据线。
收发器320还包括CAN FD接收器电路324,CAN FD接收器电路324被配置成通过分析端子CANH和CANL之间的电压来生成信号RXD。具体地,根据CAN FD标准,信号RXD是NRZ编码信号,诸如二进制编码信号。
因此,CAN收发器320本质上转换信号的电压电平,而CAN FDLight协议管理和信号的相应时序必须在处理***10a中实现的CAN FD Light控制器中被实现。因此,在各种实施例中,处理***10a应当能够根据CAN FD Light协议生成传输信号TXD,并且基于接收信号RXD的逻辑电平,类似地重构发送的位序列。
因此,在解释CAN控制器与处理***10a的实现之前,有必要简要解释CAN FDLight协议。具体地,CAN FD Light是基于CAN FD协议的命令者/响应者协议。这在先前引用的参考文档中被描述。一般地,关于CAN FD协议,还可以参考文档“Road vehicles-Controller area network(CAN)-Part 1:Data link layer and physical signaling”,ISO11898-1:2015 2015,“Road vehicles-Controller area network(CAN)-Part2:High-speed medium access unit”,ISO 11898-2:2016 2016,和/或“RM0407 Referencemanual-SPC584Cx/SPC58ECx 32-bit MCU family built on the PowerArchitecture forautomotive body electronics applications”,RM0407 Rev.5,May/2019。
因此,关于CAN FD协议,本质上CAN FD Light协议省略了仲裁阶段。因此,命令者控制整个通信,并且通过如下方式启动每个通信循环:通过发送帧而不期望来自其它网络参与者(“响应者”)的应答,诸如广播帧;或者通过向专用的寻址响应者发送帧,同时期望来自该响应者的应答,即请求和应答方案中的单播帧。请求帧也可以用于向被寻址的响应者发送数据。只有被请求应答的被寻址的响应者被期望发回帧,即预期总线上的其它设备不会同时发送数据。因此,总线20上的帧的序列被精确定义并且不需要仲裁。例如,利用该方案,不需要错误帧,因为通信方向和应答被清楚地标识。类似地,既不需要来自命令者也不需要来自响应者的确认。错误帧被丢弃,并且在CAN FD Light方案中被视为未接收到。
例如,图7A和图7B示出了通常的CAN FD Light帧。
具体地,CAN FD Light协议使用通常对应于低逻辑电平(“0”)的显性逻辑电平和通常对应于高逻辑电平(“1”)的隐性逻辑电平。显性逻辑电平和隐性逻辑电平的逻辑电平的实施方式取决于CAN FD收发器320的实施方式。
如在ISO 11898-1:2015中规定的,在图7A和图7B所示的实施例中,CAN FD Light帧依次包括:
帧起始位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;
具有17位(最多16个数据字节)或21位(20到64个数据字节)的循环冗余校验字段CRC;
CRC定界符位CD,被设置为隐性电平(例如,“1”);
确认位AS;
确认定界符位AD,被设置为隐性电平(例如,“1”);以及
7位帧结束字段EOF<6:0>,所有位被设置为隐性电平(例如,“1”)。
发明人已经观察到,在CAN FD Light***中,CAN控制器因此可以在传输之前准备完整的帧,然后在不运行仲裁的情况下发送帧的位序列。
例如,在图4和图5所示的实施例中,处理核102a可以准备由传输数据TD1...TDk表示的完整CAN FD Light帧,然后:将传输帧/数据TD1...TDk写入到传输数据寄存器DATATX,或者将传输帧/数据TD1...TDk写入存储器104a,然后激活DMA传送,由此DMA通道DMA1将传输帧TD1...TDk从存储器104b传送到传输数据寄存器DATATX。
在这方面,图13示出了处理核102a的操作(例如,经由软件指令实现)以发送数据的实施例。
具体地,在开始步骤2000处,处理核102a决定经由通信接口50/CAN FD Light总线20发送给定数据,从而开始传输帧/数据TD1...TDk的生成。
在步骤2002处,处理核102a在步骤2004处将帧起始位SOF设置为显性电平。如稍后将描述的,该步骤纯粹是可选的。
接下来,处理核102a在步骤2006处获得标准标识符,并且在步骤2004处将相应的标准标识符添加到传输帧TD1...TDk的字段SID。
接下来,处理核102a在步骤2008处将预定义的CAN FD Light控制位添加到传输帧TD1...TDk。控制位包括位RRS、IDE、FDF、BRS和ESI,它们针对CAN FD Light帧可以具有固定电平。
接下来,处理核102a在步骤2012处获得要被发送的数据,在步骤2010处确定对应的数据长度码(DLC),并且在步骤2014处,将数据长度码添加到字段DLC,并且将要发送的数据添加到传输帧TD1...TDk的字段DATA。
在步骤2016处,处理核102a然后根据CAN FD Light标准ISO11898-1:2015的位填充规则来添加可能的填充位,并且在步骤2018处计算相应的填充位计数,并且将填充位计数添加到传输帧TD1...TDk的字段SBC。类似地,处理核102a可以确定奇偶校验位的值,并且将奇偶校验位添加到传输帧TD1...TDk的字段P。
在步骤2020处,处理核102a然后确定相应的CRC位数目,并且将CRC位添加到传输帧TD1...TDk的字段CRC。通常,根据ISO11898-1:2015的固定填充位也可以在该步骤中被添加。
最后,在步骤2022处,处理核102a添加确认字段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而被设置)。
在这方面,图14示出了处理核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数据(字段CRC,例如,在根据ISO 11898-1:2015移除固定填充位之后)与计算的CRC数据进行比较。
在接收的CRC数据不对应于计算的CRC数据的情况下(验证步骤2046的输出“否”),则处理核102a可以在步骤2048处忽略/丢弃所接收的数据,并且程序在停止步骤2056处终止。
相反,在接收的CRC数据确实对应于计算的CRC数据的情况下(验证步骤2046的输出“是”),则处理核102a在步骤2050处去除可能的填充位。
在步骤2052处,处理核102a然后可以获得标准标识符SID。
最后,在步骤2054处,处理核102a可以从所接收的帧/数据RD1...RDk提取数据。通常,为了确定数据字段DATA的长度(以及因此确定CRC字段的长度),处理核102a可以提取数据长度码DLC和/或可以确定接收的位数目。因此,在步骤2054处,处理核102a已经获得标识符SID和相应的数据,并且程序在步骤2056处终止。
因此,在该情况下,硬件串行通信接口504的传输部分可以被配置成:根据CAN FDLight标准的时序,传送与存储到传输数据寄存器DATATX的传输帧的长度相对应的给定数目的位。类似地,硬件串行通信接口504的接收部分应当被配置成:根据CAN FDLight标准的时序来接收接收帧,并且将该帧存储到接收数据寄存器DATARX。然而,在该情况下,为了确定接收帧的长度,接收部分还应当被配置成检测其所有位被设置为隐性电平(例如,“1”)的帧结束字段EOF<6:0>。具体地,在各种实施例中,由于确认定界符位AD应当被设置为隐性电平的事实,接收部分被配置成通过检测被设置为隐性电平的八个连续位来确定帧的结束。
图8示出了硬件串行通信接口504的实施例。
具体地,在所考虑的实施例中,硬件通信接口504包括两个移位寄存器5040和5042。具体地,在所考虑的实施例中,移位寄存器5040用于存储要发送的数据。
在这方面,发明人已经观察到,如图7A和图7B中所示的CAN FD Light帧包括单个帧起始位SOF(被设置为显性电平)和七个帧结束位EOF(被设置为隐性电平)。此外,CAN FDLight帧可以包括最多675位。具体地,CAN FD Light帧包括固定数目的35个位,包括:控制字段SOF、ID、RRS、IDE、FDF、res、BRS、ESI和DLC的22个位,用于填充位计数器字段SBC和奇偶校验位P的4个位,用于确认字段AS和AD的2个位,以及用于帧结束字段EOF的7个位。除了这35个固定位之外,还可以添加一些可变位,即数据字段DATA和字段CRC。数据字段DATA的长度由数据长度码DLC的内容指示。值DLC还确定CRC字段的位数目,即17位或21位。此外,根据帧的内容,附加填充位根据ISO 11898-1中描述的位填充规则被添加。因此,虽然帧的位数目可以是可变的,但在开始数据传输操作之前,位数目是已知的。
因此,一旦处理核102a已经生成了传输帧TD1...TDk的数据,处理核102a也可以确定要发送的位数目。具体地,在各种实施例中,处理核102a被配置成将数据写入控制寄存器CTRL,控制寄存器CTRL标识要被发送的位数目。
因此,一旦数据传输被请求,硬件通信接口504可以例如通过使用移位寄存器5040的并行数据输入PDI,将传输数据寄存器DATATX的内容传送到移位寄存器5040。为此目的,传输数据寄存器DATATX和移位寄存器5040优选地具有相同的尺寸并且被配置成存储至少675位。
通常,存储到传输数据寄存器DATATX的传输帧也可以不包括帧起始位SOF。例如,在该情况下,移位寄存器5040的第一个位可以被设置为“0”,而移位寄存器5040的其它位被映射到传输数据寄存器DATATX的相应位。
此外,在各种实施例中,数据寄存器DATATX和移位寄存器5040可以用相同的移位寄存器来实现,该移位寄存器可以例如经由从机接口510和/或DMA通道DMA1来写入。同样在该情况下,可以使用附加的位来存储帧起始位SOF。
因此,一般地,处理核102a准备CAN FD Light帧(具有或没有帧起始位SOF),并且CAN FD Light帧(经由处理核102a和/或DMA通道DMA1)被传送到移位寄存器5040,移位寄存器5040可选地可以添加帧起始位SOF。
在各种实施例中,移位寄存器5040被配置成:根据时钟信号CLK2和传输使能信号TX_EN,顺序地发送存储到移位寄存器5040的位。
具体地,在所考虑的实施例中,硬件通信接口504还包括时钟管理电路5044,时钟管理电路5044被配置成:响应于处理***10a的***时钟信号CLK,生成用于硬件通信接口504的时钟信号CLK2。
例如,如图9中所示,在各种实施例中,时钟管理电路可以包括时钟预缩放电路5058,时钟预缩放电路5058被配置成生成预缩放时钟信号CLKPRE,该预缩放时钟信号CLKPRE相对于时钟信号CLK的频率具有减小的频率,其中缩放因子可以根据存储到(一个或多个)控制寄存器CTRL的配置数据而可编程。例如,预缩放电路5058可以用被配置成响应于时钟信号CLK而增加计数值的计数器来实现,其中当计数值达到阈值时,计数器改变时钟信号CLKPRE的逻辑电平,其中阈值根据由(一个或多个)控制寄存器CTRL提供的配置数据而被确定。
在所考虑的实施例中,预缩放时钟信号CLKPRE然后被提供给另外的按比例缩小电路5060,按比例缩小电路5060被配置成生成时钟信号CLK2,时钟信号CLK2相对于时钟信号CLKPRE的频率具有减小的频率,其中缩放因子可以根据存储到(一个或多个)控制寄存器CTRL的配置数据而固定或可编程。例如,按比例缩小电路5060可以用被配置成响应于时钟信号CLKPRE而增加计数值的计数器来实现,其中当计数值达到阈值时,计数器改变时钟信号CLKPRE的逻辑电平,其中阈值可选地根据由(一个或多个)配置寄存器CTRL提供的配置数据来被确定。
如图9中所示,在各种实施例中,按比例缩小电路5060的操作响应于同步信号SYNC而改变,然而同步信号SYNC仅在接收数据时被使用并且将在稍后进行描述。
因此,当发送数据时,时钟信号CLK2对应于时钟信号CLK的按比例缩小版本(根据存储到控制寄存器CTRL的配置数据),并且可以具有例如1MHz或由CAN FD Light支持的另一个频率。
如前所述,移位寄存器5040还接收使能信号TX_EN,使能信号TX_EN使能数据传输操作。具体地,在所考虑的实施例中,移位寄存器5040被配置成:当使能信号TX_EN被断言时并且响应于时钟信号CLK2,在串行数据输出SDO处顺序地提供移位寄存器5040的内容。因此,当使能信号TX_EN被断言时,移位寄存器5040(从帧起始位SOF开始)顺序地提供存储到移位寄存器5040的数据位。
在所考虑的实施例中,使能信号TX_EN由传输控制电路5046生成,传输控制电路5046被配置成确定是否已经发送给定数目的请求位。因此,在各种实施例中,传输控制电路5046被配置成:根据存储到(一个或多个)控制寄存器CTRL的配置数据,来确定要发送的请求位的数目。例如,存储到(一个或多个)控制寄存器CTRL的配置数据可以对应于要发送的位的总数目(具有或没有帧起始位SOF)。
例如,在各种实施例中,传输控制电路5046可以包括计数器,该计数器响应于时钟信号CLK2而增加,从而指示发送的位的数目。因此,当开始新的数据传输操作时,计数器可以被复位,从而断言使能信号TX_EN,并且当请求的位数目已经被发送时,传输控制电路5046将使能信号TX_EN取消断言。例如,在该情况下,当传输控制电路5046将使能信号TX_EN取消断言时,传输控制电路可以断言控制信号TX_OK。
在各种实施例中,硬件通信接口504包括组合逻辑电路5050,组合逻辑电路5050被配置成:在使能信号TX_EN被取消断言时,将信号TXD设置为隐性电平(例如,高)。例如,在当使能信号TX_EN被取消断言时,使能信号TX_EN被设置为低的情况下,组合逻辑电路5050可以用逻辑或门来实现,该逻辑或门在输入处接收移位寄存器5056的串行数据输出信号SDO和反相版本的使能信号TX_EN,并且在输出处提供信号TXD。
组合逻辑电路5050纯粹是可选的,因为当使能信号TX_EN被取消断言时,串行数据输出信号SDO也可以被设置为隐性电平,例如,因为帧结束位EOF已经被设置为隐性电平。
相反,移位寄存器5042被配置成存储经由信号RXD接收的位。
具体地,当没有数据传输出现时,接收信号RXD被设置为隐性电平,例如高。一旦由另一个设备启动传输,帧起始位SOF被发送,由此接收信号RXD被设置为显性电平,例如低。
因此,在各种实施例中,硬件通信接口504包括接收控制电路5048。具体地,接收控制电路5048被配置成:响应于信号RXD从隐性电平到显性电平的改变(例如,响应于信号RXD的下降沿),断言接收使能信号RX_EN。
通常,如前所述,帧起始位SOF可以跟随有可变数目的位(高达675位)。然而,帧结束条件由被设置为隐性电平(例如高)的8位序列精确确定,该8位序列对应于位AD和帧结束字段EOF。实际上,CAN FD Light协议的位填充保证了其它数据的逻辑电平最多在具有相同逻辑电平的5个位的序列之后发生改变。
因此,在各种实施例中,接收控制电路5048被配置成:响应于确定八个连续位被设置为隐性电平,而将接收使能信号RX_EN取消断言。例如,为此目的,接收控制电路5048可以包括计数器,该计数器被配置成响应于时钟信号CLK2而增加计数值,其中当信号RXD被设置为显性电平时,计数器被复位。因此,在该情况下,接收控制电路5048可以在计数器达到8时,将接收使能信号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的并行数据输出PDO,将移位寄存器5042的内容传送到接收数据寄存器DATARX。为此目的,接收数据寄存器DATARX和移位寄存器5042优选地具有相同的尺寸并且被配置成存储至少675位。如前所述,传送到接收数据寄存器DATARX的接收帧也可以不包括帧起始位SOF。
此外,在各种实施例中,数据寄存器DATARX和移位寄存器5042可以用相同的移位寄存器来实现,该移位寄存器可以例如经由从机接口510或DMA通道DMA2来进行读取。
在这方面,图10示出了修改的硬件通信接口504,其仅包括单个移位寄存器5056。因此,在下文中将仅显示相对于图8的差异。
具体地,在所考虑的实施例中,移位寄存器5056被配置成:当使能信号EN被断言时,响应于时钟信号CLK2而顺序地移位移位寄存器5056的内容,其中第一位经由移位寄存器5056的串行数据输出SDO被提供,并且经由移位寄存器5056的串行数据输入SDI接收的第二位被添加到移位寄存器5056的内容。
因此,在该情况下,串行数据输出SDO可以连接到传输信号TXD,或者优选地连接到逻辑门5050。相反,串行数据输入SDI可以连接到接收信号RXD。优选地,在该情况下,还使用附加逻辑门5052,当接收使能信号RX_EN被设置为低时,该逻辑门5052将提供给串行数据输入SDI的信号RXD’设置为隐性电平,例如高。例如,在各种实施例中,逻辑门5052是或门,该或门在输入处接收接收信号RXD和反相版本的接收使能信号RX_EN。
具体地,在所考虑的实施例中,当传输使能信号TX_EN或接收使能信号RX_EN被断言时,移位寄存器5056的使能信号EN被断言。例如,为此目的,硬件通信接口504包括逻辑门5054,诸如或门,逻辑门5054被配置成:通过将传输使能信号TX_EN和接收使能信号RX_EN组合,来生成使能信号EN。
因此,同样在该情况下,传输帧(具有或没有帧起始位SOF)可以例如通过使用移位寄存器5056的并行数据输入PDI,直接或间接地经由传输数据寄存器DATATX被传送到移位寄存器5056。类似地,接收帧(具有或没有帧起始位SOF)可以例如通过使用移位寄存器5056的并行数据输出PDO,直接或间接地经由接收数据寄存器DATARX从移位寄存器5056被传送。
如图11中所示,当经由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同步,计数器CNT可以响应于确定同步信号SYNC被断言而被复位。
例如,对于显性逻辑电平为低并且接收器仅与信号RXD的下降沿同步的示例性情况,这在图12A中被示出。具体地,在所考虑的示例中,接收信号RX依次包括位B1=“0”(例如,对应于帧起始位SOF)、B1=“1”、B3=“1”和B4=“0”。
因此,响应于接收信号RXD对于位B1从高到低的改变,同步信号SYNC被断言,并且因此计数值CNT被复位。接下来,计数值在时钟信号CLKPRE的每个时钟周期处增加,例如直到达到例如4的最大值,然后计数值CNT再次被计数器复位。因此,在所考虑的实施例中,在对隐性电平进行采样时,计数值CNT不经由同步信号SYNC复位,而仅经由计数器复位。
因此,时钟信号CLK2可以在计数值CNT达到给定的第一值(诸如3)时被断言,并且可以在计数值CNT达到给定的第一值(诸如0)时被取消断言。
在这方面,图12B示出了接收信号RXD的频率略高于时钟信号CLK2的频率的情况。
具体地,在位B3的末尾,计数值达到最大值(例如,4),并且计数器将计数值复位为0。然而,然后接收到下降沿,由此接收控制电路5048断言同步信号SYNC,由此计数器CNT再次被复位。因此,在该情况下,时钟信号CLK2的下降沿和下一个上升沿之间的时间对应于四个周期,而不是通常的三个周期。
通常,代替将计数器5060复位,同步信号SYNC的逻辑电平可以用于确定计数器的增加值。例如,增加值默认可以被设置为1。相反,当信号SYNC在计数值被设置为0时被断言时,计数器的增加值可以被设置为0,由此相位“0”被重复两次。相反,当信号SYNC在计数值具有其最大值减1(例如3)时被断言时,计数器的增加值可以被设置为2,由此计数器被间接复位。
如图10中所示,时钟信号CLKPRE(或另一个时钟信号)也可以用于执行对接收信号RXD(或RXD’)的过采样。例如,在所考虑的实施例中,硬件通信接口504包括过采样电路5056,例如,过采样电路5056包括具有多个位的移位寄存器,其中过采样电路5056存储接收信号RXD(或RXD’)的多个后续值,然后基于所存储的值生成被提供给寄存器5056(或类似地寄存器5042)的串行数据输入SDI的信号。例如,在各种实施例中,过采样电路5056存储奇数个位,诸如3,并且被提供给寄存器5056的串行数据输入SDI的信号对应于大多数位的逻辑值。
在这方面,发明人已经观察到,时钟信号CLK2的这种重新同步在CAN FD Light协议的情况下特别有用,因为可以传送大量的位。
具体地,在各种实施例中,同步信号SYNC响应于接收信号RXD从隐性电平到显性电平的转换(诸如下降沿)而不响应从显性电平到隐性电平的转变(诸如上升沿)被生成。事实上,发明人已经观察到,后一种转换可能总是不被使用,因为由于CAN总线物理层的性质,该转换通常不被很好地定义。具体地,当使用根据ISO 11898-2的标准CAN物理层时,显性值(表示CAN总线上的逻辑“0”)由CAN收发器强驱动,而隐性值由端接电阻器(并联的2x120欧姆,即60欧姆)确定。因此,显性到隐性的边缘没有被很好地驱动,并且可能受振铃影响。
此外,在这方面,位填充机制也相关,位填充机制不仅与确定帧结束字段EOF相关,而且还确保在给定的最大位数目内执行重新同步。具体地,位填充确保最多五个位之后的边沿,并且因此最多在十位之后出现下降沿,从而允许时钟信号CLK2的重新同步。
因此,通信接口50既可以被用作CAN FD Light帧的发射器,也可以被用作CAN FDLight帧的接收器。
在这方面,在CAN FD Light控制器,即CAN FD Light主机电路的情况下,处理核102a首先(经由从机接口510和/或DMA通道DMA1)将CAN FD Light帧提供到硬件收发器504(参见图13的描述)。在CAN FD Light帧包括期望响应的请求的情况下,硬件收发器504然后会(经由从机接口510和/或DMA通道DMA1)将接收的CAN FD Light帧提供给处理核102a(参见图14的描述)。
相反,在CAN FD Light从机电路的情况下,硬件收发器504会首先(经由从机接口510和/或DMA通道DMA1)将接收的CAN FDLight帧提供给处理核102a(参见图14的描述)。在接收的CAN FDLight帧对应于期望响应的请求的情况下,处理核102a然后可以(经由从机接口510和/或DMA通道DMA1)将响应CAN FD Light帧提供给硬件收发器504(参见图13的描述)。
在这方面,发明人已经观察到,图8和图10的硬件通信接口504与通用异步接收器-发射器(UART)接口具有相似性。
具体地,UART接口也包括移位寄存器,该移位寄存器将位移出到传输线,或者将在接收线上接收的位移动到移位寄存器中。
通常的UART接口被配置成发送和接收固定长度的UART帧,该帧仅包括几个数据位,诸如1字节(8位)或2字节(16位)。通常的UART帧包括初始帧起始位,初始帧起始位是“0”。为了指示字节的末尾,附加了至少一个停止位,该至少一个停止位是“1”。有时在停止位之前包括奇偶校验位。例如,操作模式8N1的描述符指示八位(8)、无奇偶校验(N)和一(1)个停止位被传送或接收。
因此,与CAN FD Light帧相比,UART帧具有固定的位长度,例如对于格式8N1为10位(包括起始位)。
因此,发明人已经观察到,相同的硬件通信接口504,并且更一般地,相同的通信接口50可以用于支持两种模式:CAN FD Light模式和UART模式。
例如,为此目的,(一个或多个)控制寄存器可以包括用于存储指示是使用CAN FDLight模式还是UART模式的数据的字段或标志。
具体地,为了控制传输操作,发射器控制电路5046被配置成:例如经由计数器确定该数目是否对应于请求的位数目。如前所述,相应数据可以被存储到(一个或多个)控制寄存器。因此,在CAN FD模式中,相应的请求位数目指示(例如,对应于)CAN FD传输帧的实际长度,而在UART模式中,UART帧的长度可以设置为例如UART帧的数据位的数目,例如8位或16位。通常,UART模式的位数目可以是固定的或可编程的。在还必须使用奇偶校验位的情况下,这种奇偶校验位可以在硬件中或者优选地由处理核102a计算,处理核102a生成包括数据位和奇偶校验位的UART帧。
例如,在具有至少16位的处理***的情况下,单个分组TD1因此通常足以发送UART帧。然而,由于UART帧尺寸通常保持不变的事实,多个UART帧可以被存储到数据TD1...TDk中,数据TD1...TDk因此可以例如经由DMA通道DMA1被顺序地传送到移位寄存器5040或5056。
因此,对于传输侧,配置要发送的位数目就足够了,由此传输控制电路5046针对发送相应位所需的时间断言传输使能信号TX_EN。
在这方面,时钟管理电路(具体地,预缩放电路5058),也可以支持更高的缩放因子,因为UART通常使用比CAN FD Light协议更低的比特率。
相反,为了控制接收操作,接收控制电路5046被配置成:在CAN FD Light模式中,一旦已经接收到帧起始位SOF,断言接收使能信号RX_EN,并且响应于检测到帧结束字段EOF,将接收使能信号RX_EN取消断言;在UART模式中,一旦接收到帧起始位SOF,断言接收使能信号RX_EN,并且一旦已经接收到UART模式的位数目(如在控制寄存器CTRL中指定的)之后,将接收使能信号RX_EN取消断言。
具体地,在各种实施例中,接收控制电路5048使用相同的计数器以便:在CAN FDLight模式中,检测帧结束字段EOF(被设置为隐性电平(例如,高)的8个连续位);以及在UART模式中,计算接收的位的数目。
实质上,为此目的,计数器可以被配置成响应于时钟信号CLK2而增加相应的计数,并且:在CAN FD Light模式中,响应于帧起始位SOF和在信号RXD具有隐性电平的其它瞬间而将计数值复位;在UART模式中,响应于帧起始位SOF而将计数值复位。
因此,在该情况下,接收控制电路5046可以在计数值达到最大值时,将接收使能信号取消断言,该最大值在CAN FD Light模式中对应于八,并且在UART模式中,对应于UART模式的位数目。
因此,在各种实施例中,CAN FD Light帧(以及类似地UART帧)在软件中被组装和拆卸。在CAN FD Light帧的情况下,这包括CRC计算和填充位删除或***。
在各种实施例中,接收器控制电路可以响应于接收信号RXD的每个下降沿来调整采样点。这允许在长帧中跟踪相移(或相位抖动)和频率偏移。
在CAN FD Light操作模式中,接收器控制电路检测八个连续接收的“1”的接收,作为帧结束标识符。相反,在UART操作模式中,接收器控制电路被配置成接收预定数目的位(类似于传输控制电路)。
实际上,可以经由软件设置要发送的位数目(在CAN FDLight模式和UART模式两者中)。通常,当激活UART模式时,位数目也可以对应于预先确定的固定位数目,例如对应于格式8N1。
在各种实施例中,传输和/或接收移位寄存器具有至少675位(~85字节)。这允许CAN FD Light帧的传输和接收。
然而,也可以使用较小的移位寄存器,例如,具有8位或16位的字大小,其本身不足以存储完整的CAN FD Light帧。然而,发明人已经观察到,通过使用具有传输数据寄存器DATATX(具有相同字大小)和DMA传送的通信接口,DMA通道DMA1能够将传输数据TD1...TDk的给定数据字从存储器104b传送到传输数据寄存器DATATX,该给定数据字然后被传送到移位寄存器5040/5056并且经由接口504的传输电路被发送。此外,在接口504顺序地发送存储到移位寄存器5040/5056的当前数据字的位时,DMA通道DMA1可以将传输数据TD1...TDk的新数据字从存储器104b传送到传输数据寄存器DATATX。因此,通过使用支持DMA通道DMA1的接口50,对于要被发送的数据,正确配置DMA通道(诸如集成的或通用DMA通道)和接口50就足以发送包括由处理核102a准备的CAN FD Light帧的传输数据TD1...TDk的所有数据字。
在这方面,为了正确地发送CAN FD Light帧的七个帧结束位EOF,处理核102a不必确实将七个帧结束位EOF添加到最后一个数据字TDk,而是处理核102a添加具有隐性电平的至少一个位就足够了。例如,在各种实施例中,处理核102a被配置成全部用分配给隐性电平的逻辑电平(例如高)来填充最后的帧TDk的最后的位(在对应于位AD的位位置之后),从而确保当传输控制电路5046禁用移位寄存器5040/5056时,信号TXD保持被设置为隐性电平。
类似地,响应于已经将给定数目的位存储到移位寄存器5042/5056(如经由控制电路5048发出信号的),接收的数据可以被传送到接收数据寄存器DATARX,然后经由DMA通道DMA2被传送到存储器104b。因此,通过使用支持DMA通道DMA2的接口50,对于接收的数据,正确配置DMA通道(诸如集成的或通用DMA通道)和接口50足以接收CAN FD Light帧,并且足以将相应的接收数据RD1...RDk存储到存储器104b。
具体地,在该情况下,接收控制电路5048仍然被配置成监控帧结束条件(被设置为隐性电平的八个连续位),而不管这些位是否确实属于相同数据字。
当然,在不损害本发明的原理的情况下,构造和实施例的细节可以相对于本文纯粹以示例的方式已描述和说明的内容有很大的变化,而不会因此背离如所附权利要求定义的本发明的范围。
Claims (20)
1.一种处理***,包括:
传输端子,被配置成提供传输信号;
接收端子(RX),被配置成接收接收信号;
微处理器,经由软件指令而可编程;
存储器控制器,被配置成连接到存储器;
通信***,连接所述微处理器、所述存储器控制器和串行通信接口;以及
所述串行通信接口,支持控制器局域网灵活数据速率CAN FD Light操作模式和通用异步接收器/发射器UART操作模式,其中所述串行通信接口包括:
控制寄存器,被配置成存储标识时钟缩放因子的数据、标识请求的位数目的数据和标识操作模式的数据,所述操作模式指示所述CAN FD Light操作模式或所述UART操作模式,其中所述控制寄存器经由所述微处理器而可编程;
时钟管理电路,被配置成:接收时钟信号,并且根据存储到所述控制寄存器的所述时钟缩放因子来生成按比例缩小时钟信号;
传输移位寄存器,被配置成:当传输使能信号被断言时,响应于所述按比例缩小时钟信号,通过顺序地提供所述传输移位寄存器的内容来生成所述传输信号,其中所述处理***适于选择性地将数据从所述微处理器传送到所述传输移位寄存器;
传输控制电路,被配置成:
接收请求数据的传输的开始传输信号;
响应于所述开始传输信号,断言所述传输使能信号;
当所述传输使能信号被断言时,响应于所述按比例缩小时钟信号而增加传输计数值;
确定所述传输计数值是否达到所述请求的位数目;以及
响应于确定所述传输计数值达到所述请求的位数目,将所述传输使能信号取消断言;
接收移位寄存器,被配置成:当接收使能信号被断言时,响应于所述按比例缩小时钟信号,将所述接收信号的逻辑电平顺序地添加到所述接收移位寄存器的内容,其中所述处理***适于选择性地将数据从所述接收移位寄存器传送到所述微处理器;以及
接收控制电路,被配置成:
检测所述接收信号中的下降沿;
响应于检测到所述接收信号中的所述下降沿,断言所述接收使能信号;
确定存储到所述控制寄存器的所述数据是指示所述CAN FD Light操作模式还是所述UART操作模式;
响应于确定存储到所述控制寄存器的所述数据指示所述CAN FD Light操作模式:
当所述接收使能信号被断言,并且所述接收信号被设置为高时,响应于所述按比例缩小时钟信号而增加第一接收计数值;
每次所述接收信号被设置为低时,将所述接收计数值复位;
确定所述接收计数值是否达到八;以及
响应于确定所述接收计数值达到八,将所述接收使能信号取消断言;以及
响应于确定存储到所述控制寄存器的所述数据指示所述UART操作模式:
当所述接收使能信号被断言时,响应于所述按比例缩小时钟信号而增加第二接收计数值;
确定所述接收计数值是否达到所述请求的位数目;以及
响应于确定所述接收计数值达到存储到所述控制寄存器的所述请求的位数目,将所述接收使能信号取消断言。
2.根据权利要求1所述的处理***,其中所述第一接收计数值和所述第二接收计数值由相同的计数器提供。
3.根据权利要求1所述的处理***,其中所述传输移位寄存器和所述接收移位寄存器利用相同的移位寄存器实现。
4.根据权利要求1所述的处理***,其中所述微处理器被配置成:
生成传输CAN FD Light帧;
确定所述传输CAN FD Light帧的长度;
对所述控制寄存器进行编程,以便将所述请求的位数目设置为所述传输CAN FD Light帧的所述长度,并且将所述操作模式设置为所述CAN FD Light操作模式;以及
将所述传输CAN FD Light帧提供给所述传输移位寄存器。
5.根据权利要求4所述的处理***,其中:
所述传输移位寄存器具有至少675位,并且所述微处理器被配置成:经由所述通信***,将所述传输CAN FD Light帧写入到所述传输移位寄存器;或者
所述传输移位寄存器具有给定字大小,并且所述处理***包括第一直接存储器访问DMA通道,其中所述微处理器被配置成将所述传输CAN FD Light帧存储到所述存储器,并且其中所述第一DMA通道被配置成将所述给定字大小的分组从所述存储器传送到所述传输移位寄存器,从而将所述传输CAN FD Light帧从所述存储器顺序地传送到所述传输移位寄存器。
6.根据权利要求1所述的处理***,其中所述微处理器被配置成:
对所述控制寄存器进行编程,以便将所述操作模式设置为所述CAN FD Light操作模式;
确定所述接收控制电路是否将所述接收使能信号取消断言;
响应于确定所述接收控制电路将所述接收使能信号取消断言,从所述接收移位寄存器获得接收CAN FD Light帧;以及
分析所述接收CAN FD Light帧。
7.根据权利要求6所述的处理***,其中:
所述接收移位寄存器具有至少675位,并且所述微处理器被配置成经由所述通信***从所述接收移位寄存器读取所述接收CAN FD Light帧;或者
所述接收移位寄存器具有给定字大小,并且所述处理***包括第二DMA通道,其中所述第二DMA通道被配置成将所述给定字大小的分组从所述接收移位寄存器传送到所述存储器,从而将所述接收CAN FD Light帧从所述接收移位寄存器顺序地传送到所述存储器,并且其中所述微处理器被配置成从所述存储器读取所述接收CAN FD Light帧。
8.根据权利要求1所述的处理***,其中所述传输端子和所述接收端子连接到CAN FD收发器。
9.根据权利要求1所述的处理***,其中所述时钟管理电路被配置成使所述按比例缩小时钟信号的生成与同步信号同步,并且其中所述接收控制电路被配置成:响应于所述接收信号中的上升沿和/或下降沿,生成所述同步信号。
10.根据权利要求1所述的处理***,其中所述处理***被布置在集成电路上。
11.一种设备,包括:
多个处理***,所述处理***中的每个处理***包括:
传输端子,被配置成提供传输信号;
接收端子(RX),被配置成接收接收信号;
微处理器,经由软件指令而可编程;
存储器控制器,被配置成连接到存储器;
通信***,连接所述微处理器、所述存储器控制器和串行通信接口;以及
所述串行通信接口,支持控制器局域网灵活数据速率CAN FD Light操作模式和通用异步接收器/发射器UART操作模式,其中所述串行通信接口包括:
控制寄存器,被配置成存储标识时钟缩放因子的数据、标识请求的位数目的数据和标识操作模式的数据,所述操作模式指示所述CAN FD Light操作模式或所述UART操作模式,其中所述控制寄存器经由所述微处理器而可编程;
时钟管理电路,被配置成:接收时钟信号,并且根据存储到所述控制寄存器的所述时钟缩放因子来生成按比例缩小时钟信号;
传输移位寄存器,被配置成:当传输使能信号被断言时,响应于所述按比例缩小时钟信号,通过顺序地提供所述传输移位寄存器的内容来生成所述传输信号,其中所述处理***适于选择性地将数据从所述微处理器传送到所述传输移位寄存器;
传输控制电路,被配置成:
接收请求数据的传输的开始传输信号;
响应于所述开始传输信号,断言所述传输使能信号;
当所述传输使能信号被断言时,响应于所述按比例缩小时钟信号而增加传输计数值;
确定所述传输计数值是否达到所述请求的位数目;以及
响应于确定所述传输计数值达到所述请求的位数目,将所述传输使能信号取消断言;
接收移位寄存器,被配置成:当接收使能信号被断言时,响应于所述按比例缩小时钟信号,将所述接收信号的逻辑电平顺序地添加到所述接收移位寄存器的内容,其中所述处理***适于选择性地将数据从所述接收移位寄存器传送到所述微处理器;以及
接收控制电路,被配置成:
检测所述接收信号中的下降沿;
响应于检测到所述接收信号中的所述下降沿,断言所述接收使能信号;
确定存储到所述控制寄存器的所述数据是指示所述CAN FD Light操作模式还是所述UART操作模式;
响应于确定存储到所述控制寄存器的所述数据指示所述CAN FD Light操作模式:
当所述接收使能信号被断言,并且所述接收信号被设置为高时,响应于所述按比例缩小时钟信号而增加第一接收计数值;
每次所述接收信号被设置为低时,将所述接收计数值复位;
确定所述接收计数值是否达到八;以及
响应于确定所述接收计数值达到八,将所述接收使能信号取消断言;以及
响应于确定存储到所述控制寄存器的所述数据指示所述UART操作模式:
当所述接收使能信号被断言时,响应于所述按比例缩小时钟信号而增加第二接收计数值;
确定所述接收计数值是否达到所述请求的位数目;以及
响应于确定所述接收计数值达到存储到所述控制寄存器的所述请求的位数目,将所述接收使能信号取消断言;以及
另外的通信***,通信地连接所述处理***。
12.根据权利要求11所述的设备,其中所述设备是交通工具。
13.一种操作处理***的方法,所述处理***包括:传输端子,被配置成提供传输信号;接收端子(RX),被配置成接收接收信号;微处理器,经由软件指令而可编程;存储器控制器,被配置成连接到存储器;通信***,连接所述微处理器、所述存储器控制器和串行通信接口;以及所述串行通信接口,支持控制器局域网灵活数据速率CAN FD Light操作模式和通用异步接收器/发送器UART操作模式,所述串行通信接口包括控制寄存器、时钟管理电路、传输移位寄存器和接收移位寄存器,所述方法包括:
对所述控制寄存器进行编程,以便将所述操作模式设置为所述CAN FD Light操作模式;
在传输阶段期间:
生成传输CAN FD Light帧;
确定所述传输CAN FD Light帧的长度;
对所述控制寄存器进行编程,以便将请求的位数目设置为所述传输CAN FD Light帧的所述长度;以及
将所述传输CAN FD Light帧提供给所述传输移位寄存器;以及
在接收阶段期间:
确定接收控制电路是否将接收使能信号取消断言;
响应于确定所述接收控制电路将所述接收使能信号取消断言,从所述接收移位寄存器获得接收CAN FD Light帧;以及
分析所述接收CAN FD Light帧。
14.根据权利要求13所述的方法,其中所述传输移位寄存器和所述接收移位寄存器利用相同的移位寄存器实现。
15.根据权利要求13所述的方法,还包括:
由所述控制寄存器存储标识时钟缩放因子的数据、标识所述请求的位数目的数据和标识所述操作模式的数据,并且所述控制寄存器经由所述微处理器而可编程。
16.根据权利要求15所述的方法,还包括:
根据接收的时钟信号和存储到所述控制寄存器的所述时钟缩放因子,生成按比例缩小时钟信号;
响应于所述接收信号中的上升沿和/或下降沿,生成同步信号;以及
将生成的所述按比例缩小时钟信号与所述同步信号同步。
17.根据权利要求16所述的方法,还包括:
响应于传输使能信号被断言,由所述传输移位寄存器响应于所述按比例缩小时钟信号而通过顺序地提供所述传输移位寄存器的内容来生成所述传输信号;以及
响应于所述接收使能信号被断言,由所述接收移位寄存器响应于所述按比例缩小时钟信号而将所述接收信号的逻辑电平顺序地添加到所述接收移位寄存器的内容。
18.根据权利要求13所述的方法,其中:
所述传输移位寄存器具有至少675位,并且所述方法包括经由所述通信***将所述传输CAN FD Light帧写入到所述传输移位寄存器;或者
所述传输移位寄存器具有给定字大小,并且所述方法包括将所述传输CAN FD Light帧存储到所述存储器,通过第一直接存储器访问DMA通道将所述给定字大小的分组从所述存储器传送到所述传输移位寄存器,从而将所述传输CAN FD Light帧从所述存储器顺序地传送到所述传输移位寄存器。
19.根据权利要求13所述的方法,其中:
所述接收移位寄存器具有至少675位,并且所述方法包括经由所述通信***从所述接收移位寄存器读取所述接收CAN FD Light帧;或者
所述接收移位寄存器具有给定字大小,并且所述方法包括通过第二DMA通道将所述给定字大小的分组从所述接收移位寄存器传送到所述存储器,从而将所述接收CAN FD Light帧从所述接收移位寄存器顺序地传送到所述存储器,并且从所述存储器读取所述接收CANFD Light帧。
20.根据权利要求13所述的方法,其中所述传输端子和所述接收端子连接到CAN FD收发器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT202100022124 | 2021-08-20 | ||
IT102021000022124 | 2021-08-20 | ||
US17/819,749 | 2022-08-15 | ||
US17/819,749 US11853252B2 (en) | 2021-08-20 | 2022-08-15 | Processing system, related integrated circuit, device and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115905080A true CN115905080A (zh) | 2023-04-04 |
Family
ID=78333173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211003589.1A Pending CN115905080A (zh) | 2021-08-20 | 2022-08-19 | 处理***、相关集成电路、设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11853252B2 (zh) |
EP (1) | EP4138343B1 (zh) |
CN (1) | CN115905080A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11182312B2 (en) * | 2020-04-02 | 2021-11-23 | Micron Technology, Inc. | Memory sub-system manufacturing mode |
US11824681B2 (en) * | 2021-08-18 | 2023-11-21 | Stmicroelectronics Application Gmbh | Processing system, related integrated circuit, device and method |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5970069A (en) * | 1997-04-21 | 1999-10-19 | Lsi Logic Corporation | Single chip remote access processor |
DE102013210064A1 (de) * | 2013-05-29 | 2014-12-04 | Robert Bosch Gmbh | Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle |
US10550682B2 (en) * | 2015-10-22 | 2020-02-04 | Micropulse, Llc. | Programmable integrated measurement while drilling directional controller |
IT201800003980A1 (it) | 2018-03-26 | 2019-09-26 | Stmicroelectronics Application Gmbh | Procedimento di comunicazione, sistema, dispositivi, segnale e veicolo corrispondenti |
FR3100629B1 (fr) * | 2019-09-10 | 2023-04-07 | St Microelectronics Grenoble 2 | Communication par bus CAN |
US11526458B2 (en) * | 2020-05-18 | 2022-12-13 | Stmicroelectronics Application Gmbh | Method of operating a communication bus, corresponding system, devices and vehicle |
US11695589B2 (en) | 2020-12-10 | 2023-07-04 | Stmicroelectronics Application Gmbh | Controller area network data link layer protocol processing system, related integrated circuit, device and method |
IT202100005354A1 (it) | 2021-03-08 | 2022-09-08 | Stmicroelectronics Application Gmbh | Circuito microcontrollore, dispositivo, sistema e procedimento di funzionamento corrispondenti |
IT202100007475A1 (it) * | 2021-03-26 | 2022-09-26 | Stmicroelectronics Application Gmbh | Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento |
US11824681B2 (en) * | 2021-08-18 | 2023-11-21 | Stmicroelectronics Application Gmbh | Processing system, related integrated circuit, device and method |
-
2022
- 2022-08-02 EP EP22188198.0A patent/EP4138343B1/en active Active
- 2022-08-15 US US17/819,749 patent/US11853252B2/en active Active
- 2022-08-19 CN CN202211003589.1A patent/CN115905080A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11853252B2 (en) | 2023-12-26 |
EP4138343B1 (en) | 2024-02-21 |
US20230053798A1 (en) | 2023-02-23 |
EP4138343A1 (en) | 2023-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4138343B1 (en) | Processing system, related integrated circuit, device and method | |
Ziermann et al. | CAN+: A new backward-compatible Controller Area Network (CAN) protocol with up to 16× higher data rates. | |
EP4137954A1 (en) | Processing system, related integrated circuit, device and method | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
CN103503382B (zh) | 具有灵活数据速率的控制器局域网 | |
RU2597502C2 (ru) | Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных | |
JP6629215B2 (ja) | マルチマスターバスプロトコルのための方法および装置 | |
KR20180073578A (ko) | Mipi csi-2 c-phy 에 대한 의사-무작위 2진 시퀀스 시드들을 교번시키기 | |
JP6878300B2 (ja) | マルチモード変調を用いる向上した仮想gpio | |
JP4966695B2 (ja) | マルチマスタのチェーン接続された二線シリアルバス装置及びディジタル状態機械 | |
CN104811273A (zh) | 一种高速单总线通信的实现方法 | |
JP2010508600A (ja) | デュアルモードメモリ相互接続を備えたメモリコントローラ | |
JP2016533608A (ja) | カメラ制御インターフェースのスレーブデバイス間通信 | |
CN106598018A (zh) | 控制器区域网络(can)装置以及用于操作can装置的方法 | |
KR102656961B1 (ko) | 동적 히스테리시스 회로 | |
US11409690B2 (en) | Communication systems with serial peripheral interface functionality | |
US20190356412A1 (en) | Fast termination of multilane double data rate transactions | |
US20150339253A1 (en) | Electronic device with enhanced management data input/output control | |
WO2014094529A1 (en) | Unified system networking with cee-pcie tunneling | |
CN115051885A (zh) | 微控制器电路、对应的设备、***以及操作方法 | |
TW202310594A (zh) | 用於互連協定的錯誤處理的方法、控制器以及儲存裝置 | |
US20230300001A1 (en) | Processing system, related integrated circuit, device and method | |
CN113886316A (zh) | 数据通信方法及相关装置、设备、***和存储介质 | |
US20230281142A1 (en) | Processing system, related integrated circuit, system and method | |
CN116775536A (zh) | 处理***、相关集成电路、设备和方法 |
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 |