您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > dsp课设-谷茂斌--基于TMS320F2812的温度模拟量AD采集设计
《DSP原理与应用》课程论文2010-2011第1学期设计题目:基于TMS320F2812的温度模拟量AD采集设计学生姓名:谷茂斌于志坚张帅刘大伟专业班级:电子信息工程物理与电气信息工程学院基于TMS320F2812的温度模拟量AD采集设计摘要:随着现代信息技术的飞速发展,分布式温度测量控制系统在工业、农业及人们的日常生活中扮演了一个越来越重要的角色。因此,对温度采集控制系统的设计与研究就具有十分重要的意义。基于DSP芯片TMS320F2812温度模拟量AD采集设计,描述了其引导加载ROM、AD转换单元、传感器接口、cpld等电机控制外设电路的技术关键。还简单介绍了其在调速系统中的应用。关键词:温度采集DSP外设传感器AD1引导加载ROM引导加载是指器件复位时执行一段引导程序,一般用于从端口(异步串口、I/O口、或HPI主机接口)将EPROM/FLASH等非易失性存储器中加载程序到高速RAM中允许。1.1TMS320F2812的启动模式TMS320F2812提供了几种不同的启动模式,四个通用IO引脚用于决定选择何种启动模式。1.2SCISPI启动加载器通过SPI同步传输和SCI异步传输实现FLASHROM引导加载。硬件电路如图2,JP15为SPI或SCI引导加载器选择,1-2时选择SPI,2-3时选择SCI;JP4是SPI数据传输路径的选择,位于1-2时,连接至外部扩展接口J6或串行ROM,位于2-3连接至J5仿真数据传输接口。SPI仿真接口可参考[2]。2AD转换单元TMS320F2812电机控制器包含多达16路AD转换通道,被分为两组,AD0~AD7为一组,AD8~AD15为一组。每组都有一个专门的输入端。事件管理器可将ADC配置为两个独立的8通道模块,也可串接成为一个16通道的模块。尽管有多个输入通道和两个序列发生器,转换器只有一个。8通道模块会将8路输入自动排序,并按序选择一路输入进行转换,转换完成后的结果保存在对应的结果寄存器中。在串接模式下,自动序列发生器将成为16通道的发生器自动序列发生器允许对同一个通道的信号进行多次转换,这主要用于过采样的算法中。与单采样AD转换模块相比是个进步[1]。3与传感器的接口1)霍尔位置传感器三个I/O引脚上,通过I/O引脚捕捉霍尔元件上的高速脉冲信号,检测转子的转动位置,2)霍尔电流传感器DSP需要两到三个A/D通道对传感器电流进行采集获得三个相电流。霍尔电流传感器采集的是模拟量信号,TMS320F2812电机控制器包含多达12路输入通道,被分为两组,AD0~AD7为一组,AD8~AD15为一组。每组都有一个专门的输入端。需要注意的是要防止相电流过高造成对DSP的冲击损坏。我们的做法双重保护,即信号经过RC滤波后连接至一个运放比较器,比较器有一个参考电压,当信号低于这个参考电压,信号经过运算放大后输出;当信号超过这个参考电压,说明逆变器发生过流情况,比较器输出低电平将DSP的PDPINT引脚拉低,此时所有的PWM输出立即被置为高阻态。经过比较器的信号连接到采样保持放大器的反相输入端。调节可变电阻,A/D转换单元的参考电压输入端ADCREFP和ADCREFM引脚获得0~3.3V的可变电压,从而把检测到的信号偏置到模/数转换内核正常的输入范围。实现对DSP控制器的保护。感应电机转子速度的最常用的方法是用增量编码器和测速发电机。在编码器的场合,TMS32F2812包含一个正交编码脉冲(Q.E.P)单元,电机的码盘信号A、B通过DSP控制器的CAP1、CAP2端口进行捕捉。捕捉到的数据存放到寄存器中,通过比较捕捉到的A、B两相脉冲值可以确定当前电机转子的速度和方向,完成这些仅需两个数字量输入和一个16或32位的内部计时寄存器。下图为接两部电机速度传感器的电路,经过了一个四通道光藕TLP521-4连到DSP的CAP引脚上。4复合编程逻辑部件CPLD硬件系统应尽量朝“单片”方向设计,因为系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。我们选用复合编程逻辑部件CPLD作为逻辑部件,它不仅完成逻辑译码功能,还带有大容量FLASH存储器、SRAM、数字I/O,减少了器件之间的干扰,提高了系统的稳定性。5应用举例用可编程IO捕捉转子的速度信号反馈,电机的相电流反馈采集到ADC通道进行转换。接收光电编码器的信号,并依此计算电机的转速。采集电机相电流的瞬时值,依此实时估计电机的运行状态,如磁链的大小和角度、转矩的大小和方向、电机的转速和滑差等。按照某种调控规律产生PWM信号,控制逆变器的开关动作,从而对电机运行状态进行调控。板上资源可以控制两部电机,可以减少控制成本。6系统总体设计方案TMS320F2812是TI公司推出的150MHz高速处理能力的高精度定点数字信号控制器。本设计采用TMS320F2812作为数据处理与控制单元,以Maxim公司的单线数字温度计DS28EA00为基础,通过DSP控制温度传感器顺序采集各个测量点的温度,经处理送LED显示并暂存到外扩RAM中,当满足特定的要求时,将数据存储到U盘或SD卡以便于以后分析处理。温度采集记录仪的硬件电路主要包含6个部分:DS28EA00温度测量模块、USB接口模块、SD卡接口模块、外扩RAM模块、LED显示模块和TMS320F2812数字信号处理模块,系统总体框图如图1所示。图1系统总体框图6.1系统硬件设计6.1.1DS28EA00温度测量模块①温度传感器选型实际环境复杂多变,通常要求温度传感器能够与DSP可靠地通信,易与供电及布线,并能明确区分出温度数据与温度传感器位置的对应关系,因此温度传感器的选型十分关键。传统的模拟温度传感测量系统测量精度低、布线复杂、易受干扰,而新型单片数字式温度传感器测量精度高、抗干扰能力强,应用范围越来越广。DS28EA00是业界首款具有链路功能的1-Wire数字温度传感器,具有9位(0.5℃)~12位(1/16℃)分辨率,且带有可由用户编程设置的非易失(NV)性温度上、下限报警触发点,报警搜索命令能够快速确定温度超出设定范围的器件。每个DS28EA00都具有工厂预先刻度的唯一64位序列号,只需一根数据线和地线就可通过1-Wire协议完成串行传输数据,支持15.3kb/s的标准通信速率和125kb/s(最大值)的高速通信速率。经改进的1-Wire接口具有滞回和干扰滤波特性功能,使得DS28EA00能够在大的1-Wire网络中可靠工作。并且,与其他1-Wire温度计不同,DS28EA00具有两个额外的引脚用以执行顺序检测功能。该特性允许用户将器件在链路中的物理位置与序列号对应,如用来测量贮存塔不同高度处的温度。DS28EA00的供电和数据通信都是借助这条1-Wire线完成的。DS28EA00内部包括三个主要数据部分:(1)64位序列号,(2)64位暂存器,(3)报警和配置寄存器。所有1-Wire系统都有一个重要的基本特性:每个从机都有一个唯一、不能更改(ROM)的64位、工厂激光刻制序列号(ID),这个序列号永远不会与另一个器件重复。1-WireROMFunctionControl(1-WireROM功能控制)单元处理ROM功能命令,允许器件可以工作在一个多点网络环境中。DeviceFunctionControl(器件功能控制)单元用于实现对器件的特定操作和控制,如实现读/写、温度转换、设置顺序检测的链路状态。8bitCRC生成器在读取温度和寄存器数据时协助主机检验数据完整性。DSP通过GPIO口与DS28EA00的1-Wire(1线接口)总线接口相连进行通信,如图2所示。图2测温模块原理图②DS28EA00的序列检测硬件电路连接DS28EA00的链路功能允许1-Wire主机检索以线性网络(“链”)方式连接的器件,找出其物理顺序,这对于那些沿长电缆等间距安装的器件是非常方便的。链路功能需要两个引脚,输入引脚(EN)使器件在检测过程中能对检测做出响应,而输出引脚(DONE)用于通知链路中的下一个器件其相邻器件的检测已完成。DS28EA00的两个通用端口被复用以实现链路功能。PIOB被复用为EN输入,PIOA产生DONE信号并与下一个器件的EN输入相连,链路中第一个器件的EN输入需连接至GND,序列检测时的连接(由DSP充当1线主机)如图3所示。图3DS28EA00序列检测硬件电路连接(链路功能)6.1.2USB接口模块。本系统采用Cypress公司生产的嵌入式USB接口芯片SL811HST,内含USB主/从控制器,支持全速(full-speed)/低速(low-speed)数据传输,并能自动识别低速或者全速设备,SL811HST所提供的接口可与微控制器、DSP相连。此外,SL811HST内部有一个256字节的RAM,可用做控制寄存器或数据缓冲器。本系统中USB设备映射TMS320F2812外扩0区域,USB接口模块硬件电路图如图4所示。图4USB接口模块硬件电路图6.1.3SD卡接口模块目前市场上已出现了容量高达GB容量的SD卡,可以通过SPI口或并行(SD)接口与主机通信,另外还提供额外的引脚用来检测卡的存在以及是否写保护。在SPI总线模式下,CS为主控制器向卡发送的片选信号,SCLK为主控制器向卡发送的时钟信号,DI(DataIn)为主控制器向卡发送的单向数据信号,DO(DataOut)为卡向主控制器发送的单向数据信号。若想更高速的通信则选择SD模式通信,可以采用GPIO接口满足特定的SD规范。6.2系统软件设计系统软件设计是本文的重点,主要包括三部分内容:DSP与DS28EA00的通信、DSP与SD卡的通信,DSP与USB设备的通信。6.2.1DSP与DS28EA00的通信DS28EA00需要严格的通信协议确保数据的完整性,该协议在一根线上定义了四种类型的信号:由复位脉冲和在线应答脉冲组成的复位序列、写0、写1、读数据。DS28EA00能以标准速率或高速两种不同的速率进行通信,且所有波形均采用快速定时。DSP通过1-Wire端口访问DS28EA00的操作流程如下。●DS28EA00初始化1-Wire总线上的所有操作均从初始化开始,初始化过程由DSP发送的复位脉冲和从器件发送的在线应答脉冲组成,在线应答脉冲用于通知DSPDS28EA00已挂接在总线上并已准备就绪。●ROM功能命令一旦DSP检测到在线应答脉冲,就可以发出DS28EA00支持的8条ROM功能命令中的一条,所有ROM功能命令的长度均为8位。●控制功能命令控制功能命令用于实现温度测量、访问寄存器和PIO、改变链路状态所需的协议。DSP与DS28EA00之间的通信可采用标准速率(默认状态,OD=0),也可用高速模式(OD=1)。上电后,如果没有明确设置为高速模式,DS28EA00则以标准速率进行通信。●数据的收发DS28EA00的数据通信是在一个个时隙中进行的,每个时隙只能传送1bit数据。通过写时隙将数据从DSP传输至DS28EA00,而通过读时隙则将数据由DS28EA00传输至DSP。除在线应答脉冲之外,所有的通信都是从主机(DSP)主导发出下降沿信号开始。当1-Wire总线上的电压跌落至低于门限电压时,DS28EA00利用其内部时隙发生器,确定在写时隙期间何时对数据线进行采样以及在读时隙时数据有效时间的长短。6.2.2数据存储①U盘数据存储通过DSP实现对USB移动存储设备操作的工作主要是在软件方面,因此本文主要从软件方面来说明设计过程。USB软件设计主要由通用的USB总线枚举部分和USBMassStorage类协议软件设计和文件系统组成,U盘数据存储流程图如图5所示。图5U盘数据存储流程图U盘数据存储的部分代码如下:(1)unsignedcharEnumUsbDev(BYTEusbaddr)//枚举USB设备{USB_Reset();//USB设备复位if(!GetDescription())//获取设备描述符并获得传输包的最大字节数returnFALSE;if(!SetAddress(usbaddr)
本文标题:dsp课设-谷茂斌--基于TMS320F2812的温度模拟量AD采集设计
链接地址:https://www.777doc.com/doc-6309966 .html