基于ARM和ucos-II嵌入式操作系统的USB-CAN适配器设计.pdf

上传人:qwe****56 文档编号:74644840 上传时间:2023-02-27 格式:PDF 页数:5 大小:322.78KB
返回 下载 相关 举报
基于ARM和ucos-II嵌入式操作系统的USB-CAN适配器设计.pdf_第1页
第1页 / 共5页
基于ARM和ucos-II嵌入式操作系统的USB-CAN适配器设计.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《基于ARM和ucos-II嵌入式操作系统的USB-CAN适配器设计.pdf》由会员分享,可在线阅读,更多相关《基于ARM和ucos-II嵌入式操作系统的USB-CAN适配器设计.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于ARM和uC/OS-II嵌入式操作系统的USB-CAN 适配器设计 基于ARM和uC/OS-II嵌入式操作系统的USB-CAN 适配器设计(中国农业大学工学院 北京 100083)冯宁 摘 要:摘 要:本文提出一种使用USB接口实现CAN总线网络与计算机连接的方案。讨论了CAN总线与计算机之间的硬件接口电路,同时分析了在ARM微控制器和uC/OS-II嵌入式操作系统的适配器固件编程方法及USB 驱动程序设计思路。关键词:关键词:嵌入式实时操作系统(uC/OS-II);USB;CAN 总线;ARM 1 1 引言 引言 CAN(Controller Area Network)总线是德国Bosc

2、h公司推出的,最初应用于汽车内部测量与执行部件之间的数据通信。CAN总线具有突出的可靠性、实时性和灵活性而成为现场总线的主流品种之一,在工业控制领域得到了普遍应用,并被认为是最有前途的现场总线之一1。现场总线网络与计算机通信可通过RS232、ISA或PCI接口来实现。随着计算机接口技术的发展,ISA接口已经被淘汰,RS232接口数据传输率太低,PCI虽仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、设计复杂、需有高质量的驱动程序保证系统的稳定,且无法用于便携式计算机的扩展。随着USB1.1、USB2.0规范的相继制定,为外设与计算机的接口提出了新的发展方向。USB的主要特

3、点有:外设安装简单,可实现热插拨;通讯速率高,全速传送速率为12Mbps,支持多设备连接。本文给出使用USB1.1协议实现CAN总线适配器的软硬件设计方法。整个系统软件设计主要开发适配器的固件及计算机的驱动程序、应用程序,以达到用USB接口连接CAN总线网络的目的。2 2 适配器硬件设计 适配器硬件设计 2.1 LPC2292的特点 LPC2292的特点 本设计选用的LPC2292是PHILIPS公司推出的一款功能强大的超低功耗的具有ARM7TDMI内核的32位微控制器。144脚封装、两个32位定时器、八路10位ADC、两路CAN通道和PWM通道以及4个的外部中断,内部嵌入256K字节高速Fl

4、ash存储器和16K字节静态RAM。其片上资源完全可满足一般工业控制的需要,同时还可以减少系统硬件设计的复杂度和提高系统的可靠性。另外LPC2292还支持JTAG实时仿真和跟踪、128位宽度的存储器接口和独特的加速结构,使32位代码能够在高达60MHz的频率下运行。LPC2294内部集成有两路CAN控制器:符合CAN规范CAN2.0B标准;总线数据波特率均可达1Mbps;可访问32位的寄存器和RAM;全局验收过滤器可识别几乎所有总线的11位和29位Rx标识符;验收过滤器为选择的标准标识符提供了FullCAN-sytle自动接收功能。2http:/ 1作为本设计的核心部件,PLC2292不仅担负

5、起主控制器的作用,同时还作为CAN网络的节点控制器,与网络中其它节点实现数据传输与交换。2.2 适配器电路组成 适配器电路组成 适配器硬件电路如图1所示,由ARM微控制器LPC2292、PDIUSBD12、CAN总线收发器PCA82C250、高速光耦6N137和电源隔离模块B0505S等组成。主控芯片LPC2292的晶振频率为11.9502MHZ,通过设置内部的VPB分频器可以提高CPU时钟频率。内部256K字节的高速Flash存储器用于代码和数据的存储。对于Flash存储器,可通过内置的串行JTAG接口进行在系统编程(ISP),或进行在应用编程(IAP)。为了便于调试和系统升级,在设计中可以

6、预留这些接口电路。LPC2292采用双电源供电。CPU的供电电压范围为1.8V,I/O的供电电压范围为3.3V。2 图1 USB-CAN适配器硬件原理框图 CAN驱动芯片PCA82C250可以提供对总线的差动发送和接收器的差动接收能力,具有抗瞬间干扰保护总线的能力,还具有降低射频干扰的斜率控制机制。PDIUSBD12是Philips公司推出的全速USB接口器件,完全兼容USB1.1规范。如图1中连接所示,此时可以把PDIUSBD12当作一片外部RAM芯片来进行访问。由于PDIUSBD12使用LPC2292外部存储器的Bank2部分,Bank2的存储空间起始地址为0 x82000000。而PDI

7、USBD12只有地址线A0,因此它只占用了两个字节的地址空间,其数据地址和命令地址分别为0 x82000000和0 x82000001。2.3 抗干扰设计 抗干扰设计 为了提高整个系统的扰干扰能力,微控制器应该与CAN总线的供电分开来。在本电路中使用了高速光耦6N137,它很好的实现了总线上各CAN节点间的电气隔离,消除串行接口部分由于共地而可能串入的干扰,同时又能满足高速数据传输的要求。为此电路的供电的完全隔http:/ 2离又引入了一个DC-DC电源模块,这部分虽然增加了接口电路的复杂性与成本,但提高了节点的稳定性和安全性。CAN驱动芯片PCA82C250与CAN总线的接口部分也采用了一定

8、的安全和抗干扰措施。PCA82C250的CANH和CANL引脚各片通过一个5的电阻与CAN总线相连,电阻可起到一定的限流作用,保护PCA82C250免受过流冲击;另外在各个芯片及电源附过放置了电容进行电路的退耦,从而从电源电路里去除噪声。CANH和CANL与地之间并联了两个30pF的小电容,可以滤除总线上的高频干扰并具有一定的防电磁辐射的能力;另外在两根CAN总线输入端与地之间分别接了一个防雷击管,当两输入端与地之间出现瞬变干扰时,通过防雷击管的放电可起到一定的保护作用。3 3 适配器软件设计 适配器软件设计 3.1 嵌入式实时操作系统嵌入式实时操作系统uC/OS-II介绍介绍 对于复杂的应用

9、,直接在裸机上开发运行的前后台系统的开发、维护和扩展都很困难,嵌入式操作系统应运而生,其最大的特点就是处理多任务,而且在工控领域大多实时性要求较强,而uC/OS-IIuC/OS-II满足需要。uC/OS-IIuC/OS-II支特64个任务,每个任务的优先级必须是不同的,调度算法总是让处于就绪状态的最高优先级任务先执行,并提供了信号量(Semaphore)、邮箱(Mailbox)和消息队列(Message Queue)等多种通讯同步原语。每个任务都处在以下5种状态之一的状态下,即休眠态(Dormant)、就绪态(Ready)、运行态(Running)、挂起态(Waiting)和被中断态(Inte

10、rrupted)。uC/OS-IIuC/OS-II中全部系统调用的执行时间是可确定的,其系统调用的执行时间不依赖于应用任务的多少,这也是实时性的表现。33.2 uC/OS-II任务设计任务设计 根据功能的需要,整个系统使能两个中断:PDIUSBD12连接到LPC2292的外部中断0,CAN接收通道。uC/OS-II操作系统分配四个任务和三个信号量:系统主监控任务TaskStart(),建立包信号量pSetup_Event和传输控制处理任务TaskSetup(),PDIUSBD12接收PC主机数据的信号量USBD12RcvSem及处理任务USBD12Rcv(),CAN接收数据信号量CANRcvS

11、em处理任务CANRcv()。1)系统主监控任务TaskStart()系统主监控任务是uC/OS-II系统最先建立的任务,但是它的优先级是最低的。TaskStart()对定时器及相关中断的初始化以及USB和CAN控制器及中断的初始化,负责创建USBD12RcvSem和CANRcvSem信号量,并创建任务USBD12Rcv()和CANRcv(),同时分配它们的优先级分别为2和3。通过对USB端点1的读命令字及CAN接收中断传输过来的中断标志监视来发出相应的信号量。2)传输控制处理任务TaskSetup()TaskSetup()为最高优先级的任务,先等待由端点0的接收中断发过来pSetup_Eve

12、nt信号量,当有pSetup_Event时调用control_handler()来完成处传输控制任务,当任务完成时,系统http:/ 3就完成了PIDUSBD12的枚举过程。具体的枚举流程和枚举程序的设计可参阅相关的驱动开发文献。3)CAN接收数据处理任务CANRcv()和PDIUSBD12接收数据处理任务USBD12Rcv()CAN接收数据处理任务CANRcv()利用OSSemPend()等待主监控任务发送过来的信号量,然后提取其中的需要的数据并通过PDIUSBD12的端点2发送给PC主机。PDIUSBD12的数据接收处理程序较CAN接收处理程序复杂一些,它首先对PC主机的写命令做出响应,接

13、着在对PC机发送过来的数据发送给CAN总线后需要对PC机回写发送出去的字节数,PC机由此判断写入的数据是否成功,其具体的流程见图2。用端点 1 发送写命令 端点 1 接收响应 端点 2 发送要写入命令的数据 端点 1 接收实际写入的字节数 主任务使写任务就绪 写任务:端点 1 响应 PC写任务:端点 2 接收任务并发给 CAN 写任务:端点 1 发送实际写入的字节数 PC 主机 LPC2292 实验板 图2 PDIUSBD12接收数据处理流程 4 4 驱动程序设计 驱动程序设计 Windows XP下驱动程序的设计工具是VC+和Win2003DDK,但是直接使用DDK编程有相当大的难度。目前有

14、第三方软件厂商提供了一些驱动程序开发工具,如Jungo公司的WinDriver、Compuware公司的DriverStudio等。这些工具仍然是基于WindowsDDK的,但是进行了新的封装,提供了驱动程序设计向导。本适配器设计中采用了DriverStudio 3.1作为驱动程序开发工具。利用其中的向导DriverWorks一步步地作出选择并根据需要修改少量参数,即可生成驱动程序框架和测试台应用程序框架,对USB设备的通用性部分支持很好。SoftICE是DriverStudio的另一个调试工具,可以对驱动程序进行操作系统内核通讯的跟踪与调试,是进行驱动程序设计不可缺少的工具。在VC+中对向导

15、生成的代码作个性并对设备特殊功能部分添加处理代码,然后用VC+编译为SYS文件,就是一个完整的驱动程序。在此基础上利用Windows API函数CreateFiel()打开PDIUSBD12设备,利用DeviceIoControl()进行控制传输,利用ReadFile()和WriteFile()进行数据传输,利用CloseHandle()来结束与USB设备的通信。最终生成动态或静态链接库及相应的头文件,这样应用程序开发者只需对生成的输入和输出两个USB接口函数操作即可。生成驱动程序后,编写它的INF文件是重要的一步。INF文件在操作系统发现新硬件之后http:/ 4向系统指明应该安装的驱动程序

16、、系统向USB设备提供的服务及注册表项要修改的内容。5 5 结束语 结束语 基于ARM和uC/OS-II设计的USB-CAN总线适配器经过试验运行证明:适配器数据转换速率高,准确可靠,能很好的满足在中小规模和短时大数据块传送时的网络通信任务。USB接口是计算机外设的发展趋势,目前主要用在中低速场合。随着USB2.0规范的进一步推广,会逐渐向高速应用发展。因此将现场总线网络和计算机接口相连的USB-CAN适配器具有广泛的应用前景。参考文献:参考文献:1 饶运涛.现场总线CAN原理与应用技术M.北京:北京航天航空大学出版社.2003 2 Philips Semiconductors PDIUSBD

17、12 Product Data DB/OL.www.semiconductors.P,2001-12-20 3 Jean J Labrosse 嵌入式实时操作系统uC/OS-IIuC/OS-II(第二版)M.邵贝贝,译.北京:北京般天航空大学出版社,2003 Design of USB-CAN Adapter Based on ARM and uCOS Operating System(College of Engineering,China Agricultural University 100083)Feng Ning Abstract:A method to realize commun

18、ication between CAN bus and computer with USB interface is introduced in this paper.The hardware interface circuit of USB-CAN adapter,and its firmware programming method based on ARM and uC/OS-II operating system,design guideline of USB driver are also Discussed.Keyword:Embedded Real-Time Operating System(uC/OS);USB;CAN Bus;ARM 作者简介:作者简介:冯宁(1979.07-),男,汉族,湖南,硕士研究生,主要研究领域:嵌入式系统设计与工业自动化控制技术 http:/ 5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁