通信网--中国通信行业门户网站 | 中国行业网站集群--通信行业电子商务唯一网站 设为首页 | 收藏本站
免费注册 商机无限 商务中心 行业展会 立即发布商机
网站首页 公司库 产品库 商机库 行业资讯 展会信息 招聘信息 招商加盟 下载中心 招标信息
关键词:
热门词汇: IP网络电话   语音识别   手机充电器   手机GPS   3G手机   传输设备   交换设备
  行业要闻 | 通信市场 | 通信技术 | 网络学院 | 5G前沿 | 4G前沿 | VoIP | IPTV | WiMAX | 呼叫中心 | IT制造 | IT就业  
  企业专栏 | 企业报道 | 通信标准 | 通信百科 | 分析预测 | 手机评测 | 增值通信 | 政策法规 | 专家观点 | 网商访谈 | 招标信息 | 物联网
网上展览:
综合厂商 | 手机 | IP电话 | 交换机 | 呼叫中心 | 网络 | 终端 | 电源 | 仪器 | 光纤 | 电缆 | 电脑 | 数码 | 软件 | 其他
中国通信网最新加盟企业: 
当前位置:网站首页 > 行业资讯 > 通信技术
【创心服务 联通你我】青春逢盛世,奋斗正当时
中国通信网 时间:2009-10-26 信息来源:微计算机信息

1.引言

WinCE是一种为多种嵌入式系统和产品设计的紧凑、高效、可升级的操作系统,WinCE 采用标准模式,其最主要的特征:为有限的硬件资源提供了多线程、多任务和完全优先级的计算环境。

WinCE操作系统支持两种类型的驱动程序:[1]本地驱动程序(Build-In),是把设备驱动程序作为独立任务实现,直接在顶层任务中实现硬件操作,完成特有专用的驱动程序;流接口驱动程序,WinCE的I/O系统将设备程序作为内核过程实现,这种方式便于实现I/O子系统的层次模型,便于文件系统一起把设备作为特殊文件处理,提供统一的管理、统一的界面和统一的使用方法,并把设备、文件及网络通信组织成为一致的更高层次的抽象,为用户提供统一的系统服务和用户接口。驱动程序封装了将这些命令转换为它所控制的设备上的适当操作所需的全部信息。流接口驱动程序有在启动时加载和动态加载两种方式。本文实现的在WinCE环境下流结构的PC/104-CAN驱动程序是在系统启动时加载的。

2. CAN总线技术简介

CAN总线是德国Bosch公司开发的一种串行数据通信协议,CAN总线属于总线式串行通讯网络,具有总线为多主方式工作且无需站地址节点信息、CAN网络上的节点信息分成不同的优先级、总线冲突仲裁时间低和总线的通信介质选择灵活等优点[2]。

CAN适配卡的核心工作单元是它的控制器,控制器SJA1000的组织结构如图1所示。

图1 SJA1000的内部结构方框图

其中,接口管理逻辑(IML):[3]它接收来自微控制器的命令,控制CAN寄存器的寻址,并向微控制器提供中断和状态信息;发送缓存器:存贮发送到CAN网络上的完整信息;位流处理器(BSP):是一个控制发送缓存器和接收缓存器与CAN总线之间控制数据流的程序装置,同时具有执行错误检测、仲裁、总线填充和错误处理的能力;位定时逻辑(BTL)单元:主要监视串口的CAN总线,并处理与总线有关的位时序,使SJA1000同步于CAN总线上的位流;错误管理逻辑(EML):主要完成接收BSP的出错报告,并按照CAN协议完成错误界定, 从而使BSP和IML进行错误统计。

CAN适配卡的硬件网络工作环境示意图如图2所示。

图2 CAN适配卡应用系统的总体结构图

图2 中,通用微机的操作系统是WinCE,上位通用微机通过PC/104总线与CAN接口适配卡相连,CAN接口适配卡与具有CAN接口的串行芯片通过CAN总线进行数据交换,所采用的协议是CAN协议。在CAN协议中,报文的表示、传送和控制主要由4种类型的帧来完成[4]:数据帧,携带数据信息,由发送器发送到接收器;远程帧,主要用于请求发送具有相同标识符的数据帧,是通过总线发送的;出错帧标识总线错误,由检测出总线错误的任何总线单元产生;超载帧主要为当前的和后续的数据帧提供附加延迟。

3 CAN适配卡驱动程序的设计与实现

从引言部分可知,流接口可以为各种设备提供统一的访问接口,可以是字符设备、块设备、虚拟设备和网络设备等。CAN适配卡驱动程序的主要流程为[5]:应用程序调用函数CreateFile获取CAN设备句柄,文件系统将会调用CAN驱动例程中的CAN_Open来响应应用程序的请求。当应用程序调用ReadFile函数读取CAN设备上的字符时,文件系统将会调用CAN驱动例程中的CAN_Read函数来读取CAN设备上的字符。

对于本文流接口的驱动程序而言,是通过实现如下几个模块来实现驱动的:CAN_Open、CAN _Close、CAN _Read、CAN _Write、CAN _IoControl和CAN _Init等模块。其中CAN _Init模块是系统启动时由文件系统自动调用的,主要完成设备的初始化工作。另外,对于流接口驱动程序可选函数CAN _PowerUp和CAN _PowerDown,主要实现电源管理的功能。

限于篇幅,本文仅对主要的CAN_Write模块、CAN_Read模块和中断服务线程模块的实现作如下详细详细讨论。

3.1 CAN_Write模块的实现

当CAN适配卡控制器在发送报文时,发送缓冲区对写操作是锁定的,这样CPU必须检查状态寄存器的发送缓冲区状态标志TBS,以确定可以将一个新报文写入发送缓冲区中,当发送缓冲区被锁定(即标志TBS=0)时,CPU周期性地查询状态寄存器,等待发送缓冲区被释放;当发送缓冲区被释放(即标志TBS=1)时,CPU将新报文写入发送缓冲区中,并置命令寄存器的发送请求标志TR,该标志导致发送的启动。一旦发送成功中断产生,表明CAN报文已经发送成功。重复上面的工作就可以完成发送多个CAN报文的工作。CAN_Write模块的流程图如图3所示。

图3 CAN_Write函数的流程图

相关资讯
· 【创心服务 联通你我】青春逢盛世,奋斗正当时 (2012-01-17)
· 【创心服务 联通你我】青春逢盛世,奋斗正当时 (2012-01-17)
· 【创心服务 联通你我】青春逢盛世,奋斗正当时 (2012-01-16)
· 【创心服务 联通你我】青春逢盛世,奋斗正当时 (2012-01-16)
· 【创心服务 联通你我】青春逢盛世,奋斗正当时 (2012-01-12)
发表评论
昵   称:   匿名发表
验证码: 
 
热门资讯
【创心服务 联通你我】青春逢盛... (2009-09-15)
【创心服务 联通你我】青春逢盛... (2011-04-28)
【创心服务 联通你我】青春逢盛... (2009-09-16)
【创心服务 联通你我】青春逢盛... (2008-07-15)
【创心服务 联通你我】青春逢盛... (2008-05-23)
【创心服务 联通你我】青春逢盛... (2008-07-31)
【创心服务 联通你我】青春逢盛... (2008-07-31)
【创心服务 联通你我】青春逢盛... (2012-01-09)
【创心服务 联通你我】青春逢盛... (2011-01-30)
【创心服务 联通你我】青春逢盛... (2010-05-28)
【创心服务 联通你我】青春逢盛... (2008-07-31)
【创心服务 联通你我】青春逢盛... (2011-02-17)
【创心服务 联通你我】青春逢盛... (2008-07-31)
【创心服务 联通你我】青春逢盛... (2009-08-13)
【创心服务 联通你我】青春逢盛... (2011-05-03)
【创心服务 联通你我】青春逢盛... (2008-07-31)
【创心服务 联通你我】青春逢盛... (2009-08-12)
【创心服务 联通你我】青春逢盛... (2008-07-31)
【创心服务 联通你我】青春逢盛... (2008-07-31)
【创心服务 联通你我】青春逢盛... (2010-07-20)
【创心服务 联通你我】青春逢盛... (2009-08-12)
【创心服务 联通你我】青春逢盛... (2010-08-27)
【创心服务 联通你我】青春逢盛... (2009-10-11)
【创心服务 联通你我】青春逢盛... (2009-08-12)
【创心服务 联通你我】青春逢盛... (2009-07-24)
国之鑫科技 | 泰尔网 | 中华网科技 | 信息产业网 | 通讯世界 | 数字通信世界 | 文传商讯 | 中华英才网 | 电话视频会议 | 凤凰科技 | 呼叫中心 | 新浪科技 | 新传媒网 | 和讯科技 | 中国科技网 | 通信英才网 | 江苏星光发电设备 | 中劳网 | 赛迪网 | MSCBSC移动通信网 | 中国软件网 | 新华网 | 腾讯科技 | 3G通信网 | 千龙网 | 光通信人才招聘网 | 通信人才网 | 中商顾问网
返回首页 | 网站简介 | 企业理念 | 免责声明 | 广告服务 | 代理政策 | 联系我们 | 铭万网 | 中国产品推广联盟
南京国之鑫科技有限公司版权所有©2008-2016 客户服务热线:025-83752991, 客户服务邮箱:gzx@gzxinfo.com
苏ICP备18005078号-1
本站图片及文字仅供功能演示,本站保留对本演示内容及功能的最终解释权

加入铭万联盟中国行业网站集群独家技术供应商