嵌入式系统在大射电望远镜5米模型上悬索控制中的应用
时间:08-30
来源:互联网
点击:
“大射电望远镜FAST(Five hundred meter Aperture Spherical Telescope)预研究”是中国科学院知识创新设计方案。通过六根悬索驱动馈源舱完成馈源的大范围跟踪,保证馈源舱的定位精度在50cm以内。为验证方案的可行性,实地已建造了50m缩比实验模型。现由于实际需要,还建立了5m缩比实验模型(以下简称FAST 5m)。5m缩比模型的馈源舱一级粗调由自动调整和手动调整组成,自动调整由工业控制计算机实现,手动调整主要目的是把馈源舱调到指定位置,为自动调整作准备。手动调整分为点动调整和精确调整两部分。为了调整方便,需要LCD和触摸屏,并要求较高的实时性,加上复杂的控制程序,这就需要更高的CPU处理速度和更大的系统内存,因此选用32位ARM处理器并且使用嵌入式实时操作系统。本文详细讨论AT91RM9200和μC/OS-II在5m缩比模型的一级粗调中手动调整的运用。
1 系统硬件的组成
现FAST 5m试验模型只用一个控制柜,控制六台交流伺服电机调整六根索来控制馈源舱的位置,类似于六轴联动。需要六路独立的脉宽调制信号(PWM),整个硬件框图如图1。

图1 系统硬件总体框图

图2 LCD和触摸屏的接口电路
1.1 AT91RM9200及其外围电路
AT91RM9200是Atmel公司推出的一款用于工业控制的ARM9处理器,它基于ARM920T内核, 工作在180MHz频率下,运算速度可高达200MIPS。AT91RM9200集成了丰富的系统外围和应用外围及标准的接口,集成了高速片上SRAM和低延迟的外部总线接口(EBI)。高级中断控制器(AIC)、外围数据控制器(PDC)、电源管理控制器(PMC)集成了USB2.0接口、以太网10/100 BaseT MAC控制器,这些接口极大地扩展了外部器件的种类。
AT91RM9200 内部只有16KB的SRAM,远远不能满足应用程序的要求。为了能运行嵌入式操作系统和运用程序的要求,需要扩展外部SDRAM及Flash。
1.2 LCD和触摸屏接口电路
在FAST 5m模型手动调整中,采用了LG推出的LB06V2显示屏TFT-LCD和触摸屏,其面板尺寸6.4英寸,分辨率480×640。LCD触摸屏的接口电路如图2所示。LCD控制芯片采用Epson公司的S1D13506。该芯片内部不带显存,需要扩展FPM/FDO-DRAM。考虑到整个界面操作在图形模式下,需要较大的显存,采用OKI 公司的MSM5118155F的16M bit动态存储器(EDO RAM)。S1D13506驱动LB06V2显示屏需要的60MHz的BUCLK时钟由AT91RM9200提供,25MHz的CLK1和12.5MHz的CLK2由ICS1523提供,AT91RM9200通过I2C总线控制ICS1523输出的所需CLK1和CLK2的频率,以适应不同规格的LCD或VGA需求。由于S1D13506访问RAM需要等待70ns,这造成LCD显示速度比较慢。本系统并不需要频繁切换图形界面,主要考虑到AT91RM9200是一款很适合工业控制用的高速ARM处理器。
AT91RM9200集成了SPI控制器,可与触摸屏控制芯片(ADS7846)直接相连接。这使电路设计简单,还可以高速地进行数据传输。本系统中SPI的CLK工作在14kHz,完全能保证ADS7846转换的数据准确传输到AT91RM9200。
1.3 电机控制接口电路
AT91RM9200 有六个相同定时/计数器(TC), 可用这六个TC产生12路PWM信号,虽然一个TC可产生两路PWM信号,但是这两路PWM频率相同,只是脉冲宽度不同。图3是其中一个TC的部分原理图。本系统中TC控制交流伺服电机频率(控制电机的速度),8254控制脉冲的个数(控制电机的角位移)。
其基本工作原理:把TC配置成产生波形状态,选择AT91RM9200内部时钟或外部时钟作为16位TC的时钟源,启动计数器(CLKSTA), TC从零开始计数。
当TC中的值与RA中的值相等,输出控制器可使TIOA输出高电平;当TC中的值与RC中的值相等, 输出控制器可使TIOA输出低电平,同时复位TC,使TC重新计数。这样可产生方波信号。RC的值控制TIOA输出脉冲的频率,RA和RC可控制PWM的占控比。当TC的值达到RA、RB、RC的值时还可产生中断,也可把这些中断屏蔽掉。这样产生的PWM频率可从几赫兹到几兆赫兹。TIOB产生PWM信号的原理与TIOA完全一样。
本系统中把TIOA配置为脉冲输出口,TIOB为外部事件触发输入口(即伺服控制卡中的脉冲计数卡产生的中断), 当伺服控制卡中的脉冲计数器(8254)计数到设定值时产生中断,由TIOB通过RS触发器停止TC计数。这样可实现伺服电机的速度和位置控制。
伺服控制卡的脉冲计数器的核心器件是两片8254,可进行六路独立的脉冲计数,如图4所示。
图3 TC部分原理图
图4 伺服控制卡原理图
2 软件开发
由于目前大部分基于ARM9的嵌入式系统一般用Linux,用于实时性要求不高的的设备。采用μC/OS需要写ARM9启动代码,初始化SDAM、FLASH、USRT、SPI、触摸屏控制芯片、LCD控制芯片等。写这些底层驱动代码时,在Linux网站开放的源代码很值得借鉴和参考。
1 系统硬件的组成
现FAST 5m试验模型只用一个控制柜,控制六台交流伺服电机调整六根索来控制馈源舱的位置,类似于六轴联动。需要六路独立的脉宽调制信号(PWM),整个硬件框图如图1。

图1 系统硬件总体框图

图2 LCD和触摸屏的接口电路
1.1 AT91RM9200及其外围电路
AT91RM9200是Atmel公司推出的一款用于工业控制的ARM9处理器,它基于ARM920T内核, 工作在180MHz频率下,运算速度可高达200MIPS。AT91RM9200集成了丰富的系统外围和应用外围及标准的接口,集成了高速片上SRAM和低延迟的外部总线接口(EBI)。高级中断控制器(AIC)、外围数据控制器(PDC)、电源管理控制器(PMC)集成了USB2.0接口、以太网10/100 BaseT MAC控制器,这些接口极大地扩展了外部器件的种类。
AT91RM9200 内部只有16KB的SRAM,远远不能满足应用程序的要求。为了能运行嵌入式操作系统和运用程序的要求,需要扩展外部SDRAM及Flash。
1.2 LCD和触摸屏接口电路
在FAST 5m模型手动调整中,采用了LG推出的LB06V2显示屏TFT-LCD和触摸屏,其面板尺寸6.4英寸,分辨率480×640。LCD触摸屏的接口电路如图2所示。LCD控制芯片采用Epson公司的S1D13506。该芯片内部不带显存,需要扩展FPM/FDO-DRAM。考虑到整个界面操作在图形模式下,需要较大的显存,采用OKI 公司的MSM5118155F的16M bit动态存储器(EDO RAM)。S1D13506驱动LB06V2显示屏需要的60MHz的BUCLK时钟由AT91RM9200提供,25MHz的CLK1和12.5MHz的CLK2由ICS1523提供,AT91RM9200通过I2C总线控制ICS1523输出的所需CLK1和CLK2的频率,以适应不同规格的LCD或VGA需求。由于S1D13506访问RAM需要等待70ns,这造成LCD显示速度比较慢。本系统并不需要频繁切换图形界面,主要考虑到AT91RM9200是一款很适合工业控制用的高速ARM处理器。
AT91RM9200集成了SPI控制器,可与触摸屏控制芯片(ADS7846)直接相连接。这使电路设计简单,还可以高速地进行数据传输。本系统中SPI的CLK工作在14kHz,完全能保证ADS7846转换的数据准确传输到AT91RM9200。
1.3 电机控制接口电路
AT91RM9200 有六个相同定时/计数器(TC), 可用这六个TC产生12路PWM信号,虽然一个TC可产生两路PWM信号,但是这两路PWM频率相同,只是脉冲宽度不同。图3是其中一个TC的部分原理图。本系统中TC控制交流伺服电机频率(控制电机的速度),8254控制脉冲的个数(控制电机的角位移)。
其基本工作原理:把TC配置成产生波形状态,选择AT91RM9200内部时钟或外部时钟作为16位TC的时钟源,启动计数器(CLKSTA), TC从零开始计数。
当TC中的值与RA中的值相等,输出控制器可使TIOA输出高电平;当TC中的值与RC中的值相等, 输出控制器可使TIOA输出低电平,同时复位TC,使TC重新计数。这样可产生方波信号。RC的值控制TIOA输出脉冲的频率,RA和RC可控制PWM的占控比。当TC的值达到RA、RB、RC的值时还可产生中断,也可把这些中断屏蔽掉。这样产生的PWM频率可从几赫兹到几兆赫兹。TIOB产生PWM信号的原理与TIOA完全一样。
本系统中把TIOA配置为脉冲输出口,TIOB为外部事件触发输入口(即伺服控制卡中的脉冲计数卡产生的中断), 当伺服控制卡中的脉冲计数器(8254)计数到设定值时产生中断,由TIOB通过RS触发器停止TC计数。这样可实现伺服电机的速度和位置控制。
伺服控制卡的脉冲计数器的核心器件是两片8254,可进行六路独立的脉冲计数,如图4所示。
图3 TC部分原理图
图4 伺服控制卡原理图
2 软件开发
由于目前大部分基于ARM9的嵌入式系统一般用Linux,用于实时性要求不高的的设备。采用μC/OS需要写ARM9启动代码,初始化SDAM、FLASH、USRT、SPI、触摸屏控制芯片、LCD控制芯片等。写这些底层驱动代码时,在Linux网站开放的源代码很值得借鉴和参考。
LCD 触摸屏 ARM 嵌入式 PWM 电路 Atmel MIPS 总线 电源管理 USB Linux 电压 Fluke 示波器 相关文章:
- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 基于EPA与IEEE802.15.4两用手抄器的设计(06-01)
- ARM在数字化远程视频监控系统的应用(05-20)
- 基于MSP430的低功耗便携式测温仪设计(06-18)
- 以超低功耗微处理器MSP430为核心的热计量表设计(06-18)
- 基于MSP430及PROFIBUS的监测子站设计(06-12)
