电站直流电源后备系统及智能充电机的设计
对共享内存的读写使用了几个信号量标志,如表1所示。
表1 对共享内存的读写所使用的信号量标志 符 号 意 义 逻 辑 Left msg chg 左单片机写入新的信息 左置右清 Fetching left msg 右单片机正读取1609信息 右置右清 Right msg chg 右单片机写更新了的信息 右置左清 Fetching right msg 左单片机正读取1609信息 左置左清
《电站直流电源后备系统及智能充电机的设计(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/167751.html
表1 对共享内存的读写所使用的信号量标志 符 号 意 义 逻 辑 Left msg chg 左单片机写入新的信息 左置右清 Fetching left msg 右单片机正读取1609信息 右置右清 Right msg chg 右单片机写更新了的信息 右置左清 Fetching right msg 左单片机正读取1609信息 左置左清
上表中,左单片机指的是接口单片机,右单片机指的是控制单片机,所谓“左置右清”指的是标志是由接口单片机置位,由控制单片机复位。
左单片机读1609共享信息的流程图如图6所示。
可以证明通过对以上四个标志的运用,可完全避免对共享内存单元的读写冲突。
控制单片机的主要任务是完成控制算法并输出控制量,其软件的运行是受每20ms一次的同步脉冲带来的外中断驱动的。恒压恒流算法采用抗微分饱和的PID算法。由于控制量输出的是一个移相角,此角度是由片内定时器D(t0)的定时时间决定的。根据89C52定时器的定时时间常数与主频(11.059MHz)的关系可以推算得:定时常数=216-921.6×1/18×α(度)=216-51.2×α(度)。
控制单片机软件主流程框图如图7所示。
同步脉冲的外中断服务程序仅设置一个发生标志,而t0的定时中断服务程序则需要输出一个1ms左右的移相脉冲。因此,需要设置定时lms的时间常数,重新启动定时。相关软件框图略。
《电站直流电源后备系统及智能充电机的设计(第3页)》