基于的实时控制模块设计与实现

时间:2012-10-23来源:网络

2 软件设计与实现
2.1 主程序框架
主程序流程图如图4所示。

d.JPG


主程序是顺序结构,较为简单。主要分两部分:一是对系统各部分进行初始化设置,使其能够工作在正常状态。二是正常工作循环状态,当收到上位机的控制命令时,即进行相应的操作,无命令时则等待。对于嵌入式程序而言,无限循环是必要的。
2.2 串口通信程序
串口通信程序实现与上位机的通信功能。具体操作中使用一个循环队列存放接收到的上位机命令,分别用头指针和尾指针指向队头和队尾,将各命令字节取出,进行相应操作。命令执行完毕(队列取空),清标志位,等待新命令。如图5所示。

e.JPG


2.3 SPI通信程序
C51采用SPI主模式与AD7707进行通信。主模式写AD7707较为简单,单片机先写1 Byte的配置数据给AD7707,其会自动将该数据放入自身的通信寄存器,随后AD7707根据该配置值确定下一步要写的寄存器及数据大小,再将单片机随后输入的数据放入指定位置。C8051F120发数据前,先根据SPICN寄存器的TXBMT位的值判断是否能够发送数据,再向自身的SPIDAT寄存器写数据即可,硬件会自动将数据发出。
主模式读AD7707较为困难。当C51已设置AD7707的通信寄存器,表明下一步操作是读AD7707的某个寄存器值后,C51向SPIDAT写任意值,之后SPI数据线(MOSI)上会串行移出数据,同时时钟线上产生串行时钟,从设备(AD7707)收到时钟,将预备的数据送到MISO线上交给C51,同时不采纳主设备发送的任意值。C51将发送的串行数据放在移位寄存器中,当最后一位收到后即移入收缓冲器,再读SPIDAT便可读出数据。
2.4 其他软件模块
其他软件模块均是根据各部分硬件的具体要求,通过向所分配的对应地址空间按序发送所需数据来实现相关功能。

3 结束语
文中提出以C51单片机C8051F120为核心控制芯片的嵌入式系统,已成功应用于某通信测试仪器中,陔系统通过中断及查询等方式较好地实现了对整机的实时控制功能。

1 2 3

关键词: 模块 设计 实现 控制 实时 嵌入式 系统 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版