基于VxWorks和MC68332的变电站测控系统驱动程序设计(2)
发布时间:2021-06-07
发布时间:2021-06-07
单片机
陈连玉,等基于VxWorks和MC68332的变电站测控系统驱动程序设计.77.
本系统硬件平台采用的MC68332微控制器,
具有下列特点:(1)32位CPU。(2)MC68332微控
制器具有较低的功耗。(3)片内的锁相环(PLL)电路
产生所需的外部时钟频率,这就使得噪声低、抗干
扰能力强,容易满足电磁兼容性(EMC)的要求。(4)
系统集成模块(SIM)。该模块由外部总线接口(EBI)、
片选控制、系统保护子模块、测试子模块和系统时
钟组成。外部总线基于MC68020总线,提供24根
地址线、16根数据线及用于数据传送和中断请求等
功能的控制信号线。数据总线允许8位和16位访问
方式,并允许动态改变总线宽度。(5)队列串行模块
(QSM)。该模块为MC68300系列微控制器提供两个
独立的串行通信接口,它们分别是对列串行外围接
口QSPI和串行通信接口SCI。除此之外,MC68332
还有一些自己特有的功能,包括2kbRAM、半智能
化的定时处理单元(TPU)。TPU是MC68332最具
特色的模块之一。它有自己的执行单元、3级优先
级控制器、数据RAM、双定时基准和微程序ROM
等。它可独立于CPU之外,执行各种定时、频率测
量等与时间有关的操作,可大大减轻CPU的负担。
开模遥
_——
(80C196)
MC
遥f卉_I芟块
68332
(80C196l
C
遥删模块
A
(80C196)
N
总
遥挣模块
线
VX
WORKS
擞_}I_
-一系统
图1组成框图Fig.1Blockdiagram
1.2VxWorks
VxWorks操作系统是美国WindRiver公司设计开发的一种嵌入式实时操作系统(RTOS),是TomadolI嵌入式开发环境的关键组成部分。VxWorks是一款优秀的实时多任务操作系统,具有抢占式调试、中断延迟小等特点。提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信。其核心功能主要有微内核,任务间通信机制,网络支持,文件系统和I/O管理,POSIX标准实时扩展,以及C++等其他标准支持。是可裁剪的运行软件。目前应用于嵌入式器件十分普遍,并且取得很好的效果。
1.3CPU中断资源分配
见表1所示。
表1Mc68332中断资源分配
Tab.1DistributingofinterruptresourceofMc68332陵IRQIIRQ2IRQ3IRQ4IRQ5IRQ6IRQ7空时钟脉按键网络CAN秒脉空
冲输出接收网冲
2CAN总线驱动设计
2.1地址译码与驱动方式
CAN偏移地址分配如下:00H~FFHSJAl000的寄存器;00H~FFH对该范围内的任意地址进行读写操作均可导致CAN硬件复位。
VxWorks操作系统有两种方式实现驱动。一种方式是把设备驱动程序作为独立任务实现,直接在顶层任务中实现硬件操作,完成特有专用的驱动程序,可以实现I/O子系统的层次模型。第二种方式是,VxWorks的I/O系统将设备程序作为内核过程实现。这种方式便于实现I,0子系统的层次模型,便于文件系统一起把设备作为特殊文件处理,提供统一的管理、统一的界面和统一的使用方法,并把设备、文件及网络通信组织成为一致的更高层次的抽象,为用户提供统一的系统服务和用户接口,但是需要更多的系统资源。我们选取第一种驱动方式。作为I/O系统和硬件设备之间的连接层,VxWorks驱动就是实现对硬件操作,为YO系统提供服务。实现一个完整的驱动,必须了解VxWorks下I/O的三个基本元素:File、Driver和Dervice。File是为用户提供访问设备的统一接口;Driver是实现具体的基本控制函数,也就是实现I/O系统所需要的接口;而Device则是一个抽象的硬件设备,是一系列的结构体、变量和宏定义对实际物理设备的定义。一般而言,实现一个驱动应该有三个基本的步骤:①用编程语言完成对实际物理设备的抽象;②完成系统所需要的各类接口及自身的特殊接口;③将驱动集成到操作系统中。其流程如图2,具体编程见2.4。
从数据库获取节点序列号
_=二二]二=
设胃轴动向量
:二二[=
SJAl000{!)J始化1
.=二]=.
1设置中断6J鼍IRQ5
L=::£二-.d
l添加设备驰动列表l
=二]二二=
什中断
=二至三三
设置缓冲区
,.=二]二=
转入收发任务
=二二工二=
l转入数捌库操作l
图2CANbus驱动流程图
Fig.2
RowdiagramofCANbusdriver
万方数据
上一篇:刀剑乱舞阵型效果图文详解
下一篇:“国学小名士”经典诵读题库