新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于PSoC单片机的燃气变频输配与精确计量实现

基于PSoC单片机的燃气变频输配与精确计量实现

作者:时间:2012-06-06来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/171346.htm

3.3 一器多控电路的设计

该部分电路用以“手动/自动”和“工频/状态的切换”。这里选用日本富士FRN75P11S-4CX风机专用变频器,切换电路采用传统的接触器—继电器控制。变频加/减速,手动控制通过一个1-5kll的可调电阻器;自动控制通过0~5V的DC变化输入。构成如图4所示。

3.4 信号的输入与输出

设计系统应用在行业,安全防护十分重要。压力、温度、差压信号的采集,现场的一次仪表全部采用一体化防曝类型,现场引入的信号采用隔离型安全栅。输出信号全部采用继电器控制,与现场控制器件隔离。

4 测控系统的设计

4.1 的资源使用与配置

11位A/D转换器,选用DelSigll用户模块(△—∑型A/D),占用一模拟模块、一PSoC数字模块和专用的采样抽取器,为增强实时性与精度而取其最大采样率7.8ksps(即每次采样需128.2μs)。

6位A/D转换器,选用SAR6用户模块(逐次逼近型A/D),转换时间25μs,占用一PSoC模拟模块。

8位D/A转换器,选用DAC8用户模块(电压输出型D/A),其时钟更新率为125kHz(即每次变换需31μs)。

A/D与D/A的参考电压设定:AGnd=0V,AVdd=5V。

切换控制输出I/O口,选定内部上拉电阻输出,以得到大的驱动能力。取工/变频切换控制为5个。

LCD模块接口,选定LCD用户模块,该模块使用标准HD44780LCD显示驱动协议,占用7个I/O口,驱动显示2x16个8x8点阵字符。

E2ROM,选用E2PROM用户模块。这是使用内部Flash memory模拟的E2ROM,不限容量大小,取为2KB。

串行通信口, 选用UART用户模块(8位通用UART),占用2个PSoC数字模块和2个I/O口,设定其初始值为96-N-8-1,为将来扩展连接Modem预留一个I/O口。

定时器,选用Timer8用户模块(8位减计数型),占用一PSoC数字模块;一定时器周期设定为变频器“工/变频切换”的时间值;一定时器周期取最大值,以用于流量累计。

OSC振荡器全部选定用内部模块,外围不再配备晶体。启用内部看门狗和实时时钟(RTC)功能。

确定采用4个中断:压力转换中断(11AD_ISR)、键盘操作中断(6AD—ISR)、工/变频切换中断(Tliner8—ISR)、串行接收中断(Uart_ISR)。 中断优先级编排如下:11AD_ISR、Timer8_ISR、6AD_ISR、Uart_ISR。

打开PSoC Designer IDE应用软件,选用CY8C26443器件,指定编程语言(汇编或C语言),创建项目工程;在软件的器件编辑器窗口中,按上述选择,配置各个用户模块。本设计共使用8个PSoC数字模块、5个PSoC模拟模块、24个I/O口。器件编辑器的使用,大多是图形和文本选择操作,十分简易直观,这里不再赘述。

用户模块配置完成后,在IDE环境中,点击“GenerateApplication Files”按钮,产生boot.sam和PSoCconfig.asm文件,并生成应用程序接口函数(APl)与中断服务程序、主程序框架文件,以便填写应用代码、编制用户程序。

boot.sam和PSoCconfig.asm文件,是所有程序的基础,boot.sam文件定义了系统启动和执行的次序,PSoCconfig.asm文件包含了进入系统的配置。

4.2 软件设计的整体构思

主程序完成初始化设置并循环采样温度、压力、差压,选择适当量程计算流量并累计、存储与显示。

压力转换中断程序(11AD_ISR)据压力实测值与要求值,确定变频加/减速和工/变频转换中断的启停。

键盘操作中断(6AD_ISR),识别操作的按钮,进行参数预置、状态显示、记录查看等。

工/变频切换中断(Timer8a_ISR),完成指定端口的工频与变频的切换,并设置相关标记。

串行接收中断(Uart_ISR),连接PC或做远程通信。

在PSoC Designer IDE环境的应用程序编辑器窗口中编制程序,编译所有文件,生成可下载或仿真的.rom文件。

4.3 软件仿真与测试

使用Cypress的PSoC仿真器(1CE)及其Designer IDE调试器窗口环境,进行程序仿真和测试。重点说明两点:

(1)断点调试和动态事件点调试

断点调试,与很多常用器件调试工具功能类似,在此不再赘述,着重说明动态事件点调试。动态事件点调试是Cypress很有特色的工具。动态事件点是定义的可满足许多条件的复杂断点,可控制调试在动态事点到来时停止、开/关跟踪文件或触发一外部引脚。使用动态事件点调试,可观察到很多断点调试得不到的程序逻辑设计错误。

(2)各个程序段执行时间的调试

关掉所有中断,测定主程序中流量计算循环程序的执行时间;一次开放一个中断,测定每个设计中断的执行时间。适当设置断点,正常执行程序,测定每个中断与主程序流量计算循环的执行周期。

PSoC的各种中断功能能很好地满足现代嵌入应用,这里构建一个PSoC单片机的实时操作系统(RTOS)的雏形,是有任务中断的单调比例调度类型。因此,可以在无法预知软件整体逻辑设计是否满足工业测控实际的情况下,用有任务中断的单调比例调度的条件要求和上述测量时间值,在理论上,去恒量一下软件整体逻辑设计的合理性,并进行适当调整。

有任务中断的单调比例调度的条件公式:

式中,n是最大任务数,E是任务j的执行时间,P是任务j的周期,B是任务j的阻塞时间。

4.4 程序的ISSP下载

PSoC单片机支持在系统串口编程(1SSP),可以通过UART串口,轻易完成程序的ISSP下载。PSoC单片机Flash中内含不能被覆盖的ISP例程,只要复位重启时硬件电路的ISP例程触发按钮有效,PSoC单片机就转而ISSP编程操作。完成ISSP后,器件自动从Flash的0x0址处执行用户代码。ISSP例程的触发,即将器件PO.5口有效上拉。

4.5 软件设计的注意事项

(1)SRAM空间的分配:用户模块配置信息、编程变量参数、上下文切换堆栈等,都占用SRAM空间。SRAM空间只有256B,虽然比传统MCS51单片机扩大了一倍,但还是十分有限。一定要合理选好开辟堆栈空间的大小和位置,以避免极端情况下程序跑飞。

(2)看门狗的使用:为防程序“跑飞”或“死机”。程序中,要及时“喂狗”(清零看门狗计数器)。关闭看门狗,调试好各个程序段,然后再打开看门狗调试。

(3)11位AD用户模块的动态配置:轮流采样现场压力、温度、差压信号,AD转换器通常定位在压力通道不断地采样压力信号,并在AD转换中断中完成变频调速控制,只有在需要时才切换到温度或差压通道采样。信号通道的切换,采用动态用户模块配置完成,即在需要时改变用户模块配置寄存器值,定向到需要的信号通道。

使用PSoC单片机CY8C26443组成测控系统,以一个28Pin微控器加上极少外围器件,成功地把“变频控制与大流量范围”合二为一,构成电路简单,免除了芯片选型和搭建复杂外围电路之烦,明显地增强了系统的稳定可靠性,降低了生产成本。应用所提供的开发工具,直接为设计生成API函数,屏蔽了繁琐的寄存器操作,方便了对器件内部资源的调用,大大缩短了项目开发时间。同时因PSoC单片机CPU速度的自增强,系统的数学运算功能明显提高,工业测控的实时性更强了。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭