侵权投诉

深入探讨 Hilt的工作原理

谷歌开发者 2021-10-19 15:11 次阅读
所涉主题

  • 多种 Hilt 注解协同工作并生成代码的方式。
  • 当 Hilt 配合 Gradle 使用,Hilt Gradle 插件如何在幕后工作以改善整体体验。

多种 Hilt 注解协同工作并生成代码的方式

Hilt 使用注解处理器生成代码。对注解的处理发生在编译器将源文件转换为 Java 字节码期间。顾名思义,注解处理器作用于源文件中的注解。注解处理器通常会检查注解,并根据注解类型来执行不同的任务,例如代码检查或生成新文件。 在 Hilt 中,三个最重要的注解就是:@AndroidEntryPoint@InstallIn 以及 @HiltAndroidApp
  • @AndroidEntryPoint
    https://dagger.dev/api/latest/dagger/hilt/android/AndroidEntryPoint.html

  • @InstallIn
    https://dagger.dev/api/latest/dagger/hilt/InstallIn.html

  • @HiltAndroidApp
    https://dagger.dev/api/latest/dagger/hilt/android/HiltAndroidApp.html

@AndroidEntryPoint

AndroidEntryPoint 在您的 Android 类中启用字段注入,例如 Activity、Fragment、View 以及 Service。

  • AndroidEntryPoint
    https://dagger.dev/api/latest/dagger/hilt/android/AndroidEntryPoint.html

如下示例所示,通过向 PlayActivity 添加 AndroidEntryPoint 注解,即可轻松将 MusicPlayer 注入到我们的 Activity 中。
@AndroidEntryPointclass PlayActivity : AppCompatActivity() {
  @Inject lateinit var player: MusicPlayer
  // ...}

如果您使用 Gradle,您可能熟悉上文所述的简化语法。但这并不是真实的语法,而是 Hilt Gradle 插件为您提供的语法糖。接下来我们将探讨更多关于 Gradle 插件的内容,在此之前,我们先来看看这个例子在没有语法糖的情况下应该是什么样子的。
@AndroidEntryPoint(AppCompatActivity::class)class PlayActivity : Hilt_PlayActivity() {
  @Inject lateinit var player: MusicPlayer
  // ...}

现在,我们看到原始基类 AppCompatActivityAndroidEntryPoint 注解的真实入参。PlayActivity 实际上继承了生成的类 Hilt_PlayActivity,该类由 Hilt 注解处理器生成,并包含所有执行注入操作需要的逻辑。针对上述内容生成的基类,其代码简化示例如下:

@Generated("dagger.hilt.AndroidEntryPointProcessor")class Hilt_PlayActivity : AppCompatActivity {
  override fun onCreate() {    inject()    super.onCreate()  }
  private fun inject() {    EntryPoints.get(this, PlayActivity_Injector::class).inject(this as PlayActivity);  }}
  • AppCompatActivity
    https://developer.android.google.cn/reference/androidx/appcompat/app/AppCompatActivity

在示例中,生成的类继承自 AppCompatActivity。然而,通常情况下生成的类会继承传入 AndroidEntryPoint 注解的类。这使得注入操作可以在任何您需要的基类中执行。

生成类的主要目的是处理注入操作。为了避免字段在注入之前被意外访问,有必要尽可能早地执行注入操作。因此,对于 Activity,注入操作在 onCreate 中被执行。

在 inject 方法中,我们首先需要一个注入器的实例——PlayActivity_Injector。在 Hilt 中,对于 Activity,注入器是一个入口点,我们可以使用 EntryPoints 工具类获得一个注入器的实例。

您可能想到了,PlayActivity_Injector 也是由 Hilt 注解处理器生成的。格式如下:

@Generated("dagger.hilt.AndroidEntryPointProcessor")@EntryPoint@InstallIn(ActivityComponent::class)interface PlayActivity_Injector {
  fun inject(activity: PlayActivity)
}

生成的注入器是一个被装载到 ActivityComponent 的 Hilt 入口点。它仅包含一个让我们注入 PlayActivity 实例的方法。如果您曾在 Android 应用中使用过 Dagger (不通过 Hilt),您可能会熟悉这些直接在组件上编写的注入方法。

@InstallIn

InstallIn 用于表明模块或者入口点应该被装载到哪个组件中。在如下示例中,我们将 MusicDataBaseModule 装载到 SingletonComponent 中:
@Module@InstallIn(SingletonComponent::class)object MusicDatabaseModule {  // ...}

  • InstallIn
    https://dagger.dev/api/latest/dagger/hilt/InstallIn.html

  • SingletonComponent
    https://dagger.dev/api/latest/dagger/hilt/components/SingletonComponent.html

通过 InstallIn,应用中任何传递依赖项内都可以提供模块和入口点。然而,部分情况下我们需要收集所有由InstallIn 注解提供的内容以获取每个组件的完整模块和入口点。 Hilt 在特定的包下生成了元数据注解,以便更轻松地收集和发现这些由 InstallIn 注解所提供的内容。生成的注解格式如下:
package hilt_metadata
@Generated("dagger.hilt.InstallInProcessor")@Metadata(my.database.MusicDatabaseModule::class)classMusicDatabaseModule_Metadata{}

通过将元数据放进特定的包下,Hilt 注解处理器可以轻松地在您应用中所有的传递依赖项中找到生成的元数据。至此,我们可以使用元数据注解中所包含的信息来找到由 InstallIn 注解所提供内容的自身引用。在本示例中指的是 MusicDatabaseModule

HiltAndroidApp

最后,HiltAndroidApp 注解可以让您的 Android Application 类启用注入。此处,您可以将其视为与 AndroidEntryPoint 注解完全相同。第一步,开发者仅需在 Application 类上添加 @HiltAndroidApp 注解。
@HiltAndroidAppclass MusicApp : Application {
  @Inject lateinit var store: MusicStore
}

  • HiltAndroidApp
    https://dagger.dev/api/latest/dagger/hilt/android/HiltAndroidApp.html

然而,HiltAndroidApp 还有另外一个重要的作用——生成 Dagger 组件。

当 Hilt 注解处理器遇到 @HiltAndroidApp 注解时,会在包装类中生成一些列组件,该包装类与 Application 类同名,前缀为 HiltComponents_。如果您之前使用过 Dagger,这些组件就是添加了 @Component@Subcomponent 注解的类,而在 Dagger 中通常需要您手动编写。

a1b92714-30aa-11ec-82a8-dac502259ad0.png

为了生成这些组件,Hilt 在上述元数据包中查找所有被添加 @InstallIn 注解的类。添加了 @InstallIn 注解的模块被放置在相应组件声明的模块列表中。添加了 @InstallIn 注解的入口点被放置在声明相应组件的父类型的位置。

从这里开始,Dagger 处理器接管并根据 @Component@Subcomponent 注解生成组件的具体实现。如果您曾使用过 Dagger (不通过 Hilt),那么大概率您已经直接处理了这些类。但是,Hilt 对开发者隐藏了这种复杂操作。

这是一篇关于 Hilt 的文章,我们就不详细介绍 Dagger 生成的代码了。如果您有兴趣,详情请查阅:

  • Ron Shapiro 和 David Baker 的演讲:

    https://www.youtube.com/watch?v=wCvXe2LsN5o

  • Dagger codegen 101 的备忘单:

    https://medium.com/androiddevelopers/dagger-code-generation-cheat-sheets-6b4fa2da4e7a

Hilt Gradle 插件

现在您已经了解了 Hilt 中代码生成的工作原理,接下来让我们看看 Hilt Gradle 插件。Hilt Gradle 插件执行很多有用的任务,包括字节码改写和类路径聚合。
  • Hilt Gradle 插件

    https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin

字节码改写

顾名思义,字节码改写就是改写字节码的过程。与注解处理只能生成新代码不同,字节码改写可以修改现有代码。如果谨慎使用,这将是非常强大的功能。

为了说明我们为何在 Hilt 中使用字节码改写,让我们回到 @AndroidEntryPoint

@AndroidEntryPoint(AppCompatActivity::class)class PlayActivity : Hilt_PlayActivity {
  override fun onCreate(…) {    val welcome = findViewById(R.id.welcome)  }
}
虽然继承 Hilt_PlayActivity 基类在实践中有效,但它可能会导致 IDE 报错。由于生成的类在您成功编译代码后才存在,因此您经常会在 IDE 中看到红色波浪线。此外,您将无法享有诸如方法重载这种自动补全的能力,并且您将无法访问基类中的方法。 失去这些功能不仅会降低您的编码速度,而且这些红色波浪线也会极大程度地分散您的注意力。 Hilt Android 插件通过在您的类上添加 AndroidEntryPoint 注解来启动字节码改写。启用 Hilt Android 插件后,您只需要在类上添加 @AndroidEntryPoint 注解,同时您可以使其继承普通的基类。
@AndroidEntryPointclass PlayActivity : AppCompatActivity { // <-- 无需引用生成的基类
  override fun onCreate() {    val welcome = findViewById(R.id.welcome)  }}

由于此语法无需引用生成的基类,所以不会引起 IDE 报错。在字节码改写期间,Hilt Gradle 插件会将您的基类替换为 Hilt_PlayActivity。由于此过程直接操作字节码,对开发者是不可见的。

然而,字节码改写仍有一些缺点:

  • 该插件必须修改底层字节码,而不是源代码,这容易出错。

  • 因为在改写操作时字节码已经被编译,所以问题通常出现在运行时而不是编译时。

  • 改写操作使调试变得复杂,因为当出现问题时,源文件可能并不代表当前正在执行的字节码。


由于这些原因,Hilt 尝试尽可能减少依赖字节码改写。

类路径聚合

最后,让我们看看 Hilt Gradle 插件的另一个有用功能: 类路径聚合。要了解什么是类路径聚合,以及为什么需要它,让我们看另一个示例。

在本示例中 :app 依赖一个独立的 Gradle 模块 :database:app:database 都提供了被 InstallIn 注解的模块。

如您所见,Hilt 会在特定的 hilt_metadata 包下生成元数据,在生成组件时,会用它们查找所有被添加 @InstallIn 注解的模块。

不使用类路径聚合的处理对于单层依赖关系仍然可以正常工作,现在让我们看看当添加另一个 Gradle 模块 :cache 作为 :database 的依赖项时会发生什么。

:cache 被编译时,虽然它会生成元数据,但在编译 :app 时该元数据无法使用,因为它是一个传递依赖项。因此,Hilt 无法知晓 CacheModule,它会意外地从生成的组件中排除。 当然,您可以使用 api 而不是 implementation 声明 :cache 的依赖关系,从而在技术层面解决这个问题,但不推荐这样做。使用 api 不仅会让增量构建变得更糟糕,还把维护工作也变成一场噩梦。 这就是 Hilt Gradle 插件发挥作用的地方。

即使使用 implementation,Hilt Gradle 插件也可以自动从 :app 的传递依赖项中聚合所有的类。

此外,与直接使用 api 相比,Hilt Gradle 插件还具有许多优点。

首先,对比在整个应用中手动使用 api 依赖关系,类路径聚合更不容易出错并且不需要维护。您可以像往常一样简单地使用 implementation,其余的将由 Hilt Gradle 插件处理。

其次,Hilt Gradle 插件仅在应用级别聚合类,因此与使用 api 不同,项目中库的编译不受影响。

最后,类路径聚合为您的依赖项提供了更好的封装,因为不可能在源文件中意外引用这些类,并且它们不会出现在代码补全提示中。

总结

本文我们揭示了各种 Hilt 注解协同工作以生成代码的方式。 我们还关注了 Hilt Gradle 插件,并了解它是如何在幕后使用字节码改写和类路径聚合,让 Hilt 的使用变得更安全、更轻松。
编辑:jq

原文标题:Hilt 工作原理 | MAD Skills

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

收藏 人收藏
分享:

评论

相关推荐

凌华科技推出首款搭载高通QRB5165处理器的SMARC计算机模块,实现低功耗高效能机器人和无人机应用

高效能的SMARC模块是新世代高计算、低功耗机器人和无人机的理想选择。
发表于 12-01 13:42 9次 阅读
凌华科技推出首款搭载高通QRB5165处理器的SMARC计算机模块,实现低功耗高效能机器人和无人机应用

HarmonyOS API Version 7版本特性说明

2020年9月11日,HarmonyOS SDK发布了首个Beta版本,支持基于HarmonyOS的华为智慧屏、智能穿戴、车机设备开发,让广大的...
发表于 12-01 10:35 0次 阅读

亚马逊AWS为车企打造数据服务

近日,亚马逊AWS推出了一项新的基于云计算的数据服务,推动其数字化转型工作。据了解,亚马逊将通过Al....
的头像 lhl545545 发表于 12-01 10:31 126次 阅读

高通骁龙8 Gen 1正式发布 已在官网亮相

今日早些时候,高通公司的全新一代骁龙8 Gen 1移动平台正式发布,处理器将由三星4nm制程工艺代工....
的头像 lhl545545 发表于 12-01 09:15 215次 阅读

怎样去新建一种STM32F103C8T6工程呢

怎样去新建一种STM32F103C8T6工程呢?有哪些操作步骤呢?...
发表于 12-01 07:53 0次 阅读

STM32程序代码的分区各有哪些特点呢

STM32程序代码的分区有哪些呢? STM32程序代码的分区各有哪些特点呢? ...
发表于 12-01 06:23 0次 阅读

德州仪器推出单芯片毫米波雷达满足许多应用场合的数据脱敏要求

TI 的单芯片毫米波雷达通过 CMOS 制成工艺技术,实现了传统雷达所不具备的高性价比优势,同时结合....
的头像 德州仪器 发表于 11-30 16:17 552次 阅读

HarmonyOS API Version 7版本特性说明

2020年9月11日,HarmonyOS SDK发布了首个Beta版本,支持基于HarmonyOS的华为智慧屏、智能穿戴、车机设备开发,让广大的...
发表于 11-30 15:19 101次 阅读
HarmonyOS API Version 7版本特性说明

三星Galaxy S22系列将于明年2月正式发布

近日,有媒体爆料了关于三星Galaxy S22系列手机的最新消息,称该款手机将于明年2月正式发布,预....
的头像 lhl545545 发表于 11-30 10:10 636次 阅读

如何去实现按键功能代码呢

按键代码实现了哪些功能呢? 如何去实现按键功能代码呢? ...
发表于 11-30 07:41 0次 阅读

与ARM处理器相关知识总结

RISC和CISC指令集有何区别呢? ARM处理器异常的处理过程是怎样的? ...
发表于 11-30 07:04 0次 阅读

Cortex-M3芯片处理器主要有哪些应用呢

AMBA是什么意思? Cortex-M3芯片处理器主要有哪些应用呢? ...
发表于 11-30 06:52 0次 阅读

带Wi-Fi监控的J1772电动汽车服务设备

本电动汽车服务设备(EVSE)参考设计为J1772 Level 1和Level 2充电设施增加了Wi....
发表于 11-29 17:51 78次 阅读
带Wi-Fi监控的J1772电动汽车服务设备

新品上市!研华强固型RTX核心模块ROM-3620成为便携式频谱分析仪应用首选

频谱分析是研究电信号频谱结构的仪器,用于信号失真度、调制度、谱纯度、频率稳定度和交调失真等信号参数的....
发表于 11-29 15:43 485次 阅读
新品上市!研华强固型RTX核心模块ROM-3620成为便携式频谱分析仪应用首选

Intel下代发烧平台将于明年二季度发布

近日,有媒体爆料消息称Intel下代发烧平台会在明年二季度发布,Intel在3月末发布的第11代酷睿....
的头像 lhl545545 发表于 11-29 09:31 446次 阅读

GPIO的API该如何去使用呢?有哪些注意事项

GPIO的API该如何去使用呢?有哪些注意事项? 如何使用HAL库的GPIO驱动呢? ...
发表于 11-29 06:41 0次 阅读

中断向量表在代码中如何构造出来呢

中断向量表的格式以及和中断号的对应关系是怎样的? 中断向量表在代码中如何构造出来呢?...
发表于 11-29 06:17 0次 阅读

怎样去编写MSP430F5529LP按键点亮LED灯的代码

MSP430F5529LP按键点亮LED灯代码#include void Key11_GPIO_Init();void Key21_GPIO_Init();void LED_I...
发表于 11-29 06:03 0次 阅读

工业以太网MPU:解决工业通信协议难点

MPU从一开始就定位在应当具有更高的的处理和运算能力。这样的定位也决定了MPU应该具备比较高的主频和....
的头像 Robot Vision 发表于 11-28 12:48 708次 阅读
工业以太网MPU:解决工业通信协议难点

浅析Seagate demo世界首款原生NVMe HDD

字关注我们 在近日举行的OCP峰会上,Seagate带来了世界首款原生NVMe HDD,标志着NVM....
的头像 SSDFans 发表于 11-26 16:13 364次 阅读
浅析Seagate demo世界首款原生NVMe HDD

小米12系列最新消息:或将在双十二发布

根据媒体的消息称,最新小米12系列有望于双12当天发布,原因是跟小米12数字契合等原因。而高通全新一....
的头像 lhl545545 发表于 11-26 15:45 500次 阅读

中兴Axon 30 Ultra航天版正式开售

近日,中兴举行了新品发布会随后正式发布了远航 20 Pro 5G 与中兴Axon 30 Ultra航....
的头像 lhl545545 发表于 11-26 14:24 580次 阅读

STM32定时器主从级联的应用示例分享

在STMCU中文社区有人咨询了类似下面的应用问题,有部分需求如下: 1.发送12个周期为500ns的....
的头像 茶话MCU 发表于 11-26 11:45 190次 阅读
STM32定时器主从级联的应用示例分享

Postman怎么去调试加密接口

众所周知,Postman 是一款非常流行且易用的 API 调试工具,在接口调试或测试时经常被使用针对....
的头像 Linux爱好者 发表于 11-26 10:01 202次 阅读
Postman怎么去调试加密接口

oppo的最新手机reno7什么时候上市

昨晚,OPPO在线上举行新品发布会,正式发布了Reno7系列,前置大提升,加量不加价。OPPO Re....
的头像 lhl545545 发表于 11-26 09:35 1200次 阅读

【RTT大赛作品连载】AB32VG1评估板 炫酷音乐播放器

AB32VG1评估板
的头像 磐石90 发表于 11-26 08:43 2608次 阅读
【RTT大赛作品连载】AB32VG1评估板 炫酷音乐播放器

Codasip采用Imperas技术来强化其RISC-V处理器验证优势

RISC-V是一种模块化架构,它可提供由许多不同基本指令、标准可选扩展项和自定义指令构成的组合,这引....
发表于 11-25 14:24 854次 阅读
Codasip采用Imperas技术来强化其RISC-V处理器验证优势

风口上的低代码的这些变化与趋势 低代码还需要解决哪些问题?

在企业服务领域,今年低代码的概念非常火爆,最直观的感受是,从前这类分享都是几十人讨论的小沙龙。今年各....
的头像 脑极体 发表于 11-25 08:46 753次 阅读

英特尔Meteor Lake处理器或将采用台积电3nm工艺

近日,有外媒称英特尔最新Meteor Lake的GPU核心可能会交由台积电公司代工,并且用上台积电的....
的头像 lhl545545 发表于 11-24 16:07 487次 阅读

荣耀60系列参数配置遭曝光 12月1日正式发布

近日,荣耀官方正式公布了荣耀60系列将于12月1日正式发布,荣耀60系列或将带来三款机型,分别是荣耀....
的头像 lhl545545 发表于 11-24 15:38 4785次 阅读

毫米波雷达信号处理系统的技术特点

毫米波雷达信号处理系统(WRSP)是杭州淞柏科技公司研制的全功能高端雷达信号处理器,该处理器采用了脱....
发表于 11-24 15:26 64次 阅读
毫米波雷达信号处理系统的技术特点

激光雷达信号处理系统

激光雷达信号处理系统(LDSP )是专为激光雷达研发的高性能、高集成、低功耗数字信号处理器。该信号处....
发表于 11-24 15:24 85次 阅读
激光雷达信号处理系统

雷达数字中频收发器的物理特性

数字中频收发器(IFTR )适用于各种捷变频、脉冲压缩雷达,数字阵雷达以及其他复杂波形雷达的发射接收....
发表于 11-24 15:20 18次 阅读
雷达数字中频收发器的物理特性

Microchip发布新款用于边缘嵌入式视觉设计的新一代开发工具

平台扩展了客户在从神经网络诊断到工业物联网 (IIoT) 和工厂自动化等应用中设计安全可靠系统的选择....
发表于 11-24 14:58 2170次 阅读
Microchip发布新款用于边缘嵌入式视觉设计的新一代开发工具

8051单片机驱动TM1620任意字符循环显示程序(详细注释版)

8051单片机驱动TM1620任意字符循环显示程序本人亲写,亲测可用/***************....
发表于 11-23 17:06 6次 阅读
8051单片机驱动TM1620任意字符循环显示程序(详细注释版)

蓝牙人员定位追踪系统解决方案,蓝牙定位技术应用全面

蓝牙人员定位追踪管理系统是基于位置的人员管理管理系统。苏州新导该系统采用技术先进的蓝牙定位技术、无线....
发表于 11-23 16:35 56次 阅读

基于AT89C52单片机的1602液晶显示程序

基于AT89C52单片机的1602液晶显示程序1602液晶显示#include#include “b....
发表于 11-23 16:20 19次 阅读
基于AT89C52单片机的1602液晶显示程序

使用 Conformal 的工程变更单 (ECO) 入门

所有现代数字逻辑都由组合逻辑和时序逻辑组成。组合逻辑由门组成,而顺序逻辑由触发器组成。不同的晶体管以....
的头像 物联网评论 发表于 11-22 18:04 1097次 阅读

全球半导体联盟 (GSA) 公布2021年度奖项提名名单

全球半导体联盟荣幸地宣布2021年度「颁奖典礼盛宴(GSA Awards Celebration)」....
发表于 11-22 16:21 389次 阅读
全球半导体联盟 (GSA) 公布2021年度奖项提名名单

使用OpenVINO™ 部署PaddleSeg模型库中的DeepLabV3+模型

      01 概述     本文是OpenVINO 工具套件与百度飞桨PaddlePaddle模....
的头像 英特尔物联网 发表于 11-22 14:58 210次 阅读
使用OpenVINO™ 部署PaddleSeg模型库中的DeepLabV3+模型

AMD推出一项空间放大解决方案超级分辨率锐画技术

对于资深游戏玩家来说,性能才是王道。无论是充满沉浸感的AAA游戏,还是对抗性强的电竞游戏,很多玩家希....
的头像 AMD中国 发表于 11-22 14:51 328次 阅读

搭载Radeon显卡的台式机处理器

玩游戏,你属于哪种类型呢? 手持AMD锐龙5 5600G处理器的小A,自然是“全能型”玩家,既能战场....
的头像 AMD中国 发表于 11-22 14:46 368次 阅读

大联大推出基于高通IPQ6018之无线智能WIFI6路由方案

2021年11月18日,致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布 其旗下诠鼎推....
的头像 大联大 发表于 11-22 14:45 474次 阅读
大联大推出基于高通IPQ6018之无线智能WIFI6路由方案

采用锐龙PRO 5000移动处理器的ThinkPad L系列笔记本

说起商务笔记本,一定不能忽略ThinkPad,它以一贯的典范,便携、轻薄特性,获得了大批办公人士的青....
的头像 AMD中国 发表于 11-22 14:37 413次 阅读

基于AMD的超级计算机数量较去年同期增长3.5倍

-- EPYC处理器广泛采用,基于AMD的超级计算机数量较去年同期增长3.5倍 -- 在今年的202....
的头像 AMD中国 发表于 11-22 14:17 429次 阅读

重点能耗在线监测系统在临商银行罗庄支行的研究与应用

安科瑞 黄飞蓉 18860995251 摘要:本文介绍临商银行罗庄支行,采用智能电力仪表采集配电现场....
发表于 11-22 14:06 35次 阅读
重点能耗在线监测系统在临商银行罗庄支行的研究与应用

浅析MATLAB和Simulink嵌入式视觉应用

嵌入式视觉是什么? 嵌入式视觉是指将图像处理和计算机视觉应用到嵌入式系统。 嵌入式视觉开发工作流程的....
的头像 MATLAB 发表于 11-22 14:04 737次 阅读
浅析MATLAB和Simulink嵌入式视觉应用

“曙光智算+ ”打造“Powered by 智算+”态势

作为数字时代算力基础设施,高端算力不仅在复杂的计算场景中备受亲睐,越来越多的企业和组织正尝试将高端计....
的头像 中科曙光 发表于 11-22 11:13 261次 阅读

什么是HarmonyOS低代码开发

什么是低代码开发?低代码开发主要特点有哪些?如何利用低代码开发原子化服务?本文带你一探究竟~ 一、什....
的头像 HarmonyOS官方合作社区 发表于 11-22 10:50 255次 阅读

数组和指针有什么区别

      一、能力错觉 当书本(或谷歌)摆在眼前时,大脑会产生错觉,以为学习材料也同样存入了大脑,....
的头像 嵌入式ARM 发表于 11-22 09:56 186次 阅读

代码防御性编程不得不知的技巧

1 什么是防御性编程?顾名思义,防御性编程是一种细致、谨慎的编程方法。为了开发可靠的软件,我们要设计....
的头像 嵌入式ARM 发表于 11-22 09:49 185次 阅读

如何用代码破解wifi密码

    昨晚,家里停网了……对于码农而言,停网了,这能忍?   于是,我打电话给修网络的,但对方说太....
的头像 嵌入式ARM 发表于 11-22 09:45 327次 阅读

如何用Python制作一个自动发送程序

事情是这样的: 昨天晚上,女朋友让我十二点催她睡觉。   不过,可是我实在太困了,熬不下去…… 是吧....
的头像 马哥Linux运维 发表于 11-22 09:28 199次 阅读

如何用C语言实现2048项目

  这篇文章主要为大家详细介绍了 C语言实现——《2048项目》 文中示例代码介绍的非常详细,具有一....
的头像 C语言编程学习基地 发表于 11-21 16:45 390次 阅读

如何用C语言实现国际象棋项目

  这篇文章主要为大家详细介绍了 C语言实现——《国际象棋项目》 , 它和中国象棋可不一样哟! 文中....
的头像 C语言编程学习基地 发表于 11-21 16:40 369次 阅读

如何用C语言实现球球大作战项目

  这篇文章主要为大家详细介绍了 C语言实现——《球球大作战项目》 ,文中示例代码介绍的非常详细,具....
的头像 C语言编程学习基地 发表于 11-21 16:36 369次 阅读

TOP500公布新一期的超级计算机排名 AMD和英伟达霸榜

电子发烧友网报道(文/周凯扬)在刚举办的SC21超算大会上,TOP500公布了新一期的超级计算机排名....
的头像 电子发烧友网 发表于 11-21 15:12 732次 阅读
TOP500公布新一期的超级计算机排名 AMD和英伟达霸榜

新一期超算排名AMD和英伟达霸榜

在刚举办的SC21超算大会上,TOP500公布了新一期的超级计算机排名。不过在前十这个范畴内,与今年....
的头像 电子发烧友网 发表于 11-21 15:11 583次 阅读

如果FPGA上只有一个GPIO该如何进行模拟测量

Q: 如果系统中的FPGA/微处理器上只剩下一个GPIO,该如何进行模拟测量? A: 可以使用电压-....
的头像 亚德诺半导体 发表于 11-21 10:02 365次 阅读
如果FPGA上只有一个GPIO该如何进行模拟测量

ZLG致远电子推出智能化组网充电解决方案

随着“国民交通工具”电瓶车保有量的持续稳步增长,安全充电问题迫在眉睫!为此,ZLG致远电子带来了基于....
的头像 ZLG致远电子 发表于 11-20 17:10 999次 阅读

STM32L552CCT6 STMicroelectronics STM32L5超低功耗微控制器

oelectronics STM32 L5超低功耗MCU设计用于需要高安全性和低功耗的嵌入式应用。这些MCU基于Arm树皮-M33处理器及其TrustZone,用于Armv8-M与ST安全实施结合。STM32 L5 MCU具有512KB闪存和256KB SRAM。借助全新内核和ST ART Acccelerator™, STM32 L5 MCU的性能进一步升级。这些STM32 L5 MCU采用7种形式封装,提供大型产品组合,支持高达125°C的环境温度。 特性 超低功耗,灵活功率控制: 电源范围:1.71V至3.6V 温度范围:-40°C至+85/+125°C 批量采集模式(BAM) VBAT模式下187nA:为RTC和32x32位储备寄存器供电 关断模式下,17nA(5个唤醒引脚) 待机模式下,108nA(5个唤醒引脚) 待机模式下,配备RTC,222nA 3.16μA停止2,带RTC 106μA/MHz运行模式(LDO模式) 62μA/MHz 运行模式(3V时)(SMPS降压转换器模式) ...
发表于 10-28 15:01 262次 阅读
STM32L552CCT6 STMicroelectronics STM32L5超低功耗微控制器

TLC1541 10 位 32kSPS ADC 串行输出微处理器外设/独立、11 通道

信息描述 The TLC1541 is a CMOS A/D converter built around a 10-bit switched-capacitor successive-approximation A/D converter. The device is designed for serial interface to a microprocessor or peripheral using a 3-state output with up to four control inputs [including independent SYSTEM CLOCK, I/O CLOCK, chip select (CS\), and ADDRESS INPUT]. A 2.1-MHz system clock for the TLC1541, with a design that includes simultaneous read/write operation, allows high-speed data transfers and sample rates up to 32 258 samples per second. In addition to the high-speed converter and versatile control logic, there is an on-chip, 12-channel analog multiplexer that can be used to sample any one of 11 inputs or an internal self-test voltage and a sample-and-hold function that operates automatically. The converters incorporated in the TLC1541 feature differential high-impedance reference inputs that facilitate ratiometric conversion, scaling, and...
发表于 04-18 20:07 189次 阅读

TLC1551 10 位,164kSPS ADC 并行输出,直接 I/F 至 DSP/微处理器,10 通道

信息描述The TLC1550x and TLC1551 are data acquisition analog-to-digital converters (ADCs) using a 10-bit, switched-capacitor, successive-approximation network. A high-speed, 3-state parallel port directly interfaces to a digital signal processor (DSP) or microprocessor (µP) system data bus. D0 through D9 are the digital output terminals with D0 being the least significant bit (LSB). Separate power terminals for the analog and digital portions minimize noise pickup in the supply leads. Additionally, the digital power is divided into two parts to separate the lower current logic from the higher current bus drivers. An external clock can be applied to CLKIN to override the internal system clock if desired. The TLC1550I and TLC1551I are characterized for operation from –40°C to 85°C. The TLC1550M is characterized over the full military range of –55°C to 125°C.特性Power Dissipation...40 mW Max Advanced LinEPIC™ Single-Po...
发表于 04-18 20:07 220次 阅读

TLC0838 8 位,20kSPS ADC 串行输出,微处理器外设/独立运算,远程 运算具有 数据链路,Mux 选项

信息描述These devices are 8-bit successive- approximation analog-to-digital converters, each with an input-configurable multichannel multiplexer and serial input/output. The serial input/ output is configured to interface with standard shift registers or microprocessors. Detailed information on interfacing with most popular microprocessors is readily available from the factory. The TLC0834 (4-channel) and TLC0838 (8-channel) multiplexer is software-configured for single-ended or differential inputs as well as pseudodifferential input assignments. The differential analog voltage input allows for common-mode rejection or offset of the analog zero input voltage value. In addition, the voltage reference input can be adjusted to allow encoding of any smaller analog voltage span to the full 8 bits of resolution. The TLC0834C and TLC0838C are characterized for operation from 0°C to 70°C. The TLC0834I and TLC0838I are characterized for operation from -40°...
发表于 04-18 20:07 257次 阅读

TLC0832 8 位,22kSPS ADC 串行输出,微处理器外设/独立运算,Mux 选项,具有 SE 或差动,2 通道

信息描述 These devices are 8-bit successive-approximation analog-to-digital converters. The TLC0831 has single input channels; the TLC0832 has multiplexed twin input channels. The serial output is configured to interface with standard shift registers or microprocessors. The TLC0832 multiplexer is software configured for single-ended or differential inputs. The differential analog voltage input allows for common-mode rejection or offset of the analog zero input voltage value. In addition, the voltage reference input can be adjusted to allow encoding any smaller analog voltage span to the full 8 bits of resolution. The operation of the TLC0831 and TLC0832 devices is very similar to the more complex TLC0834 and TLC0838 devices. Ratiometric conversion can be attained by setting the REF input equal to the maximum analog input signal value, which gives the highest possible conversion resolution. Typically, REF is set equal to VCC (done internally on...
发表于 04-18 20:07 366次 阅读

TLC0831 8 位,31kSPS ADC 串行输出,微处理器外设/独立运算,单通道

信息描述 These devices are 8-bit successive-approximation analog-to-digital converters. The TLC0831 has single input channels; the TLC0832 has multiplexed twin input channels. The serial output is configured to interface with standard shift registers or microprocessors. The TLC0832 multiplexer is software configured for single-ended or differential inputs. The differential analog voltage input allows for common-mode rejection or offset of the analog zero input voltage value. In addition, the voltage reference input can be adjusted to allow encoding any smaller analog voltage span to the full 8 bits of resolution. The operation of the TLC0831 and TLC0832 devices is very similar to the more complex TLC0834 and TLC0838 devices. Ratiometric conversion can be attained by setting the REF input equal to the maximum analog input signal value, which gives the highest possible conversion resolution. Typically, REF is set equal to VCC (done internally on...
发表于 04-18 20:06 507次 阅读

TLC0820A 8 位,392kSPS ADC 并行输出,微处理器外设,片上跟踪与保持,单通道

信息描述 The TLC0820AC and the TLC0820AI are Advanced LinCMOSTM 8-bit analog-to-digital converters each consisting of two 4-bit flash converters, a 4-bit digital-to-analog converter, a summing (error) amplifier, control logic, and a result latch circuit. The modified flash technique allows low-power integrated circuitry to complete an 8-bit conversion in 1.18 us over temperature. The on-chip track-and-hold circuit has a 100-ns sample window and allows these devices to convert continuous analog signals having slew rates of up to 100 mV/us without external sampling components. TTL-compatible 3-state output drivers and two modes of operation allow interfacing to a variety of microprocessors. Detailed information on interfacing to most popular microprocessors is readily available from the factory.特性 Advanced LinCMOSTM Silicon-Gate Technology 8-Bit Resolution Differential Reference Inputs Parallel Microprocessor Interface Conversion and A...
发表于 04-18 20:06 229次 阅读

TMS470MF03107 16/32 位 RISC 闪存微处理器

信息描述TMS470MF04207/03107 器件隶属于德州仪器 (TI) 的 TMS470M 汽车级 16/32 位精简指令集计算机 (RISC) 微控制器系列。 TMS470M 微控制器利用高效率的 Cortex™–M3 16/32 位 RISC 中央处理单元 (CPU) 提供了高性能,由此实现了很高的指令吞吐量并保持了更加出色的代码效率。 TMS470M 器件运用了大端字节序格式,在该格式中,一个字的最高有效字节被存储于编号最小的字节中,而最低有效字节则存储在编号最大的字节中。 高端嵌入式控制应用要求其控制器提供更多的性能并保持低成本。 TMS470M 微控制器架构提供了针对这些性能和成本需求的解决方案,并保持了低功耗。 TMS470MF04207/03107 器件的组成如下: 16/32 位 RISC CPU 内核 TMS470MF04207 高达 448K 字节的程序闪存(具有 SECDED ECC) TTMS470MF03107 高达 320K 字节的程序闪存(具有SECDED ECC) 具有 SECDED ECC 的 64K 字节闪存 (用于获得额外的程序空间或进行 EEPROM 仿真) 高达 24K 字节的静态 RAM (SRAM) (具有 SECDED ECC) 实时中断定时器 (RTI) 矢量中断模块 (VIM) 硬件...
发表于 04-18 20:03 260次 阅读

TMS470MF04207 16/32 位 RISC 闪存微处理器

信息描述TMS470MF04207/03107 器件隶属于德州仪器 (TI) 的 TMS470M 汽车级 16/32 位精简指令集计算机 (RISC) 微控制器系列。 TMS470M 微控制器利用高效率的 Cortex™–M3 16/32 位 RISC 中央处理单元 (CPU) 提供了高性能,由此实现了很高的指令吞吐量并保持了更加出色的代码效率。 TMS470M 器件运用了大端字节序格式,在该格式中,一个字的最高有效字节被存储于编号最小的字节中,而最低有效字节则存储在编号最大的字节中。 高端嵌入式控制应用要求其控制器提供更多的性能并保持低成本。 TMS470M 微控制器架构提供了针对这些性能和成本需求的解决方案,并保持了低功耗。 TMS470MF04207/03107 器件的组成如下: 16/32 位 RISC CPU 内核 TMS470MF04207 高达 448K 字节的程序闪存(具有 SECDED ECC) TTMS470MF03107 高达 320K 字节的程序闪存(具有SECDED ECC) 具有 SECDED ECC 的 64K 字节闪存 (用于获得额外的程序空间或进行 EEPROM 仿真) 高达 24K 字节的静态 RAM (SRAM) (具有 SECDED ECC) 实时中断定时器 (RTI) 矢量中断模块 (VIM) 硬件...
发表于 04-18 20:03 240次 阅读

TMS470MF06607 16/32 位 RISC 闪存微处理器

信息描述TMS470MF06607 器件是德州仪器 TMS470M 系列汽车级 16/32 位精简指令集计算机 (RISC) 微控制器产品的成员。 TMS470M 微控制器利用高效率的 ARM Cortex™–M3 16/32 位 RISC 中央处理单元 (CPU) 实现了高性能,由此在保持了更高代码效率的同时实现了很高的指令吞吐量。 高端嵌入式控制应用要求其控制器提供更多的性能并保持低成本。 TMS470M 微控制器架构提供了针对这些性能和成本需求的解决方案,并保持了低功耗。 TMS470MF06607 器件的组成如下:16/32 位 RISC CPU 内核 带有 SECDED ECC 的 640k 字节的总闪存 512K 字节程序闪存用于额外的程序空间或 EEPROM 仿真的 128K 字节的闪存 带有 SECDED ECC 的 64K 字节静态 RAM (SRAM) 实时中断定时器 (RTI) 矢量中断模块 (VIM) 硬件内置自测试 (BIST) 校验器,用于SRAM (MBIST) 和 CPU (LBIST) 64 位循环冗余校验器 (CRC) 带预置分频器的基于调频 0 引脚锁相环 (FMzPLL) 的时钟模块 两个多缓冲串行外设接口 (MibSPI) 两个具有本地互连网络接口 (LIN) 的 UART (SCI) 两个 CAN 控...
发表于 04-18 20:03 255次 阅读

TMS320F28027 Piccolo 微处理器

信息描述F2802x Piccolo 系列微控制器为 C28x 内核供电,此内核与低引脚数量器件中的高集成控制外设相耦合。 该系列的代码与以往基于 C28x 的代码相兼容,并且提供了很高的模拟集成度。 一个内部电压稳压器允许单一电源轨运行。 对 HRPWM 模块实施了改进,以提供双边缘控制 (调频)。 增设了具有内部 10 位基准的模拟比较器,并可直接对其进行路由以控制 PWM 输出。 ADC 可在 0V 至 3.3V 固定全标度范围内进行转换操作,并支持公制比例 VREFHI / VREFLO 基准。 ADC 接口专门针对低开销/低延迟进行了优化。特性亮点高效 32 位中央处理单元 (CPU) (TMS320C28x) 60MHz,50MHz,和 40MHz 器件 3.3V 单电源 集成型加电和欠压复位 两个内部零引脚振荡器 多达 22 个复用通用输入输出 (GPIO) 引脚 三个 32 位 CPU 定时器 片载闪存、SRAM、一次性可编程 (OTP) 内存 代码安全模块 串行端口外设 (SCI/SPI/I2C) 增强型控制外设 增强型脉宽调制器 (ePWM)高分辨率 PWM (HRPWM)增强型捕捉 (eCAP)模数转换器 (ADC)片上温度传感器比较器38 引脚和 48 引脚封装高效 32 位 CPU (TMS320C28x) 6...
发表于 04-18 20:03 689次 阅读

TMS320F28035 Piccolo 微处理器

信息描述F2803x Piccolo 系列微控制器为 C28x 内核和控制律加速器 (CLA) 供电,此内核和 CLA 与低引脚数量器件中的高集成控制外设向耦合。 该系列的代码与以往基于 C28x 的代码相兼容,并且提供了很高的模拟集成度。 一个内部电压稳压器允许单一电源轨运行。 对 HRPWM 模块实施了改进,以提供双边缘控制 (调频)。 增设了具有内部 10 位基准的模拟比较器,并可直接对其进行路由以控制 PWM 输出。 ADC 可在 0V 至 3.3V 固定全标度范围内进行转换操作,并支持公制比例 VREFHI / VREFLO 基准。 ADC 接口专门针对低开销/低延迟进行了优化。特性亮点高效 32 位中央处理单元 (CPU) (TMS320C28x) 60MHz 器件 3.3V 单电源 集成型加电和欠压复位 两个内部零引脚振荡器 多达 45 个复用通用输入输出 (GPIO) 引脚 三个 32 位 CPU 定时器 片载闪存,SRAM,OTP 内存 代码安全模块 串行端口外设 (SCI/SPI/I2C/LIN/eCAN) 增强型控制外设 增强型脉宽调制器 (ePWM) 高分辨率 PWM (HRPWM) 增强型捕捉 (eCAP) 个高分辨率输入捕获 (HRCAP) 增强型正交编码器脉冲 (eQEP) 模数转换器 (ADC...
发表于 04-18 20:03 1531次 阅读

TDA3 ADAS 应用处理器

信息描述 TI 的 TDA3x 片上系统 (SoC) 是经过高度优化的可扩展系列器件,其设计满足领先的高级驾驶员辅助系统 (ADAS) 要求。 TDA3x SoC 处理器集成了性能、低功耗、小尺寸和 ADAS 视觉分析处理功能的最优组合,支持广泛的 ADAS 应用,旨在推进更加自主流畅的驾驶体验。TDA3x SoC 支持业内最广泛的 ADAS 应用,包括前置摄像头、后置摄像头、环视系统、雷达和单一架构整合系统,将复杂的嵌入式视觉技术应用于现代化汽车。TDA3x SoC 整合了非单一型可扩展架构,其中包括 TI 定点和浮点 TMS320C66x 数字信号处理器 (DSP)、具有嵌入式视觉引擎 (EVE) 的视觉 AccelerationPac 和双路 ARM Cortex-M4 处理器。 该器件可采用不同的封装选项(包括叠加封装)实现小外形尺寸设计,从而实现低功耗配置。 TDA3x SoC 还集成有诸多外设,包括 LVDS 环视系统的多摄像头接口(并行和串行)、显示屏、控制器局域网 (CAN) 和千兆位以太网视频桥接 (AVB)。TDA3x 视觉 AccelerationPac 中的 EVE 承担了处理器的视觉分析功能,同时还降低了功耗。 视觉 AccelerationPac 针对视觉处理进行了优化,可通过 32 位...
发表于 04-18 20:02 528次 阅读

BELASIGNA 300 用于便携式通信设备的24位音频处理器

信息BelaSigna®300是一款超低功耗,高保真单声道音频处理器,适用于便携式通信设备,可在不影响尺寸或电池寿命的情况下提供卓越的音频清晰度。 BelaSigna 300为易受噪声和回声影响的设备提供了卓越音频性能的基础。其独特的专利双核架构使多种高级算法能够同时运行,同时保持超低功耗。微型超低功耗单芯片解决方案对电池寿命或外形尺寸几乎没有影响,是便携式设备的理想选择。具有领域专业知识和一流算法,安森美半导体和我们的解决方案合作伙伴网络可以帮助您快速开发和推出产品。 BelaSigna 300芯片提供全套开发工具,实践培训和全面技术支持。 针对音频处理优化的负载均衡双核DSP架构 超低功耗:通常为1-10 mA 微型外形尺寸:3.63 x 2.68 mm PCB面积,外部元件很少 输入级: - 88 dB系统动态范围可扩展至110 dB - A / D采样率从8.0到60 kHz - 4个独立通道 输出阶段: - 高保真D类输出直接驱动扬声器 - 25 mA最大声功率输出 灵活的输入输出控制器(IOC),用于卸载DSP上的数字信号移动< / li> 支持具有极低群延迟的高级自适应音频处理算法 128位AES高级加密以保护制造商和用户数据 与其他系统和HMI的无缝连接按钮,电位器和L...
发表于 04-18 19:43 303次 阅读

BELASIGNA 250 16位音频处理器,全立体声2声道,2声道输出

信息BelaSigna®250是一款完整的可编程音频处理系统,专为超低功耗嵌入式和便携式数字音频系统而设计。这款高性能芯片以BelaSigna 200的架构和设计为基础,可提供卓越的音质和无与伦比的灵活性。 BelaSigna 250集成了完整的音频信号链,来自立体声16位A / D转换器或数字接口,可接受信号通过完全灵活的数字处理架构,可以直接连接到扬声器的立体声模拟线路电平或直接数字电源输出。 独特的并行处理架构 集成转换器和电源输出 超低功耗:20 MHz时5.0 mA; 1.8 V电源电压 支持IP保护 智能电源管理,包括需要 88 dB系统动态范围且系统噪声极低的低电流待机模式 灵活的时钟架构,支持高达33 MHz的速度 全系列可配置接口,包括:IS,PCM,UART,SPI,IC,GPIO...
发表于 04-18 19:43 336次 阅读

BELASIGNA 300 AM 带AfterMaster HD的音频处理器

信息BelaSigna®300AM是一款基于DSP的音频处理器,能够在包含主机处理器和/或外部I 基于S的单声道或立体声A / D转换器和D / A转换器。 AfterMaster HD是一种实时处理音频信号的算法,可显着提高响度,清晰度,深度和饱满度。 br> BelaSigna 300 AM专门设计用于需要解决方案以克服小型或向下扬声器(包括平板电视或耳机)限制的应用。 通常4执行AfterMaster HD时为-8 mA 尺寸为3.63 mm x2.68 mm x 0.92 mm(包括焊球)提供 包括一个快速的I 基于C的界面,用于下载和AfterMaster HD算法的一般配置,一个高度可配置的PCM接口,用于将数据流入和器件,高速UART,SPI端口和5个GPIO。 这些器件无铅,无卤素/ BFR,符合RoHS标准...
发表于 04-18 19:42 377次 阅读

AD567 12位电流输出、微处理器兼容型DAC

信息优势和特点 单芯片结构 双缓冲锁存器支持兼容8位微处理器 快速建立时间:500 ns(最大值,至±1/2 LSB) 片内集成高稳定性嵌入式齐纳基准电压源 整个温度范围内保证单调性 整个温度范围内保证线性度:1/2 LSB(最大值,AD567K) 保证工作电压:±12 V或±15 V 欲了解更多信息,请参考数据手册产品详情AD567是一款完整的高速12位单芯片数模转换器,内置一个高稳定性嵌入式齐纳基准电压源和一个双缓冲输入锁存器。该转换器采用12个精密、高速、双极性电流导引开关和一个经激光调整的薄膜电阻网络,可提供快速建立时间和高精度特性。微处理器兼容性通过片内双缓冲锁存器实现。输入锁存器能够与4位、8位、12位或16位总线直接接口。因此,第一级锁存器的12位数据可以传输至第二级锁存器,避免产生杂散模拟输出值。锁存器可以响应100 ns的短选通脉冲,因而可以与现有最快的微处理器配合使用。AD567拥有如此全面的功能与高性能,是采用先进的开关设计、高速双极性制造工艺和成熟的激光晶圆调整技术(LWT)的结果。该器件在晶圆阶段进行调整,25°C时最大线性误差为±1/4 LSB(K级),整个工作温度范围内的线性误差为±1/2 LSB。芯片的表面下(嵌入式...
发表于 04-18 19:24 378次 阅读

AD557 DACPORT低成本、完整微处理器兼容型8位DAC

信息优势和特点 完整的8位DAC 电压输出:0 V至2.56 V 内部精密带隙基准电压源 单电源供电:5 V (±10%) 完全微处理器接口 快速建立时间:1 xxs内电压达到±1/2 LSB精度 低功耗:75 mW 无需用户调整 在工作温度范围内保证单调性 规定了 T min至T max的所有误差 小型16引脚DIP或20引脚PLCC封装 低成本产品详情AD557 DACPORT®是一款完整的电压输出8位数模转换器,它将输出放大器、完全微处理器接口以及精密基准电压源集成在单芯片上。无需外部元件或调整,就能以全精度将8位数据总线与模拟系统进行接口。AD557 DACPORT的低成本和多功能特性是单芯片双极性技术持续发展的结果。完整微处理器接口与控制逻辑利用集成注入逻辑(I2L)实现,集成注入逻辑是一种极高密度的低功耗逻辑结构,与线性双极性制造工艺兼容。内部精密基准电压源是一种取得专利的低压带隙电路,采用+5 V单电源时可实现全精度性能。薄膜硅铬电阻提供在整个工作温度范围内保证单调性工作所需的稳定性,对这些薄膜电阻进行激光晶圆调整则可实现出厂绝对校准,误差在±2.5 LSB以内,因此不需要用户进行增益或失调电压调整。新电路设计可以使电压在800 ns内达到±...
发表于 04-18 19:12 438次 阅读

AD558 电压输出8位数模转换器,集成输出放大器、完全微处理器接口和精密基准电压源

信息优势和特点 完整8位DAC 电压输出:两种校准范围 内部精密带隙基准电压源 单电源供电:+5 V至+15 V 完全微处理器接口 快速建立时间:1 ±s内电压达到±1/2 LSB精度 低功耗:75 mW 无需用户调整 在工作温度范围内保证单调性 规定了 Tmin至Tmax的所有误差 16引脚DIP和20引脚PLCC小型封装 激光晶圆调整单芯片供混合使用产品详情AD558 DACPORT®是一款完整的电压输出8位数模转换器,它将输出放大器、完全微处理器接口以及精密基准电压源集成在单芯片上。无需外部元件或调整,就能以全精度将8位数据总线与模拟系统进行接口。这款DACPORT器件的性能和多功能特性体现了近期开发的多项单芯片双极性技术成果。完整微处理器接口与控制逻辑利用集成注入逻辑(I2 L)实现,集成注入逻辑是一种极高密度的低功耗逻辑结构,与线性双极性制造工艺兼容。内部精密基准电压源是一种取得专利的低压带隙电路,采用+5 V至+15 V单电源时可实现全精度性能。薄膜硅铬电阻提供在整个工作温度范围内保证单调性工作所需的稳定性(所有等级器件),对这些薄膜电阻运用最新激光晶圆调整技术则可实现出厂绝对校准,误差在±1 LSB以内,因此不需要用户进行增...
发表于 04-18 19:12 1436次 阅读

TMS320C5545 TMS320C5545 定点数字信号处理器

信息描述这些器件是 TI C5000定点数字信号处理器 (DSP) 产品系列的成员之一,适用于低功耗应用。 选择。 定点 DSP 基于 TMS320C55x DSP 系列 CPU 处理器内核。C55x DSP 架构通过提升的并行性和节能性能实现高性能和低功耗。CPU 支持一个内部总线结构,此结构包含一条程序总线,一条 32 位读取总线和两条 16 位数据读取总线,两条数据写入总线和专门用于外设和 DMA 操作的附加总线。这些总线可实现在一个单周期内执行高达四次 16 位数据读取和两次 16 位数据写入的功能。此器件还包含四个 DMA 控制器,每个控制器具有 4 条通道,可在无需 CPU 干预的情况下提供 16 条独立通道的数据传送。每个 DMA 控制器在每周期可执行一个 32 位数据传输,此数据传输与 CPU 的运行并行并且不受 CPU 运行的影响。 C55x CPU 提供两个乘积累积 (MAC) 单元,每个单元在一个单周期内能够进行 17 位 × 17 位乘法以及 32 位加法。一个中央 40 位算术和逻辑单元 (ALU) 由一个附加 16 位 ALU 提供支持。ALU 的使用受指令集控制,从而提供优化并行运行和功耗的能力。C55x CPU 内的地址单元 (AU) 和数据单元 (DU) 对这些资源进...
发表于 04-18 19:06 234次 阅读