UDC(USB设备控制器)
USB设备控制器(UDC)驱动指的是作为其他USB主机控制器外设的USB硬件设备上底层硬件控制器的驱动,该硬件和驱动负责将一个USB设备依附于一个USB主机控制器上。例如,当某运行Linux系统的手机作为PC的U盘时,手机中的底层USB控制器行使USB设备控制器的功能,这时运行在底层的是UDC驱动,手机要成为U盘,在UDC驱动之上需要另外一个驱动,对于USB大容量存储器而言,这个驱动为File Storage驱动,称为Function驱动。
时钟系统的概念及意义
概念:时钟系统是由振荡器(信号源)、定时唤醒器、分频器等组成的电路。经常的信号源有晶体振荡器和RC振荡器。
意义:时钟是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行,状态变化等动作,外设部件在时钟的驱动下完成各种工作,比如串口数据的发送、A/D转换、定时器计数等等。因此时钟对于计算机系统是至关重要的,通常时钟系统出现问题也是致命的,比如振荡器不起振、振荡不稳、停振等。HCLK高速时钟、PLCK低速时钟。
常见振荡器简介
概念:振荡器是用来产生重复电子讯号的电子元件。其构成的电路叫振荡电路,能将直流电转换为具有一定频率交流信号输出的电子电路或装置。
分类:振荡器主要分为RC、LC振荡器和晶体振荡器。RC振荡器是采用RC网络作为选频移相网络的振荡器。LC振荡器是采用LC振荡回路作为移相和选频网络的正反馈振荡器。晶体振荡器的振荡频率受石英晶体控制。
晶体振荡器:
- 石英晶体振荡器是高精度和高稳定度的振荡器,被广泛应用于彩电、计算机、遥控器等各类振荡电路中,以及通信系统中用于频率发生器、为数据处理设备产生时钟信号和为特定系统提供基准信号。
- 优点:相对来说振荡频率一般都比较稳定,同时精度也比较高
- 缺点:价格稍微高点,还有用晶体振荡器一般还需要接拉勾15-33pF起振电容
STM32F0时钟源介绍
STM32中有四个时钟源
- HSI:高速内部时钟,RC振荡器,频率为8MHz;
- HSE: 高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz
- LSI: 低速内部时钟,RC振荡器,频率为40KHz。独立看门狗时钟源只能是这个,还可做RTC时钟源
- LSE: 低速外部时钟,接32.768KHz的石英晶体。这个主要是RTC的时钟源。
SysTick定时器
概念:
定时器,能够定时、计数的器件称为定时器
SysTick,称为系统滴答定时器,简称滴答定时器。是一个定时设备,位于Cortex-M0内核中,可以对输入的时钟进行计数,当然,如果时钟信号是周期性的,计数也就是计时。
系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。根据这个中断,系统就可以实现时间片的计算从而切换进程。
工作原理:
滴答定时器是一个24位定时器,也就是最多能计数2^24。在使用的时候,我们一般给计数器送一个初始的计数值,计数器向下计数,每来一个时钟信号,计数初值就减一,计数值减到0的时候,就会发生一次中断。然后重新从计数初值再减一计数,循环不断。