当前位置:首页 > 嵌入式 > 嵌入式硬件

摘 要: 基于C8051F120和大规模CPLD(EPM570T144)设计的多功能望远镜大型转台两轴控制系统,包括两轴直流电机伺服控制器、GPS时统系统、增量式编码器采样读数、PWM功能模块、LCD显示功能、通信功能、AD采样功能等。功能齐全,结构紧凑,外部接口丰富且具有保护功能,可靠性高。
关键词: C8051F120;CPLD;GPS;PWM;电机控制;增量式编码器

随着半导体和计算机技术的发展,单片机技术也得到迅速发展。利用单片机进行产品开发,最明显的优点是可大大缩短开发周期、降低成本和提升产品竞争力。由于速度和功能的扩展,单片机的应用领域也可以方便拓展到许多高端技术场合,尤其与一些大规模逻辑或时序芯片(如CPLD、FPGA等)配合使用,使得以前的单片机只能用于低端场合的情况得到巨大改善。单片机编程方便、使用灵活、可移植性强、可结构设计及可直接操作计算机硬件、生成的代码质量高的特点,在很大程度上推广了单片机的使用。
电子系统的集成化不仅解决了系统的体积、重量问题,也大大提高了系统的可靠性。复杂可编程逻辑器件CPLD的日益成熟,使其在各个领域得到了强有力的推广和成功应用。本文在以高速单片机C8051F120和EPM570T144为核心的基础上设计了包括伺服控制器、增量式编码器、ABZ码数据采集、PWM电机控制信号产生、GPS数据信号处理以及和LCD数据显示等功能模块的一种多功能控制系统。系统成本低、功能全,在望远镜控制系统中应用,验证了其可行性。
1 系统功能说明
望远镜控制系统包括很多分系统,如伺服系统、编码器系统、时统系统。伺服系统包括编码器的位置/速度采样模块、PWM控制信号产生模块、控制的算法实现、功率驱动等环节;时统系统为各个分系统产生同步信号和时间信息等,提供的输出接口具有差分或TTL电平方式。整个控制板功能原理图如图1所示。
图1中,单片机负责控制算法的实现和外部控制接口,如速度控制器和位置控制器算法、LCD显示内容的控制、与外部的通讯和A/D采样等;CPLD负责各种逻辑电路的实现,如ABZ码可逆计数,PWM控制波形产生,各种开关量输入接口。CPLD具有的诸多功能大大减轻了CPU的负担, CPU则只从CPLD接收数据进行处理,完成PID的控制算法,输出控制变量到CPLD。

2 硬件系统设计
2.1 单片机简介
选用新华龙C8051F120单片机,其是完全集成的混合信号片上系统型MCU芯片,具有64个数字I/O引脚(100脚TQFP封装)。具有下列主要特性[1]:高速、流水线结构的8051兼容的CIP-51内核(100 MIPS或50 MIPS);真正12 bit、100 kS/s的ADC,带PGA和8通道模拟多路开关;2周期的16×16乘法和累加引擎;128 KB可在系统编程的FLASH存储器;8 448(8 K+256)B的片内RAM;可寻址64 KB地址空间的外部数据存储器接口;硬件实现的SPI、SMBus/I2C和2个UART串行接口;5个通用的16 bit定时器等。
2.2 CPLD
CPLD选用ALTERA公司的低成本低功耗MAXⅡ系列的EPM570T144,含有570个逻辑单元(LE),等效于440个宏单元;8 192 bit的用户Flash存储器,可满足用户小容量信息存储要求;最大用户I/O 数为76,最快速度为4.5 ns,内部最大时钟频率304 MHz,完全满足系统设计要求。完成与MCU的数据总线和地址总线接口电路、外部定时中断电路、译码电路、PWM脉冲发生电路、倍频鉴向电路、计数电路、故障保护电路等功能。
2.3 GPS模块
GPS接收机模块选用XW-GPS100型号模块,因其使用U-blox公司LEA-5S型号GPS芯片接收卫星信息,所以具有体积小、精度高、抗干扰能力强、灵敏性好及价格低廉等诸多优点。它的接收机类型为50通道的性能引擎的GPS L1 C/A码,具有4 Hz的最大更新速率,定位精度为2.5 m,启动时间短。
2.4 通信接口RS232
本系统设计为带有两通道的标准RS232通信接口,完成外界与系统内部的通信功能。在控制系统功能下,外接上位机,实现对系统的控制信号输入,同时亦可把实时信号通过通信口传送至下位机,处理实时采样数据。在GPS系统工作模式下,选用其一作为GPS卫星数据信号的输入通道,接收GPS模块传送进来的数据信息,在主控器单片机中对其进行解析和其他操作;同时,选用另一通信通道作为数据信息传输功能,完成对解析数据信息的实时传输,对于与此相连的下位机可以完成其他相应功能。
2.5 PWM波形产生模块
控制系统中,根据电机运转的实际情况对电动机转速进行控制,通过相应算法在线实时调节PWM波形占空比来达到目的,调节质量的好坏取决于控制系统的硬件条件及软件算法。其PWM产生电路如图2所示。

由于在控制望远镜方位及俯仰电机运转的过程中,采用的是双极性控制模式,所以在上述PWM输出模块后需要加入死区电路,防止双极性模式下的二极管直通现象发生。通过在单片机内的控制信号调节CPLD中控制信号,可实现对直流电机的单双极性、运转方向及使能的控制。
2.6 编码器计数模块
选用高精度的增量式光电编码器作为位置和速度传感器。其输出端包括A、B、Z三种信号,通过对A、B码信号90°相位差的识别来判断电动机运转方向及位置,清零信号Z每过零点一次则产生一次脉冲[5]。本文采用CPLD实现对此编码器信号的解析,可降低设计成本、减少PCB面积。经过图3所示的编码器信号处理电路后,输出TTL电平的A、B、Z信号到CPLD,对波形进行整形、数字滤波处理,再细分,进辨向电路[6],最后由可逆计数电路完成对脉冲的计数,输出32 bit的二进制码值,单片机对计数值读取获得位置值。

2.7 LCD液晶显示
LCD模块选用LM6800,它是256×64全图形点阵的液晶显示模块,指令简单,易于操作,适合与本设计所选用的C8051F120主控制器结合使用,LCD液晶显示范围亦可满足本设计所涉及到的相应显示信息。
2.8 I/O接口
C8051F120的又一特点是I/O接口丰富,可以方便地实现绝大部分功能,包括如前所述的编码器AB码输入及计数信号、控制信号、通信信号等。此外,CPLD芯片还包括GPS秒脉冲同步时钟信号的多路输出。CPLD的全局时钟为100 MHz,对其分频处理给内部各个模块,如计数模块电路、PWM处理电路和单片机的中断信号,由100 MHz分频成1 MHz、1 kHz、500 Hz、50 Hz。
2.9 A/D采样
C8051F120的ADC0 子系统包括一个9 通道的可编程模拟多路选择器(AMUX0),一个可编程增益放大器(PGA0)和一个100 kS/s、12位分辨率的逐次逼近寄存器型ADC,ADC中集成了跟踪保持电路和可编程窗口检测器。AMUX0、PGA0、数据转换方式及窗口检测器都可用软件通过设置特殊功能寄存器控制。
3 软件设计
3.1 GPS系统
图4所示为GPS全球定位系统的主程序流程图[2]。在主控制系统及LCD初始化之后,判断单片机所接收的GPS信息,若为帧头起始符‘$’,则进行数据信息的接收并进行图示中以下各步骤的数据处理,最后把所需要的日期、时间、经纬度和海拔高度数据信息显示于LCD液晶显示屏上,并把这些数据进行数据压缩打包,且在GPS秒脉冲的触发下通过异步串行通信口UART1发送至其他系统。

3.2 闭环控制系统
在控制算法的实现上采用内模控制,其设计思路是将对象模型与实际对象相并联,控制器逼近模型的动态逆,对单变量系统而言内模控制器取为模型最小相位部分的逆,并通过附加低通滤波器以增强系统的鲁棒性。模型和被控对象模型精确匹配时,控制系统的输入等于输出。内模控制能够清楚地表明调节参数和闭环响应及鲁棒性的关系,内模控制器的动态特性取决于内部模型与被控对象的匹配情况[3,4]。在工业过程中,与经典PID控制相比,内模控制仅有一个整定参数,参数调整与系统动态品质和鲁棒性的关系比较明确,故采用内模控制原理可以提高PID控制器的设计水平。也由于参数调节简单,此算法利于单片机程序实现。
大型光电望远镜属于大惯量系统,机械时间常数远大于电气时间常数,故可忽略电气时间常数的影响,对象的速度传递函数可简化为:

4 实验
LCD显示内容包括GPS信息和电机控制信息,可由按键和通信要求进行显示内容的切换。测得某轴速度响应曲线如图5。完成两轴电机控制算法时间约为230 μs,包括读取增量式编码器数值、算法实现、PWM输出时间等。在时间上可满足实时性要求,而且通信口将各种状态变量输出到上位机,包括位置信息、速度信息、时间信息等。

本文通过高速单片机C8051F120和大规模CPLD实现了望远镜多个分系统的整合,满足了多功能和实时性要求,提供了低成本的解决方案,并用实验验证了其可行性。通过功能选择可方便用于伺服控制器、编码器数据采集显示等各种应用中,可大大降低成本,提高产品竞争力,具有一定的实用价值。
参考文献
[1] 新华龙电子有限公司.C8051F120/1/2/3/4/5/6/7、C8051-F130/1/2/3系列混合信号ISP FLASH微控制器数据手册,Rev 1.3.2004,12.
[2] U-blox 5 NMEA UBX Protocol Specification.Ublox corporation datasheet.
[3] 李洪文.基于内模PID控制的大型望远镜伺服系统研究. 光学精密工程,2009,7(2):327-332.
[4] 李洪文,张斌,阴玉梅.大型光电望远镜高集成智能伺服系统设计.机床与液压,2009,37(8):323-326.
[5] 徐禄勇,李尚柏,钟睿.基于MCU+CPLD的新型光栅数显系统设计.国外电子元器件,2008(5):8-10,14.
[6] 金锋,卢杨,王文松,等.光栅四倍频细分电路模块的分析与设计.北京理工大学学报,2006,26(12):1073-1076.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在现代流程工业生产中,生产工艺相关的运行参数,如温度、液位、压力、流量等,都是采用仪表进行测量检测,并根据仪表的测量结果通过控制阀门、泵等执行机构使这些工艺运行参数处于要求的范围内以满足工艺生产的需要。目前,在先进的工厂...

关键字: 故障树 控制系统

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用
关闭
关闭