深入解析:中台架构与16位计数器——阿里架构总监分享

需积分: 26 44 下载量 29 浏览量 更新于2024-08-10 收藏 8.87MB PDF 举报
"本文档是关于CC253X芯片的用户指南,主要聚焦于其在2.4GHz IEEE 802.15.4和ZigBee应用中的使用,特别是CC2530架构和功能的详细解析。" 在CC2530这款片上系统(SoC)中,有一个重要的组件是16位定时器,它在多种操作模式下工作,包括自由运行模式。这个定时器包含一个16位计数器,其时钟频率可以通过CLKCON.TICKSPD寄存器进行调整,范围从0.25MHz到32MHz。定时器1的时钟频率还可以通过T1CTL.DIV分频器进一步细分,分频器值可选1、8、32或128。这意味着当使用32 MHz晶振作为系统时钟源时,最低可用频率为1953.125Hz,最高为32 MHz。而当16MHz RC振荡器作为时钟源时,最高频率可达16MHz。 计数器可以以自由运行、模计数或正计数/倒计数器的形式运行,尤其在PWM(脉宽调制)中心对齐的应用中。计数器的当前值可以通过两个8位的SFR(特殊功能寄存器)T1CNTH和T1CNTL读取,其中T1CNTH存储高位字节,T1CNTL存储低位字节。读取T1CNTL时,高位字节会被自动缓冲到T1CNTH,确保连续读取的正确性。写入T1CNTL会重置整个16位计数器。 当计数器达到最大值(0xFFFF)时,会产生溢出中断请求。计数器的启动和停止由T1CTL控制寄存器管理。写入非00值到T1CTL.MODE会使计数器开始运行,而写入00则使其停止在当前值。溢出时,IRCON.T1IF和T1STAT.OVFIF标志会被设置,如果TIMIF.OVFIM和IEN1.T1EN中断屏蔽位也被设置,就会触发中断请求。 自由运行模式下,计数器从0x0000开始,每次活动时钟边沿加1,当达到0xFFFF时,计数器会回滚到0x0000并继续计数。这种模式常用于生成特定时间间隔或输出信号频率。 此外,文档还涵盖了8051 CPU的详细信息,包括CPU架构、内存管理、中断系统、调试接口、电源管理和时钟系统,以及复位和闪存控制器等主题。这些内容对于理解CC2530的内部工作原理和有效利用其功能至关重要。