当前位置:首页 > 模拟 > 模拟
[导读]提出一种使用USB接口实现CAN总线网络与计算机连接的方案。讨论了CAN总线与计算机之间的硬件接口电路,同时分析了固件编程方法及USB驱动程序设计思路。

现场总线作为二十世纪80年代发展起来的新兴技术,在工业现场已有了广泛的应用。在比较有影响力的几种现场总线中,CAN总线以其突出的优点不仅大量应用于工业现场,而且在楼宇自动化、智能终端设备等民用领域也有了长足的发展。

现场总线网络技术的实现需要与计算机相结合。以往CAN总线网络与计算机的连接采用RS232、ISA或PCI接口。但是随着计算机接口技术的发展,ISA接口已经逐渐被淘汰;RS232接口数据传输率太低;PCI虽然仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、设计复杂、需有高质量的驱动程序保证系统的稳定,且无法用于便携式计算机的扩展。随着USB1.1、USB2.0规范的相继制定,为外设与计算机的接口提出了新的发展方向。USB的主要特点有:外设安装简单,可实现热插拨;通讯速率高,USB1.1全速传送速率为12Mbps,与标准串行端口相比,大约快100倍;支持多设备连接;提供内置电源。

本文给出一种在Windows2000下使用USB1.1协议实现CAN总线适配器的设计方法。整个设计主要开发适配器的固件及计算机的驱动程序、应用程序,以达到用USB接口连接现场CAN总线网络的目的。

1 适配器硬件接口设计

适配器硬件电路由微控制器、CAN总线接口、USB总线接口和DC-DC隔离电源模块等组成。原理框图如图1所示。

微控制器P89C51RD2是Philips公司生产的增强型MCS-51兼容单片机,片内集成64KB闪存和1KB扩展RAM,双数据指针,4级中断优先级,7个中断

 

内置看门狗,可编程时钟输出,在6时钟模式下工作,速度是标准51单片机的两倍。此时外部最高频率可达20MHz。在高速、大程序容量、中小规模数据处理场合是一款非常理想的单片机型。

CAN总线接口使用Philips公司的独立CAN总线控制器SJA1000,并由光耦6N136进行总线隔离。SJA1000是一种独立控制器,用于移动目标和一般工业环境中的区域网络控制,符合CAN2.0A和2.0B规范,最高速率可在达1Mbps。CAN总线收发器采用PCA82C250。

PDIUSBD12是Philips公司推出的全速USB接口器件,完全兼容USB1.1规范。图1中D+引脚信号电平通过器件SoftConnect命令内部上拉,从而向主机表示为一个全速设备。EOT引脚自动检测USB接口的VBUS电压以确定USB电缆是否连接到了主机。SUSPEND是双向引脚,用以向微控制器指示器件是否挂起。当有USB总线事件发生时,引脚向微控制器发出中断信号。PDIUSBD12支持总线复用和非复用两种并行接口模式,以方便连接不同类型的微控制器。图1中采用总线复用方式,当用奇数地址访问PDIUSBD12时被认为是命令,偶数地址访问则被认为是数据读写。

各器件都需要外部时钟信号,而且它们自身也都有可编程的时钟输出功能,这就给系统的时钟设计带来了便利。图1中微控制器6时钟运行模式下,外部为12MHz晶振。P89C51RD2的P1.1引脚产生6MHz方波作为PDIUSBD12的输入时钟;通过PDIUSBD12的SetMode寄存器编程使CLKOUT输出时钟频率为24MHz,作为SJA1000的外部输入时钟。

2 软件设计

软件设计包括微控制器的固件设计和计算机端USB驱动程序两部分。

2.1 微控制器固件编程

固件编程是USB数据传输系统中终端设备程序设计的一个重要概念。微控制器通过固件是程序与计算机进行数据交换。固件设计的目的是:使PDIUSBD12在USB上达到最大的传输速率;增加系统的可扩展性和硬件无关性。

固件要实现的内容:一是对SJA1000初始化,接收CAN总线送来的数据,收集CAN网络状态信息,并将主机的数据下发到CAN网络;二是对PDIUSBD12初始化,完成USB总线连接过程,并组织CAN网络和主机之间的数据传送。设计中采用KeilC51软件编译环境,C51和ASM混合编程方式。

SJA1000和PDIUSBD12都有完善的中断机

 

微控制器可以通过读它们的中断寄存器获得总线事件。为了提高固件的运行效率,主程序对系统进行实始化后开放中断,在中断服务程序中对事件进行分析和必要的处理,并设置相应的变量标志和数据缓冲区。主程序则循环查询变量标志,调用相应的子程序进行处理。这种程序结构使得主程序能够在前台处理各种数据传送任务,同时又可以通过中断在后台及时处理总线事件。

2.1.1 CAN协议实现

SJA1000支持BasicCAN和PeliCAN两种协议模式。在适配器设计中采用了BasicCAN模式。中断设为电平中断方式,SJA1000中断服务程序框图如图2所示。

2.1.2 USB1.1协议实现

PDIUSBD12支持所有的四种USB数据传输方式。在适配器的设计中使用了控制传输、中断传输和批量传输。控制传输中只用来传递控制信息,固定使用端点0;中断传输使用端点1,用来传送CAN网络状态信息;批量传输用来实现主机和CAN网络节点之间的数据传送,使用端点2。图3是PDIUSBD12中断服务程序框图。

2.2 驱动程序设计

USB驱动程序属于WDM(Windows driver module)类型。WDM驱动程序是分层的,引入了FDO(Function Device Object)和PDO(Physical Device Object)两个新类来描述硬件,每一个物理硬件有一个PDO,但是可以有多个FDO,在驱动程序中直接操作的是PDO和FDO。系统通过全局唯一标识符GUID实现驱动程序的识别。应用程序和WDM驱动程序通信时,系统为每个用户请求打包形成一个I/O请求包发送到驱动程序。

图4是Windows中USB的通信层次结构模型。图4系统软件方块中的底部是Windows系统提供的驱动程序,包括主控制器驱动程序(OPENHCI.SYS或者UHCD.SYS)、HUB驱动程序(USBHUB.SYS)是一个类驱动程序(USBD.SYS)。

Windows2000下驱动程序的设计工具是VC++和Win2000DDK,但是直接使用DDK编程有相当大的难度。目前有第三方软件厂商提供了一些驱动程序开发工具,如Jungo公司的WinDriver、Compuware公司的DriverStudio等。这些工具仍然是基于WindowsDDK的,但是进行了新的封装,提供了驱动程序设计向导。

  适配器设计中采用了DriverStudio作为驱动程序开发工具。利用其中的DriverWorks一步步地作出选择并修改少量参数,即可生成驱动程序框架和测试台应用程序框架,对USB设备的通用性部分支持得很好。在程序框架,对USB设备的通用性部分支持得很好。在VC++中对向导生成的代码作修改,并对设备特殊功能部分添加处理代码,然后用VC++编译为*.SYS文件,就是一个完整的驱动程序。SoftIce是DriverStudio的另一个调试工具,可以对驱动程序进行操作系统内核级的跟踪与调试。

生成驱动程序后,编写相应的INF文件是重要的一步。INF文件在操作系统发现新硬件之后向系统指明应该安装的驱动程序、系统向设备提供的服务以及注册表项要修改的内容。

基于USB接口的CAN总线适配器经过试验运行证明:在中小规模和短时大数据块传送时,能够很好地完成网络通信任务。USB接口是计算机外设的发展趋势,目前主要用在中低速场合。随着USB2.0规范的推出,又逐渐向高速应用发展。因此将现场总线网络和计算机接口相连的适配器具有广泛的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭