版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于dsp的传感器数据采集系统的设计
1多传感器融合和传输系统空间机器人在宇宙领域的应用非常重要。空间机器人在太空作业的时候,有一项很重要的任务就是抓住浮游物体,这主要靠多传感器手爪来完成。空间机器人手爪上安装有多种传感器,例如:指力传感器、触觉传感器和距离传感器等,这些传感器组成了机器人手爪的感觉系统。为此需要研制一套多传感器数据采集、融合和传输系统,以实时地采集和融合多传感器信息,得出手爪与工件的安全连接状态,并把这一状态传输给主控计算机。文献研制的系统由传感器调理电路、电压/电流转换模块、ISA总线的数据采集卡、PC机组成,即传感器信号经过信号调理,再将其变换成电流信号;通过较长的电缆送到插在PC机ISA总线上的数据采集卡中,由PC机完成数据的采集和融合任务;再通过网线,将信息传输给主控计算机。该系统模块多,体积大,重量重。在航天领域,要求上天的系统体积小,重量轻,否则将付出极其昂贵的代价。为此,作者研制了一套基于DSP(数字信号处理器)的数据采集、融合和传输系统,用DSP芯片代替PC机;省去电压/电流转换模块和电缆线;用CAN总线实现与主控计算机的通信。2系统硬件2.1挑战了dsp系统和3dv电池内的革命基于DSP的数据采集、融合和传输系统的硬件框图如图1所示,主要由数据采集模块、DSP处理模块和CAN通讯模块组成。数据采集模块主要由DSP芯片自带的ADC转换模块、数字I/O模块和正交编码脉冲电路组成。DSP处理器模块主要由DSP芯片TMS320LF2407A组成。数据传输模块由DSP片内自带的CAN控制器和CAN总线收发器82C250组成。由于TMS320LF2407A芯片内部集成了很多的外设模块:模数转换模块、数字输入/输出模块、正交编码脉冲电路、通用定时器和CAN控制器模块等,完全能满足需求,几乎不用扩展其它的外设模块。加之DSP芯片很小,因而大大缩小了整个系统的体积。TMS320LF2407A的供电电压为3.3V,而外部电源电压是5V,所以,用电压转换芯片TPS767D318(双电压调节器)把5V电压降为3.3V。TMS320LF2407A的数字量的输入电平也是3.3V,而电机码盘输出的正交编码脉冲信号以及经过CAN总线收发器82C250的信号都是5V电平。所以,用74FCT164245T芯片实现5V电平和3.3V电平之间的转换。74FCT164245T的转换的方向由OE¯¯¯¯¯ΟE¯和DIR两个管脚共同决定。考虑数据融合的计算量比较大,DSP片内2k字的程序存储器不够用,作者外扩了64k字的外部存储器:32k字的程序存储器空间(0x0000h~0x7FFFh)和32k字的数据存储器空间(0x8000h~0xFFFF)。选用64k字的高速静态RAM芯片IS61LV6416。管脚CE¯¯¯¯¯CE¯为片选信号。当程序存储器访问外扩存储器时(此时DSP的PS¯¯¯¯=0)ΡS¯=0),让IS61LV6416的地址线A15=0;而当数据存储器访问外扩存储器时(此时DSP的DS¯¯¯¯¯=0)DS¯=0),让IS61LV6416的地址线A15=1。IS61LV6416的A15、CE¯¯¯¯¯CE¯管脚和DSP的PS¯¯¯¯ΡS¯、DS¯¯¯¯¯DS¯管脚之间的逻辑关系为:{CE¯¯¯¯¯=PS¯¯¯¯&DS¯¯¯¯¯A15=PS¯¯¯¯{CE¯=ΡS¯&DS¯A15=ΡS¯选用外部晶振20MHz,然后利用DSP内部的倍频电路,使TMS320LF2407A达到40MIPS。系统通过一个DB25接口与手爪上的各种传感器相连,并提供控制信号和电源。系统通过一个DB9接口与主控计算机相连,完成CAN总线通讯。2.2dsp和光电编码的转换数据采集模块采集:8路指力传感器输出信号、7路触觉传感器信号和电机码盘的正交编码脉冲信号。指力传感器由手爪的手指弹性体、其上粘贴的应变片和调理电路组成,其输出电压为0~3.3V。指力传感器的输出信号直接连到系统DSP的ADC模块的输入管脚ADCIN00~ADCIN07上,由DSP自带的A/D转换器完成模拟量到数字量的转换。V型手指和平指上都安装有触觉传感器,触觉传感器的输出为数字量信号。当手指与物体相接触时,触觉传感器就输出低电平“0”,没有接触时就输出高电平“1”。7路触觉传感器的输出信号直接接到DSP的数字输入/输出模块的IOPF0~IOPF6管脚上。手爪的开合由直流电机驱动,电机轴上安装了光电编码器。手爪的开合距离由电机上编码器输出的正交编码脉冲信号来反映。该编码器是瑞士Maxonmotor公司的产品,每转发100个两路正交编码脉冲。电机与传动齿轮之间有一个减速机构,减速比率为28∶1,所以,传动齿轮转1圈,手爪开合3mm,光电编码器发2800个脉冲。光电编码器的两路输出经过电平转换芯片74FCT164245T连接到DSP正交编码脉冲电路的输入管脚CAP1/QEP1和CAP2/QEP2上。DSP通过对编码器输出的正交编码脉冲信号计数来实现手爪开合度的测量。(1)线性关系参数TMS320LF2407A片内集成有ADC模块。作者采用双排序器模式,采集8路指力传感器的输出信号。ADC模块都能够对一序列进行自动排序,可通过模拟输入通道的多路选择器来选择要转换的通道。转换结束后,结果保存在该通道相应的结果寄存器RESULTn中。即第0通道的转换结果保存在RESULT0中,第1通道的转换结果保存在RESULT1中,依次类推。而且,还可以对同一个通道进行多次采样,即某一通道实行“过采样”,这样可以得到分辨率更高的采样结果。采用排序器1(SEQ1)完成对8通道的所有数据采样,SEQ1的对应结果寄存器为RESULT0~RESULT7,第一个序列的转换完成后就把结果放在这些寄存器中,只需要在中断服务程序中读取结果。在一个序列中的转换个数是受MAXCONVn(MAXCONV寄存器中的一个3位段域或4位段域)控制,一次排序转换完成的转换个数为MAXCONVn+1。当需要转换8路通道时,MAXCONV的值设置为7。ADC模块的排序器有两种工作模式:连续的自动排序模式,启动/停止模式。这里的系统要求A/D转换定时进行,所以采用启动/停止模式,设置ADC控制寄存器1(ADCTRL1)的位CONTRUN为0。在这种模式下,当一个转换序列完成之后,排序器指针指向当前的通道。所以,需要在中断服务程序中用ADCTRL2寄存器中的RSTSEQn将排序器手动复位。复位之后,在下一个A/D启动信号到来时,SEQCNTR装入MAXCONVn中的原始值,且SEQ1指针指向CONV00。(2)数字i/o端口引脚7个触觉传感器的输出为数字量信号,经过调理电路后,输出高电平为3.3V,输出低电平为0V。TMS320LF2407A有40个通用、双向的数字I/O(GPIO)引脚,其中绝大多数都是基本功能和一般I/O复用引脚。数字I/O端口模块可通过9个16位控制寄存器来控制专用I/O和复用I/O引脚的功能。7个触觉传感器的输出经过调理电路后直接接到IOPF0~IOPF6,然后在寄存器MCRC中把IOPF0~IOPF6配置为一般I/O口,在寄存器PFDATDIR中把这7位I/O方向配置为输入。(3)正交编码脉冲电路的动态电机转动带动手爪的三指做开合运动,电机转动时,电机轴上的光电编码器产生两路频率相等、相位相差90°的脉冲QEP1和QEP2,即正交编码脉冲。每个EV模块都有一个正交编码脉冲电路。正交编码脉冲电路可用于连接光电编码器以获得旋转机械的位置和速率等信息。正交编码脉冲电路的时基可由通用定时器2(或通用定时器4,EVB模块)提供,通用定时器必须设置成定向增/减计数模式,并以正交编码脉冲电路作为时钟源。每个EV模块中的正交编码脉冲电路的方向检测逻辑取决于QEP1和QEP2这两个序列中的哪个是先导序列。接着它就产生方向信号作为通用定时器2或4(对于EVB模块)的计数方向输入。如果CAP1/QEP1输入是先导序列,则通用定时器进行增计数;如果CAP2/QEP2输入是先导序列,则通用定时器进行减计数。由于两列正交输入脉冲的两个边沿都被正交编码脉冲电路计数,因此,产生的时钟频率是每个输入序列的4倍,并把这个时钟作为通用定时器2的输入时钟。通用定时器2总是从计数器中的当前值开始计数,因此,可以在使能正交编码脉冲电路前将所需的值装载到所选通用定时器的计数器中。2.3数据输入(1)两种模式的比较及对两种接口的选择由于CAN总线具有以上特点,为工业控制系统中高可靠性的数据传送提供了一种新的解决方案。CAN总线已经成为最有发展前途的现场总线之一。空间机器人由于节点多、距离长,要求选择一种可靠性好、通信速率高的通信方式,以实现机器人各关节模块与上位机的实时通信,达到实时监测、实时控制的目的;并且支持通过添加或拆除模块的操作来完成系统重构,无须再次整体设计。通过比较,选用CAN总线来完成数据传输任务。TMS320LF2407A片内集成有CAN控制器模块。CAN控制器还必须通过CAN驱动芯片才能与其它的CAN控制器进行通信,CAN驱动芯片又叫CAN控制器接口。这里选用PHILIP公司的PCA82C250。此器件对总线提供差动发送能力,对CAN控制器提供差动接收能力。82C250允许选择三种不同的工作模式:高速、待机、斜率控制。通过把管脚8接地可选择高速模式。在高速工作模式下,发送器输出级晶体管将以尽可能快的速度打开、关闭。在这种模式下,不采取任何措施用于限制上升斜率和下降斜率。建议使用屏蔽电缆以避免射频干扰RFI问题。对于斜率控制模式,上升斜率和下降斜率可通过由管脚8接地的连接电阻进行控制。斜率正比于管脚8的电流输出。如果高电平被接至管脚8,则电路进入低电流待机模式,在这种模式下,发送器被关闭,而接收器转至低电流。可采用高速工作模式来使CAN以最快的速度进行通讯。(2)1号图为了与研制的系统进行通讯,在主控计算机插入研华公司的CAN微机通信卡PCL-841卡。PCL-841实现PC与CAN的连接。3软件系统3.1件的主要模块软件设计采用模块化设计方法,主要用C语言编程。系统软件包括监控程序、初始化模块、看门狗模块、数据融合模块、CAN通信模块、数字量采集模块、正交编码脉冲计数模块和A/D中断服务程序。系统软件的总框图如图2所示。3.2体现了正交编码脉冲电路的控制律设计监控程序就是主程序,主要完成对各个模块:ADC模块、数字I/O模块、定时器模块、CAN模块的初始化。等初始化完成后就是空操作,等待中断的到来。中断是有优先级的,TMS320LF2407A内核提供一个不可屏蔽的中断NMI和6个按优先级获得服务的可屏蔽中断INT1至INT6。这6个中断中的每一个都可被很多外设中断请求共享。TMS320LF2407A通过中断请求系统中的1个两路中断来扩展系统可响应的中断个数,所以,DSP的中断请求/应答硬件逻辑和中断服务程序软件都是两级的层次。测量手爪的开合距离,需要一直对光电码盘输出的正交编码脉冲信号进行计数。如果某些时刻漏掉了计数,就会导致测量误差。手爪上的电机在+18V直流电压的驱动电压下转动,光电编码器产生的脉冲频率约为15000Hz,而正交编码脉冲电路的计数频率又是输入频率的4倍,即约为60000Hz。在这种情况下,直接读取正交编码脉冲电路的计数值T2CNT来表达电机开合距离是不可行的,因为16位的计数寄存器T2CNT可能会在手爪开合的过程中溢出多次。为此,采用定时器2的上溢、下溢中断来处理溢出问题。定时器2的上、下溢中断应该比数据融合和传输具有更高的优先级,所以,这里采用DSP的定时器4来定时融合和传输模块。主控计算机需要此系统30ms左右与其通讯一次,设置定时器4的周期为30ms。在整个程序中,定时器4相当于起到监控的作用。在30ms内先完成对三种传感器信号的采集,然后对所有传感器信息进行融合,得出手爪的安全连接状态,将此结果传输给主控计算机。初始化模块如图3所示。初始化模块在主程序开始时运行,主要包括ADC模块、数字I/O模块、定时器模块、CAN控制器模块和看门狗模块的初始化。定时器模块中包括定时器1、定时器2和定时器3。(1)A/D模块的初始化包括设置A/D转换的触发源;设置ADC模块的控制寄存器来选择A/D工作模式;设置中断模式;设置需要转换的通道个数;设置转换各通道的顺序。(2)数字I/O模块的初始化包括用所对应的I/O复用控制寄存器MCRC来配置所选用引脚的功能;对于已经配置为一般I/O口的引脚,必须用相应端口数据和方向控制寄存器PxDATDIR来配置其为输入/输出方式。(3)定时器模块的初始化主要是设置单个通道控制寄存器(TxCON)。本程序采用了三个通用定时器。通用定时器2用于正交编码脉冲电路计数,通用定时器4用于数据量采集和数据融合、传输模块的定时,通用定时器1用于定时复位看门狗的时间。(4)CAN模块的初始化的任务就是在使用CAN控制器前对它的一些内部寄存器进行设置。主要是选择要发送和接收的邮箱并设置相应的寄存器、设置波特率和设置信息的标识符等。(5)采用看门狗是为了提高系统的可靠性。当系统死机时,看门狗就会让系统复位。看门狗模块的初始化就是设置看门狗控制寄存器:设置看门狗模块时钟分频、使能该模块。3.3数据采集部分在各自的中断服务程序中读得3种传感器信号的数值:8路指力传感器输出信号、7路触觉传感器信号和电机码盘的正交编码脉冲信号。(1)a/d中断服务程序的流程图当ADC控制器完成所有通道的采集后,就会把中断标志位INTFLAGSEQ1置1,而作者在A/D初始化模块中已经使能了A/D中断模式1,这时就会转入A/D中断服务程序。A/D采样的结果可以在A/D中断服务程序中,从A/D结果寄存器中读取。A/D中断服务程序的流程图如图4所示。A/D转换完成后自动把转换的结果存放在ADC模块的结果寄存器中。对于作者用排序器SEQ1采样的8路模拟量结果就存放在RESULT0~RESULT7之中。A/D的精度是10位的,结果保存在结果寄存器中的前10位,后6位为空,所以,读取结果时,要右移6位后再保存。然后,通过向该中断标志位写“1”来清除A/D中断标志位。只有清除了A/D中断标志之后,下一次A/D中断服务程序才能进入。由于选用了排序器的启动/停止模式,当一个转换序列完成之后排序器指向当前的通道,所以,必须在中断服务程序中向ADC控制寄存器ADCTRL2的RSTSEQ1位写“1”,对排序器复位,让它指向通道CONV00。这样,下次A/D转换才会从通道CONV00重新开始。(2)读取控制:pfdatdir用DSP的一般I/O口IOPF0~IOPF6完成对7个触觉传感器数字量的采集。因为在初始化中已经将端口F的数据和方向控制寄存器(PFDATDIR)中的FxDIR设置为输入方式,所以,只需要去读PFDATIDR的IOPF0~IOPF6就可以得到当时触觉传感器的信号。作者设定在定时器4周期中断服务程序中,去读取触觉传感器的输出信号。定时器4周期中断服务程序如图4~7所示。(3)现行sst模式下的upg1DSP片内集成有QEP电路,定时器2计数寄存器T2CNT会根据电机的转向进行增减计数。当手爪开合距离达到17.55mm时,定时器2的计数寄存器T2CNT就会发生第一次溢出。当手爪开到最大的距离96mm时,计数器会溢出5次。所以,当手爪从完全闭合状态向外张开时,其开合距离为(overflow×65535+T2CNT),其中,overflow是溢出的次数。定时器2的上、下溢中断服务程序如图5所示。定时器2计数器寄存器T2CNT的值达到FFFFh时,就会把上溢中断标志位置1;定时器计数器的值达到0000h时,就会把下溢中断标志位置1。定时器2的各中断服务程序都属于INT3,所以进入INT3先判断是不是定时器2上溢中断,如果是上溢中断还要判断是否是增计数,如果是增计数,则overflow值加1。如果是下溢中断,则还要判断是否是减计数,如果是减计数,则overflow值减1。定时器2增、减计数的判断只需要查看全局通用定时器控制寄存器GPTCONA的位T2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年质量员(设备安装)专业技能复习题库及答案(二)
- 2025年消防系统改造项目施工合同范本5篇
- 2024系统安装合同范本
- 2025年电子元器件销售合同补充协议书2篇
- 非洲基站施工方案
- 林业防鼠灭鼠施工方案
- 二零二五版小型家用发电机安全使用指南与心得分享合同3篇
- 二零二五年度水产养殖害虫防治与养殖环境合同4篇
- 党课廉政党课课件
- 2025年度法律服务代理委托授权书3篇
- 2023年上海英语高考卷及答案完整版
- 西北农林科技大学高等数学期末考试试卷(含答案)
- 金红叶纸业简介-2 -纸品及产品知识
- 《连锁经营管理》课程教学大纲
- 《毕淑敏文集》电子书
- 颈椎JOA评分 表格
- 员工岗位能力评价标准
- 定量分析方法-课件
- 朱曦编著设计形态知识点
- 110kV变电站工程预算1
- 某系统安全安全保护设施设计实施方案
评论
0/150
提交评论