异常白细胞形态检查是查什么病| 什么人需要做心脏造影| 三什么一什么四字词语| 梅核气吃什么药能除根| 什么东东是什么意思| 邮戳是什么意思| 什么是双高| 黏膜是什么意思| ryan是什么意思| 附件囊肿吃什么药最好| 喝什么美白| 是什么词性| 肠道蠕动慢吃什么药| 什么叫银屑病| 为什么不娶养猫的女人| 麻烦的意思是什么| 总胆固醇偏低是什么意思| 哆啦a梦的寓意是什么| 小腿肚酸疼是什么原因| 27岁属相是什么生肖| 93属什么生肖| 骨质疏松用什么药好| beetle是什么车| 低烧不退是什么原因| 玉鸟吃什么饲料好| 氯化钠敷脸有什么作用| 什么是甲减| 儿童疝气挂什么科| 颈动脉斑块看什么科| 新陈代谢是指什么| 细菌性阴道炎吃什么药| 前列腺在什么地方| 拉肚子吃什么药好使| 扬州有什么好玩的| 肌酸什么时候喝| 肾虚吃什么食物能补| 公费是什么意思| 恢复伤口的鱼叫什么鱼| 什么两难| 5.29什么星座| gbs检查是什么| 破日是什么意思| 后羿射日什么意思| 头昏吃什么药效果最好| 五点多是什么时辰| 厚植是什么意思| 做梦梦见棺材和死人是什么意思| 董事总经理是什么职位| 甲状腺彩超能查出什么| 武则天叫什么名字| 7月24是什么星座| 什么鬼大家都喜欢| 一个合一个页读什么| 什么是流水| 韬光养晦是什么意思| 扁豆长什么样子图片| 恭送是什么意思| 茉莉茶属于什么茶| 云南小黄姜有什么功效| 陈醋和白醋有什么区别| 听什么音乐容易入睡| 扁桃体是什么| 上午十点半是什么时辰| 精血亏虚吃什么中成药| 妇科彩超主要检查什么| 一个月一个泉是什么字| 高祖父的爸爸叫什么| 1984年是什么年| 前列腺增生吃什么药效果最好| 素数是什么| borel手表是什么牌子| 苍鹰是什么意思| cfa是什么证书| 将至是什么意思| 书是什么排比句| 大便干燥吃什么药| 犬瘟吃什么药管用| 本科毕业证是什么颜色| 刻舟求剑是什么生肖| 开涮是什么意思| 生物学父亲是什么意思| 飞蛾为什么扑火| 故是什么意思| 感染性腹泻吃什么药| 8月8日是什么星座| 男人得了hpv有什么症状| 麻子是什么意思| 什么动物| 流汗有什么好处| 血糖高应该注意什么| 什么酒不能喝脑筋急转弯| 腿肚子抽筋是什么原因| 接触是什么意思| 抖音什么意思| 心悸什么意思| 电轴右偏是什么意思| 十九朵玫瑰花代表什么意思| 榜眼是什么意思| 什么的风雨| 11.18是什么星座| 宫腔少量积液是什么意思| 多汗症看什么科| 龟头脱皮是什么原因| 手发胀是什么原因造成的| 什么东西补钙| 6个月宝宝可以吃什么辅食| 养什么能清理鱼缸粪便| 宫颈囊肿有什么症状表现| 攒是什么意思| s代表什么| 为什么会长息肉| 大肝功能是检查什么| 手心发黄是什么原因| 番茄是什么时候传入中国的| 婴儿大便隐血阳性是什么意思| 生普属于什么茶| 日皮是什么意思| 骨龄什么时候闭合| 抽烟头晕是什么原因| 吃金针菇有什么好处| bred是什么意思| 1月25日是什么星座| 出殡什么意思| 政协是什么| 寒冷的反义词是什么| 畸胎瘤是什么病| 烘培是什么意思| 2026是什么年| 尿里加什么能冒充怀孕| 品规是什么意思| 乙肝核心抗体高是什么意思| 去湿气吃什么食物好| 化疗后吃什么补白细胞| 12月是什么星座的| b族维生素什么人不能吃| 时兴是什么意思| abs是什么意思| 甲状腺低密度结节是什么意思| 嘴唇起白皮是什么原因| 全身酸痛什么原因| 后背痛什么原因| 4.20什么星座| 胃阴虚吃什么药| 脸麻是什么原因引起的| 脸油油的是什么原因| 咳血是什么原因引起的| 红蜘蛛用什么药| 白带什么味道| 少一颗牙齿有什么影响| 妇科炎症小腹坠痛吃什么药| 脑血栓有什么症状| 儿童看小鸡挂什么科| hpv感染是什么意思| 色散是什么意思| 神经性头痛吃什么药好| 老炮是什么意思| 麻是什么植物| 撤退性出血是什么| 骨科是什么意思| 为什么会长水痘| 14数字代表什么意思| 贫血是什么原因造成的| 心脏不舒服吃什么药| 7月26是什么星座| 斑马吃什么| 为什么会长寻常疣| 辛酉日五行属什么| 二甲苯是什么东西| 梦见黄金是什么意思| 红斑狼疮是什么| 什么样的鲜花| 肠胃不好吃什么| 麒字五行属什么| 流星雨是什么意思| 99年属什么| 耍大牌是什么意思| 华盖星是什么意思| 空调多少匹是什么意思| 珀莱雅属于什么档次| 赞字五行属什么| 100分能上什么大学| 笑靥如花是什么意思| 芒果过敏用什么药| 1995是什么年| 怀孕后不能吃什么| 世界上最小的动物是什么| 女性阴道长什么样| sin是什么边比什么边| 查输卵管是否堵塞要做什么检查| 洗头什么时间洗最好| 12.18是什么星座| 省政府秘书长什么级别| 聪明是什么意思| 喜欢咬指甲是什么原因| 愤青什么意思| 梦见自己哭了是什么意思| 梦见一条小蛇是什么意思| 独角仙吃什么| 七月11日是什么星座| ppap是什么| 胆汁为什么会反流到胃里面| 怀孕有褐色分泌物是什么原因| 登字五行属什么| 螃蟹不能和什么食物一起吃| 小燕子吃什么食物| 11月1日什么星座| N1是什么| 泌尿感染吃什么药最好| 总打喷嚏是什么原因| 心脏主要由什么组织构成| 贫血到什么程度会晕倒| 纵欲过度是什么意思| 雷锋代表什么生肖| 蜗牛爱吃什么食物| 万人空巷是什么意思| 口若悬什么| 六个点是什么意思| 7月12日是什么星座| 胆固醇高吃什么最好| 大腿根部内侧瘙痒用什么药膏| 为什么脸一边大一边小| 血糖高可以吃什么主食| 太多的理由太多的借口是什么歌| 青岛为什么叫青岛| 读书有什么好处| 2024年属什么| 肠道蠕动慢吃什么药| 孕妇佩戴什么保胎辟邪| 梦见蚂蚁是什么预兆| 类胡萝卜素主要吸收什么光| 社会是什么意思| 十全十美指什么生肖| 射精是什么意思| 飞蚊症是什么| 肚子疼应该吃什么药| 八一年属什么生肖| 养猫有什么好处| 钙不能和什么一起吃| 美版苹果和国行有什么区别| 痔疮坐浴用什么药效果好| 她将是你的新娘是什么歌| 脖子里面有结节是什么病| 肺部有阴影一般是什么病| 满字是什么结构| 黄昏是什么时辰| 疱疹性咽峡炎吃什么药最管用| 不排卵是什么原因造成| 胃酸过多有什么症状| 阴囊潮湿吃什么药| 善字五行属什么| 什么就像什么一样| 一个火一个华念什么| 男人的精子对女人有什么好处| 毛囊炎吃什么药最有效| 吃什么水果对肠胃好| 身体潮湿是什么原因| asp是什么氨基酸| 喝咖啡困倦是什么原因| 美国的国球是什么| 打篮球有什么好处| 高血压一级是什么意思| 梦见自己掉河里了是什么意思| 99年发生了什么事情| rm是什么币| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式WinCE中CAN总线控制器的驱动设计

Xi et Macron sengagent à construire ensemble un système commercial mondial ouvert

作者: 时间:2025-08-05 来源:网络 收藏
百度 彭德怀与金日成在朝鲜战场上人逾古稀,特别容易怀旧。

  0 引 言

  近年来,由于消费电子、计算机、通信(3c)一体化趋势日趋明显,嵌入式系统再度成为研究和应用的热点。嵌入式操作系统(:Real-time Embedded OperatingSystem,RTOs或EOs)作为一种实时的、支持嵌入式系统应用的操作系统软件,成为嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器Browser等。Windows CE操作系统就是微软公司从整体上为有限资源平台设计的多线程、完整优先权、多任务的操作系统Win CE支持各种处理器产品家族,包括x86,Xscale,ARM,MIPS和SH系列。它的模块化设计允许它对从掌上电脑到专用工业控制器的用户电子设备进行定制,选择系统模块和组件的多少决定了所需内存的大小。

  Windows CE操作系统之所以能够支持各种各样的硬件设备,是因为对每一款硬件设备,都有其对应的设备驱动程序,否则这款硬件就无法在Windows CE下正常工作。win CE提供了4种设备模型,其中2种是专门用于Win CE的模型,另外2种外部模型来自其他的操作系统。基于Win CE的两种模型是本机的设备驱动程序和流接口的驱动程序;两种外部模型用于通用串行总线(USB)和网络驱动器接口标准(NDIS)驱动程序。下面针对Win CE系统下基于三星公司的ARM9内核芯片S3c2410的控制器SJAl000,以程序形式进行设计。

  l 及控制器工作原理

  控制器局域网CAN是由ISO定义的串行通信总线,主要用于各种过程检测及控制。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1 Mb/s。cAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。它的基本设计规范要求有高位速率和高抗电磁干扰性,而且能够检测出产生的任何错误。由于cAN串行通信总线具有这些特性,它很自然的在汽车制造业以及航空工业中受到广泛应用。

  SJAl000是一种独立控制器用于移动目标和一般工业环境中的区域网络控制(CAN)。它是Philips半导体公司的PC.A82(;200 CAN控制器(BasicCAN)的替代产品。而且它增加了一种新的工作模式(PeliCAN),这种模式支持具有很多新特性的CAN2.0B协议。其内部体系结构如下图1所示。

内部体系结构图

  CAN核心模块控制CAN帧的发送和接收。接口管理逻辑负责连接外部主控制器,该控制器可以是卫星控制器件或任何其他器件。经过SJAl000复用的地址/数据总线访问寄存器和控制读/写选通信号都在这处理。SJAl000的发送缓冲器能够存储一个完整的报文(扩展或标准的)。当主控制器初始化发送,接口管理逻辑会使CAN核心模块从发送缓冲器读CAN报文。当收到一个报文时,CAN核心模块将串行位流转换成用于验收滤波器的并行数据。通过这个可编程的滤波器,SJAl000能确定主控制器要接收哪些报文。所有收到的报文由验收滤波器验收并存储在接收FIFO。储存报文的多少由工作模式决定,最多能存储32个报文。

  2 程序工作机制

  相比于本机设备驱动程序,程序表现为一个动态链接库,由设备管理器统一加载、管理和卸载。与具有单独目的的内部设备驱动程序相比,所有的流接口驱动程序都是用同一组接口并调用同一个函数集——流接口函数。win CE的文件系统通过这些人口点函数与流接口驱动进行通信,从而达到应用程序访问驱动程序、操作硬件的目的。流接口驱动程序要实现的DLL接口见表1。

流接口驱动程序要实现的DLL接口

  在实际的开发中,上述接口名称中的XXX三个字母被具体设备的设备文件名所代替。流接口驱动程序通过编译后,生成DLL文件,即动态链接库文件。

  3 控制器sJAl000驱动程序设计

  CAN总线控制器SJAl000驱动采用流接口驱动程序模型,要实现的流接口函数分别为CAN_Init,CAN_Deinit,CAN_Open,CAN_Close,CAN_Read,CAN_write,CAN_IOControl等。应用程序使用CreatFile()函数以文件的方式打开CAN控制器驱动,以获取驱动文件的句柄,然后使用该句柄调用DeviceloControl(),ReadFile(),WriteFile()函数来CAN控制器的各种功能。

  由于篇幅有限,下面仅针对CAN_Init,CAN_Read和CAN_IntrThread函数的实现进行详细的设计。

  3.1 CAN_Init函数的设计实现

  当用户开始使用CAN总线控制器时,设备管理器调用这个函数来初始化控制器设备SJAl000。这个函数是通过设备管理器提供的ActiveDeviceEx()函数来调用的。函数执行后,如果成功就返回设备的句柄。CAN_Init函数的流程如图2所示。

CAN

  3.2 CAN_Read函数的设计实现

  根据CAN协议规范,报文的接收由CAN控制器SJAl000独立完成,收到的报文放在接收缓冲器。可以发送给主控制器的报文由状态寄存器的接收缓冲器状态标志“RBS'’和接收中断标志“RI”标出(如果使能)。主控制器会将这条信息发送到本地的报文存储器,然后释放接收缓冲器并对报文操作。发送过程能被SJAl000的中断请求或查询SJAl000的控制段状态标志来控制。cAN_Read函数操作成功则返回实际读取的字节数,否则返回值为-1。CAN_Read函数程序的流程图如图3所示。

CAN

  3.3 CAN_IntrThread函数的设计实现

  在SJAl000控制器中,报文的发送和接收是采用中断方式来完成的。内核函数InterruptInitialize()外部中断事件和将逻辑中断号绑定,这一步就会使能该中断。当该中断发生时,ISR就触发该事件生效。完成以上工作后,驱动程序中的IST就可以使用WaitForsin-gleObject()函数等待中断的发生。中断处理结束后,IST需要调用InterruptDone()告诉操作系统中断处理结束。中断服务线程CAN_IntrThread函数程序流程图如图4所示。

中断服务线程CAN

  其他的流接口函数根据win cE流接口驱动程序模型进行编写。

  4 驱动程序的封装及加载

  通过上面的工作,能够编译得到一个DLL函数,但它的接口函数还没有导出,还需要告诉链接程序需要输出什么样的函数。为此,必须建立一个def文件,使用WindoWS下自带的记事本程序编辑一个文件名为“Can.def”的文件:

使用WindoWS下自带的记事本程序编辑一个文件名为

  最后需要编写自己的CEC文件。主要是添加一个Build Method,任务是复制注册表到Win CE的系统目录下面。加一个bib File,其主要功能是把编译的can.dll文件添加到系统内核中去。保存写好的CEC文件,在. Buildm中添加CEC特征到系统选项中去。生成系统时,添加自己的CEC特性,可以包含刚编写的can驱动程序。



评论


相关推荐

技术专区

关闭
弱水三千只取一瓢什么意思 查乳房挂什么科 虚岁30岁属什么生肖 金钱草有什么功效 为什么耳朵总是嗡嗡响
肺慢性炎症是什么意思 什么可当 女生安全期是什么时候 夏天可以干什么 货号是什么
红玫瑰花语是什么意思 中暑的症状是什么 五月七号是什么星座 氟化钠是什么 月经提前是什么原因引起的
任达华属什么生肖 七月三十是什么星座 十三幺是什么意思 惊天动地是什么生肖 开塞露是干什么用的
数字绘画是什么0735v.com 傲娇什么意思hcv9jop2ns7r.cn 梦到老虎是什么意思hcv9jop8ns0r.cn 补体c4偏低是什么意思hcv8jop3ns6r.cn 男人壮阳吃什么最快hcv8jop7ns3r.cn
贫血是什么症状hcv7jop4ns6r.cn 东倒西歪是什么意思beikeqingting.com 来月经为什么会腰疼hcv9jop3ns3r.cn 是谁在敲打我窗是什么歌hcv7jop9ns8r.cn 出水芙蓉是什么意思hcv9jop0ns4r.cn
12.8是什么星座hcv9jop6ns8r.cn 金牛座前面是什么星座hcv8jop9ns9r.cn 什么动物没有眼睛gangsutong.com 什么石头最值钱hcv8jop8ns1r.cn 带状疱疹什么不能吃bfb118.com
人体缺钙吃什么补最快weuuu.com 什么情况下会流前列腺液hcv7jop7ns0r.cn 龙根是什么hcv9jop1ns1r.cn 蜂蜜对人体有什么好处和功效520myf.com 藏拙是什么意思hcv7jop6ns0r.cn
百度