《内核原理及驱动程序规范》由会员分享,可在线阅读,更多相关《内核原理及驱动程序规范(20页珍藏版)》请在金锄头文库上搜索。
1、内核原理及驱动程序规范n一、什么是实时操作系统?操作系统是管理计算机硬件、软件资源,提高资源利用率,方便用户应用计算机的最基本的系统软件。 实时系统是指计算机对特定的输入作出快速反应,以控制发出实时信号的对象。实时控制系统应用的操作系统是典型的实时操作系统,它要求系统可靠性高,反应速度快,响应速度在ms级甚至ns级。n一、什么是实时操作系统?实时系统有软实时系统和硬实时系统之分。软实时系统要求各任务尽快地执行,在规定的时间内都执行完,而不要求某一具体任务在特定时间内完成。硬实时系统不仅要求各任务在规定的时间内必须完成,而且每个任务必须准时执行。 n二、科威PLC内核原理1内核简介EASY嵌入式
2、PLC内核是将PLC的功能构建在控制器(或控制装置)内的软件平台。主体功能体现在梯形图语言、通信及用户驱动接口三个方面。n二、科威PLC内核原理2内核任务管理1.主流程任务管理在系统主流程中,PRO、SET为非实时状态,RUN状态下的实时任务调度决定了系统对外部事件的实时响应速度。n二、科威PLC内核原理2内核任务管理RUN状态下的主流程为:n二、科威PLC内核原理2内核任务管理2.中断任务管理:定时器T0:产生2.5ms时基。(即TMS用户中断)UART0监控定时 500ms。UART1监控定时 500ms。异步事件 PRO、SET、RUN信号检测。用户2.5ms周期调用程序TMS,应小于4
3、0us,中断占用时间小于50us。n二、科威PLC内核原理2内核任务管理2.中断任务管理:UART0:串口0字节处理中断程序。依据PRO、SET、RUN状态,调用UART0协议栈的相关协议,对串口0中断进行收/发字节处理. 串口0波特率9600bps,8位传输.中断占用时间小于25us.n二、科威PLC内核原理2内核任务管理2.中断任务管理:UART1:串口1字节处理中断程序。依据SET、RUN状态,调用UART协议栈的相关协议,对串口1的收/发字节进行处理.串口1波特率9600bps,8位传输.中断占用时间小于25us.n二、科威PLC内核原理2内核任务管理3.用户接口任务管理:USER_S
4、TEP:处理100us级软实时任务 USER_SCAN:处理I/O、AI/AO USER_TMS:处理硬实时任务,程序占用时间 应小于50us 用户中断:每1ms小于100us。当大于500us 时,有可能产生系统崩溃n三、科威PLC内存管理1常用寄存器组 0区(00H-07H):系统主流程占用其他:系统占用2位寄存器区 20H-23H:用户嵌入使用(BRAM)其他:系统占用3直接寻址寄存器区 58H-67H:用户嵌入使用(DRAM)其他:系统占用n三、科威PLC内存管理4外部RAM 0000H-05FFH:PLC位资源区(X,Y,S,M等)0600H-35FFH:系统占用区+部分PLC字资源
5、3600H-3FFFH:用户嵌入区(XRAM)4000H-7FFFH:PLC字资源区8000H-AFFFH:梯形图区 n三、驱动程序规范1用户I/O口配置程序(INIT_CONFIG)跟据设计的输入输出功能配置相应的端口(推挽或者开漏),同时根据需要可在此程序内配置用户中断的功能寄存器。比如用户要用到PCA,那么用户可以在此程序内配置相应的交叉开关, PCA0MD等功能寄存器。此段程序会在内核重新上电后调用一次。 n三、驱动程序规范2用户上电初始化程序(INIT_START)用户嵌入程序中用到的输入输出变量,中间变量,指针变量,位变量等在重新上电后必需进行初始化处理。此段程序在内核重新上电后调
6、用一次。n三、驱动程序规范3用户设置初始化程序 (INIT_SET)内核重新上电后进入梯型图下载状态或内核从梯型图运行状态进入梯型图下载状态时调用此程序一次。 n三、驱动程序规范4用户运行初始化程序 (INIT_RUN)内核重新上电后第一次运行梯型图或内核从下载梯型图状态进入梯型图运行状态时调用此程序一次。与上一个的流程相反。n三、驱动程序规范5用户演算周期扫描程序 (SCAN)所有梯形图执行完后,即调用该程序。调用周期为梯型图演算周期,一般的数据处理、开关量输入/输出的刷新及代码执行时间较长的程序均放在此程序中执行。 n三、驱动程序规范6用户每步执行程序 (STEP)梯形图每执行一步,即调用此程序一次。需要快速执行的事件可在此程序或用户中断程序中完成。内核周期性地调用此程序,周期小于100US。 n三、驱动程序规范72.5MS中断 (TMS)需要定时采样的流程可放在此程序中完成,但该段程序代码执行时间必须小于50US。数据处理程序不宜放在此段程序中执行。由于是内核给提供的软中断,所以返回指令用RET而不用RETI。TMS需要进行入栈保护和出栈恢复的操作。n四、编写驱动需要学习的资料151单片机汇编程序开发2C8051F020芯片手册3EASY内核原理及应用