微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于μC/OS-II嵌入式操作系统的TCSC实验控制器前置

基于μC/OS-II嵌入式操作系统的TCSC实验控制器前置

时间:10-08 来源:互联网 点击:

et Size = 64 B)返回AD 采样的结果。 这通过两个函数TaskUsbEp1RxDone和TaskUsbEp2SendData 可以实现, 同时通过TaskUsbSetupPacket函数来处理主机发来的请求。我们设置PD IUSBD12 的Endpoint1 ( Generic Endpoint) 工作在Interrup t 模式, Endpoint2 (Main Endpoint)工作在Bulk模式,则:

1) TaskUsbEp1RxDone

TaskUsbEp1RxDone为前置机接受上位机采样或置触发角的任务,其工作流程下所示。

先用OSSemPend ( )等待上位机发送命令,若上位机发来的COMM_START_AD命令,则:

若TOTAL _ SAMPLE _ TIMES! = 0, 则通过Endpoint1返回错误信息给上位机,否则置AD_BUFF_P =0, TOTAL _ SAMPLE _ TIMES =所需采样的周期数×100,开启Timer4 (采样保持定时器) ,通过Endpoint1返回成功信息给上位机。

若上位机发来的是COMM _SET_ANGLE命令则设置相应的X_ANGLE变量,能过Endpoint1返回成功信息给上位机。

2) TaskUsbEp2SendData

TaskUsbEp2SendData任务的工作次序为先等待AD ISR发送要求传送数据的消息,消息发出后,在等待上次USB传送结束,再通过Endpoint2发送缓冲区中的数据。

3) TaskUsbSetupPacket

TaskUsbSetupPacket任务工作次序为先等待SetupPacket事件,事件发生后再调用UsbControlHandler( )函数处理主机的请求。

软件整体结构

整体软件结构框图如图4所示(图中矩形框代表中断服务程序ISR,椭圆代表μC /OS-Ⅱ任务虚线框代表μC /OS-Ⅱ信号量或消息队列)。

结 论

实验结果表明,实际系统数据采集速度与设计时预期的结果基本一致,印证了现阶段结合数据采集、AD转换、数据传输及其它功能模块如过零检测、触发可控硅等诸多任务于一体的复杂系统,必须有功能强大的硬件资源平台做支撑;在多任务、实时性较强的场合,嵌入式实时操作系统是必不可少的;在数据传输方面,USB在速度方面的优势比传统的RS232更能满足TCSC实时控制的要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top