基于VxWorks和MC68332的变电站测控系统驱动程序设计(4)

发布时间:2021-06-07

单片机

陈连玉,等基于VxWorks和MC68332的变电站测控系统驱动程序设计.79.

设置CAN卡工作寄存器,如接收码寄存器和屏蔽码寄存器等

CAN卡开中断和进入操作模式

Retum((int)pCan_Dev):/★注意必须返回设备描述结构指针+/

intCanRead(intCAN_DEV—ID,UBYTE水buLintnBytes){

等待信号量(该信号量由中断处理例程释放)

从接收缓冲区读取数据

释放接收缓冲

返回接收数据数量

intCanWrite(intCAN_DEV_ID.UBYTE木buf,intnbyte){

查询发送缓冲是否可用

向发送缓冲区写数据

命令发送

查询发送完成标志

返回发送数据数量

voidinterrupt_handleroutin(intarg){

处理中断事件;

发送(释放)信号量;

3以太网驱动设计

3.1设计思想

VxWorks支持两种形式的网络驱动,一种是BSD驱动支持通用的BSD4.4网络,API结构等和大多数BSD网络的驱动类似。另一种是END网络驱动,是VxWorks独有的,根据VxWorksMUX接口编程,不过END驱动在底层也要转换成BSD的形式。

本系统采用100M以太网和TCP/口网络通信协议,在网络通信层达到了资源共享。VxWorks网络结构与OSI参考模型相比是在IP层和链路层之间有一Mux层,屏蔽了网络层和数据链路的直接交互,通过增强型网络驱动(EnhancedNetworkDrivers)实现lP层与链路层之间的数据交互。该驱动向上通过Mux层与IP层相连,向下与链路层直接相连,

从而在IP层与链路层之间建立一个数据传输通道。此结构与以太网控制器中为其驱动定义的控制结构相类似。

3.2基于VxWorks的TCP/IP数据封装

在68332中嵌入VxWorks后,可以实时完成把采集到数据进行TCP/口协议封装。VxWorks提供支持嵌入式器件内核的板级支持包以及TCP/球工具包。在68332上配置VxWorks的方法如下:首先要调试VxWorks在68332上的BSP,其中Configh是一个重要的配置文件。该文件中最需要关注的部分就是对存储空间的配置,如下:

#defineROMBASEADRS0x01000000/木Flash起始点?半/

#defineROMTEXTADRS0x0100(K)00/*ROM的开始地址木/

#defineROMSIZE0x00100000/*VxWorks占用的/

#defineRAMLOWADRSOx00001000/*VxWorks一镜像进入点串/

事实上#defineRAMHIGHADRS0x00100000/半为ROM启动的RAM地址术/

相应的,在MAKEFILE文件中对内存的设置要与上面相同,如下:

ROM—TEXTADRS=”01000000#ROM”entryaddressROMWARM_ADRS=01000004#ROMwarmentryaddress

ROMSIZE=”00100000#numberofbytes”ofROM

space

RAMLOWADRS=”0000l000#RAM”text/data

address(bootrom】

RAM——HIGH_ADRS=0010000(ORAMtext/data

address(bootrom)

丌始

醐config.h支件

添JJDMUX接口

阿卡控制器初始化(包括网

卡、主从机IP地址等)

获取中断『川量、开中断

添加设备列表

设置缓冲区

释放缓冲[x

一发送

读底层数据库

二j[=二

数据封装

=二[二=

轮询发送

图3以太网驱动流程图

Fig.3

FlowdiagramofEthernetdriver

万方数据

基于VxWorks和MC68332的变电站测控系统驱动程序设计(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219