【四旋翼飞行器】76小时吃透四轴算法!史上最强软硬结合实战项目,👉戳此立抢👈

AWorks对常见的外部通用设备接口应用

周立功单片机 2018-05-24 09:44 次阅读
AWorks对常见的外部设备进行了统一的抽象,定义了访问外部设备的通用接口。比如,LED、蜂鸣器、数码管、按键等。应用程序基于通用接口编程,将使应用程序不与具体的硬件设备绑定,换句话说,应用程序可以跨平台复用,在任何运行AWorks的硬件平台上运行。

6.1  通用LED接口

AWorks提供了操作LED的通用接口,详见表6.1。

表6.1 通用LED接口(aw_led.h)

1.  设置LED的状态

设置LED状态的函数原型为:

其中,id为LED编号,系统为每个LED都分配了一个唯一ID,通常都是从0开始顺序为各个LED编号。如有2个LED,则LED的编号为0~1。布尔类型on参数表明是否点亮LED,若其值为AW_TRUE,则表示点亮LED;若其值为AW_FALSE,则表示熄灭LED。

aw_bool_t类型是AWorks在aw_types.h文件中自定义的布尔类型,使用该类型定义的数据,其值只能为真(AW_TRUE)或假(AW_FALSE)。

点亮编号为0的LED范例程序详见程序清单6.1。

程序清单6.1 使用aw_led_set()点亮LED的范例程序

熄灭编号为0的LED范例程序详见程序清单6.2。

程序清单6.2 使用aw_led_set()熄灭LED范例程序

函数的返回值表示本次操作的结果,其类型为aw_err_t,该类型在aw_errno.h文件中定义的一个有符号的整数类型。若接口返回值的类型为aw_err_t,则具有通用的含义:

  • 若返回值为AW_OK(常量宏,值为0),则表示操作成功;

  • 若返回值为负值,则表示操作失败,失败的原因通过返回值确定;

  • 若返回值为正数,则具体含义由接口定义,无特殊说明时,表明不会返回正数。

实际上AW_OK是在aw_common.h文件中定义的常量宏,其值为0,定义如下:

当返回负值时,则表示操作失败,具体失败的原因可根据返回值查找aw_errno.h文件中定义的错误号,通过错误号的含义即可确定失败的原因,详见表6.2。

表6.2 常见错误号的含义(aw_errno.h)

假设硬件只有两个LED,其操作编号为100的LED,由于LED不存在,将返回-AW_ENODEV,表示设备不存在。注意:AW_ENODEV的前面有一个负号,操作无效ID的范例程序详见程序清单6.3。

程序清单6.3 操作无效ID的范例程序

通常操作LED,只要LED编号是有效的,这操作均会成功,其返回值为AW_OK。

2.  点亮LED

点亮LED的函数原型为:

其中,id为LED编号,函数的返回值为标准错误号,点亮编号为0的LED范例程序详见程序清单6.4。

程序清单6.4 aw_led_on()范例程序

3.  熄灭LED

熄灭LED的函数原型为:

其中,id为LED编号,函数的返回值为标准错误号,熄灭编号为0的LED范例程序详见程序清单6.5。

程序清单6.5 aw_led_off()范例程序

4.  翻转LED的状态

翻转LED的状态就是使LED由点亮状态转变为熄灭状态或由熄灭状态转变为点亮状态,其函数原型为:

其中,id为LED编号,函数的返回值为标准错误号,通过翻转LED状态的接口可以实现LED闪烁,其范例程序详见程序清单6.6。

程序清单6.6 aw_led_toggle()范例程序

为了展示接口的使用方法,该程序使用了3种方式实现LED的闪烁,详见程序清单6.7。

程序清单6.7 LED闪烁范例程序

6.2  通用键盘接口

AWorks实现了一个输入子系统架构,可以统一管理按键、鼠标、触摸屏等外部输入事件。这里以使用按键为例,讲述输入系统的使用方法。

对于键盘,无论是独立键盘、矩阵键盘还是外接的外围键盘管理芯片(如ZLG72128),均可以使用输入系统进行管理。

对于用户来讲,要使用按键,即需要对外部输入的按键事件进行处理,为此,需要向系统中注册一个输入事件处理器,该处理器中,包含了用户自定义的事件处理函数,当有按键事件发生时,系统将自动回调事件处理器中的用户函数。

AWorks提供了注册输入事件处理器的接口,其函数原型为:

其中,p_input_handler为指向输入事件处理器的指针,pfn_cb为指向用户自定义的输入事件处理函数的指针,p_usr_data为按键处理函数的用户参数。当输入事件发生时,系统会回调pfn_cb指向的用户处理函数,并将p_usr_data作为参数传递给用户处理函数。

1.  输入事件处理器

p_input_handler指向输入事件处理器,其类型为:aw_input_handler_t,在

aw_input.h文件中定义,用户无需关心该类型的具体定义,仅需使用该类型定义一个输入事件处理器的实例。即:

其中,key_handler为用户自定义的输入事件处理器,其地址可以作为p_input_handler的实参传递。

2.  用户自定义事件处理函数

pfn_cb指向用户自定义的输入事件处理函数,其类型aw_input_cb_t为事件处理函数的类型,其在aw_input.h文件中定义如下:

当输入事件发生时,无论是按键事件,还是其它坐标事件,比如:鼠标、触摸屏等。均会调用pfn_cb指针指向的函数,当该函数被调用时,p_input_data为输入事件相关的数据,包含事件类型(区分按键事件或坐标事件,比如:鼠标、触摸屏等)、按键编码、坐标等信息,用户可以根据这些数据作出相应的处理动作。p_usr_data为用户自定义的参数,其值与注册事件处理器时传递的p_usr_data参数一致,若不使用该参数,则可以在注册事件处理器时,将p_usr_data参数的值设置为NULL。

p_input_data的类型为aw_input_event_t指针类型,该类型在aw_input.h文件中定义如下:

其本质上是一个结构体类型,仅包含一个数据成员,用于表示事件的类型,若为按键事件,则该值为AW_INPUT_EV_KEY;若为绝对事件(比如,触摸屏),则该值为AW_INPUT_EV_ABS。

若p_input_data指向的数据中,ev_type的值为AW_INPUT_EV_KEY,则表示其指向的数据本质上是一个完整的按键事件数据,其类型为aw_input_key_data_t,该类型在aw_input.h文件中定义如下:

该类型的第一个数据成员为input_ev,其中包含了事件的具体类型。也正因为其第一个数据成员的类型为aw_input_event_t,系统才可以在回调用户自定义的函数时,将aw_input_key_data_t类型的指针转换为指向aw_input_event_t类型的指针使用。

key_code为按键编码,用于区分系统中多个不同的按键。例如,系统中存在4个按键,则各个按键对应的编码可能分别为:KEY_0、KEY_1、KEY_2、KEY_3。这些编码都是在aw_input_code.h文件中使用宏的形式定义的。

key_state表示本次按键事件具体对应的按键状态,用以区分按键事件是按下事件还是释放事件。若该值不为0,则表示按键按下;否则,表示按键释放。

基于此,为了获取到更多的按键相关信息,比如:按键编码、按键状态(按下还是释放)等。可以将p_input_data强制转换为aw_input_key_data_t指针类型使用,详见程序清单6.8。

程序清单6.8 根据输入事件的类型使用数据

实际上,不同类型的输入事件,其需要包含的数据是不同的,例如,对于触摸屏事件,则需要包含横坐标和纵坐标。为了统一各种不同类型的事件处理函数类型,将aw_input_event_t类型的数据作为所有事件实际数据类型的第一个成员。这样,可以统一使用aw_input_event_t类型的指针指向实际的数据,以此统一事件处理函数的类型,用户在事件处理函数中,通过查看事件类型,即可进一步将该指针强制转换为指向实际数据类型的指针,使用其中更多的信息。

如图6.1所示的类图表示了这种关系,实际数据类型均是从基类派生而来的,aw_input_prt_data_t是指针型输入事件,比如触摸屏触摸事件等,其包含了具体坐标信息。

图6.1 各种类型的输入事件对应的实际数据类图

例如,使用一个按键(按键编码为KEY_0)控制LED0,当按键按下时,则LED0点亮;当按键释放后,则LED0熄灭,相应的按键处理函数详见程序清单6.9。

程序清单6.9 按键处理函数范例程序

完成按键处理函数的定义后,函数名可作为参数传递给aw_input_handler_register()函数的pfn_cb形参。综合范例程序详见程序清单6.10。

程序清单6.10 注册事件处理器范例程序

注册按键处理器后,当按键按下或释放时,均会调用注册按键处理器时指定的回调函数,即程序清单6.10中的__key_process()函数。

若系统中存在多个按键,且各个按键的处理动作毫不相关,为了分离各个按键的处理代码,可以注册多个按键事件处理器,每个处理器负责处理一个或多个按键,范例程序详见程序清单6.11。

程序清单6.11 注册多个按键处理器范例程序

6.3  通用蜂鸣器接口

AWorks提供了操作蜂鸣器的通用接口,详见表6.3。

表6.3 通用蜂鸣器接口(aw_buzzer.h)

1.  设置蜂鸣器的响度

该函数用于设置蜂鸣器鸣叫的响度,即控制蜂鸣器发声的音量。其函数原型为:

beep_level即为鸣叫的响度,其值被量化为百分比,有效值为0 ~ 100。为0时表示静音,为100时表示声音最大。设置响度为80%的范例程序详见程序清单6.12。

程序清单6.12 aw_buzzer_loud_set()范例程序

该接口仅用于设置蜂鸣器的响度,并不会使蜂鸣器立即发声,必须调用aw_buzzer_on()或aw_buzzer_beep()接口,才能使蜂鸣器发声。默认情况下,响度为0,因此,在调用相关接口使蜂鸣器鸣叫前,必须正确设置响度。

特别地,部分硬件不支持响度设置,响度是固定的,这种情况下,调用该接口是无效的,返回值为-AW_ENOTSUP(错误号,表示不支持)。

2.  打开蜂鸣器

打开蜂鸣器的函数原型为:

打开蜂鸣器,使蜂鸣器开始鸣叫的范例程序详见程序清单6.13。

程序清单6.13 aw_buzzer_on()范例程序

打开蜂鸣器后,蜂鸣器开始鸣叫,若响度为0,将听不到声音。

3.  关闭蜂鸣器

关闭蜂鸣器的函数原型为:

关闭蜂鸣器,使蜂鸣器停止鸣叫的范例程序详见程序清单6.14。

程序清单6.14 aw_buzzer_off()范例程序

4.  蜂鸣器鸣叫指定时间(同步)

该函数用于打开蜂鸣器,使蜂鸣器鸣叫指定时间后自动关闭,该函数会一直等到蜂鸣器鸣叫结束后返回。其函数原型为:

使蜂鸣器鸣叫50毫秒(“嘀”一声)的范例程序详见程序清单6.15。

程序清单6.15 aw_buzzer_beep()范例程序

注意,由于该函数会一直等到蜂鸣器鸣叫结束后才会返回,因此主程序调用该函数后,会阻塞50ms。

5.蜂鸣器鸣叫指定时间(异步)

该函数用于打开蜂鸣器,使蜂鸣器鸣叫指定时间后自动关闭,与aw_buzzer_beep()函数不同的是,该函数会立即返回,不会等待蜂鸣器鸣叫结束。其函数原型为:

使蜂鸣器鸣叫50毫秒(“嘀”一声)的范例程序详见程序清单6.16。

程序清单6.16 aw_buzzer_beep_async()范例程序

注意,由于该函数不会等待蜂鸣器鸣叫结束,因此,当调用该函数后,会立即返回,不会被阻塞。这是其与aw_buzzer_beep()接口的本质区别。

基于蜂鸣器通用接口,可以编写一个简易测试程序,按键按下,蜂鸣器鸣叫;按键释放,蜂鸣器停止鸣叫。范例程序详见程序清单6.17。

程序清单6.17 蜂鸣器使用范例程序

基于此,若需要实现一个按键按下,蜂鸣器“嘀”一声的效果,按照上述示例,可以简单修改事件处理函数,使用aw_buzzer_beep()函数实现“嘀”一声的效果,范例程序详见程序清单6.18.

程序清单6.18 事件处理函数修改(1)

实际测试会发现,上述程序并不能正常工作,不能观察到预期的现象。这是由于aw_buzzer_beep()函数会阻塞调用者一定的时间,而按键事件回调函数是在中断环境中运行的,中断上下文不能被阻塞,因此,aw_buzzer_beep()接口不能够直接在按键事件回调函数中使用。为了实现该应用,可以使用不阻塞的蜂鸣器鸣叫接口aw_buzzer_beep_async()替代,范例程序详见程序清单6.19。

程序清单6.19 事件处理函数修改(2)

6.4  通用数码管接口

AWorks提供了操作数码管的通用接口,详见表6.4。

表6.4 通用数码管接口(aw_digitron_disp.h)

1.  设置段码解码函数

数码管的各个段可以组合显示出多种图形,使用该函数可以自定义字符的解码函数,其函数原型为:

其中,id表示设置数码管显示器的编号,这里的id指的是显示器的编号,而不是数码管的位索引,一个数码管显示器可以包含多位数码管,比如,MiniPort-View显示器,其包含两位数码管。系统中的数码管显示器通常从0开始编号,例如,系统中共计有3个数码管显示器,则id为0 ~ 2。绝大部分情况下,系统中仅有一个数码管显示器,此时,其id为0。

pfn_decode为函数指针,其指向的函数即为设置的解码函数,解码函数的参数为uint16_t类型的字符,返回值为uint16_t类型的编码。

实际应用中,对于8段数码管,字符'0' ~ '9'等都是有默认编码的,为此,AWorks提供了默认的8段数码管解码函数,可以支持常见的字符'0' ~ '9'以及 'A' 、'B'、 'C' 、'D'、 'E'、 'F'等字符的解码。其在aw_digitron_disp.h文件中声明:

如无特殊需求,可以直接将该函数作为相应数码管显示器的字符解码函数,将该函数作为pfn_decode的实参传递,范例程序详见程序清单6.20。

程序清单6.20 aw_digitron_disp_decode_set()范例程序

若由于应用特殊需求,要求字符使用自定义的特殊编码,例如,要使字符'O'的编码为 0xFC,则可以自定义如下解码函数:

然后将该函数作为pfn_decode的实参传递即可:

注意,对于一个数码管显示器,只能设置一个解码函数。

2.  设置数码管闪烁

该函数可以指定数码管显示器的某一位数码管闪烁,其函数原型为:

其中,id为数码管显示器编号;index为数码管索引,当一个数码管显示器存在多位数码管时,使用index参数指定具体操作的数码管的位置。如MiniPort-View有两位数码管,则两个数码管的索引分别为0和1;blink表示该位是否闪烁,若其值为AW_TRUE,则闪烁,反之,则不闪烁,默认情况下,所有数码管均处于未闪烁状态。如设置1号数码管闪烁的范例程序详见程序清单6.21。

程序清单6.21 aw_digitron_disp_blink_set()范例程序

3.  显示指定的段码图形

该函数用于不经过解码函数解码,直接显示段码指定的图形,可以灵活的显示任意特殊图形,其函数原型为:

其中,id为数码管显示器编号;index为数码管索引;seg为显示的段码。如在8段数码管上显示字符'-',即需要g段点亮,对应的段码为0x02(即:0000 0010),范例程序详见程序清单6.22。

程序清单6.22 aw_digitron_disp_at()范例程序

4.  显示单个字符

该函数用于在指定位置显示一个字符,字符经过解码函数解码后显示,若解码函数不支持该字符,则不显示任何内容,其函数原型为:

其中,id为数码管显示器编号,index为数码管索引,ch为显示的字符。比如,显示字符'H'的范例程序详见程序清单6.23。

程序清单6.23 aw_digitron_disp_char_at()范例程序

5.  显示字符串

该函数用于从指定位置开始显示一个字符串,其函数原型为:

其中,id为数码管显示器编号,index为显示字符串的数码管起始索引,即从该索引指定的数码管开始显示字符串,len指定显示的长度,p_str指向需要显示的字符串。

实际显示的长度是len和字符串长度的较小值,若数码管位数不够,则多余字符不显示。

如显示字符"HELLO"的范例程序详见程序清单6.24。

程序清单6.24 aw_digitron_disp_str()范例程序

若使用的是MiniPort-View,由于只存在两个数码管,因此最终只会显示"HE"。

通常情况下,需要显示一些数字,如显示变量的值,此时,可以先将变量通过格式化字符串函数输出到字符串缓冲区中,然后再使用aw_digitron_disp_str()函数显示该字符串。比如,显示一个变量i的值,范例程序详见程序清单6.25。

程序清单6.25 使用aw_digitron_disp_str()显示整数变量值的范例程序

其中,aw_snprintf()与标准C函数snprintf()函数功能相同,均用于格式化字符串到指定的缓冲区中,其函数原型为(aw_vdebug.h):

其与aw_kprintf()函数的区别是,aw_kprintf()将信息直接通过调试串口打印输出,而aw_snprintf()函数将信息输出到大小为sz的buf缓冲区中。

6.  显示清屏

该函数用于显示清屏,清除数码管显示器中的所有内容,其函数原型为:

其中,id为数码管显示器编号,范例程序详见程序清单6.26。

程序清单6.26 aw_digitron_disp_clr()范例程序

7.  使能数码管显示

数码管默认是处于使能状态的,只有当被禁能后,才需要使用该函数重新使能。数码管仅在使能状态下才可以正常显示。

该函数用于显示清屏,清除数码管显示器中的所有内容,其函数原型为:

其中,id为数码管显示器编号,范例程序详见程序清单6.27。

程序清单6.27 aw_digitron_disp_enable()范例程序

8.  禁能数码管实现

数码管默认处于使能状态,可以正常显示。清屏状态下只是清空了数码管显示的内容,数码管实际上还是处于工作状态,对于动态扫描类数码管,依然处于动态扫描状态,需要消耗CPU资源。若长时间不使用数码管显示器,可以彻底关闭数码管显示器,关闭数码管扫描,节省CPU资源,甚至是关闭数码管的电源,降低系统功耗。关闭数码管显示器的函数原型为:

其中,id为数码管显示器编号,范例程序详见程序清单6.28。

程序清单6.28 aw_digitron_disp_disable()范例程序

数码管被禁能后,将不能再正常显示,若需正常显示,必须使用aw_digitron_disp_enable()接口重新使能数码管。

基于数码管通用接口,可以编写一个简易的60s倒计时程序,当倒计时还剩5s时,数码管闪烁。范例程序详见程序清单6.29。

程序清单6.29 倒计时应用程序实现

程序中,将应用程序使用的数码管显示器编号使用宏__DIGITRON_ID进行了定义,若一个系统中存在多个数码管显示器,则仅需修改该宏对应的宏值,就可以使该倒计时应用程序在不同的数码管显示器上运行。

6.5  通用传感器接口

AWorks提供了通用的传感器接口,适用于各式各样的传感器,例如,温度、湿度、电压、电流、压强、加速度、角速度、光照传感器等等。

在一个系统中,可能存在多种类型的传感器,例如,温度、湿度、电流、压强等。同时,还可能存在多个同种类型的传感器,例如,可能连接10个温度传感器以测试10个温度检测点的温度。此外,部分传感器可以采集多路信号,例如,温湿度传感器SHT11可以同时采集温度和湿度。

为了实现对各式各样的传感器进行统一管理,在AWorks中,定义了“传感器通道”的抽象概念,一个传感器通道用于完成一路物理信号的采集。对于只能采集单一信号的传感器,每个传感器只能为系统提供一路传感器通道,例如,LM75温度传感器仅能采集一路温度信号;对于可以采集多路信号的传感器,则每个传感器可以为系统提供多路传感器通道,例如,SHT11可以同时采集温度和湿度,其可以为系统提供一路温度传感器通道和一路湿度传感器通道。此外,也可能存在多个相同的传感器,以便为系统提供多个同类型的的传感器通道。

如此一来,一个系统中可能存在多个传感器通道,为了区分各个传感器通道,在AWorks中,为每个传感器通道分配了一个唯一 id。例如,某一系统中存在温度、加速度、角速度等多种传感器,各传感器通道对应的id分配范例详见表6.5。

表6.5 传感器通道id分配(仅作示意)

实际中,id 与具体硬件平台相关,用户应查看SDK中的用户手册,获知系统中可用的传感器通道资源,以正确使用各个传感器通道。

对于应用程序来讲,仅需通过id使用各个传感器通道即可,无需关心这些通道具体是由哪个传感器提供的。例如,某一应用需要采集一路温度和一路湿度,底层硬件可以是一个SHT11温湿度传感器,也可以是一个温度传感器和一个湿度传感器。

常用的传感器接口详见表6.6。

表6.6 通用传感器接口(aw_sensor.h)

1.  获取传感器通道类型

传感器通道有类型之分,不同的类型的传感器通道采集的物理信号不同,不同物理信号具有不同的基本单位不同。例如,电压的基本单位为伏特(V);电流的基本单位为安培(A);温度的基本单位为℃。为便于使用,在AWorks中,将传感器类型使用宏的形式进行了定义,常用的传感器类型详见表6.7。

表6.7 常用的传感器类型定义(aw_sensor.h)

在AWorks中,提供了获取传感器通道类型的接口,其函数原型为:

其中,id为传感器通道的编号。若函数返回值为非负数(>=0),则表示获取传感器类型成功,此时,返回值即为以AW_SENSOR_TYPE_ 为前缀的宏值;否则,表示获取传感器类型失败,此时,返回值为标准错误码,表示了获取类型失败的原因。例如,返回值为-AW_ENODEV时,表示id对应的传感器通道不存在,没有与之对应的传感器设备。例如,判断通道0是否为温度传感器的范例程序详见程序清单6.30。

程序清单6.30 获取传感器通道类型的范例程序

2.  使能传感器通道

在AWorks中,使用一个传感器通道采集数据的一般流程为:

(1)使能通道;

(2)获取数据(可以多次获取);

(3)禁能通道,不再使用时可以禁能通道,以使传感器进入最佳的低功耗状态(若支持)。

AWorks为每一个步骤都提供了两类接口:一类接口用于操作单个传感器通道,该类接口适用于仅使用单个传感器通道的应用程序;一类接口用于操作一组(多个)传感器通道,该类接口适用于需要使用多个传感器通道的应用程序。当应用需要使用多个传感器通道时,建议使用操作一组(多个)传感器通道的接口,而不是多次使用操作单个传感器通道的接口,后者效率较低,影响系统性能。

在获取数据前,必须使能传感器通道,AWorks提供了两类接口,分别用于使能单个传感器通道和使能一组(多个)传感器通道。

  • 使能单个传感器通道

使能单个传感器通道的函数原型为:

其中,id为传感器通道的编号。若函数返回值为AW_OK,则表示通道使能成功;否则,表示通道使能失败,返回值为标准错误码,可以据此判定失败的原因。例如,返回值为-AW_ENODEV时,表示id对应的传感器通道不存在。例如,使能通道0的范例程序详见程序清单6.31。

程序清单6.31 使能单个传感器通道的范例程序

  • 使能一组(多个)传感器通道

使能一组(多个)传感器通道的函数原型为:

其中,p_ids为指向传感器通道id列表的指针;num表示通道的数目,即id列表的大小;p_result指向用于存储各个通道使能结果的缓存,缓存大小应该与num一致。其类型aw_sensor_val_t 为传感器数据类型,其详细定义详见程序清单6.32。

程序清单6.32 aw_sensor_val_t类型定义(aw_sensor.h)

该类型的本意是表示一个传感器数据,如电压、电流、温度等,当表示一个传感器数据时,val和unit都有着特殊的含义,具体含义将在数据获取接口中详细介绍。当该类型使用于此时,unit的值无效,仅使用val值表示各个通道使能的结果,此时,val值即为标准错误码,若其值为AW_OK,则表示相应的通道使能成功;否则,表示相应的通道使能失败,例如,值为-AW_ENODEV时,表示对应通道不存在。

aw_sensor_group_enable()函数的返回值同样为标准错误码,若其值为AW_OK,则表示所有通道使能成功,此时,p_result中所有数据的val值均为AW_OK,因此,当返回值为AW_OK时,无需判断p_result中的值即可断定所有通道使能成功;否则,表示存在使能失败的通道,此时,可以逐一检查p_result中的值来判断具体哪些通道使能成功,哪些通道使能失败。使能一组通道(通道0、3、5、6、8、9)的范例程序详见程序清单6.33。

程序清单6.33 使能一组(多个)传感器通道的范例程序

3.  获取传感器数据

通道使能后,可以获取传感器中的数据, AWorks提供了两类接口,分别用于获取单个传感器通道的数据和获取一组(多个)传感器通道的数据。

  • 获取单个传感器通道的数据

该函数用于获取单个传感器通道的数据,其函数原型为:

其中,id为传感器通道的编号,p_val为输出参数,用以返回获取到的传感器值。函数返回值为标准错误码,若其值为AW_OK,则表示数据获取成功;否则,表示数据获取失败。

aw_sensor_val_t表示传感器数据类型,回顾(首次定义详见程序清单6.32)其定义如下:

其中,val为传感器数值,unit表示了数据单位。

例如:

"M"(106,“兆”)、"k"(103,“千”),"m"(10-6,“毫”)等等,unit使用10的幂进行表示,例如,单位为"m",则unit的值为-3。

为了规范unit的使用,unit不可以为任意值,AWorks根据国际单位制(SI)定义的词头(比如:"m"、"μ"、"p"、"n"等等)对其可用取值进行了定义,详见表6.8。

表6.8 uint可用取值

表中的最后一列即为unit的值,其值表示了10的幂,比如,-9表示的是10-9。单位符号区分大小写,例如,"m"表示“毫”,对应10-3;而"M"表示“兆”,对应106。英文前缀表示在英文单词中,通常可以在计量单位的单词前增加该前缀形成新的单词,例如,长度单位米的英文单词为:meter;而千米对应的单词为:kilometer,这里列出英文单词前缀,可以方便读者理解宏值和单位符号的定义。中文读音为该单位符号的一般读法,括号内的字在不致混淆的情况下可以省略(通常均省略)。

传感器val值的实际单位为将表中所示“单位符号”作为基本单位(基本单位与传感器类型相关,详见表6.7)的前缀形成的单位。例如,电压传感器的基本单位为V,若一个电压传感器数据的val为1234,unit为AW_SENSOR_UNIT_MILLI(即:-3),由于-3对应的单位符号为"m",因此,该传感器数据的单位为"mV",对应的电压值即为1234mV。

如需将传感器数据的单位转换为基本单位,可以使用如下公式:

data值的数据单位即为基本单位,比如,安培(A)、伏特(V)等。

使用一个“整数”和一个“单位”来对传感器数据进行表示,可以有效的避免使用浮点数(为了保证系统性能,AWorks内部不直接使用浮点数,当然,应用程序依然可以使用浮点数)。

例如,电压传感器采集到的电压可能为1.234V,为了避免使用小数,可以缩小单位至mV("m"表示“毫”,10-3),此时,1.234V即可表示为1234mV。若使用aw_sensor_val_t类型的数据表示该电压值,则val值为1234,unit为-3(表示10-3,对应了单位前缀:"m",即“毫”)。

由此可见, unit为负数时可以表示一个小数。此外,val值的类型为有符号32位整数,其可以表示的数据范围为:-2147483648 ~ 2147483647。若数据超过该范围,则也可以将unit设置为正数,例如,若传感器数据为2147483647000,则可以将val的值设置为2147483647,unit的值设置为AW_SENSOR_UNIT_KILO(即:3,表示103,对应了符号:"k",即“千”)。

假设传感器通道0为一个温度传感器通道,则获取温度的范例程序详见程序清单6.34。

程序清单6.34 获取单通道传感器数据的范例程序

其中,pow()函数为标准C库提供的数学运算函数(在math.h文件中声明),用于求取一个数的幂,其函数原型为:

其返回值即为x的y次方,即:xy。该函数的操作数均为double类型的双精度浮点数,运算效率较低。通常情况下,如非必要,都不建议引入浮点运算。例如,一个传感器数据仅仅只需要打印显示,则不需要将其转换为浮点数,仅需将小数点显示至合适的位置即可。例如,对于一个温度传感器数据,若其unit为-3,则以基本单位℃为单位进行数值的打印显示时,应显示3位小数,比如,45087应显示为45.087℃,基于此,分别显示整数部分和小数部分即可:

程序中,将val值整除1000作为了整数部分,对1000取余作为了小数部分(打印小数部分时,位宽固定为3位,且不足3位时,应在前面补0,比如45087对1000取余的结果为87,但应显示为"087")。

由此可见,打印显示时,完全可以避免浮点运算。需要注意的是,unit的值不一定为-3,也可能为-6或其它值。这种情况下,就要分别处理,例如,为-6时,应打印显示6位小数: 

显然,这样处理起来略显复杂,需要分别为不同的unit值打印不同的小数位数。但在实际应用中,显示的小数位数往往是固定的,其通常由实际显示器(比如:数码管位数,显示器位宽等)或具体应用需求决定,不难想象,如果一个显示器一会儿显示3位小数,一会儿显示6位小数,用户体验将很难得到保证。

如果应用需要将显示的小数位数固定为3,那么当unit为-6时,可以将unit转换为-3后再按照3位小数进行显示,例如:

程序中,首先将unit的值增加了3,即表示将数据扩大了103,即1000倍。为了使数据保持不变,需要将val值缩小1000倍。如此一来,temp_val中的unit值又变为-3了,而后即可按照3位小数进行打印显示。由于val值整除了1000,那么原来低三位的数据均会丢失,也就意味着,精度会存在损失,实际上, 6位小数仅显示3位,本身就是一种精度的舍弃。例如,原val值为25234167,unit为-6,表示了25.234167℃。经过转换后,val值为25234,unit为-3,表示了25.234℃,即完成了由6位小数精度到3位小数精度的转换。

如果一个系统中固定温度显示的精度为3位小数,那么可以将所有温度数据的unit转换为-3。为便于用户使用,AWorks提供了传感器数据单位转换函数,其转换原理如下。

若是扩大单位(增加unit的值),假定unit增加的值为n,则会将val的值整除10n,由于存在整除,将会使原val值的精度减小。精度减小时,遵循四舍五入法则。例如,原数据为1860mV,若将单位转换为V,则转换的结果为2V;原数据为1245mV,若将单位转换为V,则转换的结果为1V。由于存在精度的损失,单位的扩大应该谨慎使用。

若是缩小单位(减小unit的值),假定unit减小的值为n,则会将val的值乘以10n,但应特别注意,val值的类型为32位有符号数,其能够表示的数据范围为:-2147483648 ~ 2147483647。不应使val值扩大10n后超过该范围。缩小单位不存在精度的损失,但应注意数据的溢出,不应将一个数据缩小至太小的单位。若数据可能溢出,则转换会失败,原数据的值和单位均会保持不变。

特别地,若转换前后的单位没有发生变化,则整个传感器的值保持不变。

传感器数据单位转换的函数原型为:

其中,p_buf为传感器数据缓存,num为缓存大小,表示需要转换单位的数据个数,to_unit表示目标单位,其值为AW_SENSOR_UNIT_* (比如: AW_SENSOR_UNIT_MILLI)。若返回值为AW_OK,表示所有数据转换成功;否则,表明存在转换失败的数据,转换失败可能是由于在缩小单位时,val值无法完成扩大,即扩大10n后会超过有符号32位数所能够表示的范围。转换失败的数据val值和unit值将保持不变,用户可以根据数据转换结束后的单位是否为目标单位来判断某一数据是否转换成功。

例如,从传感器中获取数据,并按照3位小数进行打印显示的范例程序详见程序清单6.35。

程序清单6.35 传感器数据单位转换的范例程序

程序中,假定了通道0为温度传感器通道,由于val值能够表示的数据范围为-2147483648 ~ 2147483647,当unit为-3时,其可以表示的温度范围为:-2147483.648 ~ 2147483.647℃。在一般应用环境中,温度不会超过该范围,因此,单位转换必然会成功,当能够确定数据不会超过表示范围时,可以不用判断单位转换函数的返回值。

  • 获取一组(多个)传感器通道的数据

该函数用于获取一组(多个)传感器通道的数据,其函数原型为:

其中,p_ids为指向传感器通道id列表的指针;num表示通道的数目,即id列表的大小;p_buf指向用于存储各通道数据的缓存,缓存大小应该与num一致,函数执行结束后,其中将包含各个通道的数据。

若返回值为AW_OK,则表示所有通道的数据均获取成功,p_buf所指缓存中存放了有效的数据;否则,表示存在数据获取失败的通道,此时,p_buf所指缓存中,这些失败的通道对应的数据将为无效值,即:使用 AW_SENSOR_VAL_IS_VALID()宏判断数据有效性时,将返回FALSE,用户可以使用AW_SENSOR_VAL_IS_VALID()宏逐一检查各个通道的数据,以判断哪些通道的数据获取成功,哪些通道的数据获取失败。特别注意,当数据为无效值时,val值将为标准错误码,用户可以根据val值判断该通道失败的原因,例如,值为-AW_ENODEV时,表示对应通道不存在。

AW_SENSOR_VAL_IS_VALID()宏用于判断一个数据的有效性,其原型(aw_sensor.h)为:

其中,data为aw_sensor_val_t类型的数据,仅当该宏返回TRUE时,才表示data为有效的传感器数据。否则,data为无效值,此时,unit值无效,val值表示标准错误码,其反应了数据无效(即某种操作失败)的原因。

获取一组通道(通道0、3、5、6、8、9)数据的范例程序详见程序清单6.36。

程序清单6.36 获取一组(多个)通道数据的范例程序(1)

通常情况下,为了使程序更加简洁,也可以不判断函数的返回值,仅需在最后使用传感器数据前,判断传感器数据是否有效即可,范例程序详见程序清单6.37。

程序清单6.37 获取一组(多个)通道数据的范例程序(2)

4.禁能传感器通道

当某些传感器通道使用完毕,暂时不需要从其中获取数据时,可以禁能相应的通道,使其进入一种最佳的低功耗状态(若支持)。AWorks提供了两类禁能接口,分别用于禁能单个传感器通道和禁能一组(多个)传感器通道。

  • 禁能单个传感器通道

禁能单个传感器通道的函数原型为:

其中,id为传感器通道的编号。若函数返回值为AW_OK,则表示通道禁能成功;否则,表示通道禁能失败,返回值为标准错误码,可以据此判定失败的原因。例如,返回值为-AW_ENODEV时,表示id对应的传感器通道不存在。禁能通道0的范例程序详见程序清单6.38。

程序清单6.38 禁能单个传感器通道的范例程序

  • 禁能一组(多个)传感器通道

禁能一组(多个)传感器通道的函数原型为:

其中,p_ids为指向传感器通道id列表的指针;num表示通道的数目,即id列表的大小;p_result指向用于存储各个通道禁能结果的缓存,缓存大小应该与num一致。函数执行结束后,其中将包含各个通道禁能的结果,其数据含义与使能通道时的数据含义一致,即:unit的值无效,仅使用val值表示各个通道禁能的结果。此时,val值即为标准错误码,若其值为AW_OK,则表示相应的通道禁能成功;否则,表示相应的通道禁能失败,例如,值为-AW_ENODEV时,表示对应通道不存在。

aw_sensor_group_disable()函数的返回值同样为标准错误码,若其值为AW_OK,则表示所有通道禁能成功,此时,p_result中所有数据的val值均为AW_OK,因此,当返回值为AW_OK时,无需判断p_result中的值即可断定所有通道禁能成功;否则,表示存在禁能失败的通道,此时,可以逐一检查p_result中的值来判断具体哪些通道禁能成功,哪些通道禁能失败。禁能一组通道(通道0、3、5、6、8、9)的范例程序详见程序清单6.39。

程序清单6.39 禁能一组(多个)传感器通道的范例程序

基于数码管接口和通用传感器接口,可以实现一个简单的应用:使用数码管实时显示当前温度值。范例程序详见程序清单6.40。

程序清单6.40 使用数码管实时显示温度的范例程序

应用程序中,将需要使用到的传感器通道id和数码管显示器id使用宏的形式在程序前进行了定义(详见程序清单6.40的第7 ~ 8行),当前id均定义为0,若实际使用的id发生变化,仅需修改这两个宏值即可。

6.6  温控器

下面将结合此前介绍的接口,使用LED、蜂鸣器、数码管、矩阵键盘和温度采集,实现一个简易的温控器。

1.  功能简介

使用标准I2C接口的LM75B温度传感器采集温度并在数码管上显示,由于只有两位数码管,因此只显示整数部分;当温度为负数时,也不显示负,仅显示温度值。

可设置温度上限值和温度下限值,当温度高于上限值或低于下限值时,则蜂鸣器鸣叫。

2.  状态指示

在调节过程中,使用LED0和LED1两个LED用于状态指示:

  • LED0亮:表明当前值为上限值,数码管显示上限值;

  • LED1亮:表明当前值为下限值,数码管显示下限值;

  • 两灯闪烁:表明正常运行状态,数码管显示环境温度值。

3.  操作说明

设置上下限值时,共计使用4个按键。即:

  • SET键:用于进入设置状态。点击后首先进入温度上限值设定,再次点击可进入温度下限值设定,再次点击回到正常运行状态;

  • 左移/右移键:用于切换当前调节的位(个位/十位)。当进入设置状态后,当前调节的位会不断的闪烁;点击该键可以切换当前调节的位,由个位切换到十位,或由十位切换到个位;

  • 加1键:当进入设置状态后,当前调节的位会不断的闪烁,按该键可以使该位上的数值增加1;

  • 减1键:当进入设置状态后,当前调节的位会不断的闪烁,按该键可以使该位上的数值增减1。

(1)设置上限值

首次按下SET键进入上限值设置,此时LED0点亮,数码管显示上限值温度,个位不停闪烁。按“加1键”或“减1键”可以对当前闪烁位上得值进行调整,按下“左移/右移键”可以切换当前调节的位。

(2)设置下限值

在设置上限值的基础上,再次点击SET键即可进入下限值的设定,此时LED1点亮,数码管显示下限值温度,个位不停闪烁。按“加1键”或“减1键”可以对当前闪烁位上的值进行调整,按“左移/右移键”可以切换当前调节的位。

4.  功能实现

温控器的实现范例程序详见程序清单6.41。程序中比较繁琐的是按键的处理程序。为了使程序结构更加清晰,分别对3种按键:切换状态(KEY0)、切换当前调节位(KEY2)、调节当前位的值(KEY1和KEY3)写了3个函数,各个函数直接在__key_callback()按键回调函数中调用。其它部分均在while(1)主循环中完成,主要完成3件事情:温度值的采集,每隔500ms进行一次;温度值的判断,判断是否过高或过低,以便报警;正常状态下LED0和LED1的闪烁。

程序清单6.41 使用通用接口实现温控器代码

原文标题:AWorks软件篇 — 通用设备接口

文章出处:【微信号:Zlgmcu7890,微信公众号:周立功单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

为什么笔记本接口越做越少

在笔记本产品中,高性能和高便携性本身是两个对立的设计理念,但随着生产技术的不断跟新和演进,这两者已经....
的头像 39度创意研究所 发表于 01-21 09:04 97次 阅读
为什么笔记本接口越做越少

光端机诊断监控接口协议10.3版免费下载

本规范为光收发器定义了一个增强的数字诊断监控接口,允许实时访问设备的运行参数。本文档定义了一个增强的....
发表于 01-21 08:00 5次 阅读
光端机诊断监控接口协议10.3版免费下载

能推荐一个较适合中远距离的高速WIFI模块吗

要求 支持802.11b/g/n 支持STA+AP,AP,STA,ad-hoc 接口SDIO或者MII,串口肯定不行,也就是接口速度要基本在50...
发表于 01-21 06:35 7次 阅读
能推荐一个较适合中远距离的高速WIFI模块吗

基于PPI接口的红外视频处理通用模块构架应用研究

红外视频处理系统是典型的实时信号处理系统,具有数据吞吐量大和运算密集度高的特点,一般由通用DSP实现....
发表于 01-20 11:10 36次 阅读
基于PPI接口的红外视频处理通用模块构架应用研究

可实现可视化的EDA工具远程调用接口

随着EDA平台服务趋于网络化,如何通过对资源和流程的有效管理,为用户提供更为方便安全的远程EDA平台....
发表于 01-20 09:34 36次 阅读
可实现可视化的EDA工具远程调用接口

支持8K60hz的开博尔光纤DP线怎么样,我们来测试下

  DP全称DisplayPort,是一种高清数字显示接口标准,可以连接电脑和显示器和家庭影院。DisplayPort赢得了AMD、Intel...
发表于 01-19 20:48 9次 阅读
支持8K60hz的开博尔光纤DP线怎么样,我们来测试下

AD7705应用经验总结

看到一篇调试AD7705总结的经验,希望对大家有帮助。 ps.AD7705的应用经验以及注意要点总结如下,这些经验同样适用于AD...
发表于 01-18 19:16 3次 阅读
AD7705应用经验总结

gdb7没有MI接口,不适用于Eclipse CDT

gdb7没有MI接口(不适用于Eclipse CDT) #Eclipse的调试与 以上来自于谷歌翻译 以下为原文 gdb7 doe...
发表于 01-18 18:28 4次 阅读
gdb7没有MI接口,不适用于Eclipse CDT

Keysight 16500L LAN接口模块服务指南

This guide helps you install, connect, and troubleshoot the Keysight 16500L LAN interface module for the Keysight...
发表于 01-18 18:26 4次 阅读
Keysight 16500L LAN接口模块服务指南

C6748的upp接口数据不连续

我们使用 UPP接口接收ADC采集的数据,    UPP->UPID0 =(uint32_t)&buffer1;//add next DMA transfer...
发表于 01-17 11:06 53次 阅读
C6748的upp接口数据不连续

请问下图这两个接口分别叫什么名字,有可以把这两个接口连起来的转接线吗

这个图片还不是正确的  过两天拍了再传上来 ...
发表于 01-17 03:20 30次 阅读
请问下图这两个接口分别叫什么名字,有可以把这两个接口连起来的转接线吗

在DOS下使用HP-IB接口和命令库

This document references a discontinued or obsolete product and is for information only....
发表于 01-16 16:13 19次 阅读
在DOS下使用HP-IB接口和命令库

JAVA教程之消息、继承与多态的应用和资料介绍说明

本文档的主要内容详细介绍的是JAVA教程之消息、继承与多态的应用和资料介绍说明主要内容包括了:1 消....
发表于 01-16 11:02 18次 阅读
JAVA教程之消息、继承与多态的应用和资料介绍说明

JAVA教程之一维数组和二维数组的介绍和应用说明

声明一个数组就是要确定数组名、数组的维数和数组元素的数据类型。数组名是符合Java标识符定义规则的用....
发表于 01-16 11:02 16次 阅读
JAVA教程之一维数组和二维数组的介绍和应用说明

SWIM DeviceID读取和ROP检查方法?

嗨, 我正在为带有SWIM接口的stm8设备开发一个独立的编程板。 发展是相当远的,但我仍然面临一些问题,我看到无处回答...
发表于 01-16 10:41 38次 阅读
SWIM DeviceID读取和ROP检查方法?

有用于将PIC16F连接到单线DS18B20的C语言程序吗

你好:我在C中搜索例程,将DS18B20与PIC16F接口。有人已经和你分享了吗?感谢您的帮助。谢谢。 以上来自于百度翻译...
发表于 01-16 10:40 14次 阅读
有用于将PIC16F连接到单线DS18B20的C语言程序吗

IPMB接口的请求和应答协议

每个应答者的接口协议都定义了一些支持的命令字,应答者在这个特定的域位置必须提供至少一个命令字,任何其....
发表于 01-12 09:44 111次 阅读
IPMB接口的请求和应答协议

IPMB接口协议的实现目标和特征

智能平台管理总线(IPMB)的设计是为了在mission-critical服务器平台支持“Serve....
发表于 01-12 09:40 78次 阅读
IPMB接口协议的实现目标和特征

采用HDMI2.1规范的产品持续增长 2019CES带来最新产品公告

HDMI 2.1 规范于 2017 年 11 月发布,今年许多半导体、电视、AVR、条形音箱和游戏机....
的头像 人间烟火123 发表于 01-09 13:41 1351次 阅读
采用HDMI2.1规范的产品持续增长  2019CES带来最新产品公告

TCAN4550 TCAN4550

TCAN4550是一款CAN FD控制器,集成了CAN FD收发器,支持高达5 Mbps的数据速率。 CAN FD控制器符合ISO11898-1:2015高速控制器局域网(CAN)数据链路层的规范,符合ISO11898-2:2016高速CAN规范的物理层要求。 TCAN4550通过串行外设接口(SPI)在CAN总线和系统进程之间提供接口,支持经典CAN和CAN FD。 TCAN4550提供CAN FD收发器功能:总线的差分传输能力和总线的差分接收能力。该器件支持通过本地唤醒(LWU)唤醒和使用实现ISO11898-2:2016唤醒模式(WUP)的CAN总线唤醒总线。 该器件具有许多保护功能,可提供器件和CAN总线的稳健性。这些功能包括故障保护模式,内部显性状态超时,宽总线工作范围和超时看门狗等。 特性 带有集成CAN收发器和串行外设接口(SPI)的CAN FD控制器 CAN FD控制器支持ISO 11898- 1:2015和博世M_CAN修订版3.2.1.1 符合ISO 11898-2:2016的要求 CAN FD数据速率高达5 Mbps,最高18 MHz SPI时钟速度 经典CAN向后兼容 工作模式:正常,待机,休眠和故障保护可用: 3.3 V至5 V输入/输出逻辑支持微处理器 CAN...
发表于 01-08 17:50 33次 阅读
TCAN4550 TCAN4550

DS90LV027AH High Temperature LVDS Dual Differential Driver

DS90LV027AH是一款双LVDS驱动器器件,针对高数据速率和低功耗应用进行了优化。该器件采用低压差分信号(LVDS)技术,支持超过600Mbps(300MHz)的数据速率。 DS90LV027AH是一款电流模式驱动器,即使在高频下也能保持低功耗。此外,短路故障电流也最小化。 该器件采用8引脚SOIC封装。 DS90LV027AH采用流通式设计,便于PCB布局。差分驱动器输出提供低EMI,典型低输出摆幅为360 mV。它非常适合时钟和数据的高速传输。 DS90LV027AH可与其配套的双线接收器DS90LV028AH或TI的任何LVDS接收器配对,以提供高速点对点LVDS接口。 特性 -40°C至+ 125°C工作温度范围 > 600 Mbps(300MHz)开关速率< /li> 0.3 ns典型差分偏差 0.7 ns最大差分偏差 3.3V电源设计 低功耗(46 mW @ 3.3 V static) 流通式设计简化了PCB布局 断电保护(高阻抗输出) 符合TIA /EIA-644标准 li> 8引脚SOIC封装节省空间 所有商标均为其各自所有者的财产。 参数 与其它产品相比 缓冲器、驱动器/接收器和交叉点   Device type Protocols Number of Tx Number of Rx Input signal Output signa...
发表于 01-08 17:50 13次 阅读
DS90LV027AH High Temperature LVDS Dual Differential Driver

DP83825I 低功耗 10/100Mbps 以太网物理层收发器

DP83825I是最小的外形,功耗最低的以太网物理层收发器,集成了PMD子层,支持10BASE-Te,100BASE-TX以太网协议。 DP83825I通过外部变压器直接连接成对的介质。它在主模式和从模式下通过Reduced MII(RMII)连接到MAC层。 RMII主模式下的50 MHz时钟与MDI衍生时钟同步,以减少系统中的抖动。 DP83825I提供集成的电缆诊断工具,内置自检和环回功能,易于使用。它支持多个工业总线及其快速链路断开时序。 DP83825I还支持节能以太网,LAN唤醒和MAC隔离,以进一步降低系统功耗.DP83825I可以在非管理重载模式下运行。在此模式下,DP83825I可用作没有寄存器配置的转发器。 特性 最小的10/100 Mbps PHY:QFN 3x3 mm2 MAC接口:RMII(主机和从机模式) 电缆到达&gt; 150米 电压模式线路驱动器 极低功耗&lt; 135 mW 最小的系统解决方案:集成MDI和MAC终端电阻器 可编程节能模式 具有极低功耗的主动休眠&lt; 40 mW 深度掉电模式&lt; 9 mW 节能以太网(EEE)IEEE 802.3az 局域网唤醒(WoL) 单3.3V电源 I /O电压:1.8V,3.3V 中继器模式:非管理模式下的RM...
发表于 01-08 17:50 20次 阅读
DP83825I 低功耗 10/100Mbps 以太网物理层收发器

DSLVDS1047 3.3V LVDS 四通道高速差动线路驱动器

DSLVDS1047器件是一款四通道CMOS流通差分线路驱动器,专为需要超低功耗和高数据速率的应用而设计。该器件采用低压差分信号(LVDS)技术设计,支持超过400 Mbps(200 MHz)的数据速率。 DSLVDS1047可接受低电压TTL /CMOS输入电平并将其转换为低电压电压>(350 mV)差分输出信号。此外,驱动器支持TRI-STATE功能,可用于禁用输出级,禁用负载电流,从而将器件降至典型值为13 mW的超低空闲功耗状态。 DSLVDS1047具有流通引脚排列,便于PCB布局。 EN和EN *输入进行AND运算并控制TRI-STATE输出。所有四个驱动程序都具有通用功能。和配套线路接收器(DSLVDS1048)为高速点对点接口应用提供了高功率伪-ECL器件的新替代方案。 特性 专为高达400 Mbps的信令速率而设计 3.3 V电源设计 300 ps典型差分偏差 400 ps最大差分偏差 1.7 ns最大传播延迟 ±350 mV差分信号 < li>低功耗(3.3 V静态时为13 mW) 可与现有的5 V LVDS接收器互操作 断电时LVDS输出的高阻抗 流通引脚简化PCB布局 符合或超过TIA /EIA-644 LVDS标准 工业工作温度范围( - 40°C至+ 85°C) 以...
发表于 01-08 17:50 23次 阅读
DSLVDS1047 3.3V LVDS 四通道高速差动线路驱动器

DS90UH949A-Q1 支持 HDCP 的 1080p HDMI 转 FPD-Link III 桥接器串行器

DS90UH949A-Q1是一款HDMI转FPD-Link III桥接器件,与FPD-Link III DS90UH940A-Q1 /DS90UH948A-Q1解串器配合使用,可通过经济高效的50Ω单端同轴电缆或100Ω差分屏蔽双绞线(STP)和屏蔽四路绞线(STQ)电缆提供单通道或双通道高速串行流。该器件可对HDMI v1。 4b输入进行序列化,从而支持高达2K的视频分辨率和24位色深。 FPD-Link III接口支持通过同一条差分链路进行视频和音频数据传输以及全双工控制(包括I2C通信)。通过两个差分对实现视频数据和控制的整合可减小互连线尺寸和重量,并简化系统设计。通过使用低压差分信令,数据换序和随机生成最大限度地减少了解电磁干扰(EMI)。在向后兼容模式中,该器件通过一条差分链路针对94x解串器支持高达1080p分辨率,针对92x解串器支持720p分辨率,并具有24位色深。< /p> DS90UH949A-Q1支HDCP中继器应用,在这些应用中,无需外部控制器即可实现所有身份验证和加密功能。在输入端对HDMI音频和视频数据进行解密,并在将数据发送给FPD-Link III接口前重新加密。 DS90UH949A-Q1支持通过外部I2S接口接收多通道音频。该器件还具有...
发表于 01-08 17:49 21次 阅读
DS90UH949A-Q1 支持 HDCP 的 1080p HDMI 转 FPD-Link III 桥接器串行器

DS90LV049H High Temperature 3V LVDS Dual Line Driver and Receiver Pair

DS90LV049H是一款双CMOS流通差分线路驱动器 - 接收器对,专为需要超低功耗,出色的抗噪性和高数据吞吐量的应用而设计。该器件采用低压差分信号(LVDS)技术,支持超过400 Mbps的数据速率。 DS90LV049H驱动器接受LVTTL /LVCMOS信号并将其转换为LVDS信号。接收器接受LVDS信号并将其转换为3 V CMOS信号。 LVDS输入缓冲器具有内部故障保护偏置,可将输出置于浮动接收器输入的已知H(高)状态。此外,DS90LV049H支持TRI-STATE功能,可在器件不使用时实现低空闲功耗状态。 EN和 EN 输入进行AND运算并控制TRI-STATE输出。启用对所有四个门都是通用的。 特性 高温+ 125°C工作范围 高达400 Mbps的开关速率 流程 - 通过引脚排列简化PCB布局 50 ps典型驱动器通道间偏斜 50 ps典型接收器通道间偏斜 3.3 V单电源设计 TRI-STATE输出控制 接收器输入的内部故障保护偏置 低功耗(3.3 V静态时为70 mW) 掉电时LVDS输出的高阻抗 符合TIA /EIA-644-A LVDS标准 采用薄型16引脚TSSOP封装 所有商标均为其各自所有者的财产。 参数 与其它产品相比 缓冲器、...
发表于 01-08 17:49 23次 阅读
DS90LV049H High Temperature 3V LVDS Dual Line Driver and Receiver Pair

SN55HVD233-SEP 采用增强型航天塑料封装且具有待机模式的耐辐射 3.3V CAN 收发器

SN55HVD233-SEP用于采用符合ISO 11898标准的控制器局域网(CAN)串行通信物理层的应用中。作为CAN收发器,该器件在差分CAN总线和CAN控制器之间提供发送和接收功能,信号速率高达1 Mbps。 SN55HVD233-SEP功能设计用于在特别恶劣的辐射环境中工作电线,过压,接地保护损耗至±16 V,以及过热(热关断)保护。该器件可在-7V至12V的共模范围内工作。此收发器是微处理器,FPGA或ASIC上的主机CAN控制器与卫星应用中使用的差分CAN总线之间的接口。 模式:R S ,引脚8 SN55HVD233-SEP提供三种操作模式:高速,斜率控制或低功耗待机模式。用户通过将引脚8直接接地来选择高速工作模式,允许驱动器输出晶体管尽可能快地接通和断开,不受上升和下降斜率的限制。用户可以通过以下方式调整上升和下降斜率。在引脚8处将电阻连接到地,因为斜率与引脚的输出电流成比例。斜率控制采用0Ω的电阻值实现,单端压摆率约为38 V /μs,最高压摆率为50kΩ,可实现约4 V /μs的压摆率。有关斜率控制的更多信息,请参阅应用和实现部分。 SN55HVD233-SEP进入低电流待机(仅监听)模式,在此模式下驱动器关闭如果对引脚8...
发表于 01-08 17:49 22次 阅读
SN55HVD233-SEP 采用增强型航天塑料封装且具有待机模式的耐辐射 3.3V CAN 收发器

DP83869HM 配备铜缆和光纤接口的高抗扰性千兆位以太网 PHY

DP83869HM器件是一款稳健耐用型全功能物理层(PHY)收发器,它集成了PMD子层以支持10BASE-Te,100BASE- TX和1000BASE-T以太网协议.DP83869还支持1000BASE-X和100BASE-FX光纤协议.DP83869HM经优化可提供ESD保护,超过了8kV IEC 61000-4-2标准(直接接触)。该器件通过简化GMII (RGMII)和SGMII连接到MAC层。在100M模式中,该器件允许设计人员使用MII以实现低延迟.RGMII /MII上的可编程集成终端阻抗有助于降低系统BOM。 DP83869HM支持托管模式下的媒介转换。在此模式下,DP83869HM可以运行1000BASE-X至1000BASE-T和100BASE-FX至100BASE-TX转换。 DP83869HM还支持从RGMII到SGMII和从SGMII到RGMII的桥接转换.DP83869HM符合TSN标准,可实现低延迟。 DP83869HM还可为MAC生成IEEE 1588同步帧检测指示。这样可以减少时间同步中的抖动,并帮助系统RGMII到SGMII桥接应用以及SGMII-RGMII桥接应用中使用DP83869。 特性 多种工作模式 支持媒介:铜缆和光纤 可在铜缆和光纤之间进行切换...
发表于 01-08 17:49 32次 阅读
DP83869HM 配备铜缆和光纤接口的高抗扰性千兆位以太网 PHY

DS90UB941AS-Q1 DSI 转 FPD-Link III 桥接串行器

DS90UB941AS-Q1是一款DSI到FPD-Link III桥式串行器,设计用于汽车信息娱乐应用。当与FPD-Link IIIDS90UB948-Q1,DS90UB928Q-Q1或DS90UB926Q-Q1解串器配合使用时,DS90UB941AS-Q1可通过经济高效的50Ω单端同轴电缆提供1或2通道高速串行流或超过100Ω,差分屏蔽双绞线(STP)和屏蔽双绞线(STQ)电缆。为了应对信息娱乐系统中显示器数量和方差的增加,DS90UB941AS-Q1可以支持对称和非对称分离。 DS90UB941AS-Q1可以通过两个差分对整合视频数据,简化系统设计,减少应用的互连尺寸和重量。 FPD-Link III接口支持视频和音频数据传输和全双工控制,包括I2C通信和同一高速串行链路上的多达8个I2S音频通道。通过使用低压差分信令,数据加扰和随机化来最小化EMI。 DS90UB941AS-Q1串行化MIPI DSI输入,支持高达2K的视频分辨率,WUXGA和1080p60,具有24位色深。在向后兼容模式下,DS90UB941AS-Q1支持高达WXGA和720p分辨率,在一条差分链路上具有24位色深。 特性 AEC-Q100符合汽车应用要求,具有以下结果: 器件温度等级2:-40℃至+105 ℃环境工...
发表于 01-08 17:49 16次 阅读
DS90UB941AS-Q1 DSI 转 FPD-Link III 桥接串行器

DS90LV028AH High Temperature 3V LVDS Dual CMOS Differential Line Receiver

DS90LV028AH是一款双CMOS差分线路接收器,专为需要超低功耗,低噪声和高数据速率的应用而设计。该器件采用低压差分信号(LVDS)技术,支持超过400 Mbps(200 MHz)的数据速率。 DS90LV028AH接受低电压(典型值350 mV)差分输入信号,并将其转换为3V CMOS输出电平。 DS90LV028AH采用流通式设计,便于PCB布局。 DS90LV028AH和配套LVDS线路驱动器DS90LV027AH为高速点对点接口应用提供了高功率PECL /ECL器件的新替代方案。 特性 -40°C至+ 125°C工作温度范围 &gt; 400 Mbps(200 MHz)开关速率 50 ps差分偏移(典型值) 0.1 ns通道间偏斜(典型值) 2.5 ns最大传播延迟 3.3V电源设计 流通引脚 关断LVDS输入的高阻抗 低功耗设计(18mW @ 3.3V静态) LVDS输入接受LVDS /CML /LVPECL信号 符合ANSI /TIA /EIA-644标准 以SOIC包提供 所有商标均为其各自所有者的财产。 参数 与其它产品相比 缓冲器、驱动器/接收器和交叉点   Device type Protocols Number of Tx Number of Rx Input signal Output signal Signaling Rate (Mbps) E...
发表于 01-08 17:49 17次 阅读
DS90LV028AH High Temperature 3V LVDS Dual CMOS Differential Line Receiver

DSLVDS1001 400Mbps LVDS 单路高速差动驱动器

DSLVDS1001器件是一款单通道,低压差分信号(LVDS)驱动器器件,专为需要低功耗,低噪声和高功耗的应用而设计数据速率。此外,短路故障电流也最小化。该器件采用LVDS技术设计,支持高达400 Mbps(200 MHz)的数据速率。 DSLVDS1001接受3.3 V LVCMOS /LVTTL输入电平并输出低电压(±350- mVtypical)具有低电磁干扰(EMI)的差分信号。该器件采用5引脚SOT-23封装,专为简化PCB布局而设计。 DSLVDS1001可与其同步单线接收器,DSLVDS1002或任何LVDS接收器配对,以提供高速LVDS接口。 特性 设计用于高达400 Mbps的信号传输 单3.3 V电源(3 V至3.6- V范围) 700-ps(100 ps典型值)最大差分偏差 1.5 ns最大传播延迟 驱动小摆幅(±350 mV)差分信号电平 断电保护(TRI-STATE输出) 流通引脚排列简化了PCB布局 低功耗(23 mW at典型值3.3 V) 5引脚SOT-23封装 符合或超过ANSI TIA /EIA-644-A标准 工业温度工作范围( - 40°C至+ 85°C) 所有商标均为其各自所有者的财产。 参数 与其它产品相比 缓冲器、驱动器/接收器和交叉点   Device type Protocol...
发表于 01-08 17:49 16次 阅读
DSLVDS1001 400Mbps LVDS 单路高速差动驱动器

TCAN1044-Q1 汽车类高速 CAN 收发器

TCAN1044x-Q1器件均为高速控制器局域网(CAN)收发器,满足ISO 11898-2:2016高速CAN规范的物理层要求,可提供CAN总线和CAN协议控制器之间的接口.TCAN1044x-Q1器件支持传统CAN和CAN FD网络,具有最高5Mbps的数据速率。部件号中带有“V”后缀的器件具有通过V IO 端子实现的内部逻辑电平转换功能,允许直接连接到1.8V,3.3V或5V控制器。这些器件具有低功耗待机模式,可通过ISO 11898-2:2016定义的唤醒模式( WUP)实现远程唤醒.TCAN1044x-Q1器件具有许多保护和诊断特性,包括热关断(TSD),驱动器显性超时(TXD DTO)和高达±42V的总线故障保护。 特性 AEC Q100:符合汽车类应用标准 器件温度等级1: -40°C至125° CT A 符合ISO 11898-2:2016和ISO 11898-5:2007物理层标准的要求 高达5Mbps的传统CAN和CAN FD支持 较短的对称传播延迟时间和快速循环次数增加时序余量 在有负载CAN网络中实现更快的数据速率< /li> I /O电压范围:1.8V至5V 优化了未上电时的性能 总线和逻辑终端为 结温范围:-40°C至150°C 可提供SOIC(8)封装和无引线VSON...
发表于 01-08 17:49 15次 阅读
TCAN1044-Q1 汽车类高速 CAN 收发器

TCAN1044V-Q1 汽车类高速 CAN 收发器

TCAN1044x-Q1器件均为高速控制器局域网(CAN)收发器,满足ISO 11898-2:2016高速CAN规范的物理层要求,可提供CAN总线和CAN协议控制器之间的接口.TCAN1044x-Q1器件支持传统CAN和CAN FD网络,具有最高5Mbps的数据速率。部件号中带有“V”后缀的器件具有通过V IO 端子实现的内部逻辑电平转换功能,允许直接连接到1.8V,3.3V或5V控制器。这些器件具有低功耗待机模式,可通过ISO 11898-2:2016定义的唤醒模式( WUP)实现远程唤醒.TCAN1044x-Q1器件具有许多保护和诊断特性,包括热关断(TSD),驱动器显性超时(TXD DTO)和高达±42V的总线故障保护。 特性 AEC Q100:符合汽车类 应用标准器件温度等级 1:–40°C 至 125°C TA符合 ISO 11898-2:2016 和 ISO 11898-5:2007 物理层标准的要求高达 5Mbps 的传统 CAN 和 CAN FD 支持较短的对称传播延迟时间和快速循环次数增加时序余量在有负载 CAN 网络中实现更快的数据速率I/O 电压范围:1.8V 至 5V优化了未上电时的性能总线和逻辑终端为高阻抗(运行总线或应用上无负载) 支持热插拔:总线和 RXD 输出端加电/断电时的无毛...
发表于 01-08 17:49 40次 阅读
TCAN1044V-Q1 汽车类高速 CAN 收发器

DS250DF230 25Gbps 多速率 2 通道重定时器

DS250DF230是一款具有集成信号调节功能的双通道多速率重定时器。该器件用于扩展有损耗且存在串扰的远距离高速串行链路的延伸长度并提升稳定性,同时实现10 -15 或更低的比特误码率(BER)。 DS250DF230各通道的串行数据速率均可独立锁定在19.6Gbps至25.8Gbps的连续范围内或者支持的任何子速率,包括12.16512Gbps,9.8304Gbps,6.144Gbps等关键数据速率。 DS250DF230具有单电源,且可将对外部组件的需求降至最低。这些功能可降低PCB布线的复杂程度并节省BOM成本。 DS250DF230的高级均衡特性包括一个低抖动3抽头发送有限脉冲响应(FIR)滤波器,一个自适应连续时间线性均衡器(CTLE)以及一个自适应判决反馈均衡器(DFE)。支持针对具有多个连接器且存在串扰的有损耗互连和背板进行扩展集成CDR功能可用于前端口光学模块应用,以重置抖动容许量并重定时高速串行数据.DS250DF230提供2x2交叉点,可提供主机通道交叉,扇出和多路复用选项。 < p> DS250DF230可通过SMBus或外部EEPROM进行配置。最多16个器件可使用“公共通道”配置共享一个EEPROM。非破坏性片上眼图监视器和PRBS发生器及校验器可用...
发表于 01-08 17:49 54次 阅读
DS250DF230 25Gbps 多速率 2 通道重定时器

DSLVDS1002 400Mbps LVDS 单路高速差动接收器

DSLVDS1002器件是一款单通道,低压差分信号(LVDS)接收器,专为需要低功耗,低噪声和高数据的应用而设计此外,短路故障电流也最小化。 DSLVDS1002器件旨在使用LVDS技术支持至少400 Mbps(200 MHz)的数据速率。 DSLVDS1002接受低压差分输入信号并输出​​3.3-VCMOS /TTL信号。接收器还支持开路,短路和端接(100Ω)输入故障保护。对于所有故障安全条件,接收器输出均为高电平。 DSLVDS1002采用5引脚SOT-23封装,专为简化PCB布局而设计。 DSLVDS1002可与其配套的单线驱动器DSLVDS1001或任何LVDS驱动器配对,以提供高速LVDS干扰。 特性 专为信号速率高达400 Mbps而设计 3.3 V单电源设计(3 V至3.6- V范围) 100-ps典型差分偏差 3.5 ns最大传播延迟 接受小摆幅差分信号电平 电源关断保护(LVDS输入端的高阻抗) 流通引脚排列简化了PCB布局 低功耗(3.3 V典型电源典型值为10 mW) < li> LVDS接收器输入接受LVDS /BLVDS /LVPECL输入 开路,短路和端接输入的故障安全保护 5引脚SOT-23封装 符合或超过ANSI TIA /EIA-644-A标准 工业温度操...
发表于 01-08 17:49 79次 阅读
DSLVDS1002 400Mbps LVDS 单路高速差动接收器

TLIN2441-Q1 具有集成电压稳压器和看门狗的汽车本地互联网络收发器

TLIN2441-Q1是一款LocalInterconnect网络(LIN)物理层收发器,具有集成的低压差稳压器,唤醒和保护功能,符合LIN 2.0标准,LIN 2.1,LIN 2.2,LIN2.2A和ISO /DIS17987-4.2标准.TLIN2441-Q1集成了基于窗口或超时的看门狗监控器,可通过PIN或SPI进行配置和控制。 TLIN2441-Q1看门狗由PIN捆扎或SPI控制,具体取决于上电时引脚9的状态。 LIN是一种单线双向总线,通常用于低速车载网络,数据速率高达20 kbps。 LIN接收器支持高达100 kbps的数据速率,用于行结束编程。 TLIN2441-Q1使用限流波形整形驱动器将TXD输入上的LIN协议数据流转换为LIN总线信号,从而减少电磁辐射(EME)。接收器将数据流转换为逻辑电平信号,通过开漏RXDpin发送到微处理器。 使用休眠模式可以实现超低电流消耗,允许通过LIN总线或引脚唤醒。 LIN总线有两种状态:显性状态(接近电压)和隐性状态(电池附近的电压)。在隐性状态下,LIN总线通过内部上拉电阻(45kΩ)和串联二极管拉高。从应用程序不需要外部上拉组件。主应用需要一个外部上拉电阻(1kΩ)和LIN规范的串联二极管。 特性 AEC Q...
发表于 01-08 17:48 18次 阅读
TLIN2441-Q1 具有集成电压稳压器和看门狗的汽车本地互联网络收发器

TLIN1441-Q1 具有集成电压稳压器和看门狗的汽车本地互联网络收发器

TLIN1441-Q1是一款LocalInterconnect网络(LIN)物理层收发器,具有集成的低压差稳压器,唤醒和保护功能,符合LIN 2.0标准,LIN 2.1,LIN 2.2,LIN2.2A和ISO /DIS17987-4.2标准.TLIN1441-Q1集成了一个基于窗口或超时的看门狗监控器,可通过PIN或SPI进行配置和控制。 TLIN1441-Q1看门狗由PIN捆扎或SPI控制,具体取决于上电时引脚9的状态。 LIN是一种单线双向总线,通常用于低速车载网络,数据速率高达20 kbps。 LIN接收器支持高达100 kbps的数据速率,用于行结束编程。 TLIN1441-Q1使用限流波形整形驱动器将TXD输入上的LIN协议数据流转换为LIN总线信号,从而减少电磁辐射(EME)。接收器将数据流转换为逻辑电平信号,通过开漏RXDpin发送到微处理器。 使用休眠模式可以实现超低电流消耗,允许通过LIN总线或引脚唤醒。 LIN总线有两种状态:显性状态(接近电压)和隐性状态(电池附近的电压)。在隐性状态下,LIN总线通过内部上拉电阻(45kΩ)和串联二极管拉高。从应用程序不需要外部上拉组件。主应用需要一个外部上拉电阻(1kΩ)和LIN规范的串联二极管。 特性 AEC...
发表于 01-08 17:48 17次 阅读
TLIN1441-Q1 具有集成电压稳压器和看门狗的汽车本地互联网络收发器

DSLVDS1048 3.3V LVDS 四通道高速差动线路接收器

DSLVDS1048器件是四通道CMOS流通差分线路接收器,设计用于需要超低功耗和高数据速率的应用。该器件采用低压差分信号(LVDS)技术设计,支持超过400 Mbps(200 MHz)的数据速率。 DSLVDS1048接受低电压(350 mV典型值)差分输入信号并将其转换为3 -V CMOS输出电平。接收器支持TRI-STATE功能,可用于多路复用输出。接收器还支持开路,短路和端接(100Ω)输入故障保险。所有故障安全条件下接收器输出均为高电平。 DSLVDS1048具有直通引脚排列,便于PCB布局。 EN和EN *输入进行AND运算并控制TRI-STATE输出。这些使能对所有四个接收器都是通用的。 DSLVDS1048和配套LVDS线路驱动器(例如,DSLVDS1047)为高速点对点接口应用提供了高功率PECL /ECL器件的新替代方案。 特性 专为高达400 Mbps的信号速率而设计 流通式引脚排列简化了PCB布局 150 ps通道间偏移(典型值) 100-ps差分偏移(典型值) 2.7 ns最大传播延迟 3.3-V电源设计 断电时高阻抗LVDS输入 低功耗设计(3.3 V静态时为40 mW) 可与现有的5 V LVDS互操作驱动程序 接受小摆动(典型值350 mV)差分...
发表于 01-08 17:48 17次 阅读
DSLVDS1048 3.3V LVDS 四通道高速差动线路接收器

DS90UB962-Q1 具有单个 CSI-2 输出的四路 3Gbps FPD-Link III 解串器集线器

DS90UB962-Q1是一款多功能传感器集线器,可通过FPD-Link III接口收集从4个独立视频数据流接收到的串行传感器数据。与DS90UB935A-Q1,DS90UB953-Q1,DS90UB913A-Q1或DS90UB933-Q1串行器搭配使用时,DS90UB962-Q1可接收来自一百万像素图像传感器(可在30Hz或60Hz帧速率下支持720p /800p /960p /1MP分辨率)的数据。接收的数据将聚合至符合MIPI CSI-2标准并与下游处理器互连的输出端。 DS90UB962-Q1包括4个FPD-Link III解串器,每个均支持通过具有成本效益的50Ω单端同轴或100Ω差分STP电缆进行连接。接收均衡器会自动适应以补偿电缆损耗特性,包括随时间推移而出现的劣化。 每个FPD-Link III接口还包括一个单独的低延迟双向控制通道,该通道可连续传送I2C,GPIO和其它控制信息。通用I /O信号(如摄像头同步和诊断功能所需的信号)也会利此双向控制通道。 DS90UB962-Q1符合适用于汽车应用的AEC-Q100标准,并采用具有成本效益且节省空间的64引脚VQFN封装 特性 符合面向汽车应用的 AEC-Q100 标准:器件温度等级 2:–40℃ 至 +105℃ 工作环境温度范围四路 3Gbps 解串...
发表于 01-08 17:48 19次 阅读
DS90UB962-Q1 具有单个 CSI-2 输出的四路 3Gbps FPD-Link III 解串器集线器

UC3611 四路肖特基二极管阵列

这种四二极管阵列设计用于通用单独二极管或高速大电流桥。它对高速功率MOSFET驱动器的输出特别有用,其中需要肖特基二极管来钳制由驱动线上的振铃引起的任何负偏移。这些二极管也非常适合用作驱动感性负载(如继电器)时的电压钳通过降低正向压降和缩短反向恢复时间,肖特基二极管技术的使用具有高效率。这种单片单芯片采用密封CERDIP和铜制造,可用于电机驱动应用中的电流续流路径。 - 塑料包装。 UC1611采用陶瓷设计,适用于-55°C至125°C环境,但峰值电流能力较低:塑料UC3611在0°C至70°C环境温度范围内具有较高的额定电流。 < H2>特性 Matched, Four-Diode Monolithic Array High Peak Current Low-Cost MINIDIP Package Low-Forward Voltage Parallelable for Lower VF or Higher IF Fast Recovery Time Military Temperature Range Available 参数 与其它产品相比 ESD 保护和 TVS 浪涌二极管   Rating Operating temperature range (C) Package Group Package size: mm2:W x L (PKG)   UC3611 UC1611 Catalog     Military     0 to 70     -55 to 125     PD...
发表于 01-08 17:47 23次 阅读
UC3611 四路肖特基二极管阵列

采用QT+OpenGL ES方案进行开发硬件平台

从特斯拉Model S问世,到最近的小鹏汽车G3的上市,在新能源汽车、智能互联网高速发展的背景下,越....
的头像 周立功单片机 发表于 01-08 13:43 1616次 阅读
采用QT+OpenGL ES方案进行开发硬件平台

什么是接口?为什么要做接口测试

接口其实app和前端交互用的,所以好多人问,为啥做功能测试还要测接口,目标是啥不是多此一举吗?首先我....
发表于 01-04 15:45 165次 阅读
什么是接口?为什么要做接口测试

常见的接口类型和接口测试

接口是指外部系统与系统之间以及内部各子系统之间的交互点。包括外部接口、内部接口,内部接口又包括:上层....
发表于 01-04 15:40 167次 阅读
常见的接口类型和接口测试

工业控制常用接口协议汇总

I/O接口是一电子电路(以IC芯片或接口板形式出现 ),其内有若干专用寄存器和相应的控制逻辑电路构成....
的头像 工控云学堂 发表于 01-02 13:51 796次 阅读
工业控制常用接口协议汇总

IoT如何点亮生活,周立功的智能家居和汽车方案到底有何惊喜?

在2018年12月20日的深圳国际电子展上,周立功全面的展示阿里云网关和蓝牙MESH等方案,阐述 I....
发表于 01-02 10:50 1272次 阅读
IoT如何点亮生活,周立功的智能家居和汽车方案到底有何惊喜?

Xilinx的四个pynq类和PL接口

Zynq在PS和PL之间有9个AXI接口。
的头像 工控资料窝 发表于 12-30 09:45 613次 阅读
Xilinx的四个pynq类和PL接口

JAVA程序设计教程之Java中系统类的详细资料说明

本文档的主要内容详细介绍的是JAVA程序设计教程之Java中系统类的详细资料说明主要内容包括了:1.....
发表于 12-29 16:20 299次 阅读
JAVA程序设计教程之Java中系统类的详细资料说明

四种USB接口的引脚定义和封装

本文未带插头封装尺寸,插头尺寸请参加官方文档ecn1-usb20-miniB-revd.pdf,下个....
发表于 12-22 11:07 764次 阅读
四种USB接口的引脚定义和封装

电脑上的usb接口区分方法

首先,第一步,我查看了设备管理器,果然,是这样的,可这并不能让我区别啊,我就去观察其外观,一看,发现....
发表于 12-22 10:42 637次 阅读
电脑上的usb接口区分方法

接口与类的相同点与区别

由于接口中的所有方法都是抽象方法,实现接口的非抽象类一定要实现接口中所有的抽象方法。
发表于 12-22 10:35 563次 阅读
接口与类的相同点与区别

VC串口通信技术与工程实践电子教材免费下载

通常情况下,人们是通过外部设备使用计算机的,但是由于种种原因,外设往往不能与CPU直接相连,它们之间....
发表于 12-21 08:00 180次 阅读
VC串口通信技术与工程实践电子教材免费下载

接口智能模型的算法表示和使用例子

接口在我们生活中很常见,比如数据输入输出的In,out,物品相互连接的端口等。这些用数值不太好表示,....
发表于 12-20 16:37 187次 阅读
接口智能模型的算法表示和使用例子

如何构建接口智能模型的函数详细资料说明

本文旨在通过接口智能模型,使用函数方法,构建成适应需求的整体程序。在《接口模型的算法表示和使用例子》....
发表于 12-19 14:05 186次 阅读
如何构建接口智能模型的函数详细资料说明

关于EnDat接口编码器数据采集设计的详细剖析

绝对式编码器利用自然二进制、循环二进制(格雷码)或PRC码对码盘上的物理刻线进行光电转换,将连接轴的....
发表于 12-15 09:54 547次 阅读
关于EnDat接口编码器数据采集设计的详细剖析

关于PowerPC和Dallas的时钟芯片接口设计的方法和电路浅析

在通信领域,摩托罗位的(如、、等)的应用越来越广泛。由于这些嵌入式CPU上集成着丰富的通信资源(如快....
发表于 12-15 09:42 519次 阅读
关于PowerPC和Dallas的时钟芯片接口设计的方法和电路浅析

Bootloader是什么Bootloader的介绍和过程详细解

本文档的主要内容详细介绍的是Bootloader是什么Bootloader的介绍和过程详细解主要内容....
发表于 12-11 17:33 200次 阅读
Bootloader是什么Bootloader的介绍和过程详细解

基于8051内核MCU的满足物联网应用需求的通信接口选择浅析

SiliconLabs已经在“采集、计算和通信”的指导思想下开发出各类兼容8051内核的8位MCU。....
发表于 12-09 10:54 334次 阅读
基于8051内核MCU的满足物联网应用需求的通信接口选择浅析

OpenGL教程之《OpenGL超级宝典》中文第七版资料免费下载

本文档的主要内容详细介绍的是OpenGL教程之《OpenGL超级宝典》中文第七版资料免费下载主要内容....
发表于 12-05 17:18 184次 阅读
OpenGL教程之《OpenGL超级宝典》中文第七版资料免费下载

3.5毫米耳机接口被抛弃后,手机呼吸灯为何也在悄悄离去

随着手机的发展,新技术和新功能越来越多。但与此同时,不少存在了很久的功能也正在被逐渐抛弃,比如FM收....
发表于 12-02 11:54 327次 阅读
3.5毫米耳机接口被抛弃后,手机呼吸灯为何也在悄悄离去

苹果新款iPad Pro弃用Lightning接口改用USB-C接口

新款iPad Pro除了对硬件进行升级、对设计做出改变之外,还弃用了苹果用了许多年的Lightnin....
发表于 12-02 11:34 975次 阅读
苹果新款iPad Pro弃用Lightning接口改用USB-C接口

手机充电接口类型

本文主要详细阐述了手机充电接口类型,分别有Mini USB接口、Micro USB接口、Dock接口....
的头像 陈翠 发表于 11-30 16:28 1830次 阅读
手机充电接口类型

皮尔磁的PMCtendo伺服电机现在支持HIPERFACE DSL(R)接口

在各种需要使用伺服电机的应用场景中,客户群体所关注的特点各有不同。空间狭小的环境关注产品体积,应用场....
发表于 11-29 08:50 226次 阅读
皮尔磁的PMCtendo伺服电机现在支持HIPERFACE DSL(R)接口

首发:周立功教授《嵌入式软件工程方法与实践丛书》在北航正式出版开售

11月24日,由周立功教授主导撰写的《嵌入式软件工程方法与实践丛书》前三本,共计200万字,在全国嵌....
的头像 人间烟火123 发表于 11-28 16:41 3280次 阅读
首发:周立功教授《嵌入式软件工程方法与实践丛书》在北航正式出版开售

USB接口封装技术的详细资料合集免费下载

本文档的主要内容详细介绍的是USB接口封装技术的详细资料合集免费下载。
发表于 11-28 08:00 127次 阅读
USB接口封装技术的详细资料合集免费下载

JAMOM桌面机器人JR2000系列专业术语集的详细资料合集免费下载

本文档的主要内容详细介绍的是JAMOM桌面机器人JR2000系列专业术语集的详细资料合集免费下载。本....
发表于 11-26 08:00 88次 阅读
JAMOM桌面机器人JR2000系列专业术语集的详细资料合集免费下载

几种数字视频接口的技术标准和发展应用

随着人们对图像显示质量要求的不断提升,传统的以模拟方式来传输和显示多媒体信号的技术已经不能满足人们的....
发表于 11-24 11:32 355次 阅读
几种数字视频接口的技术标准和发展应用

基于Thunderbolt技术的新一代视频接口设计方案

随着当今高清视频技术的发展和4K超高清标准的即将出台,视频制作过程中需要更多的带宽来传输源头(如相机....
发表于 11-24 11:24 274次 阅读
基于Thunderbolt技术的新一代视频接口设计方案

默认连接器的UML图和流程分析

所有的连接器都要实现Connector接口,必须创建Request对象和Response对象,htt....
发表于 11-24 09:01 169次 阅读
默认连接器的UML图和流程分析

MES系统价格与选型有什么关系

对于现在很多的制造型企业来说上一套MES系统成为不二之选,因为MES系统不仅能从总体上提高企业的信息....
发表于 11-22 08:00 90次 阅读
MES系统价格与选型有什么关系

如何将交换机的接口分配到vlan中

本文档的主要内容详细介绍的是如何将交换机的接口分配到vlan中。
发表于 11-20 08:00 125次 阅读
如何将交换机的接口分配到vlan中

接口测试和常用接口测试工具介绍

程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块....
发表于 11-18 10:10 457次 阅读
接口测试和常用接口测试工具介绍

java的comparator接口与Comparable接口的区别和相似点

当我们有这么一个personList,里面包含了person1, person2, persion3....
发表于 11-18 10:01 174次 阅读
java的comparator接口与Comparable接口的区别和相似点

关于交流充电桩接口和直流充电桩接口的简单剖析

本文将介绍两种国标充电桩接口——交流充电桩接口和直流充电桩接口,并围绕常用的交流充电接口,介绍相关的....
发表于 11-17 09:54 944次 阅读
关于交流充电桩接口和直流充电桩接口的简单剖析

重点介绍常用的4线SPI接口

SPI 是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以....
的头像 EDA365 发表于 11-13 16:45 1229次 阅读
重点介绍常用的4线SPI接口

HDMI相关标准组织进行了技术升级 USB-C接口可直接输出HDMI音视频

对于电子产品消费者而言,不同的接口和线缆、转换器令人头大。而在全世界,USB-C接口正在成为一个行业....
发表于 11-11 11:30 374次 阅读
HDMI相关标准组织进行了技术升级 USB-C接口可直接输出HDMI音视频

USB-C是传统接口向前迈进了一大步 采用USB-C接口的iPhone更加出色

苹果为何坚持独有的 Lightning 接口呢?原因实在是太多了。例如说,苹果希望能够获得更多的控制....
发表于 11-11 11:25 429次 阅读
USB-C是传统接口向前迈进了一大步 采用USB-C接口的iPhone更加出色

RS-232接口与各种不同的串口进行通信的通用串口适配器设计

串行通信的广泛应用可使各种传输设备有机地连成一体,能够安全可靠地进行数据交换和信息传递。但是由于各个....
发表于 11-10 11:09 429次 阅读
RS-232接口与各种不同的串口进行通信的通用串口适配器设计

利用FPGA实现旋转开关信号到PC/AT键码转换的设计

在专用电路设计中,为了方便操作与控制,要对电路设计提出各种具体要求。
的头像 电子发烧友网工程师 发表于 11-06 16:07 920次 阅读
利用FPGA实现旋转开关信号到PC/AT键码转换的设计

PRIZM LightTurn机械光学接口针对25Gbps及更高速率的链路进行了优化

在上个月的旧金山Photonics West展会上,US Conec展示了下一代PRIZM Ligh....
发表于 11-03 11:17 404次 阅读
PRIZM LightTurn机械光学接口针对25Gbps及更高速率的链路进行了优化

谷波推出的6款连接器 接口都是国际标准接口

随着5G时代的即将到来,高速通信技术将迎来快速发展时期,相关芯片或模块的测试需求日益井喷。目前业界已....
发表于 11-01 16:28 187次 阅读
谷波推出的6款连接器 接口都是国际标准接口

JTAG接口是什么和接口定义的详细资料概述

JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试....
发表于 10-30 08:00 129次 阅读
JTAG接口是什么和接口定义的详细资料概述