论文部分内容阅读
摘 要 论述了某智能测控系统的总体结构设计,给出了硬件结构图和软件结构。从电源和复位电路、时钟电路、存储器接口电路、以太网接口电路、调试与USB接口电路、AD/DA及PWM电路等方面,详细说明了硬件电路设计,阐述了有关设计理由,为搭建智能控制器平台的整体架构奠定了坚实基础。
关键词 AT91RM9200 智能控制器 Linux 硬件设计
在电子技术迅猛发展的今天,嵌入式系统已越来越多地应用于消费类电子产品、智能仪表、控制系统、航空航天等领域。本文论述基于ARM920T微控制器的AT91RM9200、采用嵌入式Linux操作系统设计实现一种智能控制器平台,提供一具体被控对象,可供人员在其上验证各类控制算法的实际控制效用。主要是论述其硬件实现。
1 智能控制器总体结构设计
智能控制器的整体方略是实现一闭环控制,提供一温度被控对象,目的是控制对象温度达到期望值,途径是通过改变PWM占空比进而改变加热对象的电加热膜的导通时间来实现。
1.1硬件结构
系统的硬件机构如图1所示。嵌入式微处理器是系统的核心,采用ATMEL公司的AT91RM9200芯片,它负责处理ADC从对象那里采集来的温度数据,根据实际与期望值进行控制算法运算后,最终确定PWM波形的占空比,当PWM输出为高电平时,加热膜导通,反之截止。
SDRAM用于系统运行时程序的存取,选用两片HY57V561620,64MB空间足够操作系统使用;引导程序Boot loader、嵌入式Linux操作系统、应用程序及相关配置参数固化在NOR Flash内;物理层网络芯片LXT971通过MII接口同AT91RM9200连接,用于系统与上位机的网络通讯;为方便系统测试和应用程序调试,还配备了标准JTAG接口、调试DBGU串口和USB HOST。
图1 智能控制器硬件结构
1.2软件结构
嵌入式操作系统是嵌入式应用软件的基础和开发平台,本智能控制器选用Linux操作系统。基于Linux的软件结构需要完成如下几个方面的工作。
1.2.1 引导程序Boot loader的编译,它是连接操作系统与硬件的纽带,主要起初始化硬件设备、建立内存空间的映射图、为最终调用操作系统内核准备好正确环境的作用。它的移植与硬件密切相关,需根据实际硬件平台进行修改;
1.2.2 Linux内核的裁剪和移植,文件系统ram disk的制作;
1.2.3 ADC、PWM驱动程序的编写。成功嵌入Linux后,就可以进行应用程序的开发了。被控量通过ADC采集,电加热膜的导通时间由PWM占空比控制,所以还需编写基于Linux内核的驱动程序。
2 智能控制器硬件电路设计
2.1电源与复位电路
本系统需要三种直流电源,一是给AT91RM9200内核、锁相环PLL和振荡器供电的1.8V,一是器件I/O接口所需的3.3V,还有USB接口使用的5V。其中系统对1.8V核心电压的品质要求较高,再加之系统精密,所以需要有足够的保护冗余设计。电源电路采用两级电压转换的方式。第一级先降输入电压到5V,USB接口直接使用该电源;第二级分别使用低压降稳压器LDO输出噪声较小的3.3V和1.8V。
系统复位电路如图3所示。选用IMP706作系统μP监控芯片,利用该电路可以实现上电、掉电、手动复位、电源电压监控、看门狗等功能。PFI为电源故障电压监控输入,当PFI小于l.25V时,电源故障输出FPO变为低电平;WDI是看门狗输入,
当其保持高电平或低电平达1.6s时可使内部定时器完成计数,并置WDO为低;复位输出RESET低电平有效;看门狗输出WDO如果连接到MR将会触发复位信号;为了触发复位,需将PFO接至MR端[1]。
图2 电源电路
图3 复位电路
2.2 时钟电路
AT91RM9200的电源控制器PMC集成了两个振荡器和两个PLL,可以提供系统所需的所有时钟。图4是本系统的时钟电路,包括两个外部晶振、两个PLL的外部二阶滤波器以及外部时钟信号所必须的电源供给VDDPLL。
2.3存储器接口电路
本系统SDRAM和NOR Flash的接口电路由于篇幅原因,这里不再给出。参考文献[2],就可以知道EBI引脚同NOR Flash和SDRAM存储控制器间的关系。需要说明的是,AT91RM9200的外部总线接口EBI设计可以确保多个外设与基于ARM器件的内置控制存储器间进行数据传输。EBI集成了静态存储、SDRAM和Burst Flash三个外部存储控制器,并提供额外的SmartMedia和CompactFlash逻辑支持;数据通过16或32位数据总线进行传输,高达26位的地址总线可对64M字节空间寻址;8个芯片选择口NCS[7:0],优化的引脚复用以减少外部存储器的等待时间[2]。
图4 系统时钟电路
2.4以太网接口电路
本系统选用的PHY层收发芯片是Intel公司的全双工网络通信接口电路LXT971A,它符合IEEE标准,支持100BASE-TX和10BASE-T应用,并提供MII接口可以很好地同10/100MACs连接。图3-9给出了LXT971A的接口电路。AT91RM9200的MAC可提供两种与PHY互连的接口,独立媒体接口MII和精简独立媒体接口RMII。在我们的系统中,考虑MII多占用的IO口并未与其他外设冲突,再加之RMII所需的50MHz有源晶振多少会增加硬件设计中电源去耦和电磁兼容的难度,我们选择使用MII接口。
图4 以太网接口电路
2.5 调试与USB接口
本系统的标准JTAG接口电路如图5所示。JTAG标准的目的是用测试数据输入TDI、测试模式选择TMS、测试时钟输入TCK和测试数据输出TDO四个信号来测试芯片的内部状态并进行故障检测,JTAGRST为测试复位,低电平有效,电路上上述五个信号端都需要上拉电阻。NRST是系统复位,调试完毕后可以通过复位键使其复位。
AT91RM9200的调试串口DBGU实现特性同标准USART串口100%兼容,为方便调试,达到将调试信息通过串口在PC超级终端打印出来的目的,DBGU必然需要保留,考虑可能要与其他开发板进行串口连接,系统也设计了一通用串口。相关电路见图5。
AT91RM9200(208引脚PQFP封装)内置两个USB控制器,一个是USB 2.0全速主机端口USB Host,片上收发器,集成FIFO及专用的DMA通道;另一个是USB2.0全速设备端口USB Device,片上收发器,2K字节可配置的集成FIFO。控制信号分别为HDMA、HDRA、DDM、DDP。本系统设计中,两个端口我们都占用,其中HOST接口主要用于应用程序进行U盘调试时插拔U盘,而系统与上位机进行连接则采用Device接口。USB电路原理图见图5。
图5 调试与USB接口电路
2.6 模拟量输入输出与PWM
本系统设计有两个串行外设,ADC和DAC,它们分别由片选线NPCS0、NPCS1控制。ADC部分的原理图见图6。选用的芯片是Analog Device公司推出的12位16通道逐次逼近式模数转换器AD7490,高速,低功耗。5V电压供电时,数据传输率高达1MBPS,典型功耗9mW、最大仅有12.5 mW。DA转换器AD420也是选择的Analog Device公司的产品,高达16位的分辨率;灵活的串行数字接口,最大速率可达3.3 Mb/s,可通过3线制或异步制同MCU相连,我们采用的是三线制;转换后的模拟输出信号可以是0-5V电压,也可以是4-20mA、0-20mA或0-24mA电流,可通过引脚进行实际配置。
AT91RM9200的I/O引脚最大输出电流仅8mA,这对于加热来说是完全不够的,需要进行电流放大。采用MOSFET场效应管IRF620,6A漏极连续电流满足需求,电子开关可以频繁开关也非常适用于PWM控制方式下控制电热膜的加热。
图6 AD、DA与PWM电路
三、结束语
详细介绍了包括电源复位模块、时钟电路、存储器单元、网络接口、调试通讯接口以及ADC、PWM输出在内的智能控制器平台的硬件电路设计。在移植完Linux系统后,开发完ADC及PWM驱动程序,即可建出智能控制器平台的整体架构。接下来的主要工作还需辨识出被控对象的模型,编写相应控制算法,以在其上验证控制算法的实际控制效果。
参考文献:
[1]毛六平,罗文钦,汪鲁才.多功能uP监控芯片IMP706及其应用[J].国外电子元器件,2000(12):38-39
[2]ATMEL corporation.AT91RM9200 datasheet[Z],2004.http://www.atmel.com/
[3]崔用明,李积英.基于嵌入式控制器的温度控制系统设计[J].兰州交通大学学报,2008,27(6):127-129
作者简介:
李玉琴,(1983.2~)汉族。河南平顶山市叶县人,广西城市职业学院机电工程分院助教。
关键词 AT91RM9200 智能控制器 Linux 硬件设计
在电子技术迅猛发展的今天,嵌入式系统已越来越多地应用于消费类电子产品、智能仪表、控制系统、航空航天等领域。本文论述基于ARM920T微控制器的AT91RM9200、采用嵌入式Linux操作系统设计实现一种智能控制器平台,提供一具体被控对象,可供人员在其上验证各类控制算法的实际控制效用。主要是论述其硬件实现。
1 智能控制器总体结构设计
智能控制器的整体方略是实现一闭环控制,提供一温度被控对象,目的是控制对象温度达到期望值,途径是通过改变PWM占空比进而改变加热对象的电加热膜的导通时间来实现。
1.1硬件结构
系统的硬件机构如图1所示。嵌入式微处理器是系统的核心,采用ATMEL公司的AT91RM9200芯片,它负责处理ADC从对象那里采集来的温度数据,根据实际与期望值进行控制算法运算后,最终确定PWM波形的占空比,当PWM输出为高电平时,加热膜导通,反之截止。
SDRAM用于系统运行时程序的存取,选用两片HY57V561620,64MB空间足够操作系统使用;引导程序Boot loader、嵌入式Linux操作系统、应用程序及相关配置参数固化在NOR Flash内;物理层网络芯片LXT971通过MII接口同AT91RM9200连接,用于系统与上位机的网络通讯;为方便系统测试和应用程序调试,还配备了标准JTAG接口、调试DBGU串口和USB HOST。
图1 智能控制器硬件结构
1.2软件结构
嵌入式操作系统是嵌入式应用软件的基础和开发平台,本智能控制器选用Linux操作系统。基于Linux的软件结构需要完成如下几个方面的工作。
1.2.1 引导程序Boot loader的编译,它是连接操作系统与硬件的纽带,主要起初始化硬件设备、建立内存空间的映射图、为最终调用操作系统内核准备好正确环境的作用。它的移植与硬件密切相关,需根据实际硬件平台进行修改;
1.2.2 Linux内核的裁剪和移植,文件系统ram disk的制作;
1.2.3 ADC、PWM驱动程序的编写。成功嵌入Linux后,就可以进行应用程序的开发了。被控量通过ADC采集,电加热膜的导通时间由PWM占空比控制,所以还需编写基于Linux内核的驱动程序。
2 智能控制器硬件电路设计
2.1电源与复位电路
本系统需要三种直流电源,一是给AT91RM9200内核、锁相环PLL和振荡器供电的1.8V,一是器件I/O接口所需的3.3V,还有USB接口使用的5V。其中系统对1.8V核心电压的品质要求较高,再加之系统精密,所以需要有足够的保护冗余设计。电源电路采用两级电压转换的方式。第一级先降输入电压到5V,USB接口直接使用该电源;第二级分别使用低压降稳压器LDO输出噪声较小的3.3V和1.8V。
系统复位电路如图3所示。选用IMP706作系统μP监控芯片,利用该电路可以实现上电、掉电、手动复位、电源电压监控、看门狗等功能。PFI为电源故障电压监控输入,当PFI小于l.25V时,电源故障输出FPO变为低电平;WDI是看门狗输入,
当其保持高电平或低电平达1.6s时可使内部定时器完成计数,并置WDO为低;复位输出RESET低电平有效;看门狗输出WDO如果连接到MR将会触发复位信号;为了触发复位,需将PFO接至MR端[1]。
图2 电源电路
图3 复位电路
2.2 时钟电路
AT91RM9200的电源控制器PMC集成了两个振荡器和两个PLL,可以提供系统所需的所有时钟。图4是本系统的时钟电路,包括两个外部晶振、两个PLL的外部二阶滤波器以及外部时钟信号所必须的电源供给VDDPLL。
2.3存储器接口电路
本系统SDRAM和NOR Flash的接口电路由于篇幅原因,这里不再给出。参考文献[2],就可以知道EBI引脚同NOR Flash和SDRAM存储控制器间的关系。需要说明的是,AT91RM9200的外部总线接口EBI设计可以确保多个外设与基于ARM器件的内置控制存储器间进行数据传输。EBI集成了静态存储、SDRAM和Burst Flash三个外部存储控制器,并提供额外的SmartMedia和CompactFlash逻辑支持;数据通过16或32位数据总线进行传输,高达26位的地址总线可对64M字节空间寻址;8个芯片选择口NCS[7:0],优化的引脚复用以减少外部存储器的等待时间[2]。
图4 系统时钟电路
2.4以太网接口电路
本系统选用的PHY层收发芯片是Intel公司的全双工网络通信接口电路LXT971A,它符合IEEE标准,支持100BASE-TX和10BASE-T应用,并提供MII接口可以很好地同10/100MACs连接。图3-9给出了LXT971A的接口电路。AT91RM9200的MAC可提供两种与PHY互连的接口,独立媒体接口MII和精简独立媒体接口RMII。在我们的系统中,考虑MII多占用的IO口并未与其他外设冲突,再加之RMII所需的50MHz有源晶振多少会增加硬件设计中电源去耦和电磁兼容的难度,我们选择使用MII接口。
图4 以太网接口电路
2.5 调试与USB接口
本系统的标准JTAG接口电路如图5所示。JTAG标准的目的是用测试数据输入TDI、测试模式选择TMS、测试时钟输入TCK和测试数据输出TDO四个信号来测试芯片的内部状态并进行故障检测,JTAGRST为测试复位,低电平有效,电路上上述五个信号端都需要上拉电阻。NRST是系统复位,调试完毕后可以通过复位键使其复位。
AT91RM9200的调试串口DBGU实现特性同标准USART串口100%兼容,为方便调试,达到将调试信息通过串口在PC超级终端打印出来的目的,DBGU必然需要保留,考虑可能要与其他开发板进行串口连接,系统也设计了一通用串口。相关电路见图5。
AT91RM9200(208引脚PQFP封装)内置两个USB控制器,一个是USB 2.0全速主机端口USB Host,片上收发器,集成FIFO及专用的DMA通道;另一个是USB2.0全速设备端口USB Device,片上收发器,2K字节可配置的集成FIFO。控制信号分别为HDMA、HDRA、DDM、DDP。本系统设计中,两个端口我们都占用,其中HOST接口主要用于应用程序进行U盘调试时插拔U盘,而系统与上位机进行连接则采用Device接口。USB电路原理图见图5。
图5 调试与USB接口电路
2.6 模拟量输入输出与PWM
本系统设计有两个串行外设,ADC和DAC,它们分别由片选线NPCS0、NPCS1控制。ADC部分的原理图见图6。选用的芯片是Analog Device公司推出的12位16通道逐次逼近式模数转换器AD7490,高速,低功耗。5V电压供电时,数据传输率高达1MBPS,典型功耗9mW、最大仅有12.5 mW。DA转换器AD420也是选择的Analog Device公司的产品,高达16位的分辨率;灵活的串行数字接口,最大速率可达3.3 Mb/s,可通过3线制或异步制同MCU相连,我们采用的是三线制;转换后的模拟输出信号可以是0-5V电压,也可以是4-20mA、0-20mA或0-24mA电流,可通过引脚进行实际配置。
AT91RM9200的I/O引脚最大输出电流仅8mA,这对于加热来说是完全不够的,需要进行电流放大。采用MOSFET场效应管IRF620,6A漏极连续电流满足需求,电子开关可以频繁开关也非常适用于PWM控制方式下控制电热膜的加热。
图6 AD、DA与PWM电路
三、结束语
详细介绍了包括电源复位模块、时钟电路、存储器单元、网络接口、调试通讯接口以及ADC、PWM输出在内的智能控制器平台的硬件电路设计。在移植完Linux系统后,开发完ADC及PWM驱动程序,即可建出智能控制器平台的整体架构。接下来的主要工作还需辨识出被控对象的模型,编写相应控制算法,以在其上验证控制算法的实际控制效果。
参考文献:
[1]毛六平,罗文钦,汪鲁才.多功能uP监控芯片IMP706及其应用[J].国外电子元器件,2000(12):38-39
[2]ATMEL corporation.AT91RM9200 datasheet[Z],2004.http://www.atmel.com/
[3]崔用明,李积英.基于嵌入式控制器的温度控制系统设计[J].兰州交通大学学报,2008,27(6):127-129
作者简介:
李玉琴,(1983.2~)汉族。河南平顶山市叶县人,广西城市职业学院机电工程分院助教。