微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > TMS320F280x实现模拟量输出控制器

TMS320F280x实现模拟量输出控制器

时间:09-27 来源:互联网 点击:

反馈电路产生最终的电流输出。

  五 DSP及总线扩展电路的设计

  由于TMS320F2801芯片上包含35根GPIO口线,其中很大一部分为复用口线。TMS320F2801的GPIO端口为单方向端口,即只能配置为数字量输入功能和数字量输出功能。这样就导致了在实际应用中,GPIO的数量不足带来很大的设计缺陷。故此次设计通过外扩74HC139、74HC245和74HC574来弥补GPIO数量不足的缺点。

  六 自检电路的设计

  由于模拟量输出控制器是现场回路的中心部件,控制器所提供的输出电流和输出电压的大小和稳定性直接关系着现场用电设备的工作。故对控制器输出的信号的正确性和品质需要进行监测,从而形成闭环控制环节。在此次设计中,外部信号的自检通过TMS320F2801芯片内部自带的A/D通道进行监测。将控制器的输出信号通过线性光耦进行回采,得到与控制器输出信号一致的差分电压。此电压通过芯片内部的A/D通道进行采样,告知控制器内部的DSP处理器当前输出信号的正确性与数值大小。当输出信号发生故障时,采样值也会发生变化,控制器程序进行预设的故障处理程序,告知用户相关报警信息并做出相应的处理。

  七 控制器的软件设计

  1. 整体软件流程

  TMS320F2801的软件在CCS(C2000)编译开发环境编写。CCS(C2000)支持汇编语言和C语言,便于移植和有很强的易读性。

  基于DSP芯片的模拟量输出控制器软件开发主要包括4个子模块:初始化模块、通信模块、PWM输出控制模块、自检模块。

  程序的软件流程见图2。控制器上电之后,进行控制器的初始化工作。当初始化完成后,控制器进入主循环。CAN通信程序为中断程序,当外部设备下发通信数据时,模拟量输出控制器检测到新的CAN数据产生,引发中断子程序,并将CAN数据进行缓存,中断结束。TMS320F2801判断通信数据是否正确以及数据是否与当前输出数据一致,根据判断的结果,通过PWM电路和D/A转换电路得到与指令信息相符的模拟量信号。在输出模拟量信号之后,通过自检电路采集现场输出端子的信号量值,判断输出信号是否与CAN下发的指令信息相匹配,提供相关的诊断信息和报警信息,并进行相应操作。

  2. 初始化模块

  控制器的初始化过程主要包括5个部分:初始化变量及寄存器、DSP初始化、冷热启动判断、热启动初始化、看门狗初始化。初始化过程完成对控制器内部硬件电路、DSP芯片的相关参数的设置。

  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top