碧波液压网 欢迎你,游客。 登录 注册

近红外光谱仪中单色光控制器的软件设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  一单色光控制器主程序设计

  单色光控制器主程序主要作用是:

  (l)接收上位主控机传送的各种命令、参数等。

  (2)根据接收命令对控制器中AD9852的输出频率进行改变。

  (3)根据所选频率选择不同的匹配网络。

  (4)对接收的命令、参数给予应答。

  由于上位主控机和单色光控制器之间的通讯,一般情况下是不同步的,要想正确地进行通讯,一般采用两种方式:查询方式和中断方式。如果选用查询方式时,单色光控制器的CPU常处在对通讯信息的查询中,CPU的利用率比较低,对单色光控制器的正确工作带来一定影响;采用中断通讯方式,单色光控制器和其它工作可以同时进行,CPU的利用率高,能满足单色光控制器的实际需要,故在与上位机通讯时采用中断方式(包括串行发送和串行接收)。

  当单色光控制器接收到上位机发送的一切命令、参数后,单色光控制器主要的工作是根据参数、命令对AD9852输出频率进行修改、匹配网络的选择、单色光控制器多种参数修改等。这样,在工作J顷序上是有前有后的,不是同时发生的。因此,为了使设计变得简单,采用顺序操作以及各种状态查询比较的方法。

  综上所述,单色光控制器的主程序完成对单色光控制器的所有操作,中断服务程序完成上位控制机与单色光控制器之间的通讯操作。单色光控制器的主程序流程图如图1所示。串行中断服务程序流程图如图2所示:

  二单色光控制器中串行通讯程序设计

  在单色光控制器中,串行通讯采用中断方式。为了方便操作,在设计中,采用了两个独立的缓冲区,分别为接收数据缓冲区recbuf,长度为sizerec和发送数据缓冲区sendbuf,长度为sizesend。这两个缓冲区分别有两个指针即read一rec、认厅ite一rec、read一send、write一send,对这两个缓冲区操作采用队列方式,即先进先出,后进后出。串行通讯时接收数据,加入recbuf缓冲区中,同时认厅lte一rec指针加“l”;发送数据时,从sendbuf中,取出数据发送,同时read一send指针加“1”在主程序中可以读recbuf中数据,同时read.rec指针加‘,1’,,向sendbuf中存放数据,明对te.send指针加“1”,这必然要求队列必须是循环队列,即指针加到一定值时(即队列量必须归零,判断队列中有无数据只需要判断缓冲区两指针是否相等即可。在程序设计时,一般不需要判断缓冲区是否满,这是因为两种缓冲设置的容量一般情况一定满足需要。

  单色光控制器中串行中断服务程序流程图如图3所示:

  三单色光控制器中DDS读写程序设计

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论