侵权投诉

HDI接口中如何实现驱动入口

HarmonyOS开发者 2021-09-08 11:23 次阅读

HDI接口概述

HDF 驱动框架的一个重要功能是为系统提供稳定的统一的硬件接口,这样才能保证系统服务可以运行在不同硬件上而不需要额外的适配工作,而HDI(Hardware Device Interfaces)正是为了实现该目的而设计。

HDI 是对硬件功能的较高层次抽象接口,各类外设完成 HDI 接口定义后便只会在 HDI 的兼容性规则下进行变更,从而保证接口的稳定性。具体的驱动实现不需要再重复定义 HDI 接口,只需要按需实现即可接入系统功能。

在不同量级的 OpenHarmony 系统上,HDI 存在两种部署形态,IPC 模式和直通模式。

在轻量级 OpenHarmony 系统上,出于减小系统性能负载考虑,HDI 实现为用户态共享库,由系统服务直接加载 HDI 实现到自己进程中函数调用使用。HDI 实现封装具体的用户态-内核态交互过程,当需要访问驱动程序时使用 IO Service 请求将消息通过 system call 方式调用到内核驱动实现。

在 OpenHarmony 系统上,HDI 以独立服务进程方式部署,系统服务只加载 HDI 客户端实现到自己进程中,实际业务运行在独立进程中,客户端通过 IPC 与服务端交互,便于架构解耦、权限管理。

HDI接口实现

直通模式为函数实现方式,无论调用还是实现都不需要其他组件支持即可实现,这里将重点分析 IPC 模式的实现。

HDI发布

HDI IPC++ 模式基于 OpenHarmony 系统通信框架的通用模型,但是因为驱动很多时候涉及到底层操作和多系统迁移的场景而使用C语言编写,所以驱动框架还提供了 HDI 服务的 C 语言实现的基础组件,C++实现则主要使用系统通信框架组件。

HDI 服务发布基于 UHDF(用户态 HDF 驱动框架)实现,通用的服务发布实现如下。

1.实现驱动入口

int SampleDriverBind(struct HdfDeviceObject *deviceObject){ HDF_LOGE(“SampleDriverBind enter!”); static struct IDeviceIoService testService = { .Dispatch = SampleServiceDispatch, // 服务回调接口 }; deviceObject-》service = &testService; return HDF_SUCCESS;} int SampleDriverInit(struct HdfDeviceObject *deviceObject){ HDF_LOGE(“SampleDriverInit enter”); return HDF_SUCCESS;} void SampleDriverRelease(struct HdfDeviceObject *deviceObject){ HDF_LOGE(“SampleDriverRelease enter”); return;} struct HdfDriverEntry g_sampleDriverEntry = { .moduleVersion = 1, .moduleName = “sample_driver”, .Bind = SampleDriverBind, .Init = SampleDriverInit, .Release = SampleDriverRelease,};

HDF_INIT(g_sampleDriverEntry);

首先要添加一个 UHDF 驱动用于发布 IoService 服务,IoService 设备服务即为 HDI 服务实体。实现方式与 KHDF 驱动一致。

2.实现服务响应接口

int32_t SampleServiceOnRemoteRequest(struct HdfDeviceIoClient *client, int cmdId, struct HdfSBuf *data, struct HdfSBuf *reply){ switch (cmdId) { case SAMPLE_SERVICE_PING: return SampleServiceStubPing(client, data, reply); … … default: HDF_LOGE(“SampleServiceDispatch: not support cmd %d”, cmdId); return HDF_ERR_INVALID_PARAM; }}static int32_t SampleServiceDispatch(struct HdfDeviceIoClient *client, int cmdId, struct HdfSBuf *data, struct HdfSBuf *reply){ return SampleServiceOnRemoteRequest(client, cmdId, data, reply);}

当收到 HDI 调用时,服务响应接口“SampleServiceDispatch”将会被调用。

client 调用者对象,在用户态驱动中暂时未支持

cmdId 调用命令字,用于区分调用的 API

data 调用入参序列化对象,在 IPC 调用场景为 parcel 对象的 C 语言封装,入参需要使用序列化接口从 data 对象中获取后再使用

reply 调用出参对象,需要返回给调用的信息写入该序列化对象

如果 C++实现客户端可以使用下面接口将 sbuf 对象转换为 parcel 对象后操作:

int32_t SbufToParcel(struct HdfSBuf *sbuf, OHOS::MessageParcel **parcel);

3.UHDF 驱动配置

platform :: host { hostName = “sample_host”; priority = 50; sample_device :: device { device0 :: deviceNode { policy = 2; priority = 100; moduleName = “libsample_driver.z.so”; serviceName = “sample_driver_service”; } }}

参数说明:

host 一个 host 节点即为一个独立进程,如果需要独立进程,新增属于自己的 host 节点

policy 服务发布策略,HDI 服务设置为 2

moduleName 驱动实现库名

serviceName 服务名称,请保持全局唯一性

因为 HDI 服务 C 和 C++实现使用的 IPC 组件不一样,面向对象实现也不一致,所以在具体实现上存在一些差异。

HDI基础组件 UHDF 框架为了支持 HDI 实现,提供了以下基础组件(仅用于 C 语言 HDI 实现):

SBuf

SBuf 是同时支持 KHDF 和 UHDF 驱动 IoService 消息序列化的工具对象。在 UHDF IPC 通信场景中,SBuf 可以与系统 IPC 框架序列化对象 MessageParcel 对象(仅支持 C++)相互转换,从而实现 C 和 C++实现的 IPC 互通。

常用 API 如下:

struct HdfSBuf;struct HdfSbufImpl;struct HdfRemoteService;

/** * @brief HdfSBuf类型定义。 * * @since 1.0 */enum HdfSbufType { SBUF_RAW = 0, /* 用于用户态内核态通信的sbuf类型 */ SBUF_IPC, /* 用于跨进程通信的sbuf类型 */ SBUF_IPC_HW, /* 用于扩展的预留类型 */ SBUF_TYPE_MAX, /* sbuf类型最大值 */};

上述接口均有对应的写入接口,不再一一列举,可查阅官网API参考文档。

RemoteService

RemoteService 对象和系统 IPC 框架中的 IRemoteObject 对象(仅支持 C++)对应并可以相互转换,表示一个 IPC 对象。相关 API 说明:

// 消息分发器,用于服务端响应调用或者在客户端发起调用struct HdfRemoteDispatcher { int (*Dispatch)(struct HdfRemoteService *, int, struct HdfSBuf *, struct HdfSBuf *);};

// RemoteService 死亡回调对象struct HdfDeathRecipient { void (*OnRemoteDied)(struct HdfDeathRecipient *, struct HdfRemoteService *);};

struct HdfRemoteService { struct HdfObject object_; struct HdfObject *target; struct HdfRemoteDispatcher *dispatcher; bool isHw;};// 以自定义的消息分发器实例化一个RemoteServicestruct HdfRemoteService *HdfRemoteServiceObtain( struct HdfObject *object, struct HdfRemoteDispatcher *dispatcher);

// 回收RemoteService对象void HdfRemoteServiceRecycle(struct HdfRemoteService *service);

// 添加RemoteService的死亡通知,如果对应RemoteService的进程异常退出,HdfDeathRecipient的回调接口将被调用void HdfRemoteServiceAddDeathRecipient(struct HdfRemoteService *service, struct HdfDeathRecipient *recipient);

基于 RemoteService 实现一个服务端的示例:

int SampleServiceStubDispatch( struct HdfRemoteService* service, int code, struct HdfSBuf *data, struct HdfSBuf *reply){ // IPC 调用响应接口 int ret = HDF_FAILURE; switch (code) { case SAMPLE_IF_0: { // do something break; } default: { ret = HDF_ERR_INVALID_PARAM; } } return ret;}bool SampleStubConstruct(){ // 构造消息分发器,实现消息处理回调 static struct HdfRemoteDispatcher dispatcher = { .Dispatch = SampleServiceStubDispatch};// 实例化RemoteService inst-》remote = HdfRemoteServiceObtain((struct HdfObject *)inst, &dispatcher); if (inst-》remote == NULL) { HDF_LOGE(“Device service manager failed to obtain remote service”); return false;}… …

直接基于 RemoteService 实现服务端只适用于需要实现匿名 IPC 服务的情况,基于 UHDF 发布 HDI 服务只需要实现 Driver 绑定的 IoService 即可。

RemoteService 客户端对象只能从 SBuf HdfSBufReadRemoteService 接口获取。

HDI实现

Driver 为 HDI 服务的驱动入口实现

IoService 为 HDI 服务的服务入口实现,IoService 的 Dispatch 方法中调用 ServiceStub 中的真正服务响应接口(OnRemoteRequest)

ServiceStub 为服务端实现对象,主要处理与 IPC 相关的业务逻辑,在这里完成参数反序列化后调用真正的 Service 实现接口,即 ServiceImpl 接口

ServiceImpl 为 HDI 接口的真正实现,这里不关注 IPC 过程,只实现函数接口。

驱动框架提供了实现的样例代码,可参考 gitee driver 代码仓。

HDI接口调用

HDI驱动框架HDI接口

HDI 服务管理功能由驱动框架 DeviceManager 实现,所以驱动框架提供了 HDI 服务管理相关 HDI 接口。

C++实现:

namespace OHOS {namespace HDI {namespace ServiceManager {namespace V1_0 {

struct IServiceManager : public IRemoteBroker {public: DECLARE_INTERFACE_DESCRIPTOR(u“HDI.IServiceManager.V1_0”); // get()静态方法用于获取IServiceManager对象实例 static ::sptr《IServiceManager》 Get(); // GetService()接口是真正提供的HDI接口,用于查询并获取其他HDI服务的客户端对象 virtual ::sptr《IRemoteObject》 GetService(const char* serviceName) = 0;};} // namespace V1_0} // namespace ServiceManager} // namespace HDI} // namespace OHOS

C 实现:

#ifdef __cplusplusextern “C” {#endif /* __cplusplus */

struct HDIServiceManager { struct HdfRemoteService *remote;

struct HdfRemoteService *(*GetService)(struct HDIServiceManager *self, const char* serviceName);};

struct HDIServiceManager *HDIServiceManagerGet(void);void HDIServiceManagerRelease(struct HDIServiceManager *servmgr);

#ifdef __cplusplus}#endif /* __cplusplus */

C 语言因为缺少原生的面向对象支持,这里我们采用 OOC 的实现,函数方法 HDIServiceManagerGet/Release 用于 HDIServiceManager 对象的实例化和释放,HDI 接口关联在接口对象内部成员中,与 C++实现类似。

HDI客户端实现

HDI 客户端同时支持 C 和 C++实现,实现方法较为简单,只需 realize HDI 接口类即可。提供 C++实现基于系统 IPC 子系统的统一模型,C 语言基于 RemoteService 和 SBuf 组件实现,但是有一些公共的约定:

1.客户端提供接口对象,接口与对象绑定且必须与 HDI 一致

2.提供服务接口对象的实例化和释放接口。

3.客户端实现 IPC 过程,只为调用者暴露函数化接口。

HDI接口调用

HDI 客户端接口已经提供了服务获取接口,调用者调用服务获取接口后再调用服务对象方法即可完成 HDI 调用。

这里以服务管理 HDI 接口为例:

C++接口调用:

#include 《iservmgr_hdi.h》

void GetTestService(){ auto servmgr = IServiceManager::Get(); if (servmgr == nullptr) { HDF_LOGE(“failed to get IServiceManager”); return; }

auto sampleService = servmgr-》GetService(TEST_SERVICE_NAME); if (sampleService == nullptr) { HDF_LOGE(“failed to get TEST_SERVICE”); return; } // do something}

C 接口调用:

#include 《servmgr_hdi.h》

void GetTestService(){ struct HDIServiceManager *servmgr = HDIServiceManagerGet(); if (servmgr == nullptr) { HDF_LOGE(“failed to get IServiceManager”); return; }

struct HdfRemoteService *sampleService = servmgr-》GetService(servmgr, TEST_SERVICE_NAME); if (sampleService == nullptr) { HDF_LOGE(“failed to get TEST_SERVICE”); return; } // do something}

总结

本文介绍了 HDI 的总体方案,重点介绍了 HDI 的 IPC 模式具体实现方法和驱动框架能力,相信对读者理解和使用 HDI 有所帮助。

责任编辑:haq

原文标题:OpenHarmony HDF HDI基础能力分析与使用

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

华为开发者HarmonyOS零基础入门:属性函数布局变量

华为开发者HarmonyOS零基础入门:属性函数布局变量添加播放按钮,指定框高实现具体效果。
的头像 lhl545545 发表于 10-23 10:19 0次 阅读
华为开发者HarmonyOS零基础入门:属性函数布局变量

华为开发者大会2021,将带来多场技术论坛

华为开发者大会是华为面向全球开发者举办的年度盛会,10月23日-24日,华为还将带来多场技术论坛、松....
的头像 独爱72H 发表于 10-23 10:13 13次 阅读
华为开发者大会2021,将带来多场技术论坛

华为开发者HarmonyOS零基础入门:Word图片资源支持预览效果

华为开发者HarmonyOS零基础入门:Word图片资源支持预览效果,list主键函数可以做布局,呈....
的头像 lhl545545 发表于 10-23 10:12 28次 阅读
华为开发者HarmonyOS零基础入门:Word图片资源支持预览效果

华为开发者大会2021年 HarmonyOS架构演进与关键技术分论坛亮点

华为开发者大会2021年 HarmonyOS架构演进与关键技术分论坛 在华为开发者大会2021年上的....
的头像 inr999 发表于 10-23 10:05 22次 阅读
华为开发者大会2021年 HarmonyOS架构演进与关键技术分论坛亮点

华为开发者HarmonyOS零基础入门:四步实现HarmonyOS应用

华为开发者HarmonyOS零基础入门:四步实现HarmonyOS应用,可以自定义主键实际应用在开发....
的头像 lhl545545 发表于 10-23 10:05 38次 阅读
华为开发者HarmonyOS零基础入门:四步实现HarmonyOS应用

华为开发者HarmonyOS零基础入门:声明式UI开发

华为开发者HarmonyOS零基础入门:声明式UI开发,用户界面任何状态的改变都只有一种编码途径,完....
的头像 lhl545545 发表于 10-23 09:55 46次 阅读
华为开发者HarmonyOS零基础入门:声明式UI开发

华为开发者HarmonyOS零基础入门:HarmonyOS UI编程框架快速上手

华为开发者HarmonyOS零基础入门:从零开始HarmonyOS UI编程框架快速上手,用于帮助开....
的头像 lhl545545 发表于 10-23 09:50 58次 阅读
华为开发者HarmonyOS零基础入门:HarmonyOS UI编程框架快速上手

华为HDC2021分论坛-零基础入门HarmonyOS开发阶段学习

华为HDC2021分论坛-零基础入门HarmonyOS大会讲到:鸿蒙开发者建设,与三方建立合作技术社....
的头像 lhl545545 发表于 10-23 09:28 79次 阅读
华为HDC2021分论坛-零基础入门HarmonyOS开发阶段学习

华为开发者大会2021直播—— HarmonyOS Connect大事记

2021年10月22日~24日,华为将在中国松山湖举行2021华为开发者大会,聚焦鸿蒙系统、智能家居....
的头像 汽车玩家 发表于 10-23 09:27 70次 阅读
华为开发者大会2021直播—— HarmonyOS Connect大事记

华为HDC2021分论坛-零基础入门HarmonyOS开发介绍

华为HDC2021分论坛-零基础入门HarmonyOS开发者大会正在举行,如何高效从harmonyO....
的头像 lhl545545 发表于 10-23 09:22 75次 阅读
华为HDC2021分论坛-零基础入门HarmonyOS开发介绍

2021华为开发者大会together 鸿蒙生态亮点抢先看

华为开发者大会2021 Together在松山湖如期举行,会上,华为消费者业务总裁余承恩首先为我们演....
的头像 lhl545545 发表于 10-22 17:24 338次 阅读

华为开发者大会:HarmonyOS Connect生态设备安全与隐私保护

华为开发者大会2021上,发布了HarmonyOS Connect生态设备安全与隐私保护指导书。
的头像 电子魔法师 发表于 10-22 16:51 160次 阅读
华为开发者大会:HarmonyOS Connect生态设备安全与隐私保护

华为开发者大会2021直播余承东

现在鸿蒙 HarmonyOS 手机上,已经有了华为开发者大会 2021 的卡片,华为公布了华为开发者....
的头像 璟琰乀 发表于 10-22 15:56 332次 阅读

华为开发者大会2021:支持跨端应用高效开发

harmonyos sdk 支持跨端应用高效开发 汇聚多设备软硬传感信号,产生以用户为中心的感....
的头像 倩倩 发表于 10-22 15:39 93次 阅读
华为开发者大会2021:支持跨端应用高效开发

华为开发者大会2021鸿蒙os在哪场

华为开发者大会2021将在10月22日-24日举办,地点为东莞松山湖,鸿蒙os 3.0或将与我们见面....
的头像 璟琰乀 发表于 10-22 15:24 225次 阅读

华为开发者大会今日召开—基于HarmonyoS构建全新的应用与服务提供方式

华为开发者大会今日召开。10月22日-24日,华为将在松山湖举行2021华为开发者大会。此次大会将聚....
的头像 汽车玩家 发表于 10-22 15:20 115次 阅读
华为开发者大会今日召开—基于HarmonyoS构建全新的应用与服务提供方式

华为开发者大会2021鸿蒙智联预集成解决方案

在华为开发者大会2021上,华为余承东为大家介绍了鸿蒙智联预集成解决方案。鸿蒙智联预集成解决方案加速....
的头像 璟琰乀 发表于 10-22 15:12 203次 阅读
华为开发者大会2021鸿蒙智联预集成解决方案

华为开发者大会:全新harmonyOS智能座舱

鸿蒙提供弹性部署自动化工具轻松实现惭怍系统灵活组装,其组件主要有以下优势。
的头像 西西 发表于 10-22 15:11 160次 阅读
华为开发者大会:全新harmonyOS智能座舱

HarmonyOS3.0与HarmonyOS2.0在性能、投屏稳定性及操作性能的区别

HarmonyOS3.0与HarmonyOS2.0在设备的发现性能、高清投屏的稳定性及操作性能都有很....
的头像 电子魔法师 发表于 10-22 15:05 466次 阅读
HarmonyOS3.0与HarmonyOS2.0在性能、投屏稳定性及操作性能的区别

华为开发者大会来袭 精彩内容抢先看

华为官网消息,华为2021开发者大会将于10月22日在东莞松山湖举办。
的头像 独爱72H 发表于 10-22 14:57 97次 阅读

华为开发者大会2021年直播入口

自华为6月2日正式发布鸿蒙系统以来,已过去了近半年时间,这期间无论是系统优化还是使用体验都广受用户好....
的头像 汽车玩家 发表于 10-22 14:56 292次 阅读
华为开发者大会2021年直播入口

华为开发者大会2021亮点:鸿蒙设备已有1.5亿

今天下午两点半,华为开发者大会2021正式开始,华为余承东为大家带来了一个好消息,鸿蒙设备已有1.5....
的头像 璟琰乀 发表于 10-22 14:52 173次 阅读
华为开发者大会2021亮点:鸿蒙设备已有1.5亿

华为开发者大会2021,HarmonyOS给万物互联创新带来全新可能

华为开发者大会2021的主题围绕华为HarmonyOS系统展开,当前鸿蒙用户已经超1.5亿。
的头像 电子魔法师 发表于 10-22 14:52 106次 阅读
华为开发者大会2021,HarmonyOS给万物互联创新带来全新可能

华为开发者大会展示鸿蒙

近日,华为正式宣布了华为开发者大会 2021时间,在 10 月 22 日 -24 日在在东莞松山湖举....
的头像 璟琰乀 发表于 10-22 14:28 112次 阅读

华为2021开发者大会最新消息购票

华为2021开发者大会最新消息,开发者大会的详细资讯已经以卡片的形式推送到鸿蒙 HarmonyOS ....
的头像 lhl545545 发表于 10-22 14:27 165次 阅读

华为开发者大会2021在哪

华为已经公布华为开发者大会2021主题演讲内容和演讲嘉宾阵容等。本次开发者大会时间为10.22日到2....
的头像 璟琰乀 发表于 10-22 14:16 151次 阅读

华为开发者大会2021概念股

华为2021开发者大会举行在即。根据华为官网消息,华为2021开发者大会将于10月22日在东莞松山湖....
的头像 ss 发表于 10-22 11:56 302次 阅读

2021华为开发者大会时间

2021华为开发者大会马上就要举行了,在这场开发者大会上,鸿蒙系统3.0或将与我们见面,那么2021....
的头像 璟琰乀 发表于 10-22 11:36 373次 阅读

华为开发者大会分论坛入口

面对开发者的诉求,华为开发者大会作为全球移动生态领域开发者的年度顶级盛宴,每年都会有新的生态系统、开....
的头像 电子魔法师 发表于 10-22 11:35 163次 阅读

华为开发者大会2021入口

从今天下午起持续未来三天,华为开发者大会2021(Together)将在东莞松山湖举办,与全球开发者....
的头像 ss 发表于 10-22 11:34 524次 阅读

华为开发者大会2021杭州

华为将举行2021年度开发者大会,时间定在10.22日到24日,一共三天,地点位于东莞篮球中心,杭州....
的头像 璟琰乀 发表于 10-22 11:20 230次 阅读

华为开发者大会2021内容

华为开发者大会2021“HDCTogether”将于10月22日-24日在东莞松山湖举办。自2019....
的头像 ss 发表于 10-22 11:20 337次 阅读

2021华为开发者大会在哪里发布

华为开发者大会在哪里发布?2021华为开发者大会在广东东莞举行,HarmonyOS 3.0、智能家居....
的头像 lhl545545 发表于 10-22 11:11 191次 阅读

华为开发者大会9月10日举行受益股市值多少

华为2021开发者大会举行在即。根据华为官网消息,华为2021开发者大会将在今天下午在东莞松山湖举办....
的头像 ss 发表于 10-22 11:08 194次 阅读

2021华为开发者大会有手机么

在10月22日-24日,华为将会在东莞松山湖举办2021华为开发者大会,并且在开发者大会上有许多值得....
的头像 璟琰乀 发表于 10-22 11:06 201次 阅读

华为开发者大会2021鸿蒙平台

10月22日-24日,华为开发者大会2021将在东莞松山湖举办,与全球开发者携手共建智能世界的繁荣生....
的头像 汽车玩家 发表于 10-22 11:02 194次 阅读

HarmonyOS与OpenHarmony应用开发差异

DevEco Studio是HarmonyOS的配套的开发IDE,因为HarmonyOS是基于OpenHarmony开发的,因此,使用DevEco Studio(...
发表于 10-22 10:35 123次 阅读

华为开发者大会2020在哪举办

华为开发者大会2020在哪举办?华为开发者大会2020在东莞松山湖拉开帷幕,本次开发者大会华为分享了....
的头像 lhl545545 发表于 10-22 10:32 227次 阅读

2021华为开发者大会报名

HDC将持续3天,除了首日万众瞩目的主题演讲外,还有大大小小N场技术论坛,详细向开发者解析HMS C....
的头像 倩倩 发表于 10-22 10:11 152次 阅读

2021华为开发者大会门票

一周前开售的早鸟票,仅用了2小时四档门票便宣告售罄。正价票的火爆程度也不遑多让,上线仅8分钟,VIP....
的头像 倩倩 发表于 10-22 09:53 196次 阅读

2020华为开发者大会日程回顾

本次大会包括主题演讲、技术论坛和行业大咖的松湖对话,参会者还可以在 Codelabs 与全球开发者一....
的头像 倩倩 发表于 10-22 09:45 187次 阅读

华为开发者大会2021带来什么产品

华为官方公布了华为开发者大会2021将在中国松山湖举行,时间将定档在10月22日至10月24日,干货....
的头像 lhl545545 发表于 10-22 09:43 238次 阅读

华为开发者大会2020回顾

2020,5G、AI加速,智能互联时代悄然而至。HMS 7大领域全面开放、10+应用平台、全球激励计....
的头像 倩倩 发表于 10-22 09:29 139次 阅读

你知道蓝牙芯片都有哪些吗

BK3431是什么?有何功能?BK3260是什么?有何功能?...
发表于 10-22 09:26 0次 阅读

华为开发者大会最新消息

HarmonyOS 3.0将会亮相华为开发者大会2021,并带来垂直加速文件系统、软硬件协同高性能I....
的头像 倩倩 发表于 10-22 09:03 126次 阅读

直流电机的速度调节原理是什么

直流电机的速度调节原理是什么? 步进电机的原理是什么?...
发表于 10-22 07:45 0次 阅读

浅析蓝牙的三种类型以及应用

什么是蓝牙技术? 蓝牙技术与Zigbee技术有哪些区别? ...
发表于 10-22 07:21 0次 阅读

华为开发者大会受益公司有哪些

华为2021开发者大会举行在即,根据华为官网消息,华为2021开发者大会将于10月22日在东莞松山湖....
的头像 ss 发表于 10-21 17:51 611次 阅读

华为开发者大会2020发布了什么产品

华为开发者大会2020在9月10日正式举行,会上发布了关于HarmonyOS 2.0、EMUI 11....
的头像 lhl545545 发表于 10-21 17:35 228次 阅读

华为开发者大会直播地址

在中国松山湖,华为将举行2021华为开发者大会,时间为10 月 22 日至 10 月 24 日。那么....
的头像 璟琰乀 发表于 10-21 17:34 276次 阅读

2021年华为开发者大会的时间与地点详情

2021年度华为开发者大会“HDC Together”将于10月22日-24日在东莞松山湖举办。 本....
的头像 汽车玩家 发表于 10-21 17:19 915次 阅读

华为开发者大会观后感

10月22日-24日,华为将会举办2021开发者大会,华为会与大家共同探讨全场景智慧体验的未来。华为....
的头像 璟琰乀 发表于 10-21 17:10 219次 阅读

2021华为开发者大会的日期

华为每年要举行两个开发者大会:HDC.Cloud 和 HDC.Together,其中 HDC.Clo....
的头像 汽车玩家 发表于 10-21 17:01 368次 阅读

华为开发者大会时间是什么时候

华为很快就会举行华为2021开发者大会,那么华为开发者大会时间是什么时候呢?下面小编就为大家解答。 ....
的头像 璟琰乀 发表于 10-21 16:52 357次 阅读

HarmonyOS服务卡片开发-入口设置

一、简介在原子化服务开发的过程中,新建的原子化服务四张卡片都是进入一个页面,那有什么方法让不同卡片进入不同入口,通过修改...
发表于 10-21 09:56 101次 阅读
HarmonyOS服务卡片开发-入口设置

怎样去设计一个STM32F429+RGB888接口的屏幕呢

怎样去设计一个STM32F429+RGB888接口的屏幕呢?有哪些操作步骤?...
发表于 10-21 08:51 0次 阅读

HarmonyOS服务卡片开发--模版及使用场景汇总

服务卡片提供了多种类型的模板,开发者可以根据需要展示的信息类型灵活选择模板,快速构建服务卡片。Grid Pattern(宫格卡片模...
发表于 10-20 17:20 163次 阅读

【热门直播】HDC.Together 华为开发者大会 2021

报名地址: 直播时间:10月22日14:30 报名地址: 直播时间:10月23日 09:00-18:00 直播介绍:面向IoT智能硬件开...
发表于 10-20 10:51 1950次 阅读
【热门直播】HDC.Together 华为开发者大会 2021

STM32F429是怎样使用LTDC接口去控制ILI9806的

RGB888控制LCD和8080控制LCD有何区别? STM32F429是怎样使用LTDC接口去控制ILI9806的? ...
发表于 10-20 08:09 0次 阅读

DC的主要功能或者主要作用是什么

什么是DC?DC能接受多少种输入格式?DC的主要功能或者主要作用是什么?如何配置DC?...
发表于 10-20 07:02 0次 阅读

MC74HCT32A 具有LSTTL兼容输入的四路2输入或门

T32A的引脚排列与LS32完全相同。设备输入与标准CMOS或LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL载荷 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2.0 V至6.0 V 低输入电流:1 A CMOS器件的高抗噪性能 符合JEDEC标准第7A号要求 芯片复杂性:48 FET或12个等效门 PbFree软件包可用 应用 桌面 电路图、引脚图和封装图
发表于 08-02 21:02 114次 阅读

MC74HCT20A 双路4输入与非门 TTL

T20A的引脚排列与LS20完全相同。器件输入与标准CMOS LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL负载 直接输出到CMOS,NMOS和TTL接口 工作电压范围:4.5 V至5.5 V 低输入电流:1uA CMOS器件的高抗噪性能 这些是无铅设备 应用 桌面,白色家电等 电路图、引脚图和封装图
发表于 08-02 20:02 92次 阅读

MC74HCT86A 具有LSTTL兼容输入的四路2输入异或门

能硅栅CMOS MC74HCT86A的引脚排列与LS86完全相同。器件输入与标准CMOS输出和LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL载荷 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2至6 V 低输入电流:1 mA CMOS器件的高抗噪性能 符合JEDEC标准第7A号要求 芯片复杂性:56 FET或14个等效门 这些是无铅设备 应用 桌面 电路图、引脚图和封装图
发表于 08-02 20:02 123次 阅读

MC74HCT08A 具有LSTTL兼容输入的四路2输入AND门

能硅栅CMOS。 MC74HCT08A的引脚排列与LS08完全相同。设备输入与标准CMOS或LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL载荷 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2.0 V至6.0 V 低输入电流:1μA CMOS器件的高抗噪性能 符合JEDEC标准第7A号要求 芯片复杂性:24 FET或6个等效门 这些是无铅设备 应用 桌面 电路图、引脚图和封装图
发表于 08-02 19:02 118次 阅读

MC74HC86A 四路2输入异或门

能硅栅CMOS MC74HC86A的引脚排列与LS86相同;该器件的功能类似于MM74C86和L86,但具有不同的引脚排列。器件输入与标准CMOS输出兼容;使用上拉电阻,它们与LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL负载 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2至6 V 低输入电流:1 mA CMOS器件的高抗噪性能 符合JEDEC标准第7A号规定的要求 芯片复杂性: 56个FET或14个等效门 无铅封装可用 电路图、引脚图和封装图...
发表于 08-02 19:02 308次 阅读
MC74HC86A 四路2输入异或门

MC74HC30A 8输入与非门

30的引脚排列与LS30完全相同。器件输入与标准CMOS输出兼容,带上拉电阻,与LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL负载 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2至6 V 低输入电流:1μA CMOS器件的高抗噪性能 这些是无铅设备 电路图、引脚图和封装图
发表于 08-02 19:02 149次 阅读

MC74HC32A 四路或门

能硅栅CMOS MC74HC32A的引脚排列与LS32完全相同。器件输入与标准CMOS输出兼容;使用上拉电阻,它们与LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL负载 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2至6V 低输入电流:1mA CMOS器件的高抗噪性能 符合JEDEC标准第7A号要求 芯片复杂性:48个FET或12个等效电路盖茨 无铅包装可用 电路图、引脚图和封装图...
发表于 08-02 19:02 203次 阅读
MC74HC32A 四路或门

MC74HC20A 双路4输入与非门

20A的引脚排列与LS20完全相同。器件输入与标准CMOS输出兼容;使用上拉电阻,它们与LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL负载 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2 V至6 V 低输入电流:1 uA CMOS器件的高抗噪性能 这些是无铅设备 电路图、引脚图和封装图
发表于 08-02 19:02 178次 阅读

MC74HC11A 三路3输入与门

11A的引脚排列与LS11完全相同。器件输入与标准CMOS输出兼容;使用上拉电阻,它们与LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL负载 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2 V至6 V 低输入电流:1 A CMOS器件的高抗噪性能 这些是无铅设备 应用 桌面,白色商品等 电路图、引脚图和封装图
发表于 08-02 19:02 146次 阅读

MC74HC10A 三路3输入与非门

10A的引脚排列与LS10完全相同。器件输入与标准CMOS输出兼容;使用上拉电阻,它们与LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL负载 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2至6 V 低输入电流:1μA CMOS器件的高抗噪性能 符合要求JEDEC标准第7号A 芯片复杂性:36 FET或9个等效门 PbFree包可用 电路图、引脚图和封装图
发表于 08-02 19:02 79次 阅读

MC74HC08A 四路2输入与门

能硅栅CMOS MC74HC08A的引脚排列与LS08完全相同。器件输入与标准CMOS输出兼容;使用上拉电阻,它们与LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL负载 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2至6V 低输入电流:1mA CMOS器件的高抗噪性能 符合JEDEC标准第7A号要求 芯片复杂性:24个FET或6个等效电路盖茨 无铅包装* * 电路图、引脚图和封装图...
发表于 08-02 18:02 253次 阅读
MC74HC08A 四路2输入与门

MC74HC02A 四路2输入NOR门

能硅栅CMOS MC74HC02A的引脚排列与LS02完全相同。器件输入与标准CMOS输出兼容;使用上拉电阻,它们与LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL负载 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2.0至6.0 V 低输入电流:1.0 mA CMOS器件的高抗噪性能 符合JEDEC标准第7A号规定的要求 芯片复杂性: 40个FET或10个等效门 无铅封装可用 电路图、引脚图和封装图...
发表于 08-02 18:02 227次 阅读
MC74HC02A 四路2输入NOR门

MC74HC00A 四路2输入与非门

输入与非门。高性能硅栅CMOS。 MC74HC00A的引脚排列与LS00完全相同。器件输入与标准CMOS输出兼容;使用上拉电阻,它们与LSTTL输出兼容。 特性 输出驱动能力:10 LSTTL负载 直接输出到CMOS,NMOS和TTL接口 工作电压范围:2至6 V 低输入电流:1μA CMOS器件的高抗噪性能 符合JEDEC标准第7号A要求 芯片复杂性:32个FET或8个等效门 PbFree包可用 电路图、引脚图和封装图...
发表于 08-02 17:02 191次 阅读
MC74HC00A 四路2输入与非门

MM74HCT00 四路2输入NAND门

T00是通过使用先进的硅栅极CMOS技术制造的NAND门,可提供CMOS的固有优势 - 低静态功率和宽电源范围。此器件的输入和输出特性以及引脚分配与标准74LS逻辑MM-4HCT器件专用于TTL和NMOS组件与标准CMOS器件之间的接口。另外,这些兼容器件也是LS-TTL器件的插件替换件,而且可用于降低现有设计的功耗。 特性 TTL,LS引脚分配和阈值兼容 快速开关:t PLH ,t PHL = 14 ns(典型值) 低功率:直流时为10μW 高扇出,10个LS-TTL负载 应用 此产品是一般用途,适用于许多不同的应用。 电路图、引脚图和封装图...
发表于 08-02 16:02 233次 阅读

MM74HCT08 四路2输入与门

T08是通过使用先进的硅栅极CMOS技术制造的逻辑功能器件,可提供CMOS的固有优势 - 低静态功率和宽电源范围。此器件的输入和输出特性以及引脚分配与标准74LS逻辑系列兼容。保护所有输入端,以免受到内部二极管至V CC 和地线的静电放电损坏.MM74HCT器件专用于TTL和NMOS组件与标准CMOS器件之间的接口。另外,这些器件也是LS-TTL器件的插件替换件,而且可用于降低现有设计的功耗。 特性 TTL,LS引脚分配和阈值兼容 快速开关:t PLH ,t PHL = 12 ns(典型值) 低功率:直流时为10μW 高扇出,10 LS-TTL负载 应用 本产品是一般用途,适用于许多不同的应用。 电路图、引脚图和封装图...
发表于 08-02 11:02 246次 阅读

MM74HCT05 六路转换器(开路漏极)

T05是通过使用先进的硅栅极CMOS技术制造的逻辑功能器件,可提供CMOS的固有优势 - 低静态功率和宽电源范围。此器件的输入和输出特性以及引脚分配与标准DM74LS逻辑系列兼容.MM74HCT05开路漏极六路转换器要求增加一个外部电阻以实现有线 - 或非功能。保护所有输入端,以免受到内部二极管至V CC 和地线的静电放电损坏MM74HCT器件专用于TTL和NMOS组件与标准CMOS器件之间的接口。另外,这些器件也是LS-TTL器件的插件替换件,而且可用于降低现有设计的功耗。 特性 开路漏极实现有线 - 或非功能 LS- TTL引脚和阙值兼容 10 LS-TTL负载的高扇出 典型传播延迟:t PZL (带1 kohm阻)10 nst PLZ (带1 kohm电阻)8 ns 应用 此产品是一般用途,适用于许多不同的应用。 电路图、引脚图和封装图...
发表于 08-02 11:02 150次 阅读

FSA646 2:1 MIPI D-PHY(2.5Gbps)4数据通道开关

是一款4数据通道,移动产业处理器接口(MIPI),D-PHY开关。该器件为单刀双掷(SPDT)开关,专门针对两个高速或低功耗MIPI信号源之间的切换进行了优化.FSA646特别针对MIPI规格设计,可连接至CSI或DSI模块。 特性 开关类型:SPDT(10x) 信号类型: MIPI,D-PHY V CC :1.5至5.0 V 输入信号:0至1.3 V R ON : 6Ω典型HS MIPI 6Ω典型LP MIPI △R ON :0.1Ω典型LP& HS MIPI R ON_FLAT :0.9Ω典型HS& LS MIPI I CCZ :1μA(最大值) I CC :32μA(典型值) OIRR:-24 dB(典型值) 带宽:2500 MHz最小值 C ON :15 pF(典型值) Xtalk:-30 dB(典型值) 在相同输出下,反向转换的时滞:6 ps(典型值) 电路图、引脚图和封装图...
发表于 08-01 01:02 229次 阅读

NLAS3799B 模拟开关 双DPDT 超低RON

99B是一款超低RON双DPDT和一个0.5欧姆RON模拟开关。该器件专为低工作电压,扬声器输出的高电流切换和手机应用的耳机而设计。它可以切换平衡的立体声输出。 NLAS3799B可以在单声道模式下处理平衡麦克风,扬声器,铃声发生器。该设备包含一个先断后合(BBM)功能。 特性 单电源供电,1.65至4.5 V 直接来自LiON电池的功能 最大值击穿电压:5.5 V 低静态功率 NLAS3799B与2.8 V芯片组的接口; NLAS3799BL与1.8 V芯片组的接口 应用 终端产品 手机扬声器/麦克风切换 铃声 - 芯片/放大器切换 四个不平衡(单端)开关 立体声平衡(推挽)切换 手机 VoIP手机 液晶电视 电路图、引脚图和封装图...
发表于 07-31 22:02 198次 阅读
NLAS3799B 模拟开关 双DPDT 超低RON

NL3HS2222 高速USB 2.0 DPDT开关

222是一款DPDT交换机,针对便携式系统中的高速USB 2.0应用进行了优化。它具有超低的导通电容,CON = 7.5 pF(典型值),带宽高于950 MHz。它针对使用单个USB接口connectorto路由多种信号类型的应用进行了优化。两个通道的CON和RON都很低,允许NL3HS2222将任何速度的USB数据传输信号传递到中等电阻的终端,如外置耳机。 应用 USB 2.0开关 电路图、引脚图和封装图
发表于 07-31 21:02 321次 阅读
NL3HS2222 高速USB 2.0 DPDT开关

NCP4208 同步降压转换器 8相 VR11.1可编程 带I2C接口

8是一款集成电源控制IC,具有I 2 C接口。 NCP4208是一款高效,多相,同步降压开关稳压控制器,可帮助设计高效率和高密度解决方案。 NCP4208可编程为1,2,3,4,5,6,7或8相操作,允许构建多达8个互补降压开关级。 特性 优势 快速增强PWM 出色的负载转换性能 应用 终端产品 CPU Vcor​​e 台式电脑,服务器 电路图、引脚图和封装图
发表于 07-29 17:02 264次 阅读
NCP4208 同步降压转换器 8相 VR11.1可编程 带I2C接口