前言
(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。