ATmega162的结构及特点
ATmega162具有35个可编程的I/O口线,有40脚PDIP,44脚TQFP及44脚MLF等多种封装。4个8位双向I/O口 A,B,C,D,一个带内部上拉电阻的3位双向I/O口。每个端口都有对应的3个I/O端口寄存器,分别是数据寄存器PORTx、方向寄存器器DDRx和输入引脚寄存器PINx。当DDxn写入0时,对应的Pxn配置为输入引脚,置PORTxn为1时,配置该引脚的内部上拉电阻有效。当DDxn为1时,对应的Pxn配置为输出引脚,PORTxn中的数据为外部引脚的输出电平,即为1,端口引脚被强制驱动为高,输出高电平(输出电流);清零PORTxn,端口引脚被强制拉低,输出低电平(吸入电流)。在复位过程中,即使是在系统时钟还未启振的情况下,端口为三态口。还可以作为地址/数据复用口,提供ATmega162的许多特殊接口功能。C口提供JTAG接口的功能。在允许JTAG接口状态下,引脚PC7(TDD,PC5(TMS)和PC4(TCK)的内部上拉电阻总是处于有效方式(包括复位时)。
ATmega162具有以下特点:16 kB的同时具有读写能力的在线编程FLASH;512 B E2PROM;1 kB SRAM存储器;35个通用I/O口;1个外部存储器接口;32个通用工作寄存器;1个具有边界扫描功能的JTAG接口;支持在线编译、编程以及仿真调试;支持对FLASH,E2PROM、芯片熔丝位和保密锁定位的编程;4个具有比较模式的灵活的定时器/计数器,2个具有比较模式的带预分频器的8位定时器/计数器,2个带预分频器,具有比较和捕获模式的16位定时器/计数器,具有独立振荡器的实时计数器;6个PWM通道;内外中断源;上电复位和可编程的电压检测电路;内部可校准的RC振荡器;2个可编程的UART接口;具有内部时钟的可编程的看门狗定时器;SPI串行接口;BOOT区具有独立的加密位,可通过片内的引导程序实现在系统编程,写操作时真正可读;全静态操作;片内带有执行时间为2个时钟周期的硬件乘法器;以及5种可通过软件选择的节电模式。
ATmega 162采用了ATMEL的高密度非易失性内存技术生产,片内FLASH可以通过SPI接口+通编程器,或通过JTAG接口,或使用自引导BOOT程序进行编程和自编程。利用自引导BOOT程序,可以使芯片在工作过程中通过任一硬件串行通讯接口下载应用程序,并写入到FLASH的应用程序区中(IAP)。在更新FLASH的应用程序区代码时,处在FLASH的BOOT区中的自引导程序将继续执行,实现了同时读写的功能。由于将增强的RISC8位CPU与在系统编程和在应用编程的FLASH存储器集成在一个芯片内,ATmega 162成为功能强大的单片机,为多嵌入式控制应用提供了灵活而低成本的解决方案。
2.1 ATmega162与其他同类器件的比较
在控制领域使用最平凡的CPU无非就3种:51系列、AVR系列、PIC系列。而ATMEL公司新推出的90系列单片机内含高速闪存FLASH,是基于增强精简指令RISC(Reduced Instruction Set CPU)结构的单片机,简称AVR单片机,该系列单片机在吸收PIC及8051单片机的优点的基础上,做出了重大的改进。
由于本设计中的主CPU需要对温度数据进行运算及转换,因此一般的51系列CPU是很难胜任的,而且在图形显示中加入了星星闪动的动画和 LOADING的读取数据的动画,所以更是要求主CPU有极快的运算速度和程序的可复制性的优点。故经过多种方案的比较后,最后决定选用AVR系列中的 ATmega162作为主CPU,同时ATmega162拥有2个串行通信口,完全可以满足与计算机的通信。
2.2 温度检测器件的比较
做温度的检测可以有很多种方法,比较常用的就是用一个A/D转换器再接一个温度传感器,而我们惯用的A/D传感器是0809(8路A/D转换器),传感器就可以根据自己的实际情况来选择了,一般选择的原则是要满足测量温度的范围,精度和灵敏度。就本设计来说,需要测量的温度范围是室温 (0~100℃),精度可以是1℃,灵敏度1 s左右就可以了。所以并没选用0809来做,而是在市面上选择了一个常用来做环境温度检测用的集成芯片——DS18B20,封装是TOP92的,使用单总线来传输数据。从成本的角度来看18B20一片是15元左右,比AD0809的价格便宜近一半,而且还可以省去购买传感器的钱,当然是在可以满足测量要求的前提下。
ATmega162的结构及特点
ATmega162具有35个可编程的I/O口线,有40脚PDIP,44脚TQFP及44脚MLF等多种封装。4个8位双向I/O口 A,B,C,D,一个带内部上拉电阻的3位双向I/O口。每个端口都有对应的3个I/O端口寄存器,分别是数据寄存器PORTx、方向寄存器器DDRx和输入引脚寄存器PINx。当DDxn写入0时,对应的Pxn配置为输入引脚,置PORTxn为1时,配置该引脚的内部上拉电阻有效。当DDxn为1时,对应的Pxn配置为输出引脚,PORTxn中的数据为外部引脚的输出电平,即为1,端口引脚被强制驱动为高,输出高电平(输出电流);清零PORTxn,端口引脚被强制拉低,输出低电平(吸入电流)。在复位过程中,即使是在系统时钟还未启振的情况下,端口为三态口。还可以作为地址/数据复用口,提供ATmega162的许多特殊接口功能。C口提供JTAG接口的功能。在允许JTAG接口状态下,引脚PC7(TDD,PC5(TMS)和PC4(TCK)的内部上拉电阻总是处于有效方式(包括复位时)。
ATmega162具有以下特点:16 kB的同时具有读写能力的在线编程FLASH;512 B E2PROM;1 kB SRAM存储器;35个通用I/O口;1个外部存储器接口;32个通用工作寄存器;1个具有边界扫描功能的JTAG接口;支持在线编译、编程以及仿真调试;支持对FLASH,E2PROM、芯片熔丝位和保密锁定位的编程;4个具有比较模式的灵活的定时器/计数器,2个具有比较模式的带预分频器的8位定时器/计数器,2个带预分频器,具有比较和捕获模式的16位定时器/计数器,具有独立振荡器的实时计数器;6个PWM通道;内外中断源;上电复位和可编程的电压检测电路;内部可校准的RC振荡器;2个可编程的UART接口;具有内部时钟的可编程的看门狗定时器;SPI串行接口;BOOT区具有独立的加密位,可通过片内的引导程序实现在系统编程,写操作时真正可读;全静态操作;片内带有执行时间为2个时钟周期的硬件乘法器;以及5种可通过软件选择的节电模式。
ATmega 162采用了ATMEL的高密度非易失性内存技术生产,片内FLASH可以通过SPI接口+通编程器,或通过JTAG接口,或使用自引导BOOT程序进行编程和自编程。利用自引导BOOT程序,可以使芯片在工作过程中通过任一硬件串行通讯接口下载应用程序,并写入到FLASH的应用程序区中(IAP)。在更新FLASH的应用程序区代码时,处在FLASH的BOOT区中的自引导程序将继续执行,实现了同时读写的功能。由于将增强的RISC8位CPU与在系统编程和在应用编程的FLASH存储器集成在一个芯片内,ATmega 162成为功能强大的单片机,为多嵌入式控制应用提供了灵活而低成本的解决方案。
2.1 ATmega162与其他同类器件的比较
在控制领域使用最平凡的CPU无非就3种:51系列、AVR系列、PIC系列。而ATMEL公司新推出的90系列单片机内含高速闪存FLASH,是基于增强精简指令RISC(Reduced Instruction Set CPU)结构的单片机,简称AVR单片机,该系列单片机在吸收PIC及8051单片机的优点的基础上,做出了重大的改进。
由于本设计中的主CPU需要对温度数据进行运算及转换,因此一般的51系列CPU是很难胜任的,而且在图形显示中加入了星星闪动的动画和 LOADING的读取数据的动画,所以更是要求主CPU有极快的运算速度和程序的可复制性的优点。故经过多种方案的比较后,最后决定选用AVR系列中的 ATmega162作为主CPU,同时ATmega162拥有2个串行通信口,完全可以满足与计算机的通信。
2.2 温度检测器件的比较
做温度的检测可以有很多种方法,比较常用的就是用一个A/D转换器再接一个温度传感器,而我们惯用的A/D传感器是0809(8路A/D转换器),传感器就可以根据自己的实际情况来选择了,一般选择的原则是要满足测量温度的范围,精度和灵敏度。就本设计来说,需要测量的温度范围是室温 (0~100℃),精度可以是1℃,灵敏度1 s左右就可以了。所以并没选用0809来做,而是在市面上选择了一个常用来做环境温度检测用的集成芯片——DS18B20,封装是TOP92的,使用单总线来传输数据。从成本的角度来看18B20一片是15元左右,比AD0809的价格便宜近一半,而且还可以省去购买传感器的钱,当然是在可以满足测量要求的前提下。
举报