为什么定时器,串口这些东西被称之为外设

news2024/5/20 16:16:52

前言

(1)我们常常说定时器,串口是外设,但是很多人肯定有疑惑。定时器,串口不明明是存储在芯片里面的吗?
(2)为了弄明白这个,就需要追溯到上个世纪了。

上个世纪的CPU与串口,定时器的关系

(1)在上个世纪,集成技术还不够发达,当时arm公司将CPU集成成一块芯片就很不容易了。
(2)所以说,在上个世纪的时候,CPU就是一块芯片。而串口,定时器这种功能,也是一块块芯片,就如下图一样。(注意,下面这个只是做例子,并不是上个世纪的那种)
(3)所以说,在上个世纪,arm公司目标就是做一块cpu芯片。而ST,TI这种现在的芯片厂家,就是利用arm公司所产出的cpu芯片,在加上串口芯片,定时器芯片,I2C芯片等等芯片,做成一块“小型PCBA”。
(4)因此,除了cpu以外的串口,定时器,I2C芯片所有东西都可以称之为外设。

在这里插入图片描述

当今的CPU与串口定时器的关系

(1)随着时代的发展,集成电路的飞速发展。我们也有能力集成越来越小的芯片了。于是,ST,TI这种芯片厂家也能够将CPU,串口,定时器,I2C集成进入一块小小的芯片。
(2)因此,串口,定时器这种东西就改称呼了,叫做片上外设,或者说是片内外设。不过依旧很多人喜欢称之为外设。
(3)常见的片上外设有如下:
<1>UART
<2>SPI
<3>GPIO
<4>ADC
<5>DAC
<6>定时器/计数器

在这里插入图片描述

什么是片外外设

(1)现在我们知道了串口,定时器为什么叫做片上外设了。那么既然有片上外设。
(2)显而易见,片外外设就是芯片之外的外设。
(3)常见的片外外设:
<1>外部存储器:Flash、EEPROM、DRAM等,用于存储数据和程序代码。
<2>外部传感器:例如温度传感器、湿度传感器、加速度传感器、陀螺仪、压力传感器等,用于检测和测量环境参数。
<3>通信模块:包括Wi-Fi模块、蓝牙模块、Zigbee模块、LoRa模块等,用于实现设备之间的无线通信。
<4>显示屏:液晶显示屏(LCD)、有机发光二极管(OLED)、电子墨水屏等,用于显示图像和文本。
<5>摄像头和图像传感器:用于捕捉图像和视频。
<6>以太网控制器:用于实现有线网络连接,使设备能够通过以太网进行通信。
<7>SD卡控制器:用于连接SD卡,实现数据存储和读取。
<8>USB控制器:用于连接USB设备,如USB存储设备、键盘、鼠标等。
<9>音频编解码器:用于音频数据的输入和输出。
<10>电源管理模块:用于管理电源供应、电池充电等。
<11>时钟模块:用于提供精确的时钟信号。
<12>驱动器和执行器:如电机驱动器、LED驱动器、继电器等,用于控制外部执行器。

arm,芯片厂商,开发板厂商的关系

(1)通过上面的知识,想必依旧明白了这三个之间的关系了。但是我还是来总结一下。
(2)arm公司只做了一件事情,就是研发CPU。所以说,只要是arm同一系列的芯片,都是采用的相同的汇编代码。这也一定程度的可以理解,为什么你明明是用的STM32的库写的代码,但是却可以下载进入GD32的芯片中,并且顺利运行。(注意,这里是因为GD也做了对应的努力,如果你那STM32的程序是下载不进其他芯片的,因为寄存器不适配。如果你要强行下载也可也,但是要改很多寄存器地址,基本相当于重新写了一个库)
(3)芯片厂家就是将arm生成的cpu,再配合其他的片内外设,集成出一块小小的芯片。
(4)而开发板厂商,就是拿芯片厂商的小芯片,配合一些片外外设,集成出一块PCBA。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/814654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【玩转Python系列【小白必看】Python多线程爬虫:下载表情包网站的图片

文章目录 前言1. 导入模块和库2. 定义函数 download_image(url, filepath)3. 定义函数 get_page()4. 主程序入口 完整代码运行效果 结束语 前言 本文主要介绍了使用Python编写的多线程爬虫程序&#xff0c;用于下载表情包网站上的图片。通过解析网页内容和使用XPath定位&#x…

Spring优雅的在事务提交/回滚前后插入业务逻辑

业务背景 业务那边想要统计下我们这边每天注册商户成功和失败的数量&#xff0c;你看看怎么给他弄下这个功能 功能实现 TransactionSynchronizationManager.registerSynchronization&#xff0c;发现这是spring事务提供的注册回调接口的方法。 在事务注解方法中&#xff0c…

Java 版 spring cloud + spring boot 工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

python中有哪些比较运算符

目录 python中有哪些比较运算符 使用比较运算符需要注意什么 总结 python中有哪些比较运算符 在Python中&#xff0c;有以下比较运算符可以用于比较两个值之间的关系&#xff1a; 1. 等于 ()&#xff1a;检查两个值是否相等。 x y 2. 不等于 (!)&#xff1a;检查两个…

2024考研408-计算机网络 第一章-计算机网络体系结构学习笔记

文章目录 前言一、计算机网络概述1.1、概念及功能1.1.1、计算机网络的概念1.1.2、计算机网络的功能功能1、数据通信功能2、资源共享功能3、分布式处理功能4、提高可靠性&#xff08;分布式处理引申功能&#xff09;功能5、负载均衡&#xff08;也是分布式处理引申功能&#xff…

23 张图详解路由协议

路由的概念 在 TCP/IP 通信中&#xff0c;网络层的作用是实现终端的点对点通信。IP 协议通过 IP 地址将数据包发送给目的主机&#xff0c;能够让互联网上任何两台主机进行通信。IP 地址可以识别主机和路由器&#xff0c;路由器可以把全世界的网络连接起来。 什么是路由器 路由…

使用Flutter的image_picker插件实现设备的相册的访问和拍照

文章目录 需求描述Flutter插件image_picker的介绍使用步骤1、添加依赖2、导入 例子完整的代码效果 总结 需求描述 在应用开发时&#xff0c;我们有很多场景要使用到更换图片的功能&#xff0c;即将原本的图像替换设置成其他的图像&#xff0c;从设备的相册或相机中选择图片或拍…

【LeetCode 75】第十五题(1456)定长子串中元音的最大数目

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码运行结果&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 就难度而言&#xff0c;我觉得算不上中等&#xff0c;因为和上一题基本一致&#xff0c;只不过上一题是求最大平均数&#xff0c…

基于Django美食分享交流网站-计算机毕设 附源码10913

美食分享交流网站 摘 要 大数据时代下&#xff0c;数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求&#xff0c;利用互联网服务于其他行业&#xff0c;促进生产&#xff0c;已经是成为一种势不可挡的趋势。在美食分享的要求下&#xff0c;开发一款整体式结构的…

为什么计算机对浮点型数字计算存在误差

我们输入的十进制小数在计算机中都是以二进制进行存储。比如&#xff1a; 我们把0.25转换为二进制 0.25 * 2 0.5 取0 0.50 * 2 1.0 取1 所以十进制0.25的二进制应当为0.01但是我们把0.3转换为二进制存储 0.3 * 2 0.6 取0 0.6 * 2 1.2 取1 0.2 * 2 0.4 取0 0.4 * …

在腾讯云服务器OpenCLoudOS系统中安装mysql(有图详解)

1. 创建MySQL安装目录 mkdir -p app/soft//mysql 2. 进入MySQL安装目录&#xff0c;下载&#xff0c;安装 cd /app/soft/mysql/ wget http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar 得到安装包&#xff1a; 解压安装包&#xff1a; 查看系统是否自带…

使用Python机器学习预测外卖送餐时间!

大家好&#xff0c;我是小F&#xff5e; 现在的天气是一天比一天热&#xff0c;好多人周末休息在家的时候&#xff0c;就会选择点外卖&#xff0c;毕竟出去一趟又晒又热。 如果你太饿了&#xff0c;点餐太晚了&#xff0c;就可能去关注外卖员送餐到哪了&#xff0c;还有多少时间…

Kotlin泛型的协变与逆变

以下内容摘自郭霖《第一行代码》第三版 泛型的协变 一个泛型类或者泛型接口中的方法&#xff0c;它的参数列表是接收数据的地方&#xff0c;因此可以称它为in位置&#xff0c;而它的返回值是输出数据的地方&#xff0c;因此可以称它为out位置。 先定义三个类&#xff1a; op…

《golang设计模式》第一部分·创建型模式-03-建造者模式(Builder)

文章目录 1. 概念1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概念 1.1 角色 Builder&#xff08;抽象建造者&#xff09;&#xff1a;给出一个抽象接口&#xff0c;以规范产品对象的各个组成成分的建造。ConcreteBuilder&#xff08;具体建造者&#xff09;&a…

移动机器人和UGV的自主导航(Matlab代码Simulink)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Redis - 底层数据结构

简介 Redis 的底层数据结构主要以下几种&#xff1a; SDS(Simple Dynamic String, 简单动态字符串)ZipList(压缩列表)QuickList(快表)Dict(字典)IntSet(整数集合)ZSkipList(跳跃表) 简单动态字符串 在 Redis 中&#xff0c;并不会直接使用 C 语言自带的字符串结构作为实际的…

hvv 云安全专项检测工具

过去的一年里&#xff0c;我们可能已经注意到了一个明显的趋势&#xff1a;安全对抗正逐步迁移至云端。 如&#xff1a;今年hw的要求中增加了云资产相关的得分项计算 如&#xff1a;越来越多的安全工具开始专注于云安全检测方向 如&#xff1a;越来越多的安全峰会加入了云原…

“一种蒸发冷凝水去除氨氮装置”技术专利

蒸发器中随着母盐液的蒸浓&#xff0c;溶液温度升高&#xff0c;由于氨氮易挥发的特性&#xff0c;游离氨挥发于水蒸气中&#xff0c;从而导致冷凝水中氨氮浓度上升&#xff0c;而影响出水水质。 “一种蒸发冷凝水去除氨氮装置”专利(证书号&#xff1a;第19422309号;专利号&am…

【前端】javascript+html+css 家具销售网站(代码+报告)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

移动端个人中心UI设计

效果图 源码如下 页面设计 <template><div class"container"><!-- 顶部用户信息 start--><div class"header"><div class"user-info"><van-image class"user-img" round width"70" :sr…