拨码开关编码识别处理方法、装置和读码电路与流程

文档序号:26538224发布日期:2021-09-07 20:36阅读:516来源:国知局
拨码开关编码识别处理方法、装置和读码电路与流程

1.本发明涉及电气设备技术领域,特别是涉及一种拨码开关编码识别处理方法、装置和读码电路。


背景技术:

2.随着对电气设备经济性、通用性的考虑,模块化设计的使用越来越广泛。比如在轨道交通车辆设备中,应用模块化设计,同一套硬件设备安装在车上不同位置,可实现主从模式、网络端口的不同配置;同一套硬件设备装载不同软件,可实现不同的控制功能。拨码开关作为一种采用二进制编码的开关,广泛应用于轨道交通车辆设备中,置于控制板,用于地址编码、功能编码;主控制器通过识别其地址编码和功能编码,可以知道设备所在位置以及需要实现的功能,完成不同的模式、端口配置,以及特定控制功能。
3.拨码开关设置在车辆上,车体振动、自然老化、或是人为误触碰等都有可能造成拨码位置的错误,导致读取到错误编码,而拨码开关的编码识别错误会导致识别地址和功能错误,使整个车辆系统处于不安全状态。例如,当地址编码识别错误,会导致设备配置成错误的网络端口,从而导致整个列车设备网络通信错误;当功能编码识别错误,会导致设备配置成错误的控制功能,造成错误输出损坏车辆设备。
4.现有拨码开关的使用方法为:上电后,控制板的处理器读取拨码开关编码,根据编码值执行对应的控制程序。如果运行过程中拨码开关出现故障,处理器读到了错误编码,就会导致设备报错,更严重可能执行错误的控制程序,影响系统工作的安全可靠性。而且出现这种情况的话,故障一般很难被准确识别,只能通过更换控制板的方式才能得到解决,极大的增加了售后维护的时间、成本、难度和不确定性。


技术实现要素:

5.本发明要解决的技术问题是:现有技术中因拨码开关故障引起读取错误编码,使得系统工作的安全可靠性低,而且增加售后维护时间成本、难度和不确定性。
6.为解决上述技术问题,本发明提供了一种拨码开关编码识别处理方法,其包括:
7.读取连接的拨码开关当前设置的编码;
8.若当前设置的编码与表征所述拨码开关有效的预设编码不一致,则读取已存储的编码;
9.基于所述已存储的编码和当前设置的编码确定在所述拨码开关有效时设置的地址功能编码,得到所述拨码开关的正确编码。
10.在其中一个实施例中,所述预设编码为所述拨码开关各引脚均接通的状态下的编码。
11.在其中一个实施例中,所述读取连接的拨码开关当前设置的编码之后,还包括:
12.若当前设置的编码与表征所述拨码开关有效的预设编码一致,则将所述预设编码存储,并执行断电指示操作。
13.在其中一个实施例中,所述基于所述已存储的编码和当前设置的编码确定在所述拨码开关有效时设置的地址功能编码,得到所述拨码开关的正确编码,包括:
14.若所述已存储的编码与所述预设编码不一致,则所述已存储的编码为所述拨码开关有效时设置的地址功能编码,将所述已存储的编码作为所述拨码开关的正确编码;
15.若所述已存储的编码与所述预设编码一致,则将当前设置的编码作为所述拨码开关的地址功能编码,得到所述拨码开关的正确编码,并采用当前设置的编码更新所述已存储的编码。
16.在其中一个实施例中,所述读取连接的拨码开关当前设置的编码之后,还包括:
17.将读取的编码发送至信息输出装置进行信息输出。
18.在其中一个实施例中,所述基于所述已存储的编码和当前设置的编码确定在所述拨码开关有效时设置的地址功能编码,得到所述拨码开关的正确编码之后,还包括:
19.执行所述正确编码对应的程序。
20.本技术提供了一种拨码开关编码识别处理装置,包括:
21.当前编码读取模块,用于读取连接的拨码开关当前设置的编码;
22.存储编码读取模块,用于在当前设置的编码与表征所述拨码开关有效的预设编码不一致时,读取已存储的编码;
23.编码识别确定模块,用于基于所述已存储的编码和当前设置的编码确定在所述拨码开关有效时设置的地址功能编码,得到所述拨码开关的正确编码。
24.本技术提供了一种读码电路,包括存储设备和实现上述方法的处理装置,所述处理装置连接所述存储设备和拨码开关。
25.在其中一个实施例中,所述存储设备为非易失性存储器。
26.在其中一个实施例中,上述读码电路还包括限流电阻和下拉电阻,所述拨码开关通过所述限流电阻连接至所述处理装置,所述下拉电阻一端连接所述拨码开关、另一端接地。
27.与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:在读取到拨码开关当前设置的编码后,若当前设置的编码与表征拨码开关有效的预设编码不一致,则表示当前的编码存在是错误编码的可能,此时,读取已存储的编码,基于已存储的编码和当前设置的编码确定正确编码,使得到的正确编码为在拨码开关有效时设置的地址功能编码,避免在当前编码可能错误的情况下造成错误编码读取,从而有效保证编码读取的准确性,不需要频繁更换故障器件,减少售后维护时间和成本,降低售后维护难度和不确定性。
28.应用本技术于车辆系统,即使出现车体振动、自然老化、或是人为误触碰等都原因造成拨码开关的拨码位置错误时,也可以确保运行过程中读取到正确编码,即,拨码开关故障不会对系统造成任何影响,从而可以提高系统工作的安全可靠性;而且不需要因故障频繁更换控制板,可减少售后维护时间和成本,降低售后维护难度和不确定性。
附图说明
29.通过结合附图阅读下文示例性实施例的详细描述可更好地理解本公开的范围。其中所包括的附图是:
30.图1为一个实施例中拨码开关编码识别处理方法的流程示意图;
31.图2为另一个实施例中拨码开关编码识别处理方法的流程示意图;
32.图3为一个实施例中拨码开关编码识别处理装置的结构示意图;
33.图4为一个实施例中读码电路的电路结构图。
具体实施方式
34.为使本发明的目的、技术方案和优点更加清楚,以下将结合附图及实施例来详细说明本发明的实施方法,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
35.在现有技术中的一种拨码锁定方法,是与拨码开关所在控制板通信的显示屏软件来锁定编码,当控制板与显示屏通信正常,且显示屏软件允许拨码开关置位时,才可以给拨码开关置位并读取新编码。这种拨码锁定方式只能防止未被允许的拨码错误,当允许置位时若拨码开关异常,同样会造成读取错误编码的。现有技术中的一种拨码开关错漏拨检测装置设计,是通过与显示屏建立通信,将读到的拨码开关编码显示出来,来判断拨码是否正确。该方法只适用于操作人员在场时对拨码进行检测,没有拨码锁定,无法防止正常运行过程中因车辆振动、开关老化等引起的读取错误编码。
36.基于此,为解决以上问题,本技术提供一种拨码开关编码识别处理方法,可以应用于处理装置。以该方法应用于处理装置为例,包括如下步骤:
37.s110:读取连接的拨码开关当前设置的编码。
38.拨码开关包括多个键,每个键是独立的,相互没有关联;每一个键对应有两个引脚,拨至on一侧,则这两个引脚接通;否则就断开。其中,拨码开关当前设置的编码,是拨码开关各个键所拨位置对应的编码。将拨码开关电连接至处理装置,上电后处理装置可以读取拨码开关当前设置的编码。具体地,处理装置可以读取拨码开关各个键的引脚电平,以读取得到设置的编码。比如四位拨码开关的第一个键断开,对应的引脚电平为低电平,其他三个均拨至on侧,对应的引脚电平为高电平,此时读取的编码为0111。
39.s130:若当前设置的编码与表征拨码开关有效的预设编码不一致,则读取已存储的编码。
40.预设编码是预先设定的编码,具体是设定为表征拨码开关有效的编码,即预设编码是在拨码开关所有键均无故障、可以有效拨码的情况下才能设置的编码。若拨码开关当前设置的编码与预设编码不一致,则表示拨码开关当前的编码可能是对应故障情况下设置的错误编码,拨码开关可能故障。此时,读取已存储的编码;其中,已存储的编码是在此之前存储好的编码,具体可以是存储在存储设备。
41.s150:基于已存储的编码和当前设置的编码确定在拨码开关有效时设置的地址功能编码,得到拨码开关的正确编码。
42.地址功能编码是用于识别地址和功能的编码,处理装置读取到地址功能编码后,可以识别对应的设备地址、执行对应的程序以实现相应的功能。在拨码开关有效时设置的地址功能编码,是运行过程中需要使用的正确编码。具体地,在拨码开关有效时设置的地址功能编码不同于预设编码。
43.上述拨码开关编码识别处理方法,在读取到拨码开关当前设置的编码后,若当前
设置的编码与表征拨码开关有效的预设编码不一致,则表示当前的编码存在是错误编码的可能,此时,读取已存储的编码,基于已存储的编码和当前设置的编码确定正确编码,使得到的正确编码为在拨码开关有效时设置的地址功能编码,避免在当前编码可能错误的情况下造成错误编码读取,从而有效保证编码读取的准确性,不需要频繁更换故障器件,减少售后维护时间和成本,降低售后维护难度和不确定性。
44.将上述拨码开关编码识别处理方法应用于车辆系统时,即使出现车体振动、自然老化、或是人为误触碰等都原因造成拨码开关的拨码位置错误时,也可以确保运行过程中读取到正确编码,即,拨码开关故障不会对系统造成任何影响,从而可以提高系统工作的安全可靠性;而且不需要因故障频繁更换控制板,可减少售后维护时间和成本,降低售后维护难度和不确定性。
45.具体地,处理装置可以是拨码开关所在控制板的处理器,即上述拨码开关编码识别方法应用于拨码开关所在的控制板的处理器,并借助编码存储,不需要增加其他处理设备,仅在拨码开关所在的控制板上完成拨码识别,读码准确。
46.在其中一个实施例中,预设编码为拨码开关各引脚均接通的状态下的编码。其中,拨码开关的引脚是指拨码开关的键所对应的引脚。拨码开关各个键的引脚均接通,则各个键均拨至on侧,以拨至on侧对应的引脚电平为1为例,预设编码为所有位均为1。比如,对于四位拨码开关,设置预设编码为1111。
47.拨码开关的故障/失效形式是开路,即拨码开关失效只有可能是引脚断开状态而不可能是引脚导通状态;也就是说,如果拨码开关有故障(如老化变形、触点松动、人为误触碰),则必然有故障位开关是断开的状态,不可能所有引脚均接通,处理装置是无法读到所有引脚均接通的状态下的编码的。通过利用拨码开关的开路失效特性,以拨码开关各引脚均接通的状态下的编码为预设编码,可以准确表征拨码开关绝对为有效状态。
48.在其中一个实施例中,步骤s110之后,还包括:若当前设置的编码与表征拨码开关有效的预设编码一致,则将预设编码存储,并执行断电指示操作。
49.将表征拨码开关有效的预设编码,作为断电指示的判断标志,若拨码开关当前设置的编码与预设编码一致,则表示需要对设备断电;此时,一方面,将预设编码存储,即,已存储的编码等于预设编码;另一方面,执行断电指示操作,断电指示操作可以是用于控制供电的电源断开供电,以实现自动断电,也可以是发送至信息输出装置进行信息输出,以指示操作人员进行人工断电。具体地,断电后,可由操作人员人工操作重启,上电后,处理装置重新执行步骤s110,以重新进行编码识别。
50.在拨码开关有效时设置的地址功能编码不同于预设编码,正常运行过程中,拨码开关的编码不会设置为预设编码;而且在拨码开关故障情况下,也不会变更为只有在拨码开关拨码有效的情况下才能设置的预设编码。具体地,当需要断电功能时,可由操作人员在上电前将拨码开关拨至预设编码对应的位置,上电后,读取到当前设置的编码等于预设编码,即可存储预设编码并指示断电,实现一种可断电以便重启的功能。
51.在其中一个实施例中,步骤s150包括:若已存储的编码与预设编码不一致,则已存储的编码为拨码开关有效时设置的地址功能编码,将已存储的编码作为拨码开关的正确编码;若已存储的编码与预设编码一致,则将当前设置的编码作为拨码开关的地址功能编码,得到拨码开关的正确编码,并采用当前设置的编码更新已存储的编码。
52.以预设编码为所有位均为1为例,本实施例中拨码开关编码识别处理方法的工作流程如图2所示。上电后,处理装置执行拨码开关编码识别处理方法。首先,处理装置读拨码开关当前设置的编码,当编码所有位全部为1时,将存储设备对应位置存的编码全部置1(复位),之后执行断电指示操作,断电等待重新上电后,重新读取拨码开关当前设置的编码。当拨码的编码不是全部为1时,读取存储设备中已的编码,若存储设备中的编码全为1,则代表编码被复位,允许新拨码编码写入,此时,将读取的当前的编码(新拨码的编码)存入存储设备对应位置同时将该新拨码的编码作为正确编码;当存储器编码不是全部为1,则代表编码被锁定,不允许新拨码编码写入,此时,将存储设备中本身存储的旧编码作为正确编码。
53.由以上流程可知,当拨码开关在拨码有效的情况下、所有键置on上电时,处理装置识别到所有引脚均接通,才会对存储设备中的旧编码进行断电复位,断电复位后可由操作人员将拨码开关置为需要的地址功能编码;处理装置在下一次上电时会允许读取的新拨码的编码作为正确编码。采用第一次拨码进行编码复位、第二次拨码进行新编码写入,两次拨码操作后将正确编码存储在存储设备进行编码锁定,在此过程中如果拨码开关有故障(如老化变形、触点松动等),或是振动、意外触碰了拨码开关导致编码值错误,按照研究的拨码开关的失效特性,则必然有故障的键位开关是断开的状态,处理装置是无法识别到所有引脚均接通的,则不会允许复位和重新写入,也就是只允许在拨码开关拨码有效的情况下才复位、复位之后输入正确编码,保证存储编码的准确性。之后运行过程中,不需要复位重写,不会对所有键置on,即不会复位重写,而且如果运行过程中拨码开关故障,也不会允许复位和重新写入编码,处于编码锁定状态,处理装置仍会读取存储设备中的旧的正确编码进行后续处理,不影响正常工作。
54.通过利用拨码开关失效特性,制定编码锁定方案,只有在拨码开关拨码有效且所有键的引脚均导通的情况下、允许二次拨码进行复位重写,锁定正确编码,之后运行过程中处于编码锁定状态,读取存储锁定的正确编码,即便拨码开关故障也不会读取故障引起的错误编码,确保能读取到正确编码。
55.基于此,拨码开关所在的控制板首次安装上车或是更换安装位置,需要重新配置地址功能编码时,需要进行如下操作步骤:步骤

、将拨码开关所有键拨至on侧,所有位置1,然后设备上电,此时处理装置工作,对编码进行复位,解除编码锁定,断电;步骤

、基于需要配置的地址功能码,将拨码开关拨至正确的编码位置,然后设备上电,此时读取新的编码并写入存储设备,完成新的地址功能编码的配置。
56.在其中一个实施例中,步骤s110之后,还包括:将读取的编码发送至信息输出装置进行信息输出。
57.其中,信息输出装置可以包括显示屏、语音播报器可输出信息的器件;显示屏输出信息的方式为显示信息,语音播报器输出信息的方式为语音播报。通过将读取的编码发送至信息输出装置进行信息输出,给在场的操作人员提供信息,操作人员可以了解当前读取的编码,方便操作人员对编码进行正确性分析,以便及时进行维护处理。
58.比如,在拨码开关所在的控制板首次安装上车或是更换安装位置、需要重新配置地址功能编码时,在进行上述步骤

时,极小概率情况下,会有拨码开关故障失效、无法成功设置为全1编码的情况;通过在读取编码后输出,在场的操作人员可以及时发现全1编码是否设置成功,如果为非全1编码,说明此时拨码开关触点损坏无法导通,只需要更换新的
备品控制板重新配置编码即可。在进行上述步骤

时,极小概率情况下,会出现人为设置的拨码错误引起编码错误,通过在读取编码后输出,在场的操作人员可及时发现编码设置错误,或者操作人员可以发现错误编码造成系统报错,此时只需重新执行下步骤

复位和步骤

设置正确编码,即可解决该问题。可见,所有由于拨码开关故障造成的设备故障,都能在操作人员在场重新配置地址功能编码时被发现,其余运行时间编码始终处于锁定状态,拨码开关故障不会对设备系统造成任何影响;这样对拨码开关防失效,在确保读取到正确编码的同时,节约了售后维护时间和成本,降低了维修难度和系统不确定性。
59.在其中一个实施例中,步骤s150之后,还包括:执行正确编码对应的程序。
60.正确编码为用于识别地址和功能的地址功能编码。处理装置得到正确编码后,按照该编码进入正常的初始化配置、执行对应的程序,识别对应的地址,执行相应的功能。
61.应该理解的是,虽然图1

图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1

图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
62.本技术提供了一种拨码开关编码识别处理装置,如图3所示,包括当前编码读取模块310、存储编码读取模块330和编码识别确定模块350。其中:
63.当前编码读取模块310用于读取连接的拨码开关当前设置的编码;存储编码读取模块330用于在当前设置的编码与表征拨码开关有效的预设编码不一致时,读取已存储的编码;编码识别确定模块350用于基于已存储的编码和当前设置的编码确定在拨码开关有效时设置的地址功能编码,得到拨码开关的正确编码。
64.具体地,在拨码开关有效时设置的地址功能编码不同于预设编码。
65.上述拨码开关编码识别处理装置,在读取到拨码开关当前设置的编码后,若当前设置的编码与表征拨码开关有效的预设编码不一致,则表示当前的编码存在是错误编码的可能,此时,读取已存储的编码,基于已存储的编码和当前设置的编码确定正确编码,使得到的正确编码为在拨码开关有效时设置的地址功能编码,避免在当前编码可能错误的情况下造成错误编码读取,从而有效保证编码读取的准确性,不需要频繁更换故障器件,减少售后维护时间和成本,降低售后维护难度和不确定性。
66.在其中一个实施例中,预设编码为拨码开关各引脚均接通的状态下的编码。其中,拨码开关的引脚是指拨码开关的键所对应的引脚。通过利用拨码开关的开路失效特性,以拨码开关各引脚均接通的状态下的编码为预设编码,可以准确表征拨码开关绝对为有效状态。
67.在其中一个实施例中,上述拨码开关编码识别处理装置还包括复位模块(图未示),用于在当前设置的编码与表征拨码开关有效的预设编码一致时,将预设编码存储,并执行断电指示操作。具体地,断电后,可由操作人员人工操作重启,上电后,重新由当前编码读取模块310执行相应功能。
68.在其中一个实施例中,编码识别确定模块350用于在已存储的编码与预设编码不
一致时,则已存储的编码为拨码开关有效时设置的地址功能编码,将已存储的编码作为拨码开关的正确编码;在已存储的编码与预设编码一致时,将当前设置的编码作为拨码开关的地址功能编码,得到拨码开关的正确编码,并采用当前设置的编码更新已存储的编码。
69.通过利用拨码开关失效特性,制定编码锁定方案,只有在拨码开关拨码有效且所有键的引脚均导通的情况下、允许二次拨码进行复位重写,锁定正确编码,之后运行过程中处于编码锁定状态,读取存储锁定的正确编码,即便拨码开关故障也不会读取故障引起的错误编码,确保能读取到正确编码。
70.在其中一个实施例中,上述拨码开关编码识别处理装置还包括信息输出模块(图未示),用于将读取的编码发送至信息输出装置进行信息输出。通过将读取的编码发送至信息输出装置进行信息输出,给在场的操作人员提供信息,操作人员可以了解当前读取的编码,方便操作人员对编码进行正确性分析,以便及时进行维护处理。
71.在其中一个实施例中,上述拨码开关编码识别处理装置还包括程序执行模块(图未示),用于在得到正确编码后,执行正确编码对应的程序。
72.关于拨码开关编码识别处理装置的具体限定可以参见上文中对于拨码开关编码识别处理方法的限定,在此不再赘述。上述拨码开关编码识别处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
73.本技术提供了一种读码电路,包括存储设备和实现前述拨码开关编码识别处理方法的处理装置,处理装置连接存储设备和拨码开关。
74.具体地,处理装置读取连接的拨码开关当前设置的编码;在当前设置的编码与表征拨码开关有效的预设编码不一致,从存储设备读取已存储的编码;基于已存储的编码和当前设置的编码确定在拨码开关有效时设置的地址功能编码,得到拨码开关的正确编码。
75.上述读码电路,由于可以采用了可以实现前述拨码开关编码识别处理方法的处理装置,同理,可以避免在当前编码可能错误的情况下造成错误编码读取,从而有效保证编码读取的准确性,而且不需要频繁更换故障器件,减少售后维护时间和成本,降低售后维护难度和不确定性。
76.具体地,存储设备和处理装置可以是两个独立封装地器件,也可以是集成于同一个芯片,比如,处理装置为处理器芯片,存储设备为处理器芯片内部自带地flash。
77.在其中一个实施例中,存储设备为非易失性存储器。采用非易失性存储器存储编码,避免存储的编码丢失,可提高正确读取编码的可靠性。
78.在其中一个实施例中,读码电路还包括限流电阻和下拉电路。拨码开关通过限流电阻连接至处理装置。下拉电阻一端连接拨码开关、另一端接地。
79.采用限流电阻对流入处理装置的电信号进行限流,避免大电流损坏电路,提高电路的安全可靠性。采用下拉电阻对拨码开关的引脚电平进行电平固定处理,方便处理装置读取。读码电路可以同时包括限流电阻和下拉电阻,电路的稳定性高。
80.如图4所述,以四位拨码开关为例;将拨码开关所有位开关的一侧接+3.3v电平,另一侧接下拉电阻和限流电阻后进入拨码开关所在控制板的处理器io脚进行编码读取。当拨
码置on侧,开关闭合导通,处理器读到数值1(高电平);当拨码置另一侧,开关断开,处理器读到数值0(低电平)。此外,控制板处理器与非易失性存储器(也可是处理器芯片内部自带flash)连接,处理器可将读取的编码写入非易失存储器进行保存。
81.上述读码电路可以设置于车辆系统,即使出现车体振动、自然老化、或是人为误触碰等都原因造成拨码开关的拨码位置错误时,也可以确保运行过程中读取到正确编码,即,拨码开关故障不会对系统造成任何影响,从而可以提高系统工作的安全可靠性;而且不需要因故障频繁更换控制板,可减少售后维护时间和成本,降低售后维护难度和不确定性。
82.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性存储器。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
83.虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1