前面的文章有介绍过arm内核的几款单片机(或mcu,或mpu),现在在嵌入式领域,早期的各种小众的内核基本上被淘汰,或者主导的公司放弃掉了,现在主流还是arm,且risc-v也在逐步增长。如果现在计划学习和熟悉嵌入式系统,那么选择arm和risc-v的主控芯片开始是比较合适的。而对单片机(或mcu,或mpu)掌握并通过项目实践精通了之后,如果实际项目用到其他内核的芯片的选型和开发,切换起来也是很快速的。
其实在arm和risc-v之前,嵌入式(或者说是单片机)开发,以前是51内核的芯片最流行,现在有些学校教材或者项目可能还是51内核的。51内核单片机以8位微处理器为主,在计算执行比较简单的应用中,能够将成本做到非常低廉,所以市场上有些产品甚至是维护中的项目,还是有些是51内核单片机的。
所以不论是单片机、或mcu、或mpu,还是cpu,其核心就是计算机系统的计算执行单元,不同的名称有的是因为时代发展演进出来的名字,有的是表示其计算处理的能力一种简单划分,但是并没有完全能够明确的界限,更多的时候是在用于做比较的语境下。除了计算处理能力的不同,另外就是芯片设计和制造的复杂程度不同,有的电路比较少,有的则是非常复杂,需要采用的工艺也需要最尖端才行。
本文以回顾的视角,从开发的角度对一片之前实际用来做过项目开发的51内核的单片机进行介绍,对于熟悉的是一种回顾,对于没了解过的,可以当做是以往开发的故事来看。
本文目录
contents
1
关于c8051f320
2
c8051f320的时钟工作机制
01
关于c8051f320
c8051f320微控制器(mcu)具有板载通用串行总线(usb2.0)功能控制器,集成收发器和片上时钟恢复。usb应用不需要外部电阻、晶体、稳压器、eeprom或其他组件。该mcu包括一个功能强大的8051核心,具有25mhz的性能,以及16 kb flash和2.25 kb ram。片上包括10位、200 ksps adc,±1.5内部振荡器,2个比较器,和一个温度传感器。在7x7毫米的qfp32中集成了额外的通信接口和丰富的模拟功能。
0****2
c8051f320的时钟工作机制
时钟是mcu的心脏,c8051f320是带有内置时钟的,可以不用外接晶振电路就可以驱动mcu工作。c8051f320的许多功能都是与时钟相关的,像有时序要求的通信:串口,spi等,以及定时器等。我在电路设计时就考虑用内部时钟的,因此没有设计外部时钟电路,下面也会重点记录内部时钟的使用。c8051f320的时钟:可编程内部时钟+外部晶振驱动电路+4倍时钟乘法器。c8051f320的时钟分为系统时钟sysclk和usb时钟usbclk。
可编程内部时钟:这是系统复位后的默认时钟,通过oscicl寄存器编程。
f_base是复位后的内部时钟,c8051f320是12mhz,deta_t是时钟周期。系统时钟可以由内部时钟1分频/2分频/4分频/8分频,具体的分频设置在oscicn寄存器的ifcn位,系统复位后默认使用的是8分频。
oscicl复位值会使内部时钟频率为12mhz(12mhz适用于usb通信),而系统时钟复位后默认是对内部时钟进行8分频,即1.5mhz。可以通过软件修改内部时钟值,但修改后就不适合用于usb通信了。
内部时钟有挂起模式,当往oscicn的suspend位写1后内部时钟就挂起了。
外部时钟驱动电路:可以是外部晶振,陶瓷谐振器,电容或rc网络。cmos时钟也可以提供时钟输入。使用外部时钟时需要配置对应的端口引脚的功能。
4倍时钟乘法器:由名字可知,能将12mhz的时钟乘以4倍变成48mhz,这个时钟是用于全速usb通信的。当然对这个乘以4倍的时钟分频后也可以为系统提供时钟的。4倍时钟乘法器的配置要通过clkmul寄存器。如果用外部时钟作为4倍时钟乘法器的源,则要保证外部时钟足够稳定。
系统时钟和usb时钟的选择:配置clksel寄存器的cklsl[1:0]位决定了使用哪个时钟源作为系统时钟。配置clksel寄存器的usbclk[2:0]位决定了使用哪个时钟源作为usb时钟(usb0工作于全速模式时需要48mhz时钟,工作于低速模式时需要6mhz时钟)。
在了解了c8051f320的基本功能和配置,知道了其时钟如何工作后,其实就可以设计制作c8051f320的最小系统了,最小系统的pcb设计制作出来后,烧录简单基本的固件后,芯片就能初始化并运行程序了。如果还需要其处理更多特定的事务,就还需要在软硬件上进行完善和升级设计。
一文搞懂CPU、MPU、MCU、SOC的联系与区别
创基Type-C集线器 符合大众审美需求
中国如何实现人均一千瓦光伏目标?
“2018中国人工智能移动安全高峰论坛”举行
华为起诉美国政府16个部门
51内核的单片机介绍
三星、苹果、华为和小米有望成为2019年全球前四大智能手机供应商
如何采集农村生活污水处理PLC的设备数据并上传到物联网云平台?
华为与三星的纠缠,三星在通信设备市场的发展
压敏电阻的非线性伏安特性
I2C串行芯片X1288及其在电子电能表中的应用
功能手机的再次衰落?
陶瓷用于PCB电路板的目的是什么
伺服系统有哪些动态参数
芯昇科技荣获“2021年度新锐企业奖”
Microchip提醒您“2023大咖汇”抢先付款优惠即将截止
物联网网络状态管理中要实现的功能
什么是等离子的画面纵横比
泵阀一体的极微型压电泵,可用于穿戴式血压检测
加速度传感器能在车祸发生时极大的缩短救援时间