使用TCL语言理解振荡器与时钟频率补偿
需积分: 49 141 浏览量
更新于2024-08-06
收藏 4.31MB PDF 举报
"这篇文档是关于微控制器ATtiny1617/3217的中文数据手册,主要讨论了振荡器和时钟的概念,包括内部和外部时钟源的使用,以及如何进行频率误差补偿。"
在微控制器设计中,振荡器和时钟是至关重要的组成部分,它们为系统提供了基础的时序基准。ATtiny1617/3217是tinyAVR 1系列的成员,具备高速AVR CPU,运行频率可达20MHz,并且内置硬件乘法器,拥有16/32KB闪存、2KBSRAM和256字节EEPROM。
文档特别提到了37.10章节中的振荡器和时钟部分。该芯片内置的OSC20M振荡器可以通过配置复位时的振荡器配置熔丝(FUSE.OSCCFG)选择不同的工作频率。为了保证频率精度,需要根据中心频率(OSC20M)和温度漂移补偿(TEMPCAL20M)进行校准。对于不同电压和频率,例如3V和5V下的16MHz和20MHz,有对应的频率误差值(SIGROW.OSC16ERR3V, SIGROW.OSC16ERR5V, SIGROW.OSC20ERR3V, SIGROW.OSC20ERR5V)存储在签名行中。这些误差值以压缩的Q1.10定点8位格式存储,用于波特率补偿。
在实际应用中,比如USART的波特率设置,可以通过读取并应用这些频率误差值来校正BAUD寄存器的值,确保即便在有负补偿的情况下,BAUD值也保持在合法范围内。示例代码展示了如何计算和设置补偿后的BAUD寄存器值。
此外,32kHz的超低功耗振荡器(OSCULP32K)被优化用于低功耗操作,提供1kHz信号,用于驱动RTC、WDT和BOD等低功耗外设。外部时钟源也可被接入,如EXTCLK引脚的外部时钟或32.768kHz的XOSC32K,后者支持32kHz晶振或直接外部时钟输入。
ATtiny1617/3217的时钟系统设计灵活,允许用户根据需求选择不同的振荡器和时钟源,并能通过精细的频率误差补偿实现更精确的时序控制。这使得该微控制器适合各种对时序要求严格的嵌入式应用。
2011-07-18 上传
2021-09-29 上传
2013-01-19 上传
2021-09-24 上传
2020-05-04 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-11-13 上传
SW_孙维
- 粉丝: 51
- 资源: 3836
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载