基于ch341usb—can适配器设计

基于ch341usb—can适配器设计

ID:32808441

大小:55.11 KB

页数:4页

时间:2019-02-15

基于ch341usb—can适配器设计_第1页
基于ch341usb—can适配器设计_第2页
基于ch341usb—can适配器设计_第3页
基于ch341usb—can适配器设计_第4页
资源描述:

《基于ch341usb—can适配器设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于CH341USB—CAN适配器设计摘要:为便捷上位机访问工业现场CAN总线,提出了一种便携式即插即用的USECAN适配器设计方案。该适配器采用CH341作为USB总线转接芯片,直接把USB总线协议转化为并口协议;选用SJA1000芯片作为CAN控制器,支持CAN2.0B协议,以适应不同的CAN总线需求。系统从USB端口取电,且无需MCU/DSP介入,简化了电路结构;利用CH341主动并口功能,经相应的控制时序逻辑转换,上位机即可驱动SJA1000,进行CAN总线访问。该适配器支持上位机自主配置,灵活强,可靠性髙。经实验测试,适配器支持访问不同的CAN总线网,速率可达I

2、Mb/so关键词:CH341;USBCAN;适配器;SJA1000中图分类号:TN91934文献标识码:A文章编号:1004373X(2012)1800500319CAN总线以其突出的可靠性、实时性和灵活性,在控制领域获得广泛的应用。当上位计算机访问CAN总线终端设备时,一般采用基于PCI总线的CAN接口卡,但是该方法不支持即插即用,且需配备专用的计算机;或是借助MCU,DSP等CPU模块进行数据中转处理。若CAN适配器通过USB接口驱动CAN控制器直接访问CAN总线网,则支持热插拔和通用上位机,为测试和访问CAN总线网,提供了一种便捷的解决方案。1设计目标适配器支持即插

3、即用,上位机可自主配置、访问CAN总线;适配器无需MCU,DSP等CPU介入,体积小巧,便携式设计,有广泛的适应性;提供Windows平台下适配器驱动的API函数。2硬件实现适配器选用SJA1OOO芯片作为CAN控制器,该芯片支持CAN2.0B协议,有BasicCAN和PeliCAN两种工作模式,分别支持11位和29位地址识别码,通信速率可达到IMb/s,可满足不同CAN网接入需求[12]。选用南京沁恒公司的CH341作为USB总线的转接芯片,该芯片通过USB总线不仅提供异步串口、打印口、并口,还提供常用的2线和4线等同步串行接口[3]。尤其是CH341工作在主动式并口模

4、式下,仅凭主机的程序控制,即可直接从外部电路输入/输出数据,而无需外接单片机DSP/MCUo因此系统置SDA低电平,SCL悬空,配置CH341工作于USB总线转并口模式,实现对SJA1000的直接控制。图1为适配器设计原理图,两者ADO〜AD7相连,构成双向地址/数据总线;RST和INT与对应的引脚相连,则可通过EPP对SJA1000复位,而SJA1000的中断也可通过EPP映射到主机。在EPP工作模式下,虽然CH341主动并口地址和数据的读写时序见(图2)与SJA1000的工作时序并非完全一致,但是可通过相应逻辑转换而相匹配。SJA1000的ALE是髙电平地址输入,低电

5、平地址锁存,AS反向后则与之等效。SJA1000的RD、WD为低电平有效信号,且应在数据读/写周期时有效而地址读/写周期时无效,以负逻辑形式表示则RD=WR・DS,WD=WR・DS#。图2CH341并口(EPP)读写时序系统直接从USE端口取电,无需外接电源。C3,C2用于外部电源退耦,C1则用于内部电源节点退耦,均为独石或锂电容。SJA1000工作时钟频率16MHz,Intel模式,CS引脚接地,上电后直接处于选通的工作状态。以TJA1040作为CAN总线的驱动器,该芯片EMC性能出色,采用分离终端设计,提高了总线的抗电磁干扰性能[3]。STB(P8)脚接地,设置驱动器

6、工作于高速通信模式。CANH,CANL分别对地接30nF的电容,用于滤掉总线上的高频干扰。为防止静电和外部强干扰损坏适配器,CAN总线输出接口端并联NUP2105L总线保护器。CI1341主动并口除了EPP模式还有MEN和BUS模式,其BUS模式与SJA1000的工作时序最为匹配,控制信号无需逻辑转换,可直接连接,其7位地址总线也满足SJA1000寄存器地址的需求[4]。但由于该功能尚未经厂方完全测试,且不提供API函数,因此适配器选取EPP模式,编程更为简洁,可靠。3软件设计在Windows操作系统下,CH341的并口驱动程序和动态链接库DLL向应用程序提供了应用层接口

7、,这包括设备管理API、并口数据传输API以及中断处理API[45]。并在CH341DLL.H文件中给出了API参数说明。主机程序调用这些API函数,则可便捷地驱动CH341完成USB协议到并口协议的转换,进而驱动CAN控制器SJAlOOOo3.1CAN总线API设计适配器软件设计的关键就是重新封装CH341驱动中的并口API,以实现适配器CAN总线接口的APIo驱动SJA1000进入目标总线状态,主要是对其功能寄存器进行合理配置,包括控制、命令、验收代码、验收屏蔽、总线时序等寄存器。这些操作均需要对指定地址进行字节数据读写的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。