时间:2023-05-30 09:05:19
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇arm单片机,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
关键词:单片机实验;Cortex-MOarm;8051单片机;LPCI100系列ARM
1 背景
Intel公司于1980年推出的8051系列单片机,奠定了嵌入式应用的单片微型计算机的经典体系结构,由于进入国内市场较早,学校单片机教学都是采用8051系列;加之Intel公司实施了805l的技术开放政策,ATMEL公司、PHILIPS公司著名的电子公司,以其在电子应用系统的优势,着力发展8051单片机的控制功能及单元,形成了可满足大量嵌入式应用的单片机系列产品。直到现在,仍然有不少学校在单片机教学中采用8051系列。ARM公司自1990年成立以来,不断推出各种ARM内核,前几年推出的都定位在高端市场;对于使用者,芯片、开发工具及开发平台较贵,开发难度也较大;ARM公司在2005年收购805l的最大工具开发商Keil,就为其进入8/16位市场做准备。2009年后,ARM公司推出了Cortex-MO ARM,它低功耗、高性能、代码密度高,价格比其他8位单片机低,而且开发工具、平台价格低,开发难度大大降低。可以说,用Cortex-MO ARM代替8051单片机的时机已经成熟,学校单片机教学内容进行改变是实现代替的第一步。我们在使用Cortex-MO ARMLPCI 100教学过程中,把两者性能及使用方法进行了对比,在具体应用上提出自己的看法,并做了有益的探索。
2 LPCI100系列ARM功能
ARM Cortex-MO处理器工作频率50MHz,嵌套向量中断控制器,可快速确定中断,唤醒中断控制器,支持优先中断自动唤醒。具体包括3种节能模式:睡眠模式、深度睡眠模式和深度掉电模式。内存:最高128KB闪存,最高16KBSRAM。串行外设:UART支持分频波特率产生、内部FIFO和RS-485;SPI控制器,支持FIFO和多协议功能;12C总线接口,支持全速12C总线规范和增强型快速模式,数据速率高达1Mbit/s,支持多地址识别和监控模式。模拟外设:8个通道10位模数转换器,转换速率最高可达每秒250K个采样。最高42个通用I/O(GPIO)管脚,具有可配置的上拉,下拉电阻和可配置的新型开漏工作模式。4个通用计数器、计时器,共4个捕获输入端和13个匹配输出端。可编程看门狗定时器(WDT),带锁死功能;一个系统计时器;各个外设均自带时钟分频器,有利于节能。
从上述性能可以看出,8051单片机具有的所有性能,LPCI100系列ARM都具有,而且增加了许多8051单片机没有的功能。
2.1 LPCI100系列ARM与8051的性能对比
(1)指令长度对比。指令的长度和微处理器的位数无关,经过比较发现LPCI100的指令长度和8051单片机很相似,指令的密度非常大。
(2)处理器运算能力对比。8051单片机虽然支持8位和16位数据,但是对于16位数据需要多次处理,增加了堆栈和中断延迟;LPCI100处理器对长整形的数据处理只需要极少的周期,并具有极佳的浮点处理能力,对于32位数据的传输也只需要很少的时钟周期。
(3)处理性能对比。比较微处理器性能的一种常用的方法是使用Dhrystone基准,它在微处理器中只占很小的内存。比较的结果显示,Cortex-MO性能远大于8051单片机。
(4)运行模式及指令数量对比。8051单片机有一种运行模式,Cortex-MO ARM也只有一种运行模式,非常简单;8051单片机指令集为50条左右,Cortex-M0的指令集也仅有56条。
(5)代码量对比。根据业界的CoreMark基准,在多数常见微控制器任务中,基于Cortex-MO ARM微控制器的代码需求量降低了40%-50%,代码量已经小于同等功能下8051的代码量。这是因为8051所使用的指令并不全是8位的(8-24位),而Cortex-MO的指令位宽大部分是16位的;8051所要处理的数据也不总是8位的,而所有8位、16位和32位数据传输在Cortex-MO ARM中都是通过单一指令完成的;8051的寻址空间限制在64KB,虽然可以用分段方法扩展,但这会带来代码的增长,而Cortex-MO ARM寻址空间可达4GB,完全能满足编制代码要求。
(6)内存访问效率对比。Cortex-MO ARM使用32位总线,减少了内存访问所需次数,从而降低了功耗。对于在内存中复制同样数量的数据,8位微处理器需要4倍的内存访问次数和更多的取指,所以8位单片机需要消耗更多的功耗,才能达到同样的目的。
(7)价格对比。随着近年来制造工艺的不断进步,Cortex-MO ARM的成本也不断降低,已经与8位和16位微处理器处于同等水平。就LPCI100系列ARM而言,价格比许多8位单片机还低。
2.2 使用方式比较
用LPCI100系列ARM代替8051单片机,在使用方式上要相对简单。
(1)I/O端口。8051单片机I/O端口大多数没有复用功能,使用相对简单。LPCI100系列ARM绝大部分I/O端口都有复用功能,可以设置为A/D输入、总线等,默认状态为I/O端口。它共有4个通用I/O端口(如LPCI114 LQFP48共有42位I/O端口),通过GPIO配置寄存器设置不同功能;对于信号传输方向,通过寄存器设置,但一旦设置完成,正常使用就不烦琐了。
(2)中断。就中断控制过程而言,805l单片机和LPCI100系列ARM类似,都是当外设符合中断条件时,中断源会向处理器提出中断请求,处理器开始响应一个中断,中断控制器会自动定位一张中断向量表,根据中断号从表中找到中断服务程序(ISR)的入口地址并跳转过去执行。当中断服务程序执行完成后,从堆栈中取出中断前断点的程序指针及数据,在断点处继续执行。LPCI100系列ARM支持的中断源多,且具有4个中断优先级,8051单片机只有2个中断优先级。
(3)定时器/计数器。8051单片机具有2个16位定时器/计数器,LPCI100系列ARM具有2个16位和2个32位定时器/计数器,每个定时器/计数器都有一个相应的输入信号引脚和2-4个相应的输出信号引脚,具有定时、计数、输入捕捉功能,并可以设置为脉冲宽度调制(PWM)模式,用于电机控制。此外,LPCI100系列ARM还有两个非常有用而8051单片机不具备的功能,就是系统节拍定时器,其拥有专门的内部时钟与异常中断向量,可为实时操作系统提供固定的时间间隔中断;还有就是看门狗定时器(WDT)模块用于对微处理器的运行状态进行实时监测。
(4)通信部件。8051单片机的串行接口只有一个UART,而LPCI100系列ARM具有丰富的串行接口,一个UART还支持RS-485的9位模式和输出使能,给一些分布式控制系统应用带来了方便。除此之外,还具备SSP接口、12C接口,方便应用时选择。
(5)开发软件。KEIL软件是最普及的一种8051单片机编程环境,大多数8051单片机学习、开发人员都是采用KEIL进行编程。在ARM公司收购KEIL公司后,ARM公司结合自己的优势和KEIL的特点推出了新一代的ARM编译平台――RealView MDK。RealView MDK集成了许多先进的技术,包括uVision4集成开发环境与RealView编译器,支持所有的ARM芯片,并且自动配置启动代码、集成Flash烧写模块、强大的Simulation设备模拟、性能分析、逻辑分析等,大大降低了初学者的门槛,而且所使用的uVision集成开发环境(IDE)和开发使用ARM非常相似,在开发使用上都有着可以借鉴的地方。
3 教学案例
为了配合课堂教学需要,我们设计了Cortex-MO LPCIl00系列ARM实验平台,主要模块有:ARM核心模块(包括LPCIll4,复位控制芯片,SWD调试电路);键盘、显示模块(一个4×4矩阵键盘,LCDl602液晶显示器);通讯接口模块(包括RS232、RS485、12C和SPI等),8路A/D转换输入,配接8个电位器,实现A/D采集;一路PWM输出,可以通过示波器观察波形;带光耦的4路开关量(输入和输出),4路继电器控制(带指示LED)。除了可以完成所有8051单片机传统的实验外,还增加了A/D转换、PWM控制、12C、SPI、WDT及功耗控制等实验。
根据Cortex-M0 LPCI100系列ARM的特点,结合教学需要,我们设计了下述分布式智能温室采集控制系统实验方案。在嵌入式应用中,有一种形式比较普遍,就是数据采集(通过A/D转换实现),配以若干开关量输入/输出,并以上、下位机通过RS-485组成的分布式控制系统。这就是我们这个实验方案的原型。
分布式智能温室采集控制系统由5个部分组成,如图1所示。
(1)信号采集输入部分:包括温度、湿度、光照、风速、风向、雨量等环境因子的检测。
(2)输出及控制部分:控制风机湿帘、遮阳网、窗的开关等系统。
(3)LPCI114部分:包括信号转换与处理部分,将采集的信号转换为计算机和操作人员可识别的量,由LPCI114进行处理。灌溉控制,包括定时灌溉,时间由控制室调整制定,并可根据实际情况,在温室内进行手动控制灌溉。
(4)RS-485通讯部分:用于和上位机通讯,完成数据通讯、控制命令下达和远程参数设置。
(5)LCD显示和键盘部分:用于部分数据监视、温度、湿度等上限和下限的参数设置。
我们用实验平台对上述各部分硬件进行对应设置,用5个电位器代替温度、湿度等模拟量,接到LPCI114A/D输入,用3个继电器代替风机湿帘等的控制。
LPCI100系列ARM实验平台编制的程序主要是:定时采集温度、湿度等数据值,通过RS485传到上位机(PC机);通过采集到的各个数据和设定的上限和下限值进行比较,控制对应继电器工作(可以通过配套LED观察结果);编制键盘、LCD程序;编制上位机(PC机)通讯、显示程序。
4 结语
虽然LPCIl00系列ARM使用上比8051系列单片机烦琐一些,这主要是因为LPCIl00功能多,需要配置,但一旦配置完成,后面的使用中就不用再改动了;还有就是各个功能部件(中断、定时器/计数器、串行接口等),控制寄存器的数量多于8051单片机,但也是一旦设置完成后,在后面的使用中,就和普通单片机差不多了。另外LPCIl00系列ARM的设计考虑了在应用中的基本功能要求,对最常用的功能,如FO输入输出功能采用了默认的形式,即不配置成其他功能,默认成普通I/O口,这样连开始的配置或设置都不需要了。
关键词 组态王;ARM9;通讯协议;串口通信
中图分类号TP311 文献标识码A 文章编号 1674-6708(2011)49-0235-01
0 引言
随着工业自动化要求提高,组态软件设计的监控系统逐步普及,开发的控制设备与监控设备之间需要通讯。组态王KingView软件基于Microsoft Windows XP,NT/2000操作系统,具有友好的人机操作界面,可与各种PLC、智能仪表等实时通讯,但无法与自己开发的控制设备通信,ARM9作为高性能处理器经常用来开发工控设备,所以实现组态王与ARM9开发板的串口通信对工控设备开发十分必要。
1 组态王与ARM9开发板的串口通信方法
1.1 组态王支持的单片机通讯协议(ASCII)
本设计采用亚控公司的组态王中的单片机通讯协议(ASCII)实现组态王与ARM9开发板串口通信。亚控公司的组态王中的单片机通讯协议(ASCII)简介如下:
上位机发送读命令:字头-设备地址-标志-数据地址-数据字节数-异或-CR
若正常下位机应答:字头-设备地址-数据字节数-数据-异或- CR
若不正常下位机应答:字头-设备地址-**-异或- CR
上位机发送写命令:字头-设备地址-标志-数据地址-数据字节数-数据-异或- CR
若正常下位机应答:字头-设备地址-##-异或- CR
若不正常下位机应答:字头-设备地址-**-异或- CR
1.2 组态王与ARM9开发板串口通信方法
组态王与ARM9开发板串口通信采用亚控公司的组态王中的单片机通讯协议(ASCII)。组态王安装在上位PC机上,组态王本身支持单片机通讯协议(ASCII),要实现组态王与ARM9开发板串口通信,其实任务就是在下位机ARM9开发板上设计下位机应答程序和通信数据缓存区,用下位机应答程序和上位机(组态王)发送的读写命令通信,用ARM9设计的通信数据缓存区中的存储单元与组态王中定义的寄存器对应。
2 组态王与ARM9开发板串口通信接口电路
上位PC机与下位单片机ARM9的串口通信硬件接口电路。上位PC机与下位机ARM9开发板本身都自带串行通讯接口,但由于在分布式系统中上位机与各下位机的分布不集中,故采用RS-232转RS-485进行串口通信。RS-485最大传输距离为1 219 m,最大传输速率为10 Mb/s,对干扰有较强的抑制能力。
3 ARM9开发板串口通信程序设计实现
3.1 下位机ARM9通信数据缓存区设计
下位机ARM9设计通信数据缓存区,其目的是让下位机通信数据缓存区中的存储单元与组态王中定义的寄存器对应起来,为数据通信做好准备。本设计在ARM9中定义64字节通信数据缓存区(U8 X[64]),即数组逻辑地址从0-63共64个字节的存储单元,每个存储单元都可读可写,具体情况可由开发监控系统的需要来灵活决定。上位PC机组态王中定义寄存器格式Xdd,其中dd代表数据地址,此地址与本设计ARM9通信数据缓存区存储单元(数组X)的地址相对应。
3.2 下位机ARM9串口通信程序设计
组态王与ARM9开发板串口通信程序设计具体思路。首先,在ARM9中设置串口通信数据缓存区(定义64字节缓存区:U8 X[64])与组态王中定义的寄存器X相对应;然后,让ARM9开发板上的串口等待上位PC机(组态王)发送的读写命令,当串口接收到数据时发生串口中断,并执行串口中断处理程序。串口中断处理程序功能:当串口收到不是读写命令或收到读写命令的设备地址不是本下位机的地址时本下位机不作回应,当收到读写命令的设备地址是本下位机的地址时本下位机按照单片机通讯协议(ASCII)作出相应的应答。
完成组态王与ARM9开发板串口通信的串口中断程序及中断处理程序ARM _ ACK()的程序流程图如下图:
本文基于亚控公司的组态王中的单片机通讯协议(ASCII)实现组态王与ARM9开发板串口通信的程序设计方法,已在TQ2440开发板上编程设计实现,并成功与组态王正确通信。
4 结论
在工控中使用32位ARM处理器,是未来工业控制的发展方向,所以解决组态王等监控软件与ARM开发板串口通信对工控设备开发有着重要的现实意义。
关键词: 硬币鉴别; ARM; 传感器; AD9480
中图分类号: TN710?34 文献标识码: A 文章编号: 1004?373X(2014)18?0114?03
Design of coin identification system based on ARM
WANG Juan, WU Hao, FU Cheng?wei, JING Ya
(School of Physics, Jilin University, Changchun 130012, China)
Abstract: In order to reduce the false coin circulation, a design of coin identification system based on ARM is presented in this paper. This is a composite testing system, in which capacitive sensor, electromagnetic sensor, eddy current sensor and optical sensor are used, to detect the material, thickness and diameter of coins. The signal acquisition circuit system is based on AD9480 to realize high?speed and efficient acquisition and processing of coin features. The processed feature data of coins is sent to STM32 to compare the data with true coin values to identify the detected coins. This system has a great market prospect.
Keywords: coin identification; ARM; sensor; AD9480
0 引 言
人民币硬币是由多种金属材料合成而成,以一元硬币为例,其中含铁、碳、镍等不同金属,其中各种材料的比例多少是国家的机密。由于造假者并不了解真币的各种材质比例及制造工艺,只是在材质、尺寸、质量、图案上进行模仿,目前,对假硬币进行的鉴别方法主要有图像对比法、称质量法和涡流传感器检测法。图像法硬件成本高,不易做到实时性,称重法片面,涡流传感器对一些特定硬币检测的限制性等等。所以,设计出一种对国内外多种硬币材质有效鉴别的系统,以电磁感应原理,电容器原理及电子技术为硬件技术支持,以STM32单片机为核心的系统。文中介绍了系统具体设计和实现。
1 系统总体设计
本系统是基于ARM 的硬币鉴别系统,单片机采用ST公司的STM32F103VE型号,其负责系统控制和对数据的采集和处理,并且提供报警等服务。由线性CCD组成的光学传感器,硬币经过时,可以检测其直径。由两个极板构成的电容极板,硬币的厚度会影响两极板上的电容,进而影响电压的变化,电压信号在经过滤波和放大,通过AD9480采集到表征硬币厚度的电压值。电磁传感器和涡流传感器,因金属材质的不同会对传感器的电感量大小产生影响,然后分别经过频率计和电压比较器后,单片机采集其表征金属材质的频率值。将AD9480和单片机采集所得到的4组值与存储在单片机内的真硬币的特征值相比较,即可确定硬币真假和种类。系统框图如图1所示。
2 硬件检测原理及方法
本文设计的硬币鉴别系统有硬币真伪鉴别、假币报警、学习功能。以下将对此系统的工作原理,总体结构进行阐述。
2.1 电磁传感器
电磁传感器结构图如图2所示。
将线圈(图2中红色部分)接入谐振电路,当硬币(图1中灰色部分)从线圈中间通过时,由于电磁感应,影响线圈是Q值和L,公式如下:
[f=12πLC] (1)
[Q=ωLR] (2)
根据式(1)、式(2)可知,电感系数改变会改变自身的[Q]值和[L]值,由此得出频率[f],通过用单片机采集频率,计算,对比即可通过材质辨别硬币的真假。电磁感应原理如图3所示。
图1 系统框架
图2 电磁传感器结构图
图3 电磁感应原理图
2.2 涡流传感器测
使用两侧线圈产生特定高频率电磁波,硬币经过时会产生涡流效应,可以检测包络覆盖以及内外圈不同金属的硬币。两侧线圈(图4中两端黑色部分)产生特定频率的电磁波,硬币经过时会产生涡流效应,进而影响线圈的的质量因子,电感,阻抗等。原理如上,然后根据频率的变化,经过单片机采集,计算,对比即可通过材质经行真假硬币和币种的辨别。
2.3 电容传感器测量厚度
利用平行板电容原理检测硬币厚度。图5中硬币两侧红色部分为平行板金属电极。
当硬币通过硬币口进人平行电容传感器时(如图5所示)会引起传感器电容[Δd]的变化,由式(3)、式(4)可得相应电容C1与C2的变化(C1为硬币与上电容板的电容,C2为硬币与下电容板的电容,d为间距),通过电容传感器配用的交流电桥将电容的变化转换成电压信号。
[C1=εAd-Δd=C011-Δdd] (3)
[C2=εAd+Δd=C011+Δdd] (4)
[图4 涡流传感器结构图 图5 电容传感器结构图]
其中变间隙式平行电容传感器通过检验硬币的尺寸、厚度来辨别真伪,硬币经过电容传感器会引起电容的变化,经交流电桥转换成电压信号见图6。经过信号放大,可用单片机的A/D来采集,经单片机的处理,在单片机中进行真假币判断。
图6 平行电容传感器
2.4 光学传感器
用光学传感器测量直径,直径测量使用线阵CCD,使用高速AD9480采集数据。根据相关文献基本可以实现0.1 mm精度测量,测量速度50 ms左右。
图7中左侧黑色部分为线阵CCD传感器,右侧为线性光源。
图7 光学传感器结构图
3 控制部分及数据分析
3.1 控制部分
单片机在初始化之后,系统选择运行模式(如图8所示),若为学习模式,则进入学习模式子程序(见图9)。首先要判断是否有硬币进入通道,如若没有,继续等待,若有真币,则通过A/D采集传感器转换过来的数值,经过单片机处理后,将真币特征值存入E2PROM,作为硬币鉴别的标准特征值。
图8 系统总体模式
图9 单片机学习模式
若是工作模式,则进入工作模式子程序,把经过传感器转换,A/D采集,单片机处理后的待测硬币特征值与E2PROM中的标准特征值进行比较,来判定硬币的真伪。如果待测硬币特征值的差值在预设的误差范围内,则可认定待测硬币为真,真币数量加1。若待测硬币特征值在预设的误差范围之外,继续与E2PROM中的其他真币特征值相比较,若果得到的特征值差值都在范围外,则可断定该币为假币,发出声音报警,剔除假币,等待新的硬币检测。如图10所示。
3.2 检测数据及分析
不同面值的硬币和同一面值得真假币直径、厚度、材质等都有很大差别。利用本文所述的的硬币鉴别系统对真币进行检测,然后把表征硬币特征的值存入E2PROM,应用本系统进行鉴别真假币时,只需把待测硬币的特征值与E2PROM中的真币特征值比较即可。实验测试值如表1所示。
图10 单片机工作模式
表1 几种硬币的检测范围及分析表
4 结 论
本文是以电磁传感器和涡流传感器为基础,对硬币进行材质检测,两种传感器可保证能够对假币的材质如包络,覆盖等的形式进行有效鉴别。本文应用光学传感器和电容传感器有效检测硬币的直径和厚度,可以进一步鉴别硬币和区分币种。本文基于ARM的硬币鉴别系统实现了快速采集数据、数据处理、控制等功能,通过测试,运行良好,有很大的市场应用前景。
注:本文通讯作者为付成伟。
参考文献
[1] 黄祥龙,李中会.一种基于solidworks的新型硬币鉴伪分拣机设计[J].中国新技术新产品,2010(11):60?63.
[2] 刘艺柱,郭素娜.基于电涡流传感器的硬币识别系统的设计[J].河南理工大学学报,2010(4):29?30.
[3] 赵凯华,陈熙谋.电磁学[M].北京:高等教育出版社,2011.
[4] 吕冰,叶婷婷,赵剑锋.基于电磁检测技术的硬币检伪装置[J].仪表技术与传感器,2010(12):80?82.
不过,MIPS科技公司这几年也在寻求突破。Microchipx MlPS架构的积极拥趸者之一,最近,Microchip的Edendur Kristjansson~ARM公司声称的32位单片机(MCU)应用的可移植性产生了疑问。
32位单片机的应用可移植性:现实还是神话?
Erlendur首先介绍了事情的原委:2008年11月,ARM公司宣布推出Cortex微控制器软件接口标准(Microcontroller Software InterfaceStandard,CMSIS)。ARM声称,对于新器件的软件开发项目或将现有软件在不同芯片厂商的基于Cortex-M的单片机之间移植时,这项标准可降低软件设计成本。这听起来很不错,但事实确实如此吗?
Erlendur分析道,根据ARM所言,CMSIS是“适用于Cortex-M处理器系列的与厂商无关的硬件抽象层。CMSIS为不同芯片厂商和中间件提供商的处理器提供了简单一致的软件接口,这简化了软件重用,缩短了开发人员对于新单片机(MCU)的学习过程以及新器件的上市时间。CMSIS的问世使芯片厂商可将资源集中在突出其产品的外设功能上,无需在对单片机进行编程时保持各自不兼容的标准。”
可移植性的可能性探讨
我们已了解各个单片机制造商都能提供什么,现在可以看一下抽象层能为设计人员做些什么(如果有的话)。首先,我们来看CMSIS声称所能提供的功能,同时应记住前文所述的系统架构、外设和固件库。
CMSIS版本1.3
1.内核外设访问层:包含用于访问内核寄存器和外设的名称定义、地址定义和辅助函数。它还定义了一个用于RTOs内核的器件无关接口。其中包含调试通道定义。
2.这些软件层由芯片合作伙伴通过以下方式进行扩展:
a)器件外设访问层,提供所有器件外设的定义:
b)用于外设的访问函数(可选):提供用于外设的附加辅助函数。
仔细阅读此说明后,我们可以看到CMSIS提供了一种通用语言,通过它可描述MCU的不同元件。
接下来,我们看一下两个不同的“芯片合作伙伴(使用ARM Cortex-M处理器内核的MCU制造商)”所生产的MCU中包含的部分功能。
显而易见的是,尽管这两个32位MCU制造商都使用Cortex-M3内核,但主要功能仍有区别。表l中列出的功能是单片机最标准的功能,即便如此它们仍有不同。这意味着,即使这两个制造商使用相同的内核,也需要对软件进行调整才能运行最基本的程序,例如翻转I/O或使用UART。如果不进行一定程度的代码重写,而只是对基本参数进行调整,则无法在A和B之间移植软件。
另外,在表l的示例中,厂商A和B的单片机都使用了ARM Cortex-M3内核,并且都具有符合CMSIS标准的固件库。这是否意味着他们的库(例如电机控制库)可以互相移植?
其实不见得。这两个制造商对外设和固件采用了完全不同的方法。厂商A使用专用算法库(可能由多人经过数年开发而成)来最高效地利用其单片机上的专用外设。而厂商B则专注于使用更通用的外设并构建通用外设库,对于特定应用则使用示例代码和应用笔记进行说明。
这两种完全不同的方法使得在这两个制造商的MCU之间移植程序(例如电机控制子程序)非常困难,尽管它们使用了相同的内核。此外,库函数的命名也不相同,这意味着用户必须重写代码中的所有库函数调用,并且要弄清将哪些变量和值提交给函数。这完全不是所谓的可移植性。
再有,设计人员关注的重点是开发特定最终用途代码时的速度、效率和可靠性。厂商A和B采用不同的方法来达到这些目标。厂商A使用基于专用硬件的方法,而厂商B的法更加专注于通用硬件。厂商A针对特定应用提供了经过潜心开发的专用库,以最大限度地利用其单片机的功能。而厂商B只提供基本构件,让开发人员构建自己的解决方案。
笔者认为,如果真像Microchip所说的32位单片机的应用难以移植,那ARM阵营的优势会打一定的折扣。如果单挑,Microchip所选的MIPS公司的内核,在计算性能也是有优势的。
MIPS公司对其IP(知识产权)核功耗高的错觉进行了澄清。MIPS公司中国区市场总监费浙平称,最近,全球第一款MIPS智能手机平台来自于中国的客户――北京君正,这用事实证明YMIPS架构的高性能、低功耗能力。
那么如何理解高性能、低功耗,MIPS公司在这方面的创新是什么?费浙平说,高性能和低功耗是必须放在一起考量的一对指标。历史上MIPs一直被比较多地应用于高性能领域,比如15年前多数MIPS平台就运行在100~200MHz以上,而那时候很多其他架构只需要运行在50MHz以下,显然,200MHz的设计实现其绝对功耗是远大于50MHz设计的,不管其结构体系本身多么有优势。
多年来,MIPS比较多地被应用于绝对性能要求较高的地方,这就是关于
地缘优势:反应速度+服务支持
本土公司的最大优势是反应快。从新产品的定义、设计到制造较为迅速,这对新兴市场的快速进入尤其有利。
另外,在服务支持方面,有些技术问题不是在实验室里就可以预测到的,但通常来说,国内客户很难与海外的芯片设计人员直接沟通,来解决系统层面的问题。而本土芯片设计人员可以和客户密切合作、共同开发、甚至可以深入现场一一钻入深山老林、爬到电线杆上去观察和解决客户在实际现场中发生的问题。
核心技术有突破
谈起单片机销售,归根结底取决于性价比好的产品,例如抗干扰性、低功耗、低成本等指标。
力争在技术上做出特色的上海海尔集成电路,定位是工业级高抗干扰、高可靠的8位通用及专用MCU。
上海海尔集成电路的第一个客户就是海尔集团,而海尔集团的白色家电对抗干扰性要求苛刻,尤其在洗衣机、冰箱、空调等电器内部都有大型马达/压缩机,要求内部芯片在干扰很高的条件下仍能正常工作。
抗干扰是个世界性的难题,这也是很多MCU厂家很难涉足白电的原因。为攻破此难关,上海海尔集成电路针对海尔集团的产品反复试验,研发了多年,因而积累了丰富的设计与工艺经验。
专用、通用相结合
纵观市面上的单片机公司,通常分为通用和专用两大阵营。一般日系做专用的较多,例如瞄准家电、电动车、电表等市场做专门的研发及推广;欧美系则通用型产品居多,特点是能够提供较为方便的开发环境,易于客户在多种应用中使用。
上海海尔集成电路的策略是通用与专用结合:开始以通用型产品进入市场:后续如果市场有足够的吸引力,就能快速进入专用型产品的定义、研发和推广。
专用型的难点在于定位准确。因为最终芯片可能要经过一两年才出来,到时预定的市场是否会发生变化?另外,IC厂家还需要跟系统厂商联系得非常密切。
依托系统厂商
我国IC专家的共识是:中国本土芯片企业容易在三个方面取得突破,1.满足中国标准的市场的兴起:2.有大量需求的市场规模的快速形成:3.配合系统厂商的IC设计需求。这第三点,也正是上海海尔集成电路具有的先天优势之――依托海尔集团。
上海海尔集成电路自2000年成立,首要的客户就是海尔集团。海尔集团作为投资方之一,在产品研发方面给与了大力支持。凭借集团的支持和产品应用的成功,上海海尔集成电路打开了国内白电、小家电、电表、工业控制、汽车电子等MCU市场。目前,该公司欲把销售渠道在国内广泛铺开。
8位单片机将与ARM Cortex-MO备领
现在一些MCU供应商推出了基于ARM Cortex-M0核的32位芯片,进军传统8位MCU市场。作为拥有自主知识产权的RISC架构厂商,上海海尔集成电路坚信8位MCU还是有自己的一片天地的。唐群分析道,之所以很多企业定位跟ARM绑定,原因是ARM阵营可以提供众多的Library(库)的支持:另外,很多厂商认为8位MCU的利润越来越薄,因此往ARM转,以此减少研发费用;不过,通用型Mo Mcu的RoM常规下要做得较大,而实际上有些应用不见得有这种需要:基于ARM核对MCU供应商来说也需要支付一定的版税。因此,如同到目前为止,8位Mcu不能完全覆盖4位单片机市场一样,M0也不可能完全覆盖8位单片机市场。
十年磨一剑
上海海尔集成电路是本土MCU厂商中,唯一一家做MCU产品及完整支持工具的专业企业,从仿真器、编程器、一直到软件集成开发环境、c编译器等。
【关键词】ARM9 点阵显示屏 SD卡
LED显示屏是近几年全球迅速发展起来的新型信息显示媒体,它利用发光二极管构成的点阵模块或像素组成大面积显示屏幕,以可靠性高、使用寿命长、环境适应能力强、价格性能比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用 本论文以ARM9高性能单片机来设计电子点阵显示屏的硬件系统。
一、电子点阵显示屏的硬件系统框图如图1所示
图1 电子点阵显示屏硬件系统框图
二、采用16个LED8*8显示屏,构成16行*64列点阵显示
点阵显示屏由16个8×8点阵LED显示模块。16片8×8点阵LED显示模块利用总线形组成一个16×64的LED点阵,用于同时显示4个16×16点阵汉字或8个16×8点阵的字母p字符或数字。单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。
三、显示驱动电路
采用74HC138三-八译码器和74HC164移位寄存器。将从ARM里出来的列信号通过8个164级联而成的64位的信号输出端连接到16*64的点阵LED的输入端,作为点阵的行驱动信号。通过164移位这64位的信号,来控制显示内容的变化。再从ARM输出三个信号分别输入到2个级联的74HC138译码器,然后输出16位行信号,经过16个1K的电阻,再输入到16个PNP(8550)三极管的B极来进行对行信号的放大,其中所有的三极管的E极相连接+5V的电源,所有的C极接16个470欧姆的电阻,得到的信号作为点阵LED 的行输入信号。通过对138的三个输入信号进行控制,改变行信号。由138和164的信号,控制二极管的亮、灭来显示出所要求的字符、汉字。
行驱动电路:每个LED管亮需要7mA的电流,那么64个同时亮就需要448mA的电流,所以我们要对列进行驱动,我们采用晶体管8550对列信号进行放大。驱动电路如图2所示:
图2 点阵显示屏驱动电路
列驱动电路:此电路是由集成电路74HC164构成的,它具有一个8位串入并出的移位寄存器,可以实现在显示本行各列数据的同时,传送下一行的列数据。如图3所示:
图3 列驱动电路
四、总结
本论文完成了LED点阵电子显示屏的主要电路的设计。在系统设计中使用SD卡的扩展,是存储容量大大的增大,实现了海量存储,并具有掉电保护功能。通过和PC机的通讯,使显示的信息能实时的更新。也实现了显示屏的多字体显示。整个系统简洁,可靠性高,性能稳定。
参考文献:
[1]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,1995.
1、功能简介
为减少窃电造成的经济损失,特研制多用户监控终端。多用户监控终端可以同时监控16个单相居民用户的用电情况,由计量模块、采集模块、控制模块、显示与铵键板、GSM模块、箱体等组成。多用户监控终端做成箱体结构,把计量模块、采集模块、继电器控制模块、主控单元和GSM通信单元全部装进一个箱体中,每一路的计量模块、采集模块、控制模块做到一个板子上(分控单元板),分控单元板与主控单元板采用插接方式进行连接。
2、整体功能实现
计量模块与电能表同时接入用电线路,同时计量电能。计量模块包括是一块SH15单相电工表。脉冲采集模块通过脉冲线与电能表相连接,通过计读脉冲来计读电能表的电量。计量模块通过RS485接口与多用户表通信,抄读多用户表的电量数据。抄读数据时每15分钟为一个时间段,把15分钟内的脉冲电能数据与RS485电能数据进行比较如果误差超出了指定范围,则认为该表可能有问题。对于有问题的电能表可以让主控单元通过GSM模块把提示短信发送给相关电力员工手机,也可以根据设定对用户进行断电操作。
2.1分控单元设计
把每一路的计量模块、控制模块、脉冲采集模块合成到一块印制板上,即为分控单元。每个分控单元上有一个单独的CPU进行独立工作,独立控制计量模块、控制模块和脉冲采集模块。分控单元上的CPU暂时选用ST系列的ARM-Corte-M3单片机STM32F103CB。该型号ST系列的ARM单片机上至少有一路UART串口外设,用于RS485通信;至少有一个I2C总线接口,用于和主控单元通信;至少有两路外部中断,用于脉冲电能采集。同时分控单元上还要有一个功率继电器用来切换用户供电。
2.2主控单元设计
主控单元板上设有16路插槽,用于插接分控单元板,它们之间采用插接方式连接,主控单元与16路分控单元采用I2C总线通信。主控单元板由于工作任务较多,选用一款性能比较高的CPU,选用ARM-Core-M3系列的STM32F103VB,ARM Cortex系列单片机,其拥有72M的处理速度,四路UART串行通信口,还具有I2C,SPI总线控制器。主控单元与GSM模块通信采用UART串行通信。
2.3GSM通信模块
GSM通信模块初步选用中兴公司的MT3000通信模块,其支持电话、短信、GPRS等通信功能,我们仅采用其中的短信通信功能。GSM模块内部可以插一张手机SIM卡,拥有一个手机的全部功能。GSM模块主要用于给电力员工手机发送提示短信,同时也可以让员工手机给多用户监控终端发送短信进行相关操作。
3、项目进度
3.1方案设计阶段
主要产生文件:
1、主控板技术方案及功能明细。
2、分控板技术方案及功能明细。
3、多用户监控终端实现功能明细。
3.2技术设计阶段
3.2.1初步设计主要产生文件:
1、新购元器件清单,由供应部采购。
2、总控板、分控板、显示板、计算机软件之间的大概通信协议。
3、程序设计大纲。
3.2.2硬件设计:
1、绘制总控板、分控板、显示板的原理图。
2、绘制总控板、分控板、显示板的PCB印制板图。
3、绘制总控板、分控板、显示板的焊装图和焊装明细。
3.2.3电气结构设计:编写各模块配线图、编写箱体总体配线图、相关机箱和面板的设计。
3.2.4单片机程序设计:总控板源代码、分控板源代码、显示板源代码。
4、生产与装配
中图分类号:TN911-33文献标识码:A
文章编号:1004-373X(2010)18-0021-04
Design of Wireless Acquisition System for EEG Signal
XIE Hong, GE Qi-qi, YAO Nan, DONG Yao-hua
(Institute of Information Engineering, Shanghai Maritime University, Shanghai 200135, China)
Abstract: The design scheme of a wearable wireless acquisition system for EEG signal is introduced. A 16-bit MSP430F169 MCU is adopted in the system controller, in which 12-bit ADC is used to aquire the amplified and filtered EEG signal. The acqired EEG signal data of the 16 channels is writen to the register of CC2500 via SPI and then emitted. When the receiver obtains the data, the data from the receiver register of CC2500 is read out by MCU. Finally the data is sent to computer by UART through USB for display and further processing. This system has the advantage of low power consumption and is portable.Keywords: EEG; CC2500; UART; system controller
0 引 言
疲劳驾驶是造成很多恶通事故的主要因素,因此人们研究探索通过监测驾驶员的身体和生理状态来识别驾驶员是否疲劳驾驶,如眼动信息、头部运动状态等。近年来,基于脑电信号识别驾驶员警觉度状态已经成为一种研究热点[1-2],而驾驶员可穿戴式脑电信号采集装置是其必要的保障。脑电信号采集系统主要由/数转换模块、微控制器和数据传输等部分构成。其中微控制器的实现一般有4种方案:如文献[3]中采用单片机把采集到的模拟脑电信号转换为数字信号,并通过RS 232接口传给计算机,该方法一般用于低端的不要求太高数据处理能力的采集中,成本较低;文献[4]采用DSP数字信号处理芯片,将A/D转换后的脑电信号进行DSP预处理(数字滤波),再通过PC的并口与DSP的HPI的口互联,主要利用了其在数据分析中的快速处理能力;文献[5]采用ARM作为处理器,ARM中移入了μC/OS-Ⅱ操作系统,并移植了Hanning滤波器以抑制50 Hz工频干扰,利用ARM对信号进行处理与分析显示;文献[6]采用FPGA,利用其内部丰富的逻辑资源控制A/D采集、FIR滤波、液晶的显示及USB与PC的数据传输。以上文献中的方案都为有线传输,且DSP和FPGA芯片成本高功耗大。文献[7]中采用蓝牙无线传输模块实现了可穿戴脑电信号采集与传输,蓝牙技术目前成本较高,适宜近距离传输。
本文针对驾驶员可穿戴式脑电信号采集设备的应用背景,提出基于MSP430单片机和CC2500的脑电信号采集和无线数据传输系统设计方案,在保证系统性能的条件下最大限度地降低功耗。
1 系统硬件设计
1.1 系统框图
该系统主要由3部分组成:数据采集、数据传输和数据处理服务器。其中数据采集与预处理采用业界公认的微功耗控制器MSP430系列单片机;数据传输采用无线收发模块CC2500,其由MSP430单片机通过SPI口控制其初始化和数据的发送与接收;接收的脑电数据由单片机通过UART转USB芯片传输给数据处理服务器做上层处理。具体系统组成如图1所示。
1.2 放大滤波模块
本文的脑电信号放大器原理图如图2所示。
本文中的前置放大器采用BB公司的INA118,这是一款专门用于生物信号采集用的集成仪表放大器,具有很高的精度;高通滤波采用传统的阻容滤波,截止频率为0.16 Hz;后级放大电路中的放大器采用通用集成运算放大器AD8606;低通滤波采用八阶Bessel开关电容滤波芯片MAX7405,截止频率设为500 Hz。系统采用3 V的单电源供电,由于极化电压的存在,每级放大倍数不能太高,且后级放大分为相同的两级放大,总放大倍数为38×20×20,可以将微伏级的脑电信号放大到伏级,满足后级A/D采样中对输入信号幅度的要求。
图1 系统框图
图2 脑电放大器原理图
1.3 单片机控制系统
该系统采用的控制器是德州仪器公司推出的低功耗、高集成度的16位单片机MSP430F169[8-9],供电电压范围为1.8~3.6 V。MSP430F169具有丰富的外设,片内包括3个时钟信号,即1个高频时钟、1个低频时钟和1个DCO,灵活地使用系统时钟可以大大降低系统的功耗,方便系统的设计。此外还有2 KB的RAM、60 KB的FLASH、8通道采样率为200 KS/s的12位A/D转换器、3个内部DMA控制器、硬件乘法器、两个带有捕获计时寄存器的16位定时器、48个可复用I/O引脚和两个通用同步/异步串行通讯口。芯片内带有JTAG调试接口,无需仿真器和编程器,方便设计人员的开发调试。单片机的A/D采样部分使用3片模拟开关4053将8路扩为16路,原理图如图3所示。脑电信号幅度在-100~+100 μV之间,MSP430F169单片机的A/D转换器为12位,考虑到A/D转换后┝轿华会有不稳定的因素,系统的精确度仍能达到0.2 μV,这足以满足后期的警觉度特征提取。
1.4 无线传输模块
无线模块采用TI公司的CC2500[10-11]芯片,它是┮豢瞠超低功耗、低成本的无线收发模块,工作在2.4 GHz全球开放ISM(工业、科学、医学)频段,满足多信道通信和跳频通信需要,支持多种调制方式,包括FSK,GFSK,OOK和MSK,最高传输速率可达500 Kb/s。工作电压为1.9~3.6 V(与430单片机通过SPI口相连时无需电平转换),元件极少,内置硬件CRC和点对多点通信地址控制。主要的工作参数大都可以由设计者通过芯片状态字自行配置,没有复杂的通信协议,同种产品间可自由通信。所以,CC2500是┮豢瞠低成本射频系统级芯片,具有体积小、功耗少、元件少等优点。
图3 A/D部分连接原理图
CC2500模块通过标准的SPI接口与MSP430单片机相连;SI,SO为CC2500的数据输入/输出端口;SCLK作为数据传输的同步时钟;CSn为片选信号,低电平芯片工作;还有2个通用输出口GDO0和GDO2用来辅助CC2500实现无线通信功能。CC2500模块部分电路如图4所示。
图4 CC2500模块部分
脑电信号频率范围在0.5~100 Hz间,设计采样频率为500 Hz,共16通道,则要求传输速率:16×500×16 b/s=128 Kb/s,远小于CC2500最高传输速率500 Kb/s。
1.5 USB传输模块
USB接口芯片采用的是TI公司的TUSB3410[12-13],包括通过USB总线与主机通信所需要的全部逻辑电路。内部包含一个8052微控制器、16 KB RAM、I2C引导加载程序的10 KB ROM,4个通用I/O口,具有USB总线供电和自带电源2种┕┑绐模式。该芯片符合通用串行总线USB 2.0规范,支持12 Mb/s的数据速率,是一款高性能的USB接口器件。TUSB3410与MSP430F169的连接原理图如图5所示。
图5 TUSB3410与MSP430F169连接电路
本文使用USB总线供电模式,TUSB3410(U2)的USB数据信号经双路USB端口瞬态抵制器SN75240(U3)后连接到标准的USB B型口,以此增强系统ESD抗干扰能力;USB总线提供的5 V电压经TPS77301(U4)3.6 V LDO稳压后为系统供电。
2 系统软件设计
该系统中,程序设计包括单片机程序、USB驱动程序和PC机应用程序。考虑到该脑电信号采集系统的处理器负担不重,主要就是A/D采样、发送端和接收端程序及与上位机的通信,兼顾程序的易读性、可移植性,采用C语言作为编程语言。开发软件使用IAR公司的集成开发环境IAR Embedded Workbench嵌入式工作台以及调试器C-SPY,使用非常方便[14-15]。单片机程序流程如图6所示。
图6 单片机程序流程图
MSP430中ADC12模块采用序列通道单次转换模式,通过定时器A来控制采集数据的时间间隔。通过对转换序列中最后一个通道对应的中断允许位置位,序列通道完成一次转换时将自动产生中断标志,从而进入中断服务子程序,以此来完成多通道的信号采集。
在发送端,单片机通过SPI口来初始化CC2500的发射频率、波段、发射功率、地址码、地址位数、数据位数及收发模式等。在一个采用周期内,当ADC采集完16路脑电信号,单片机将ADC采集到的数据通过SPI写入CC2500的发射寄存器,开启CC2500的发射模式,CC2500将自动给要发射的数据加上前导码和校验位,并和地址码一起发送出去,而后单片机进入下一个采样周期。
在接收端,单片机同样配置CC2500,然后开启CC2500为接收状态,一旦接收到数据包,GDO0就产生一个中断给单片机,单片机便通过SPI口读取CC2500接收寄存器的数据,并通过UART将数据传到上位机电脑,然后等待接收下一组数据。
USB设备驱动程序负责建立上位机电脑与接收端单片机的联系,将从单片机UART口得到的数据通过USB接口传到电脑上。USB的驱动程序可在网上()下载到。
上位机电脑的应用程序是在VC 6.0[16]环境下开发的,主要完成对采集的脑电数据显示,也可以为以后是数据分析处理做准备。
3 结 语
本文以低功耗、低成本的CC2500射频收发芯片为传输模块,结合低功耗、高集成度的MSP430F169单片机作为控制器,设计了一套可穿戴式、低功耗、多通道的实时脑电信号无线采集系统,采集的精度、速度及系统的可靠性能够满足要求。
参考文献
[1]LIN Chin-teng. Development of wireless brain computer interface with embedded multitask scheduling and its application on real-time driver′s drowsiness detection and warning[J]. IEEE Transactions on Biomedical Engineering, 2008, 55(5): 1582-1591.
[2]傅佳伟.基于EEG的警觉度分析与估计研究综述[J].中国生物医学工程学报,2009,28(4):589-596.
[3]李志伟.数字脑电仪信号采集子系统的设计与实现[D].苏州:苏州大学,2005.
[4]江洪.基于DSP的脑电信号采集系统的设计[D].合肥:安徽大学,2005.
[5]钟文华.基于ARM的脑电信号采集系统[J].国外电子元器件,2008(2):13-15.
[6]侯俊钦.基于FPGA的脑电信号采集系统的设计[D].合肥:安徽大学,2007.
[7]GAU Shir-cheng. Development of dual-core processor based real-time wireless embedded brain signal acquisition/processing system and its application on driver′s drowsiness estimation[D]. 新竹:国立交通大学,2005.
[8]胡大可.MSP430系列16位单片机原理与应用[M].北京:北京航空航天大学出版社,2000.
[9]胡大可.MSP430系列单片机C语言程序设计与开发[M].北京:北京航空航天大学出版社,2003.
[10]Texas Instsuments. Low-cost low-power 2.4 GHz RF transceiver[EB/OL].[2009-05-19]..cn.
[11]Texas Instsuments. CC2500 Errata Notes[EB/OL].[2006-05-23]..cn.
[12]Texas Instsuments. MSP430 USB connectivity using TUSB3410[M]. USA: Texas Instruments, 2006.
[13]Texas Instsuments. TUSB3410 USB to serial port controller data manual[M]. USA: Texas Instruments, 2002.
[14]魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002.
关键词:嵌入式系统 模拟信号 数字信号 特殊信号
中图分类号:TN95 文献标识码:A 文章编号:1672-3791(2013)03(b)-0037-02
数据采集系统的历史较为悠久,近年来,随着电子工业的发展,便携式数据采集系统产品层出不穷。根据不同的采集信号,有不同的设计产品。雷达接口信号采集系统由于待采集信号的复杂性和未知性,其设计更为复杂。
1 数据采集产品现状
一般数据采集系统会按照其总线的不同而分类。常用的总线有以下几种:ISA、PCI、USB、PC104、CAN。
其中USB总线的产品凭借其极高的传输速率和便携性,在市场上占有重要的地位。
USB总线便携式数据采集系统产品的设计原理一般比较简单,一种比较典型的设计是,设计者使用Cypress公司的USB2.0控制器CY7C68013来控制Maxim公司的MAX1312采样数模转换芯片。这样把由MAX1312采集的数据直接通过USB控制器向上位机发送。设计框图如图1所示。
该数据采集系统只能实现较简单的数据采集功能,不具备功能扩展性。
2 基于嵌入式系统的数据采集系统现状
近年来,不少人投入到基于嵌入式系统的数据采集系统的研究开发中,开发的成果也相当丰富。
按照是否使用ARM将基于嵌入式开发平台的数据采集系统分为非基于ARM和基于ARM两类。
2.1 非基于ARM嵌入式平台的数据采集系统
非ARM嵌入式平台的数据采集系统一般都采用单片机作为其控制核心。结构一般包括选路控制器、AD转换、单片机等几个部分。
不使用ARM的数据采集系统,其功能受到单片机功能的限制,采样速率有限,存储空间较小,不能满足高速大容量采样的需求,更不可能在仪器上运行分析软件,从而摆脱电脑独立工作。某些基于单片机的数据采集系统也只能完成最简单的数据采集功能,而没有进行特殊应用的扩展,其功能甚至不如某些公司非嵌入式系统的USB采集卡。
2.2 基于ARM的嵌入式平台的数据采集系统
ARM系列微处理器功耗低、性能优于单片机,是便携式设备理想的选择,所以ARM越来越多的被应用到便携式数据采集系统。
由于ARM功能强大,能支持一些高级的应用,所以很多情况下,基于ARM的嵌入式系统的数据采集系统具有一定的针对性。它们往往是针对一种专门的对象,提供相关的应用功能。
目前基于ARM的嵌入式系统在数据采集中已经有比较多的应用。每种应用都有它们自己的针对性,并根据对象的不同要求进行了不同的设计。基于ARM的嵌入式系统,是基本原理相似,实质却是天壤之别。
3 基于ARM嵌入式平台的雷达数据采集系统
该采集系统分为便携式数据采集系统,数据管理及分析系统两大部分。便携式数据采集系统主要完成数据的采集和数据的前期处理,获得数据的特征信息,并能回显数据。数据管理及分析系统部署于上位机,用于对数据的存储管理和对比分析。如图2所示
采集对象分为三种类型:模拟信号、数字信号和特殊信号。由各自独立的采集电路实现。模拟信号通过量程自动控制及AD转换电路转换为数字信号,再由FPGA进行采集处理;数字信号则经过缓冲驱动后直接由FPGA处理;特殊信号经过幅值控制和适当的反向后,交由FPGA处理。
倍程自动控制通过压控继电器来实现,将输入电压按比例衰减到合适的范围,然后和基准电压比较确定输入电压的大小范围,根据这个范围,决定继电器的开合,最终将输入电压降低到-10 V~+10 V的范围,并记录衰减的倍数。
AD转换电路采用频率500 Ksps的AD采集芯片AD7665,实现-10 V~+10 V的模拟信号到数字信号的转换。
若待采集的数字信号为TTL信号,而FPGA的输入信号是CMOS信号,则信号进入FPGA前需要先经过一级缓冲驱动芯片处理。
特殊信号为脉宽仅有0.2 us的信号,使用简单运算放大稳压电路就可以实现稳压和反向的功能。不过为了保证信号不失真,需要采用高速运放。
FPGA则接收上面各种信号,并根据控制指令,将信号存储于外接的大容量SRAM中。为了实现这些功能,需要编写一套FPGA程序,实现一个控制系统的功能。该程序包括:采集电路的数字部分、系统时钟、AD采集控制、特殊信号采集控制、数字信号采集控制、SRAM控制、控制系统核心、嵌入式系统接口等部分。如图3所示
嵌入式系统部分采用比较小巧的ARM9系列的嵌入式平台作为硬件开发平台,从而使工作组要集中在软件开发上。开发系统选用了开源的操作系统Linux,从而增加开发的可控性。图形开发环境使用了嵌入式QT,嵌入式QT作为一款开源的图形开发平台有着广泛的应用。与FPGA的通讯使用了串口,FPGA端的串口的波特率基本不受太大的限制,串口速度的主要限制在嵌入式系统端。而S3C2410可以达到460800的串口波特率。嵌入式系统最终将数据存储于SD卡中,便于转存到PC机。
PC机软件系统属于Windows操作系统,所以采用了MFC作为开发平台。软件系统首先需要将SD卡中的数据转存到PC机的指定目录便于管理。软件系统提供数据显示、比较功能,为后续分析提供基础。
参考文献
[1] 刘满仓,雷卫宁,王春成.基于ARM的高精度数据采集系统设计[J].现代电子技术,2012(8).
[2] 吕实诚,宋晓波,王晶.基于网络的高精度数据采集卡设计[J].哈尔滨理工大学学报,2012(2).
【关键词】STM32;PLC;嵌入式系统;真空过滤机
【Abstract】This paper introduces a STM32 MCU with vacuum belt filter control system hardware design, technical features and technical advantages of STM32 MCU, vacuum belt filter working principle and STM32 microcontroller in the filter working process is implemented by the traditional manual operation into the automatic one button operation.
【Key words】STM32; PLC; Embedded system; Vacuum belt filter
0 引言
在矿山、冶金、化工等工业生产中,真空带式过滤机是一种大型、新颖、高效、节能的新型过滤设备,从而实现液体、固体的分离。现行的过滤机工作大多采用的是机械式和常规的电气按钮控制,导致控制装置体积大、控制面板繁杂、成本高、自动化程度低,工人不易操作。基于STM32单片机技术的真空带式过滤机控制系统能通过STM32单片机控制中间继电器的启停,进而控制较大功率的接触器,实现电机、气动电磁阀等启停与开关。同时,可通过开始与停止按钮实现一键式操作。
1 STM32单片机技术
STM32单片机采用的是基于ARMV7架构的Correx-M3新型芯片内核。Cortex-M3是一个32位的内核,是市场上现有的体积最小、能耗最低、最节能的ARM处理器。STM32单片机采用Correx-M3内核大大简化了编程的复杂性,集高性能、低功耗、低成本于一体。它是为在微控制系统、工业控制系统、汽车车身系统和无线网络等对功耗和成本要求高的嵌入式应用领域实现高系统性能而设计的。Correx-M3采用了哈弗结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。
1.1 工作原理
真空带式过滤机结构示意图如图1所示。真空带式过滤机启动运行时,料浆溶液均匀分布在滤布上,环形橡胶带E由电机经减速拖动连续运行,滤布铺敷在胶带上与胶带同步运行。胶带与真空室滑动接触(真空室与胶带间有环形磨擦带并通入水形成水密封),当真空室接通真空系统时,在胶带上形成真空抽滤区;料浆由布料器均匀分布在滤布上,在真空的作用下,滤液穿过滤布经胶带上的横沟槽汇总并由小孔进入真空室,固体颗粒被截留而形成滤饼;进入真空的液体经气水分离器排出。随着橡胶带移动已形成的滤饼依次进入滤饼洗涤区、吸干区;最后滤布与胶带分开,在卸滤饼辊处将滤饼卸出;卸除滤饼的滤布经清洗装置清洗后获得再生。
1.2 真空带式过滤机控制要求
1)启动要求。
启动过滤机空压机启动主电机启动真空泵启动密封水打开淋洗液开关
2)停机要求。
关闭料浆控制阀,待过滤至剩余的滤饼卸净为止。滤饼卸净后,将滤带清洗1~2周,依次关闭淋洗液阀门主电机开关真空泵开关主机电源开关总气源开关空压机开关打开气泵放水阀。
3)滤布运行的速度要求。
根据滤浆情况可以通过STM32单片机输出模拟信号控制PLC任意设定。
4)托盘由极限位置迅速返回原位到再次工作需要延时数秒,以便滤液罐中的滤液排尽。
5)在托盘吸紧滤布运行的同时,洗涤液打开。
1.3 主控制模块电路设计
由于STM32F103C8T6单片机,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN。因此,可选择这种型号的STM32单片机。
1.4 I/0口分配及自动控制功能
控制系统I/O口分配如表1所示。当按下启动按钮时,0001继电器动作,0100接触器闭合,接通主机电源。0002、0003、0004继电器相继工作,0200、0300、0400接触器依次闭合,使环形橡胶带运行,滤布铺敷在胶带上与之同步运行,真空泵运行。再依次由0005、0006继电器打开密封阀、淋洗液阀。最后由继电器0007打开料浆控制阀,过滤机正常运行。当按下停止按钮时,控制系统根据过滤机停机流程(如2.2节中真空过滤机停机所述),相应继电器、接触器相继动作,完成停机任务。
2 结语
利用STM32单片机对真空带式过滤机实现工作过程全自动控制,不仅能使过滤机的故障率大大降低,运转周期延长,生产效率和运转率明显提高;同时还能节省维检费用,保证系统的运行更加可靠,提高了控制精度。
【参考文献】
[1]Joseph Yiu. ARM Cortex-M3 权威指南[M].宋岩,译.北京:北京航空航天大学出版社,2011.
[2]孙波.PCI总线与CAN总线通讯研究[J].甘肃科技纵横,2009,38(6):18-20.
【关键词】超声波传感器 C语言 51单片机 飞思卡尔
一、选题背景
随着经济的飞速发展,司家车拥有量激增,虽然司机都能掌握基本的开车技术,但在面对拥挤的道路侧位停车时,许多司机尤其是新手或者女性遇到很大困难,经常会发生车体蹭伤的事故,甚至会危及到司机与行人的生命安全。
目前,一些大型汽车公司已经陆续开发一些自动停车的系统,有些已经投入生产,但是因为系统自身还有些局限性,同时价格昂贵,往往令消费者望而却步。市场需要一套完善且拥有自主知识产权的自动泊车系统。
二、问题研究
经过询问驾校师傅,我的了解了司机停车的过程。一般来说,司机停车分为四个步骤,首先缓慢行驶观察是否有足够空间容纳车体,可以停车;确定车位后,停车方向盘右打死,倒车至从后视镜看到车位的边缘;随后方向盘左打死继续倒车至车位后边缘;停进车位后,方向盘打正。
我们对该过程进行分析,直接采用实体轿车进行实验是没必要的,只要选择一款可以前进后退,左右转弯,反应灵敏,价格实惠的模型车就能达到我们实验的要求。飞思卡尔智能车竞赛用车机械结构稳定,造型成熟,经过多次分析,本文选择了飞思卡尔智能车B车作为实验用车。
三、硬件设计
车体只是一架空壳,最重要的是我们对车体的控制。硬件设计主要是传感器的设计,控制中心的选择,驱动电路的设计,当然还包括供电与稳压等基本单元。
(一)传感器。本系统对传感器要求较高,需要良好的动态性能,精度和灵敏度,达到快速鉴别车位的目的。本文主要考虑了激光传感、红外传感、超声波传感三种方式。其中激光传感精度较高但是造价昂贵违背了我们降低成本的意愿,红外传感虽然价格低廉但是在实际应用中可能对儿童或者宠物的眼睛造成威胁,而超声波传感同样具有价格实惠的优点,同时精度高,反应速度灵敏。本系统选择超声波传感器。
(二)控制单元。模型车载系统的控制一般采用单片技术,目前主流的有430单片机、51单片机、FPGA控制单元、ARM控制器等。430单片机反应灵敏,功能强大,缺点稳定性差禁不住碰撞;FPGA控制反应速度极快,缺点是不适合完成复杂控制过程;ARM控制器功能最强大,包含丰富的底层库,能完成复杂的算法,同时对程序员的要求很高;51单片机功能较430弱一些,但是稳定性极佳,抗摔抗碰撞。综合考虑,本系统选择简单可靠的51单片机。
(三)驱动模块。本系统需要车轮完成前行,后行,左右转的功能,采用舵机控制转向,直流电机作为动力,驱动部分需要输出两路占空比不同的信号,一路控制舵机转向,一路控制电机前进后退以及车辆转动速度。B车模型的舵机内置放大电路,直接从单片机输出即可;直流电机则需要驱动部分,将单片机输出信号变换输出大功率信号驱动电机动作。参考飞思卡尔竞赛电路,我们选择英飞凌公司的驱动芯片BTS7960B。
四、软件设计
硬件电路和软件程序是密不可分的,在硬件设计基本定型之后,就是软件程序编写环节。本系统程序采用主程序子程序嵌套的形式,层次分明,思路清晰,同样有利于分部调试。
(一)超声波子程序。判断是否可以停车时第一步,该部分,本文采用51单片机自带的定时器与中断,向超声波传感器模块发送20的高电平信号,计时器开始计时,超声波模块自动发射几组超声波,超声波遇到障碍物会反射回来,当超声波传感器模块接受到反射回来的超声波时,计入中断,得到从发射到回收的时间,计算得到障碍物距离。得到安装在车体右侧的几个超声波传感器的数据,经过计算分析区域是否达到可以停车的标准。
(二)舵机控制子程序。舵机控制部分是单纯的超声波输出占空比信号,本文中占空比周期20ms,当高电平时间为1.5时,舵机位于中间位置。占空比调小时,舵机左转,占空比调大,舵机右转。
(三)电机驱动子程序。本文硬件采用的板桥驱动方式,输出两路电平,两路的高低决定了电机的转向,占空比决定了直流电机的转速。
(四)主程序。将各子程序按照本文设计组合起来,就达到了控制车体自动泊车的目的。
五、优化设计
考虑遇到突发紧急情况,本系统添加了紧急情况切换人为控制的功能,当遇到紧急情况,司机可以掌握车子的控制权,完成紧急刹车,保证了司机的人身安全
六、研究成果
本系统在实验中能够准确分辨空闲地带是否可以停车,流畅稳定地将车停进预定停车区域,基本达到自动泊车的实验目标。将本系统稍作改进就可以应用在实体轿车,当然精度与参数还需要进一步的调试。
参考文献:
[1]郭天祥.51单片机.哈尔滨工业大学出版社,2006
1硬件系统设计
系统中心模块:系统中心模块主要分为3个部分:MCU最小系统、蓝牙模块、SIM908模块。系统中心模块框图如图2所示:
1.1STC15FK60S2处理器在系统中心模块中,STC15F60S2处理器起着很重要的作用,STC15F60S2是STC公司生产的单时钟/机器周期(1T)的单片机,是高速/高可靠/低功耗/超强抗干扰的新一代8051单片机,其性能远高于传统的8051,其最高运行频率可达到35MHZ,接口资源丰富。选择STC15FK60S2处理器,通过串行接口USART0与蓝牙模块进行数据通信,构建系统中心模块与智能手机AndriodApp进行数据交互功能。同样通过串行接口USART1与SIM908模块进行数据通信,完成数据的接受和发送。其具体完成的功能为:负责接受SIM908模块接收到的GPS数据进行解析和处理并进一步地将这些处理好的数据通过SIM908模块的GSM网络发送到远程中心服务器;负责将蓝牙模块接收到的数据保存到MCU的EEPROM,并读取MCU保存EEPROM的数据信息发送到智能手机中,起到存储、中转、数据处理等功能。
1.2SIM908模块SIM908是一款包含了GPS导航技术的四频GSM/GPRS模块的芯片。细小紧凑的模块尺度将GPRS和GPS整合在一个单独的SMT封装中,为客户实现内嵌GPS和GPRS的应用节省了大量的费用和开发时间。因此通过SIM908模块的GPS来获取运输车辆的经纬度等信息,并利用它集成的GSM功能将这些信息传输到远程中心服务器;所以有GPS和GSM信号覆盖的任何地方无论何时都能实现不同资源的无缝追踪和共享。SIM908模块与远程中心服务器通信是通过处理器STC15F2K60S2单片机应用底层软件进行相关串口编程,其中就涉及重要的AT指令,在建立TCP/IP连接前,建议先依次执行多条AT指令。比如AT+CSTT=“cmnet”设置前,请先确GPRS网络已经附着,否则会返回error提示;AT+CIICR激活移动场景这里需要说明一下,模块开机后会自动附着GPRS网络,只要SIM卡有GPRS业务,真正应用必需要激活移动场景(PPP拨号过程中得PDP上下文激活),获得本地IP才可以应用数据业务;AT+CIPSTART建立TCP(UDP)/IP连接;因为SIM908模块的串口电平不能直接连接5V的单片机STC15F2K60S2,因此必须通过三极管或者电平转换芯片进行兼容才能进行串口通信,如SIM908模块与MCU串口连接图3所示:
1.3蓝牙模块蓝牙模块由BRF6100、DSP、液晶、音频AD/DA、Flash组成,其中主要核心控制单元是DSP;音频(AD)的作用是将采集的模拟语音信号转化成数字语音信号,音频(DA)将数字语音信号转换成模拟语音信号,输出到音箱或者耳机。音频DA和AD的后端和前端都会放大或滤波电路,一般而言,音频DA和AD集成在一块芯片上,本系统使用的是TI公司的TLV320AIC10,采样设置的频率为8kHz,键盘的作用是控制和输入,液晶显示器的作用是显示各种信息;DSP所需要的程序是用Flash进行保存的,供DSP在上电时进行调用;DSP的仿真接口是JTAG,HPI口是DSP来提供,计算机连接到该接口,可以下载计算机服务器中的文件并由DA来进行播放,同时也能将数字语音信号传送到计算机中进行保存和处理。ARM主要用来控制设备,DSP用来对数据进行处理;模块DSP中采用的是OMAP5910,嵌入式DSP是由TI公司的DSP提供的,具有两个处理器的结构,片内集成了DSP和ARM处理器。OMAP5910中的DSP是基于TMS320C55X核的处理器,提供一两个成累加单元,一个16位的算术逻辑单元和一个40位的算术逻辑单元,DSP采用的是双ALU结构,大部分指令可以同时运行,其功耗更低,并且工作频率达到了150MHz。ARM和DSP可以相互协同工作,通过片中的MMU控制,内存和设备可以得到共享,OMAP5910可以用在图像处理、视频、和移动通信,图像加速器、数据处理和音频处理、图形。系统中使用的OMAP5910,目前是用于个人移动通信。ARM在OMAP5910中是基于ARM9核的TI925T处理器,包括一个协处理器,指令的长度是32位或16位。一般而言多字节参数数据最右边的字节是最先传送的,各数据的分组是通过Endian格式进行传输。HCI的传输层中可以传送四种分组:ACL、SCO数据、event以及数据命令(command)。各分组的区别是分组指示符(PacketIndicator)。ROK101008模块中的HCI传输层的事件分组格式、命令、与蓝牙标准所描述的是完全一致的。值得注意的是:HCIACL数据分组里传输的数据格式必须是L2CAP,例如ACL数据分组020120050002000000CC:表示HCIACL数据分组的是HCI分组符;当前所用到连接的句柄是“01”;PB、BC标志以和句柄高位为“20”;HCI数据长度即真实长度为0005用“0500”来表示;L2CAP报头是“01000000”,我们实际所传输的数据(数据长度和信道ID)是“AA”。ACL数据传输过程是由完整的主、从单片机通过蓝牙模块进行的。建立逻辑连接是在传送数据之前,先发出HCI命令的是主、从机,等主、从的蓝牙模块准备好了以后,发起查询的是主机模块,响应的是从机模块,通过它们就能建立一个用于异步数据传输的逻辑链路。相应的命令状态事件的返回是每条命令正确执行后都有的。MCU单片机发出命令后,判断该命令是否完成是在通过接收返回事件的基础上进行的。首先主机发出HCIInquiry查询命令,会收到该模组的响应从机数事件包、从机模块的地址号包以及命令状态事件包。蓝牙设备地址被读取后,两机开始相互建立连接。该模块的底层传输协议完成从机蓝牙模块中的地址号响应,这个响应是不需要单片机的参与来完成的。主机发出建立HCICreateConnection连接命令之后将收到从模块发来的ConnectionComplete连接完成事件包和本模块返回的命令状态事件包。从模块也会收到主模块发来的ConnectionComplete连接完成事件。主从机之间可以按前述数据包格式发送数据,因为此时主、从之间已成功建立了一条ACL传输链路。
2远程中心监控程序设计
主要利用2003开发软件编写远程中心监控程序。首先开放服务端口允许客户端访问该端口,接着使用相应的通信协议与客户端进行远程通信。远程中心监控程序主要进行系统中心模块的设置,数据接收,命令发送和历史数据查询等。其程序结构如图4所示。监控程序通过发送命令获取运输车辆出站时间、到站时间、车牌号、运输轨迹等信息,并将这些信息及时存储到数据库。
3结语
基于蓝牙技术和SIM908模块的水泥混凝土车辆运输管理系统,经实验验证,水泥混凝土车辆运输管理效率大大提升,设计运行稳定可靠。远程中心监控软件合理展现运输车辆轨迹、进站时间、到站时间等信息,便于掌握运输车辆动态信息。
作者:谭林逸涂治军廖幸单位:湖南省交通科学研究院