基于μC/OS-II嵌入式操作系统的TCSC实验控制器前置单元设计
微处理器SAMSUNG S3C44B0X介绍
一款基于ARM7TDM I内核的32位的高性能R ISC处理器。 支持16位Thumb和32位ARM双指令集,尤其是在使用16位Thumb指令集时仍然享受ARM处理器的32位的特性,如32位长的寄存器, 32位的寻址空间等,并且得到更高密度代码。 此外还集成很多外设,包括8通道ADC,外部存储器控制器, LCD控制器, 4通道DMA, 71个通用IO口,具有日历功能的RTC时钟, 5个PWM定时器,一个内部定时器和一个看门狗定时器,片内锁相环( PLL)时钟发生器(最高时钟频率66 MHz) , 2 通道异步串口,带有16 字节F IFO, IIC、IIS总线控制器等等。
USB接口器件PD IUSBD12介绍
Philip s公司推出的一款应用广泛的USB 接口器件,符合USB1.1规范,集成SIE, F IFO存储器,收发器以及电压调整器,可与任何外部微控制器或微处理器实现高速并行接口(2 MB / s) ,完全DMA操作,主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输。
电压过零检测电路
过零检测电路由一个电桥,光电隔离及其它器件组成,共3组,两个74HC14反向门用来将电压整形为TTL电平,输入到微处理器S3C44B0X外部中断端,当电力线电压变为零时,光电隔离器中发光二极管截止,此时向中断端输出高电平脉冲引发中断。
采样保持电路
保持器共6 路,其中3 路测电压, 3 路测电流。采用LF398芯片,它有8个引脚, 1和4脚接电源,范围为( ±5 ~ ±18) V之间, 3脚为输入端,接电力线经变压后的电压或经电流互感器转化的电压, 2脚接1 kΩ电阻,用于调节漂移电压。7脚接参考电压, 8 脚接控制信号,控制芯片的采样保持状态。在这里通过S3C44B0X的通用I/O 引脚GPF0-5 分别控制6 路采样保持器的8脚。6脚外接保持电容,这里考虑到实时性的要求,因此选择较小的电容值,取C1 = 0.001μF,此时采样时间不超过10μs,同时可以满足8位的采样精度。
晶闸管触发电路
触发电路共3 组分别接A, B, C三相,如图3 所示,两个74LS04反向门用来增加驱动能力,输入端接44B0X的通用IO 口GPE4-6引脚。脉冲变压器N1 和N2一方面传递触发脉冲,另一方面对强弱电之间起到很好的隔离作用。CPU 发出触发脉冲信号之后,两个反向可控硅的触发端会同时有触发信号,但由于某一时刻加在两个可控硅上的电压只有一个满足导通条件,故只有一个可控硅会导通。
软件设计
前置单元的软件要完成和上位机通讯、AD 采样和晶闸管触发3项功能。 其中AD采样速率很高、晶闸管触发实时性很强,所以这两项功能必须采用硬件定时器来保证其实时性,因此设计使用中断服务程序( Interrup t Service Routine, ISR ) 来完成这两项功能。USB驱动程序由开发板附带,通讯的功能主要通过μC /OS-Ⅱ中的任务来完成(当然, USB 中断处理也是必不可少的)。USB 任务和各ISR 之间的通讯通过μC /OS-Ⅱ的同步机制(信号量、消息队列)和全局变量来完成。 所有软件均是在ARM公司自己的开发环境ADS下实现的,ADS1。2有自己的C, C + +语言编译器及库文件,有GU I界面的调试器AXD和命令行界面的调试器armsd以及GU I界面的编辑器Code WarriorIDE,这为开发人员提供了极大的便利。 调试工具用的是JTAG仿真器, JTAG仿真器通过JTAG边界扫描口与ARM CPU核通信,属于完全非插入式(即不使用片上资源)调试,它无需目标存储器,不占用目标系统的任何端口,是目前采用最多的一种调试方式。
嵌入式实时操作系统μC /OS-II介绍
对于复杂的应用,直接在裸机上开发运行的前后台系统开发、维护和扩展都很困难,嵌入式操作系统应运而生,其最大的特点就是处理多任务,而且在工控领域大多实时性要求较强,而μC /OS-II迎合了这些特点。μC /OS-II支持64个任务,每个任务的优先级必须是不同的,调度算法总是让处于就绪状态的最高优先级任务先执行, 并提供了信号量( Semaphore) 、邮箱(Mailbox)和消息队列(Message Queue)等多种通讯同步原语。每个任务都处在以下5种状态之一的状态下,这5种状态是休眠态(Dormant) ,就绪态(Ready) 、运行态(Running) 、挂起态(Waiting)和被中断态( Interrup ted)。μC /OS-II中全部系统调用的执行时间是可确定,其系统调用的执行时间不依赖于应用任务的多少,这也是其实时性的表现。
评论