⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ——uc-os-ii在配电监测终端仪表中的应用.htm

📁 网上收集的关于嵌入式开发的文档。拿来共享!
💻 HTM
📖 第 1 页 / 共 2 页
字号:
            face=Arial>μC/OS-II</FONT>操作系统层,是整个系统的管理核心,如图1所示。</P>
            <P style="TEXT-INDENT: 0px"><B>2 硬件描述</B></P>
            <P style="TEXT-INDENT: 30px">配电监测终端的设计采用定点DSP 
            TMS320F206作为处理器。它是采用先进的改进型哈佛结构、多级流水高速设计,具有极其强大的数据处理能力和管理能力。该终端从功能上可分为数据采集部分,液晶显示及键盘阵列部分,数据存储、通信部分及微处理器小系统部分。数据采集部分用来对电压、电流信号进行采样和A/D转换;液晶显示和键盘阵列为人机信息交换硬件接口;数据存储部分存储大量历史统计数据,采用掉电保护设计,在系统掉电情况下数据不会丢失。</P>
            <P style="TEXT-INDENT: 0px"><B>3 系统软件设计</B></P>
            <P 
            style="TEXT-INDENT: 30px">按系统所要求实现的功能,将整个系统划分为几个并行存在的任务层。占先式操作系统对任务的调度是按优先权的高低进行的,将系统的几个任务按其优先级从高到低顺序排列依次是:系统监视任务、键盘扫描和液晶显示任务、通信任务、数据运算统计处理任务。数据采集部分放到定时器中断程序中执行。其中,系统监视任务是用来监视除系统监视任务外其它任务的。当被监视任务在执行过程中出现差错时,系统监视任务将按照预先设定的处理表对其进行处理,使出现差错的任务恢复正常运行,提高系统运行的可靠性。优先权的设置是按照整个系统运行的时序来确定的,对系统安全运行较重要和对实时性要求较严格的任务,设成较高的优先级。一般而言,在系统运行过程中,各任务的优先级是固定不变的。</P>
            <P style="TEXT-INDENT: 30px"><FONT 
            face=Arial>μC/OS-II</FONT>控制下的任务可以分为休眠态、就绪态、运行态、中断态和挂起态。在嵌入式系统中,为节省存储器空间不会保留休眠态的任务。当某个任务正在占用CPU的使用权时,该任务处于运行态。处于运行态任务的优先权一定高于其它所有就绪态任务的优先权。当系统运行致使某一就绪态任务优先权高于运行态任务的优先权时,调用调度函数,运行态任务将转入挂起态等待某一消息或信号量,或者转入就绪态;而那个拥有较高优先权的任务将占有CPU的使用权而转为运行态。某一时刻只有个任务占有CPU的使用权,也就是说,某一时刻只有一个任务处于运行状态。挂起态的任务在所规定的时间内,如果得到所期待的数据(可能是消息阵列,也可能是信号量),就自动转为就绪态;如果等待超时,就被时间管理函数强制转化为就绪态,等待任务调度。中断发生时,系统将强行剥夺运行态任务对CPU的使用权,将它转入中断态,保存相关数据到堆栈区之后,执行中断服务程序。在中断返回时,系统返回函数将重新进行任务调度,将优先权最高的就绪态任务转为运行态。</P>
            <P style="TEXT-INDENT: 30px">在实际系统中,每个任务都是一个无限循环的,分别实现某一特定的功能,由<FONT 
            face=Arial>μC/OS-II</FONT>内核来进行调度。电力行业中对设备可靠性的要求是很高的。对于监测设备,由于在启外运行,所受的电力谐波干扰相当大,有时会引起程序跑飞、死机现象,直到看门狗复位可使系统恢复正常;但在看门狗复位这段时间内,设备对电流、电压的采样不能正常进行,相关采样数据就会丢失,直接影响到电能量计算的准确度,同时会影响到数据通信。笔者利用软件狗的原理设计了一个系统监视任务,用来对其它任务进行监视。在系统运行中,当发现某一个任务运行出现异常时,该任务将按相关步骤做出相应处理。具体做法是:系统监视任务在正常运行情况下处于挂起状态,在某一时间范围内,等待每个被监视任务向它发送代表该被监视任务正常运行的消息。每个被监视的任务在运行状态下向系统监视任务发送这一消息,用以说明本任务运转正常。系统监视任务等待这一消息的时间范围按每个任务执行所需时间的最大值设定。系统监视任务在等待时间范围内收到消息,说明被监视任务运转正常,否则,系统内核自动将系统监视任务由挂起态转为就绪态。由于系统监视任务优先权最高,所它将取得CPU使用权,系统监视任务将出错任务的运行任务堆栈改为该任务的起始地址,并将其置为就绪态,挂起自身。如此,刚才出错的任务以重新开始执行,避免看门狗复位。</P>
            <P 
            style="TEXT-INDENT: 30px">系统运行时,首先进行系统初始化操作,初始化所有数据结构,分别堆栈空间,然后建立任务间通信的信号量或者消息队列,进行任务建立,并且分配任务优先权。所有新建任务被置为就绪态,系统程序从优先权最高的任务开始执行。</P>
            <P 
            style="TEXT-INDENT: 30px">该配电监测终端软件中,系统监视任务优先权最高,最先进入运行态。该任务分别查询每一个被监视的任务是否向其发送消息。如果没有,则该任务进入挂起态。按优先权级别顺序,键盘扫描和液晶显示任务将由就绪态转为运行态。在该任务将要执行完毕时,向系统监视任务发送消息,然后执行延时函数将自身转为挂起态,交出CPU使用权让其它任务得以执行。此时系统监视任务得到消息转为运行态,继续查询其它被监视任务的运行消息。如果没有,则进入挂起态,再次等待其它被监视任务的运行消息,系统按任务优先级继续执行优先级高的就绪态任务等等,依此类推。当键盘扫描和液晶显示任务延时时间到时,系统内核自动将它再次转为就绪态。一般键盘扫描和液晶显示任务延时时间按人手触摸按键反应时间而定,大约在100ms。在正常情况下,由于系统监视任务只是查询消息量,程序执行时间很短,甚至可以忽略,同时键盘扫描和液晶显示任务优先权排在第二。所以,只要键盘扫描和液晶显示任务进入就绪态就可以得到及时响应,能够很好地满足键盘扫描和液晶显示的实时性,解决在单任务环境下很难解决的键盘查询处理的实时性问题;同时,数据分析处理任务和通信任务可以在键盘扫描和液晶显示任务延时时间间隔内执行。由于TMS320F206处理器速度足够快,所有任务得以在满足时序的前提下顺利执行。</P>
            <P 
            style="TEXT-INDENT: 30px">当系统响应定时中断时,中断程序将占据CPU的使用权进行电流和电压采样,设置下一次中断时间。在退出中断时,内核将重新进行任务调度。</P>
            <P style="TEXT-INDENT: 0px"><B>结语</B></P>
            <P style="TEXT-INDENT: 30px"><FONT 
            face=Arial>μC/OS-II</FONT>是一套优秀的嵌入式实时操作系统。将该操作系统应用于配电监测终端中,大大提高了系统的稳定性和可靠性,提高了产品性能,成功地解决了一系列在单任务环境下不可避免的问题。 
            </SPAN></P>
            <P></P></DIV></TD></TR>
        <TR>
          <TD align=middle height=15>
            <TABLE cellSpacing=0 cellPadding=0 align=center border=0>
              <TBODY>
              <TR>
                <TD>
                  <DIV></DIV></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD align=right height=2>
            <TABLE cellSpacing=0 cellPadding=0 width="80%" border=0>
              <TBODY>
              <TR>
                <TD width=75>【<A href="javascript:doPrint();">打印本稿</A>】</TD>
                <TD width=8></TD>
                <TD width=75>
                  <P>【<A 
                  href="http://www.21ic.com/new_info/news/review.asp?title=uC/OS-II在配电监测终端仪表中的应用target=" 
                  _blank?>发表评论</A>】</P></TD>
                <TD width=10></TD>
                <TD width=79>【<A 
                  href="http://www.21ic.com/new_info/news/sendmail.asp?num=uC/OS-II在配电监测终端仪表中的应用">推荐</A>】</TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD align=right height=2></TD></TR>
        <TR>
          <TD align=right height=2><A href="javascript:window.close();"><IMG 
            height=20 src="——uC-OS-II在配电监测终端仪表中的应用.files/close_c.gif" width=77 
            border=0 name=Image161></A><FONT 
        color=#ffffff>----</FONT></TD></TR></TBODY></TABLE><BR><BR>
      <TABLE cellSpacing=0 cellPadding=0 width=520 align=center border=0>
        <TBODY>
        <TR>
          <TD vAlign=bottom align=middle width=114 bgColor=#999a76 
            height=1><IMG height=1 src="——uC-OS-II在配电监测终端仪表中的应用.files/blank.gif" 
            width=1></TD>
          <TD width=466 height=1></TD></TR>
        <TR>
          <TD align=middle width=114 bgColor=#ece8db height=19>相关新闻</TD>
          <TD width=466 height=19></TD></TR>
        <TR bgColor=#999a76>
          <TD colSpan=2 height=1><IMG height=1 
            src="——uC-OS-II在配电监测终端仪表中的应用.files/blank.gif" width=1></TD></TR>
        <TR>
          <TD colSpan=2 height=1></TD></TR></TBODY></TABLE>
      <TABLE borderColor=#000000 cellSpacing=0 cellPadding=0 width=520 
      align=center border=0>
        <TBODY>
        <TR>
          <TD vAlign=top>
            <TABLE class=RelatedTable width="100%" border=0>
              <TBODY>
              <TR class=RelatedTr>
                <TD class=RelatedTd>
                  <SCRIPT language=javascript 
                  src="——uC-OS-II在配电监测终端仪表中的应用.files/about.htm"></SCRIPT>
                </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR></TD>
    <TD vAlign=top align=middle width=150 bgColor=#ece8db height=2>
      <TABLE cellSpacing=0 cellPadding=1 width="100%" border=0>
        <TBODY>
        <TR>
          <TD bgColor=#000000>
            <TABLE cellSpacing=0 cellPadding=2 width=150 bgColor=#ece8db 
            border=0>
              <TBODY>
              <TR>
                <TD>
                  <META content="Microsoft FrontPage 5.0" name=GENERATOR>
                  <META content=FrontPage.Editor.Document name=ProgId><BR><A 
                  href="http://www.hhcn.com/chinese/cnindex.html" 
                  target=blank>华恒<BR>(ARM,PowerPC,冷火,龙珠)</A><BR><A 
                  href="http://www.embedon.com/" target=blank>远峰</A> <BR><A 
                  href="http://www.21ic.com/custom/jhb/index.htm" 
                  target=blank>复旦金海博</A><BR><A 
                  href="http://www.emdoor.com/index.asp" 
                  target=blank>亿道</A><BR><BR>单片机 <BR><BR><A 
                  href="http://www.hk.renesas.com/" 
                  target=blank>Renesas</A><BR><A 
                  href="http://www.zlgmcu.com/tools/kaifaban.asp" 
                  target=blank>周立功 Philips</A> <BR><A 
                  href="http://www.strong-ic.com/" target=blank>胜创特</A> <BR><A 
                  href="http://www.holtek.com.tw/" target=blank>盛群 Holtek</A> 
                  <BR><A href="http://www.xhl.com.cn/" 
                  target=blank>Cygnal单片机</A><BR><A href="http://www.lierda.com/" 
                  target=blank>利尔达MSP430</A> <BR><BR>接口电路:<BR><BR><A 
                  href="http://www.whjmw.com/" target=blank>金迈威</A> <BR><A 
                  href="http://www.21ic.com/custom/maiwei/mw.htm" 
                  target=blank>迈威</A> <BR><A href="http://www.rs232.net.cn/" 
                  target=blank>瑞赛特</A><BR><BR><BR>存储器<BR><A 
                  href="http://www.huazhoucn.com/" 
                  target=blank>铁电存储器免费样品</A><BR><BR><BR>模拟器件<BR><A 
                  href="http://www.unique-ap.com.cn/" 
                  target=blank>Linear</A><BR><BR><BR>编程器<BR><A 
                  href="http://www.xeltek.com.cn/" 
              target=blank>西尔特编程器</A><BR></TD></TR>
              <TR>
                <TD 
  height=5></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=766 align=center border=0>
  <TBODY>
  <TR>
    <TD vAlign=top colSpan=6></TD></TR>
  <TR>
    <TD vAlign=top colSpan=6 height=10></TD></TR>
  <TR>
    <TD vAlign=top bgColor=#999999 colSpan=6 height=2></TD></TR>
  <TR>
    <TD class=stxt vAlign=center align=middle colSpan=6 
height=6></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=766 align=center border=0>
  <TBODY>
  <TR>
    <TD class=s width=973 height=12></TD></TR>
  <TR>
    <TD class=s width=973 height=20>
      <DIV align=center><FONT face="Arial, Helvetica, sans-serif"><!--start copyright-->
      <DIV align=center><FONT color=black>
      <TABLE cellSpacing=0 cellPadding=0 width=600 align=center border=0>
        <TBODY>
        <TR>
          <TD align=middle width="100%" colSpan=2><BR>Better View:800*600 Best 
            View:1024x768 为了本系统能够更好的为您服务,请使用IE4.0或以上版本浏览器 
            <BR><BR>版权所有(C)21IC中国电子网 电话:010-82357510, 82357511 传真: 010-82357512 
          </TD></TR></TBODY></TABLE><!--start copyright--></FONT></DIV></FONT></DIV></TD></TR></TBODY></TABLE><BR></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -