一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

汽车或工业生态系统中对USBC型PD端口的实时监测和控制的制作方法

2022-03-19 20:34:54 来源:中国专利 TAG:

汽车或工业生态系统中对usb c型pd端口的实时监测和控制
1.相关申请的交叉引用
2.本技术要求于2020年9月2日提交的美国临时申请第63/073,876号的权益,该美国临时申请的公开内容通过引用整体并入本文中。
技术领域
3.本公开内容总体上涉及通用串行总线(usb)系统,并且更特别地,涉及用于通过标准化通信接口(例如在汽车、航空、工业或其他生态系统中使用的本地互连网络(lin)、控制器局域网络(can)等)对usb系统进行配置、控制和监测的方法和系统,该usb系统符合usb电力传输(usb-pd,也称为usb-c/pd)规范的各种修订版。


背景技术:

4.各种电子设备(例如,诸如智能电话、平板、笔记本电脑、膝上型计算机、集线器、充电器、适配器等)被配置成:根据usb电力传输(usb-pd)规范的各种修订版中限定的usb电力传输协议,通过usb连接器或端口来传送数据或传输电力。例如,在一些应用中,电子设备可以被配置为电力消费者,以通过usb连接器接收电力(例如,用于电池充电),而在其他应用中,电子设备可以被配置成电力提供者,以通过usb连接器向连接至该电子设备的另一设备提供电力。usb-pd规范使得电力提供者和电力消费者能够动态协商所提供的电压和电流的水平。
5.在汽车中,usb-pd端口可以放置在内部舱室中的各个位置(例如,显示控制台、后座娱乐子系统、扶手)以供乘员使用由汽车电气系统提供的电力对电子设备进行充电。汽车中的部件和子系统通常通过基于标准串行通信协议的车辆控制和通信网络(例如本地互连网络(lin)、控制器局域网络(can)、flexray、most等)进行通信。例如,诸如电子控制单元(ecu)的汽车控制器可以使用基于lin的通信来配置、控制和监测各种车辆功能。然而,不存在使ecu能够通过标准车辆网络直接监测和控制汽车usb-pd端口的现有解决方案。一些汽车usb-pd系统可以使用外部控制器以使ecu能够通过基于i2c或spi的接口来控制usb-pd端口。然而,这样的非标准化设计需要专用外部控制器以在i2c或spi协议与usb-pd端口的控制寄存器之间进行转换。所述设计难以集成到标准化车辆接口中。它们也不可扩展,因为跨车辆对i2c或spi接口布线是不可行的或者是昂贵的。因此,需要通过高效、有成本效益且可扩展的标准化汽车接口直接控制和监测汽车usb-pd端口。


技术实现要素:

6.本文中描述了用于通过在汽车、航空、工业或其他应用中使用的标准通信和控制接口与通用串行总线电力传输(usb-pd)规范、usb类型c子系统或两者(例如,支持usb-pd功能的usb c型子系统)——统称为usb c型/pd或usb-c/pd系统——进行通信的技术的各个方面。在本公开内容的一个方面中,提供了将usb-c/pd系统连接至用作串行通信的标准化汽车接口的本地互联网络(lin)的解决方案。解决方案有助于lin总线的网络控制器(例如
车辆电子控制单元(ecu))配置、控制和监测usb-c/pd系统的端口的充电和故障数据。ecu可以通过现有车辆网络来管理usb-c/pd系统的电力共享、热感测、显示端口和通用设备状态。例如,ecu可以基于电池电力状态和系统行为控制usb-c/pd端口的电力,例如,ecu监测usb-c/pd端口的充电信息以增加电力共享和电力节流能力。可以通过lin总线将usb-c/pd所连接的设备的充电状态和诸如电压短路、端口故障等故障传送至ecu,以在驾驶舱上显示充电信息和警告。usb-c/pd系统的固件更新可以发生在ecu/obd(车载诊断)端口上,或者ecu可以动态地配置各个端口的操作,包括使端口断电。有利地,usb-c/pd系统可以容易地集成到现有通信网络中,从而提供有成本效益且可扩展的解决方案。
7.在本公开内容的一个方面,公开了一种用于使usb-c/pd设备在lin总线上操作为从设备操作以服务由诸如汽车ecu的主设备发送的命令的方法。该方法可以包括usb-c/pd设备监听lin总线上的帧,并且如果在帧开始之后的监听超时时段内没有接收到完整的帧,则丢弃该帧。如果检测到有效帧,则usb-c/pd设备可以基于帧id来确定该帧是发布帧还是订阅帧。如果帧是发布帧(即,从响应帧),则如果在接收发布帧之前接收到有效的订阅帧(即,主设备请求帧),则usb-c/pd设备可以将存储在帧缓冲器中的数据发送到lin总线上。如果先前订阅帧是存储器读取请求,则存储在帧缓冲器中的数据可以是从目标地址读取的数据。替选地,如果先前订阅帧是存储器写入请求,则存储在帧缓冲器中的数据可以是写入确认标志。如果帧是订阅帧,则usb-c/pd设备可以将在该订阅帧中接收的数据存储在帧缓冲器中。usb-c/pd设备可以处理帧缓冲器中的数据,以基于服务id来确定要执行的服务的类型。如果服务id指示用于按地址读取存储器的诊断服务帧,则usb-c/pd设备可以将数据从寻址存储器读取到帧缓冲器中。如果服务id指示用于按地址写入存储器的诊断服务帧,则usb-c/pd设备可以将在订阅帧中配置的写入数据存储到寻址存储器中。usb-c/pd设备可以在成功完成写入操作时将写入确认标志写入到帧缓冲器中。
8.在本公开内容的一个方面,公开了一种用于使usb-c/pd设备在通信网络上作为从设备操作以服务由通信网络的主设备发送的命令的方法。通信网络可以包括在汽车、航空、工业或其他应用中使用的标准通信和控制接口或总线。该方法可以包括usb-c/pd设备通过通信网络从主设备接收消息。usb-c/pd设备可以对接收到的消息进行解码以确定命令的类型。如果所接收的消息是写入命令,则usb-c/pd设备可以对作为写入命令的目标的usb-c/pd设备的一个或更多个位置的起始目标地址和要存储到从起始目标地址开始的位置中的控制数据进行解码。usb-c/pd设备可以将从起始目标地址开始的控制数据写入到usb-c/pd设备的一个或更多个位置中,并且在成功完成写入命令时可以将写入确认标志存储到读取响应软件寄存器或位置中。写入确认标志可以由主设备在后续读取命令中读取以确认usb-c/pd设备已成功执行写入命令。如果接收到的消息是获取命令,则usb-c/pd设备可以对作为获取命令的目标的usb-c/pd设备的一个或更多个位置的起始目标地址和要从起始目标地址开始的位置检索的数据字节数进行解码。usb-c/pd设备可以从起始目标地址开始从usb-c/pd设备的一个或更多个位置检索数据字节数,并且可以将检索的数据存储到串行接口fifo(例如uart缓冲器fifo)中。如果所接收的消息是读取命令,则usb-c/pd设备可以将在用于主设备的读取响应软件寄存器或串行接口fifo中缓冲的数据所包含的响应消息驱动到通信网络上。例如,当读取命令跟随写入命令时,响应消息可以包含存储在读取响应软件寄存器中的写入确认标志。当读取命令跟随获取命令时,响应消息可以包含从一个或更
多个位置检索按获取命令所指示的那样缓存在串行接口fifo中的数据。
9.在一个方面,连接至usb-c/pd设备的端口的电子设备可以包括但不限于个人计算机(例如,膝上型计算机、笔记本型计算机等)、移动计算设备(例如,平板、平板计算机、电子阅读器设备等)、移动通信设备(例如,智能手机、手机、个人数字助理、消息设备、掌上电脑等)、连接和充电设备(例如,集线器、坞站、适配器、充电器等)、音频/视频/数据记录和/或播放设备(例如,相机、录音机、手持式扫描仪、监视器等)以及可以使用usb端口(接口)进行通信和/或电池充电的其他类似电子设备。
附图说明
10.通过参照以下结合附图的描述,可以最好地理解所描述的实施方式及其优点。在不脱离所描述的实施方式的精神和范围的情况下,这些附图绝不限制本领域技术人员可以对所描述的实施方式进行的形式上和细节上的任何改变。
11.图1是示出根据本公开内容的一个方面的位于汽车中的各个位置处的多端口usb-c/pd系统的图;
12.图2是示出根据本公开内容的一个方面的用于将汽车usb-c/pd系统连接至基于lin的汽车网络的解决方案的框图;
13.图3示出了根据本公开内容的一个方面的lin总线消息帧,该lin总线消息帧包括报头部和响应部,由lin主设备通过lin总线向从usb-c/pd系统发送报头部,并且根据消息帧的类型可以由lin主设备或从usb-c/pd系统发送响应部;
14.图4示出了根据本公开内容的一个方面的帧标识符,该帧标识符指示由从usb-c/pd系统从lin主设备接收的lin消息的消息帧的类型;
15.图5示出了根据本公开内容的一个方面的服务标识符(sid),该服务标识符指示由从usb-c/pd系统按照从lin主设备接收的lin消息的请求所执行的服务的类型;
16.图6示出了根据本公开内容的一个方面的协议控制信息(pci),该协议控制信息指示由lin主设备或从usb-c/pd系统按照lin消息的请求发送的数据的分组数据单元(pdu)格式;
17.图7示出了根据本公开内容的一个方面的用于由lin主设备向从usb-c/pd系统发送的主请求帧的各种pdu格式的lin消息的响应部的字段;
18.图8示出了根据本公开内容的一个方面的用于由从usb-c/pd系统向lin主设备发送的数据的各种pdu格式的lin消息的响应部的字段;
19.图9a示出了根据本公开内容的一个方面的用于lin主设备通过基于lin的ecu网络来配置和监测从usb-c/pd系统的lin消息的第一示例流程;
20.图9b示出了根据本公开内容的一个方面的由lin主设备发出的用于配置和监测图9a的从usb-c/pd系统的对lin消息的读取、配置、控制或状态命令的帧以及由usb-c/pd系统发送的任何响应帧;
21.图10示出了根据本公开内容的一个方面的用于lin主设备通过基于lin的ecu网络来配置和监测从usb-c/pd系统的lin消息的第二示例流程;
22.图11示出了根据本公开内容的一个方面的在基于lin的网络中的各种状态之间转换的从usb-c/pd系统的流程图;
23.图12示出了根据本公开内容的一个方面的用于从usb-c/pd系统处理lin消息以执行lin主设备所命令的各种类型的服务的方法的流程图;
24.图13示出了根据本公开内容的一个方面的用于从usb-c/pd系统通过标准接口处理从主设备接收的命令以执行各种类型的服务的方法的流程图;
25.图14示出了根据本发明的一个方面的可以由主控制器通过在汽车、航空、工业或其他应用中使用的标准通信网络来配置、控制和监测的usb-c/pd系统的框图。
具体实施方式
26.在本文中描述并且在附图中示出了本主题技术的各个方面和变型的示例。以下描述并不旨在将本发明限于这些实施方式,而是使本领域的技术人员能够制造和使用本发明。
27.如本文中所使用的,如果电子设备或系统符合usb规范的至少一个版本,则电子设备或系统被称为“支持usb”或“兼容usb”。这样的usb规范的示例包括但不限于usb规范修订版本2.0、usb 3.0规范、usb 3.1规范和/或其各种补充(例如,补充标准(on-the-go,otg))、版本及其勘误表。usb规范通常定义设计和构建标准通信系统和外围设备所需的差分串行总线的特征(例如,属性、协议定义、交易类型、总线管理、编程接口等)。
28.例如,支持usb的外围电子设备通过支持usb的主设备的usb端口附接至该主设备以形成支持usb的系统。usb 2.0(或简称为usb2)端口可以包括5v的电力线(例如v
bus
)、数据线的差分对(例如,可以表示为d 或dp,以及d-或dn)和用于电力返回的接地线(例如,gnd)。usb 3.0端口也提供v
bus
线、d 线、d-线和gnd线以用于向下兼容usb2.0。另外,为了支持较快的差分总线(usb超高速总线),usb 3.0端口还提供了发送器数据线的差分对(表示为sstx 和sstx-)、接收器数据线的差分对(表示为ssrx 和ssrx-)、用于电力的电力线(例如,其可以表示为dpwr)和用于电力返回的接地线(例如,其可以表示为dgnd)。usb 3.1端口提供与usb 3.0端口相同的线以向下兼容usb 2.0和usb 3.0通信,但是通过被称为增强型超高速的一系列特征扩展了超高速总线的性能。
29.在usb c型规范的各种发行版本中定义了用于usb连接器的更新技术,被称为usb c型,该技术提供usb c型插座、插头和线缆,所述usb c型插座、插头和线缆可以支持usb通信以及通过例如在usb pd规范的一个或更多个修订版中定义的较新的usb电力传输协议进行电力传输。usb-pd规范定义了下述标准协议,该标准协议被设计成通过usb c型端口在单根usb c型线缆上提供更灵活的电力传输以及数据通信来使支持usb的设备的功能最大化。usb-pd规范还描述了用于管理usb c型线缆上的电力传输直到最大电力所需的架构、协议、电力供应行为、参数和线缆。如本文中所使用的,“usb c型/pd系统”或“usb-c/pd系统”可以指例如可以由集成电路(ic)控制器中的固件和/或软件控制的硬件电路,该硬件电路被配置成并且可操作成执行功能并且满足在usb-pd规范的至少一个发行版本中指定的要求。
30.图1是示出根据本公开内容的一个方面的位于汽车中的各个位置处的多端口usb-c/pd系统的图。多端口usb-c/pd系统可以包括一个主端口102以及一个或更多个从端口104。主端口102可以由主控制器112控制。从端口104可以由相应的从控制器114控制。电力转换器108将输入电压转换成不同的电压。在所描述的实施方式中,电力转换器108是dc-dc电力转换器。在一个实施方式中,多端口usb-c/pd系统是汽车的多端口usb-c/pd汽车后座
c/pd系统从lin主设备接收的lin消息的消息帧的类型。从usb-c/pd系统可以检测帧标识符309以确定如何响应消息帧。如果消息帧是订阅帧(即,主请求帧或mrf),也称为监听帧,并且消息帧被寻址到从usb-c/pd系统,则usb-c/pd系统通过接收消息帧的响应部中的数据来进行响应。如果订阅帧是命令usb-c/pd系统从目标地址读取数据的存储器读取请求,或者是命令usb-c/pd系统将数据写入目标地址的存储器写入请求,则所接收的数据还可以在服务标识符字段中进行指示。
38.如果消息帧是发布帧并且消息帧被寻址到从usb-c/pd系统,则usb-c/pd系统通过将消息帧的响应部中的请求数据发送到lin总线上来进行响应。例如,如果消息帧是针对来自usb-c/pd系统的错误状态的发布帧,则usb-c/pd系统通过在消息帧的响应部中发送错误位和故障粘滞位来进行响应。如果消息帧是用于从usb-c/pd系统读取数据的发布帧(即,从响应帧或srf),则usb-c/pd系统通过发送从由先前订阅帧的存储器读取请求寻址的位置读取的数据来进行响应。在一个实施方式中,如果消息帧是来自usb-c/pd系统的从响应帧,并且先前订阅帧是命令usb-c/pd系统将数据写入目标地址的存储器写入请求,则usb-c/pd系统可以通过发送存储器写入请求的确认标志来响应从响应帧。
39.返回参照图3,消息帧的响应部303可以包含多达8个字节的数据311和一个字节的校验和313。当消息帧是订阅帧时,数据311可以包括:节点地址字段(nad),其标识从usb-c/pd系统的地址;协议控制信息字段(pci),其标识所发送数据的分组数据单元(pdu)格式;服务标识符字段(sid),其标识将由从usb-c/pd系统执行的请求;长度字段(len),其标识多帧pdu的长度,以及从主节点发送的数据的字段。当消息帧是发布帧时,数据311可以包括:用于如在订阅帧中的多帧pdu的nad、pci、len、标识响应内容的响应服务标识符字段(rsid)以及来自从usb-c/pd系统的所发送数据的字段。
40.校验和313用于检查消息帧的完整性。在一个实施方式中,经典校验和基于数据311的所有8个字节的反转八位和。在一个实施方式中,增强校验和还包括帧标识符字段309。在一个实施方式中,可以在报头部301的字段之间以及在响应部303的数据311与校验和313之间添加字节内部间隔。在一个实施方式中,可以在报头部301与响应部303之间添加响应间隔,以使得usb-c/pd系统能够有足够的时间响应来自主设备的报头部301。
41.图5示出根据本公开内容的一个方面的服务标识符(sid),该服务标识符指示从lin主设备接收的lin消息所请求的将由从usb-c/pd系统执行的服务类型。0至0xaf和0xb8至0xfe的sid可以用于诊断帧,而0xb0至0xb7可以用于配置。sid可以包含在订阅帧中。
42.由sid指示的诊断帧可以包括命令usb-c/pd系统从目标地址读取数据的统一诊断服务(uds)按地址读取存储器请求(sid为0x23)。usb-c/pd系统可以根据订阅帧的响应部303中的所发送数据的字段,对作为读取请求的目标的usb-c/pd系统的一个或更多个位置的起始目标地址和要从起始目标地址开始的位置读取的数据字节数进行解码。usb-c/pd系统可以将所请求的数据从一个或更多个位置读取到帧缓冲器中。当在包含uds按地址读取存储器请求的uds的订阅帧之后接收发布帧时,usb-c/pd系统可以将帧缓冲器中的读取数据发送到lin总线上。
43.由sid指示的诊断帧可以指示命令usb-c/pd系统将数据写入目标地址的uds按地址写入存储器请求(sid为0x3d)。usb-c/pd系统可以根据消息帧的响应部303中的所发送数据的字段,对作为写入请求的目标的usb-c/pd设备的一个或更多个位置的起始目标地址、
要写入的字节数和要写入的数据进行解码。usb-c/pd系统可以从起始目标地址开始将数据写入到一个或更多个位置中,并且在成功完成写入命令时可以将写入确认标志存储到帧缓冲器中。当在包含uds按地址写入存储器请求的订阅帧之后接收到发布帧时,usb-c/pd系统可以将写入确认标志发送到lin总线上。
44.图6示出了根据本公开内容的一个方面的协议控制信息(pci),该协议控制信息指示由lin主设备或从usb-c/pd系统按照lin消息的请求所发送的数据的分组数据单元(pdu)格式。
45.pci字节的4个msb指示pdu格式,并且pci字节的4个lsb指示取决于pdu格式的附加信息。pdu格式(pci的4个msb为0000b)的单帧(sf)指示所传输的消息适合于单个pdu,即在排除nad字节、pci字节和sid或rsid字节之后,它最多包含五个数据字节。因此,包含最多5个字节数据的订阅或发布帧可以使用单帧pdu。对于sf,pci字节的4个lsb指示长度字段,并且被设置为数据字节数加1(对于sid或rsid)。
46.经由分割和多pdu传输来执行具有多于六个字节(包括sid或rsid)的帧消息的传输。经分割的传输以第一帧pdu(ff)开始,并且以多个连续帧pdu(cf)继续。对于ff(pci的4个msb为0001b),pci字节的4个lsb指示12位长度字段(长度/256)的4个msb以支持多达4096个数据字节的传送。12位长度字段的剩余8个lsb被放置在消息帧的单独字节中。对于cf(pci的4个msb为0010b),pci字节的4个lsb指示帧计数器。消息的第一个cf从帧计数器1开始。每个后续cf使帧计数器递增,直到计数器达到15,并且然后绕回0以重复计数。
47.图7示出了根据本公开内容的一个方面的用于由lin主设备向从usb-c/pd系统发送的主请求帧的各种pdu格式的lin消息的响应部303的字段。
48.单个请求帧包括:单个pdu中的nad字节、pci字节、sid字节以及多达5个字节的数据。如果sid字节指示节点配置帧,则pdu可以包含usb-c/pd系统的配置寄存器的地址和配置数据。如果sid字节指示uds按地址写入存储器诊断帧,则pdu可以包含usb-c/pd系统的存储器的地址、要写入存储器的地址的字节数以及要写入的数据。如果sid字节指示uds按地址读取存储器诊断帧,则pdu可以包含usb-c/pd系统的存储器的地址和要从存储器的地址读取的字节数。pdu中任何未使用的字节可以填充有0xff。
49.多个pdu的第一请求帧包括:多个pdu中的nad字节、pci字节、包含12位长度的8个lsb的长度字节、sid字节以及数据的前4个字节。如果sid字节指示uds按地址写入存储器诊断帧,则多个pdu中的前4个字节的数据可以包含usb-c/pd系统的存储器的起始地址、从起始地址开始的要写入的字节数以及要写入的第一数据字节。如果sid字节指示uds按地址读取存储器诊断帧,则pdu可以包含usb-c/pd系统的存储器的起始地址以及从起始地址开始读取的字节数。
50.多个pdu的连续请求帧包括:多个pdu中的nad字节、pci字节和6个字节的数据。如果sid字节指示uds按地址写入存储器诊断帧,则多个pdu中的6个字节数据可以包含要写入的一些数据。
51.图8示出了根据本公开内容的一个方面用于由从usb-c/pd系统向lin主设备发送的从响应帧的各种pdu格式的lin消息的响应部303的字段。除了响应服务标识符(rsid)之外,用于从响应帧的各种pdu格式的字段与用于主请求帧的字段相同。rsid字节指定响应帧的内容,并且根据请求读数据的在前主请求帧(例如,uds按地址读取存储器诊断帧)的sid
字节,通过将sid字节与0x40相加来生成rsid字节。各种pdu格式的数据包含从寄存器读取的数据或由在前主请求帧请求的一个或更多个存储器地址。
52.图9a示出了根据本公开内容的一个方面的用于lin主设备通过基于lin的ecu网络来配置和监测从usb-c/pd系统的lin消息的第一示例流程。在一个示例中,诸如汽车ecu 250的lin主设备可以在901中发送包含uds按地址写入存储器服务请求的主设备请求帧,以配置usb-c/pd系统201的端口的操作条件(oc)。在一个方面,lin主设备可以通过将各种操作阈值水平配置为绝对值或端口电力递送概况(pdp)的百分比来配置usb-c/pd系统的端口的oc。在一个方面,检测到端口达到配置的阈值水平的oc可以触发端口关闭。
53.图9b示出了根据本公开内容的一个方面的由lin主设备发出的用于配置和监测图9a的从usb-c/pd系统的lin消息的读取、配置、控制或状态命令的帧以及由usb-c/pd系统发送的任何响应帧。例如,为了使用配置命令951来配置usb-c/pd系统201的端口的oc寄存器0x0068,ecu 250可以通过将两个pdu中的帧id设置为0x3c(订阅帧)来以两个pdu发送主请求帧(mrf)。第一pdu可以将pci字节设置为0x10(ff)、将长度字段设置为0x07、将sid设置为0x3d(uds按地址写入存储器),并且第一pdu可以包括usb-c/pd系统201的oc寄存器的地址0x0068以及写入数据的字节数(0x02)。第二pdu可以将pci字节设置为0x21(cf),并且可以包括要写入oc寄存器的两个字节的oc级(0x0702)。返回参照图9a,然后,ecu 250可以在903中发送从响应帧(帧id设置为0x3d)以触发usb-c/pd系统201以对oc级的成功配置的确认进行响应。usb-c/pd系统201可以通过在905中在从响应帧(srf)的响应部中发送正响应来进行确认。如图9b所示,配置命令951中的srf的正响应可以是主请求帧的第一pdu的一些字段(例如,通过将sid 0x3d与0x40相加而生成的0x7d的rsid、usb-c/pd系统201的oc寄存器的地址0x0068、写入数据的字节数(0x02))的响应。如果usb-c/pd系统201不能配置oc级,则其可以在从响应帧的响应部中发送包含错误代码的负响应。
54.在另一示例中,ecu 250可以通过发送包含uds按地址写入存储器服务请求的主请求帧来控制usb-c/pd系统201,以通过使用控制命令952写入寄存器0x0008来命令usb-c/pd系统201的设备重置。ecu 250可以通过将两个pdu中的帧id设置为0x3c(订阅帧)来在两个pdu中发送mrf。第一pdu可以将pci字节设置为0x10(ff)、将长度字段设置为0x06、将sid设置为0x3d(uds按地址写入存储器),并且第一pdu可以包括用于重置usb-c/pd系统201的寄存器的地址0x0008以及写入数据的字节数(0x02)。第二pdu可以将pci字节设置为0x21(cf),并且可以包括用于设备复位命令的两个字节的写入数据(0x5201)。设备复位命令后面可能没有从响应帧。
55.返回参照图9a,在另一示例中,ecu 250可以在907中发送包含uds读取存储器地址服务请求的主请求帧,以读取usb-c/pd系统201的寄存器(例如中断寄存器)。例如,如图9b中的读取命令953所示,ecu 250可以通过将帧id设置为0x3c(订阅帧)、将pci设置为0x05(sf和长度字段为5字节)、将sid设置为0x23(uds按地址读取存储器)来发送主请求帧(mrf)以读取usb-c/pd系统201的固件版本信息,并且可以包括包含版本信息的寄存器的地址0x0010和要从寄存器读取的字节数(0x10)。返回参照图9a,然后ecu 250可以在909中发送从响应帧以触发usb-c/pd 201系统来以所读取的数据进行响应。usb-c/pd系统201可以在911中发送从由从响应帧的响应部中的mrf所请求的寄存器读取的数据。如图9b中所示,读取命令953中的srf可以在三个pdu中传输。第一pdu可以将pci字节设置为0x10(ff)、将长度
字段设置为0x10、将rsid设置为0x63(通过将sid 0x23和0x40相加而生成),并且第一pdu可以包括所读取数据的前四个字节。第二pdu可以将pci字节设置为0x21(第一cf),并且可以包括读取数据的下6个字节。第三pdu可以将pci字节设置为0x22(第二cf),并且可以包括读取数据的最后6个字节。如果usb-c/pd系统201不能读取中断寄存器,则它可以在从响应帧的响应部中发送包含错误代码的负响应。在另一示例中,ecu 250可以通过在将帧id设置为0x00的情况下发送帧来向usb-c/pd系统201发出状态监测命令954以读取usb-c/pd系统201的状态。usb-c/pd系统可以发送响应以指示其状态(包括任何故障、事件或通信错误)。在一个实施方式中,ecu 250可以具有基于所接收的状态信息通过在头部单元220或仪表组240上显示实时故障或警告指示来生成警报的机构。
56.返回参照图9a,在另一示例中,ecu 250可以在913中发送包含配置更新服务请求的主请求帧以清除usb-c/pd系统201的中断寄存器。然后,ecu 250可以在915中发送从响应帧以触发usb-c/pd系统201以对中断寄存器的成功清除的确认来进行响应。usb-c/pd 201系统可以通过在917中在从响应帧的响应部中发送正响应来确认,或者如果中断寄存器未被清除,则可以发送包含错误代码的负响应。在一个实施方式中,ecu 250可以通过基于lin的网络或其他类型的标准化通信接口来更新或下载usb-c/pd系统201的固件。例如,ecu 250可以使用配置更新服务请求、uds按地址写入存储器服务请求或其组合来更新或下载usb-c/pd系统的固件。
57.图10示出了根据本公开内容的一个方面的用于lin主设备通过基于lin的ecu网络来配置和监测从usb-c/pd系统的lin消息的第二示例流程。
58.在一个示例中,ecu 250可以发送包含uds读取存储器地址服务请求的主请求帧,以读取usb-c/pd系统201的一个或更多个寄存器或存储器位置(黑盒数据)。主请求帧的响应部可以包含寄存器或存储器位置的起始地址以及从起始地址开始读取的数据字节数。然后,ecu 250可以发送从响应帧,以触发usb-c/pd系统201以黑盒数据来进行响应。usb-d/pd 201系统可以在从响应帧的响应部中发送所请求字节的黑盒数据。
59.图11示出了根据本公开内容的一个方面的从usb-c/pd系统在基于lin的网络中在各种状态之间转换的流程图。usb-c/pd系统最初可以处于使能状态1120,监听lin总线上的消息帧。lin主设备(例如汽车ecu)可以发送主请求帧,其中,第一数据字段(nad字节)被设置为0并且响应部303的其余部分被设置为0xff,以指示诊断睡眠命令。在接收到诊断睡眠命令时,usb-c/pd系统可以转换到禁用状态1122。在禁用状态1122中,usb-c/pd系统通过停用usb-c/pd系统的功能(包括与lin总线通信)来进入低功率模式。当usb-c/pd系统检测到lin总线上的主要活动时,usb-c/pd系统可以从低功率模式唤醒。在唤醒时,usb-c/pd系统可以通过执行软件复位而转换回到使能状态1120。在一个实施方式中,当在由总线非活动定时器确定的延长时间段内没有检测到lin总线上的活动时,usb-c/pd系统的收发器(例如lin收发器205)可以进入睡眠模式。当收发器检测到lin总线上的主要活动时,收发器可以从睡眠模式唤醒。
60.当usb-c/pd系统在使能状态1120中接收到主请求帧时,其可以对接收数据中断进行接收。usb-c/pd系统可以转换到读取状态1124,以从总线接收包含在主请求帧的响应部中的数据。在完成数据接收时,usb-c/pd系统可以转换回到使能状态1120。在一个实施方式中,usb-c/pd系统可以在读取状态1124中处理主设备请求所请求的服务,例如配置更新、
uds按地址读取存储器、uds按地址写入存储器等。
61.当usb-c/pd系统在使能状态1120中接收从响应帧时,其可以进入写入状态1126,以在从响应帧的响应部期间将数据写入到总线上。在一个实施方式中,usb-c/pd系统可以发送正响应或负响应作为对包含配置更新或uds按地址写入存储器服务请求的先前主请求帧的响应。在一个实施方式中,usb-c/pd系统可以发送由先前主请求帧的uds按地址读取存储器服务请求寻址的一个或更多个寄存器或存储器位置的所请求的读取数据。在完成数据写入操作时,usb-c/pd系统可以转换回到使能状态1120。
62.图12示出了根据本公开内容的一个方面的用于从usb-c/pd系统处理lin消息以执行由lin主设备命令的各种类型的服务的方法的流程图。该方法可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、处理器、处理设备、中央处理单元(cpu)、多核处理器、片上系统(soc)等)、软件(例如,在处理设备上运行/执行的指令)、固件(例如,微码)或其组合。在一些实施方式中,该方法可以由图2的usb-c/pd控制器203执行。
63.在操作1260处,usb-c/pd系统检测lin总线上的帧的开始,并且确定在帧开始之后的监听超时时段内是否未接收到完整帧。如果用于完整帧接收的监听超时时段在接收到完整帧之前到期,则在操作1262处,usb-c/pd系统丢弃该帧。在一个实施方式中,用于完整帧接收的监听超时时段被设置为20ms。
64.在操作1264处,如果在用于完整帧接收的监听超时时段内接收到完整帧,则usb-c/pd系统通过确定lin总线静默是否长于总线非活动超时时段来检查总线非活动的延长时段。如果为真,则usb-c/pd系统在操作1266处使收发器进入睡眠模式以节省电力。否则,usb-c/pd系统进行到操作1268。在一个实施方式中,当收发器检测到lin总线上的主要活动时,收发器可以从睡眠模式唤醒。
65.在操作1268处,usb-c/pd系统确定所接收的帧是否具有usb-c/pd系统所支持的帧id,以及该帧是否寻址到usb-c/pd系统。如果所接收的帧不是所支持的帧或者没有寻址到usb-c/pd系统,则usb-c/pd系统不对该帧进行响应。否则,在操作1270处,usb-c/pd系统确定帧是订阅帧(即,主设备请求帧)还是发布帧(即,从响应帧)。
66.如果帧是订阅帧,则在操作1272处,usb-c/pd系统通过确定订阅帧的响应部的校验和是否通过来检查帧的完整性。如果为真,则在操作1274处,usb-c/pd系统更新用于对应帧的标志和信号。在一个实施方式中,usb-c/pd系统可以将在订阅帧中接收的数据存储在帧缓冲器中,并且可以更新用于usb-c/pd系统的标志以服务包含在订阅帧中的请求。
67.在操作1280处,usb-c/pd系统检查以确定帧缓冲器是否包含来自用于服务的订阅帧的数据。在一个实施方式中,usb-c/pd系统可以检查由操作1274设置的标志。如果帧缓冲器包含来自用于服务的订阅帧(例如诊断服务帧)的数据,则在操作1282处,usb-c/pd系统处理诊断服务帧并且更新响应。在一个实施方式中,usb-c/pd系统可以处理帧缓冲器中的数据以基于服务id确定要执行的服务的类型。如果服务id指示用于按地址读取存储器的诊断服务帧,则usb-c/pd系统可以将数据从寻址存储器读取到帧缓冲器中。如果服务id指示用于按地址写入存储器的诊断服务帧,则usb-c/pd系统可以将订阅帧中所指定的写入数据存储到所寻址存储器中。在成功完成写入操作时,usb-c/pd系统可以将写入确认标志写入到帧缓冲器中。
68.如果该帧是发布帧并且该发布帧先前是有效订阅帧,则在操作1276处,usb-c/pd系统将存储在帧缓冲器中的数据推送到lin总线上。在一个实施方式中,可以将数据从帧缓冲器传输到tx fifo中,以用于驱动到lin总线上。如果先前订阅帧是用于按地址读取存储器的诊断服务帧,则存储在帧缓冲器中的数据可以是从目标地址读取的数据。替选地,如果先前订阅帧是用于按地址写入存储器的诊断服务帧,则存储在帧缓冲器中的数据可以是包含在正响应中的写入确认标志。在一个实施方式中,如果先前订阅帧没有被成功服务,则usb-c/pd系统可以发送包含错误代码的负响应。在一个实施方式中,如果发布帧要发布来自usb-c/pd系统的错误状态,则usb-c/pd系统可以通过发送错误位和故障粘滞位进行响应。在发布帧的响应部期间将读取数据、正响应、负响应或错误状态驱动到lin总线上。
69.在操作1278处,usb-c/pd系统更新用于对应帧的标志和信号。在一个实施方式中,usb-c/pd系统可以更新标志以指示帧缓冲器中的数据已被发送到lin总线上并且发布帧已经被成功服务。
70.图13示出了根据本公开内容的一个方面的用于从usb-c/pd系统处理通过标准接口从主设备接收的命令以执行各种类型的服务的方法1300的流程图。方法1300可以由处理逻辑来执行,处理逻辑可以包括硬件(例如,电路系统、专用逻辑、可编程逻辑、处理器、处理设备、中央处理单元(cpu)、多核处理器、片上系统(soc)等)、软件(例如,在处理设备上运行/执行的指令)、固件(例如,微代码)或其组合。在一些实施方式中,方法1300可以由图2的usb-c/pd控制器203来执行。通信网络可以包括在汽车、航空、工业或其他应用中使用的标准通信和控制接口或总线。
71.在操作1301处,usb-c/pd系统通过通信网络从主设备接收消息帧。
72.在操作1303处,usb-c/pd系统对消息帧进行解码以确定命令的类型。
73.在操作1305处,如果确定消息帧是写入命令,则在操作1307处,usb-c/pd系统对作为写入命令的目标的usb-c/pd系统的一个或更多个位置的起始目标地址和要存储到从起始目标地址开始的位置中的控制数据进行解码。
74.在操作1309处,usb-c/pd系统从起始目标地址开始将控制数据写入usb-c/pd系统的一个或更多个位置。
75.在操作1311处,usb-c/pd系统将写入确认标志存储到存储装置中,例如存储到读取响应位置。然后,在操作1323处,usb-c/pd系统等待下一消息帧。
76.在操作1313处,如果确定消息帧是获取命令,则在操作1315处,usb-c/pd系统对作为获取命令的目标的usb-c/pd系统的一个或更多个位置的起始目标地址和要从起始目标地址开始的位置检索的数据字节数进行解码。
77.在操作1317处,usb-c/pd系统从起始目标地址开始从usb-c/pd系统的一个或更多个位置检索数据字节数,并且将检索到的数据存储到fifo中。然后,在操作1323处,usb-c/pd系统等待下一消息帧。
78.在操作1319处,如果确定消息帧是读取命令,则在操作1321处,usb-c/pd系统将用于主设备的包含存储装置或fifo中的缓冲数据的响应消息驱动到通信网络上。在一个实施方式中,当读取命令跟随写入命令时,响应消息可以包含从存储装置检索的写入确认标志。当读取命令跟随获取命令时,响应消息可以包含从一个或更多个位置检索并且如由获取命令所指示的那样缓冲在fifo中的数据。然后,在操作1323处,usb-c/pd系统等待下一消息
1217和scb 1219可以通过hs i/o矩阵1251耦接至gpio 1253。
83.系统1200还可以包括用于处理命令、存储程序信息和数据的中央处理单元(cpu)子系统1230。cpu子系统1230可以包括用于执行指令以及从多个存储器的存储器位置读取和写入的一个或更多个处理单元1231。处理单元1231可以是适合于在集成电路(ic)或片上系统(soc)设备中操作的处理器。在一些实施方式中,处理单元1231可以被优化用于利用大量时钟门控的低电力操作。在该实施方式中,可以实现用于处理单元在各种电力状态下的操作的各种内部控制电路。例如,处理单元1231可以包括唤醒中断控制器(wic),该唤醒中断控制器被配置成将处理单元从睡眠状态唤醒,从而使得能够在ic或soc处于睡眠状态时断开电力。cpu子系统1230可以包括一个或更多个存储器,一个或更多个存储器包括闪速存储器1233和静态随机存取存储器(sram)1235以及只读存储器(rom)1237。闪速存储器1233可以是被配置成存储数据、程序和/或其他固件指令的非易失性存储器(nand闪存、nor闪存等)。闪速存储器1233可以包括读取加速器,并且可以通过在cpu子系统1230内的集成来改善访问次数。sram 1235可以是被配置成存储可由处理单元1231访问的数据和固件指令的易失性存储器。rom 1237可以被配置成存储在系统1200的操作期间不会改变的启动例程、配置参数以及其他固件参数和设置。sram 1235和rom 1237可以具有相关联的控制电路。处理单元1231和存储器可以耦接至系统互连1239,以将去往和来自cpu子系统1230的各个部件的信号路由至系统1200的其他块或模块。系统互连1239可以被实现为诸如单级或多级ahb的系统总线。系统互连1239可以被配置为接口,以将cpu子系统1230的各个部件彼此耦接。系统互连1239可以耦接至外围互连1211,以提供cpu子系统1230和外围子系统1210的部件之间的信号路径。
84.系统1200还可以包括多个系统资源1240,多个系统资源1240包括电力模块1241、时钟模块1243、复位模块1245和测试模块1247。电力模块1241可以包括睡眠控制模块、唤醒中断控制(wic)模块、上电复位(por)模块、多个电压基准(ref)和pwrsys模块。在一些实施方式中,电力模块1241可以包括使得系统1200能够以不同的电压和/或电流水平从外部源汲取电力和/或向外部源提供电力并且支持控制器在诸如活动、低电力或睡眠状态的不同电力状态下操作的电路。在各种实施方式中,随着系统1200节流返回操作以实现期望的电力消耗或输出,可以实现更多的电力状态。时钟模块1243可以包括时钟控制模块、看门狗定时器(wdt)、内部低速振荡器(ilo)和内部主振荡器(imo)。复位模块1245可以包括复位控制模块和外部复位(xres)模块。测试模块1247可以包括用于控制和进入测试模式的模块以及用于模拟和数字功能(数字测试和模拟dft)的测试控制模块。
85.系统1200可以在单片(例如,单个)半导体管芯中实现。在其他实施方式中,系统1200的各个部分或模块可以在不同的半导体管芯上实现。例如,cpu子系统1230的存储器模块可以是片上的或分离的。在其他实施方式中,分离管芯电路可以被封装至单个多芯片模块中,或者保持分离并在电路板上(或者在usb线缆连接器中)被布置作为分离元件。
86.系统1200可以在许多应用环境中实现以向其提供usb-pd功能。在每个应用环境中,实现系统1200的ic控制器或soc可以被布置和配置在电子设备(例如,支持usb的设备)中以根据本文描述的技术执行操作。在一个示例实施方式中,系统1200可以被布置和配置成在汽车、航空、工业或其他生态系统中使用lin、can或其他类型的用于串行通信的标准化接口(例如,与图2的lin总线210一起使用的usb-c/pd控制器203)。在另一示例实施方式中,
语言一起使用的单元/电路/部件包括硬件,例如电路、存储能够执行以实现操作的程序指令的存储器等。叙述单元/电路/部件“被配置成”执行一个或更多个任务或者“可配置成”执行一个或更多个任务,明确表示不旨在针对该单元/电路/部件援引35u.s.c.112第六段。
94.附加地,“被配置成”或“可配置成”可以包括通用结构(例如,通用电路),该通用结构由固件(例如,fpga)操纵以能够执行所讨论的任务的方式进行操作。“被配置成”还可以包括调整制造过程(例如,半导体制造设施)以制造适于实现或执行一个或更多个任务的设备(例如,集成电路)。明确表示“可配置成”不旨在应用于空白介质、未编程的处理器、或未编程的可编程逻辑设备、未编程的可编程门阵列或其他未编程的设备,除非伴随有赋予未编程设备被配置成执行所公开的功能的能力的已编程介质。
95.出于说明的目的,已经参照具体实施方式描述了前述描述。然而,以上说明性讨论并非旨在穷举或者将本发明限制于所公开的精确形式。考虑到以上教示,许多修改和变型是可行的。选择并描述实施方式以便最佳地说明这些实施方式的原理及其实践应用,从而使得本领域技术人员能够最佳地利用这些实施方式和可能适于所设想的特定用途的各种修改。因此,本实施方式被认为是说明性的而不是限制性的,并且本发明不限于本文中给出的细节,而是可以在所附权利要求书及其等同物的范围内对这些细节进行修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献