微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于CAN总线PC适配卡设计

基于CAN总线PC适配卡设计

时间:11-21 来源:互联网 点击:

件扫描PCI总线,检测所有的PCI设备,读取配置信息,并为每一个PCI设备分配系统资源,实现PCI设备的即插即用。每一个PCI功能设备都有一个64个双字的配置空间,以特定的格式存储设备支持的功能。PCI协议定义了开头的16个双字的格式和用途,称为设备的配置头区域。其它48个双字是设备特定的。CAN卡的硬件资源为映射SJA1000内部寄存器的内存映射空间和一个中断源。

PCI9052提供了5个局部地址空间,可以选用其中的一个作为SJA1000的地址空间,分配32个8位地址空间。同时设置相应的初始化,PCI配置寄存器中的寄存器PCIBAR2设置为0XFFFFFFE0,向系统请求分配内存的数目为32,类型为不可预读,其它寄存器的值可设置为0。设置局部地址空间的范围为0X00000000~0X00000020。对中断的配置是把PCI中断请求线分配到系统的某一ISA中断请求(IRQ)线上。在本控制卡中利用一块串行EEPROM(93C46B)存放控制卡的PCI配置信息。上电后访问93C46B,实现本控制卡的自动配置。


图1 总线接口原理图


接口的软件设计

软件的设计包括PCI驱动程序的设计和COM组件的设计。由于PCI设备的中断、I/O端口、映射内存等资源都是动态分配的,必须编写驱动程序治理硬件,才能供用户编程使用。CAN卡驱动程序的开发工具采用WINDRIVER。由于CAN卡上没有微控制器,因此对总线端口的所有操纵都是由驱动程序来完成的。这不仅可以由计算机来实现复杂的功能,例如,错误检测、断点续传等,同时节省了硬件,而且有利于卡的升级——只要更换驱动程序即可。驱动程序的功能主要是配置SJA1000的接口、收发CAN总线上的数据、对总线进行实时监测、接收用户程序的收发命令。收发数据和CAN总线错误均采用中断处理,驱动程序可以快速响应,通过事件(Event)内核对象直接通知给用户程序。CAN总线通讯适配器的初始化是CAN总线设计的重要环节,也是设计的难点。在其初始化过程中需要设置的参数有时钟、总线配置、标志标识符屏蔽段、扩展标识符屏蔽段、信息块、定时器0、定时器1、信息块的控制段、信息块的工作方式等。CAN总线适配器简化流程图如图2所示。

图2 CAN总线适配器简化流程图


结论

本文设计的CAN总线适配器结构简单,可用于分布的现场总线控制系统。在WIN2000下经过长时间的运行测试,运行稳定可靠。它可以适应不同的传输速率和间隔,有效保证了产业过程监控的实时性,同时也减轻了上位机的工作负担,满足不同的用户要求。在不同偏压和分布参数条件下为芯片ESD保护的SNTSCR的I-V特性在CMOS工艺中已经具体讲述过。SNTSCR可以在小区域内保持高的ESD电平对于现代高集成科学很有吸引力。不采用厚栅氧化层,一般小于0.25μmCMOS工艺中,SNTSCR在有效保护混合电压接口电路免于ESD破坏时充分兼容。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top