嵌入式Linux开发——(六)系统时钟和定时器

2019-07-12 14:09发布

一、系统时钟和定时器

1)S3C2440 / S3C2410时钟体系     ①3种时钟:         A、FCLK: 用于CPU         B、HCLK: 用于AHB总线上设备,比如CPU核、存储控制器、中断控制器、LCD控 制器、DMA和USB主机模块等         C、PCLK: 用于APB总线上的设备,比如WATCHDOG、IIS、IIC、PWM控制器、MMC 接口、ADC、UART、GPIO、RTC、                SPI     ②两种PLL锁相环         A、UPLL: 专用于USB设备         B、MPLL: 用于设置FCLK、HCLK、PCLK     ③Fin : 晶振频率 = 12MHz     ④FCLK与Fin的关系计算公式:         A、对于S3C2410:                MPLL(FCLK) = (m*Fin) / (P*2^S)               其中m=MDIV+8  P=PDIV+2  S=SDIV         B、对于S3C2440:               MPLL(FCLK) = (2*m*Fin) / (P*2^S)              其中m=MDIV+8  P=PDIV+2  S=SDIV 2)PWM定时器     ①S3C2410 / S3C2410有5个16位定时器,其中定时器0,1,2,3,有PWM(Pulse Width Modulation) 3)WATCHDOG定时器     ①在正常的程序中,必须不断重新设置WTCNT第存器使得它不为0,这样可以保证系统不被重启,这称为“喂狗”,当程序崩溃时不能正常“喂狗”,计数器值达到0后系统将被重启,这样程序将重新运行。

二、通用异步收发器(UART)

1)UART(Universal Asynchronous Receiver Transmitter)