基于ARM7的CAN.docx

上传人:安*** 文档编号:73284762 上传时间:2023-02-17 格式:DOCX 页数:5 大小:18.22KB
返回 下载 相关 举报
基于ARM7的CAN.docx_第1页
第1页 / 共5页
基于ARM7的CAN.docx_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《基于ARM7的CAN.docx》由会员分享,可在线阅读,更多相关《基于ARM7的CAN.docx(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、基于ARM7的CANdujing导语:设计了一种CAN-USB转换器,实现了CAN总线与上位机的实时通讯,完成了对CAN总线通讯的实时信息收集ABS防抱死刹车系统ECU电控单元在研发经过中,为了实时确定其行车参数和控制参数,通常会使用标定技术,标定技术就是通过一定的命令对ECU上传和读取控制算法参数,以到达对其实时修改以寻求最优的技术。对于车载电控单元来讲,其通常只有CAN总线通讯接口,为了能实现上位机和ECU能直接进展通讯,实现利用标定技术对ABSECU进展开发,我们设计了一款能实现CAN到USB的数据转换器。CAN通讯协议是一种用于汽车内部测量与执行部件之间的数据通讯协议。而USB具有即插

2、即用的优点,并且有较高的通讯速率,对于实现上位机和下位机的通讯进展标定特别方便。我们设计的数据转换器采用了NXP公司的LPC2119ARM7处理器,通过它成功地实现上位机和ECU的可靠通讯和对下位机的标定。系统硬件设计LPC2119ARM7处理器LPC2119是基于一个支持实时仿真和跟踪的16/32ARM7TDMI-SCPU的微控制器,并带有28/256kB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速构造使32位代码可以在最大时钟速率下运行。USB转换芯片CH372CH372是一个USB总线的通用设备接口芯片,在本地端,CH372具有8位数据总线和读、写、片选控制线以及中断

3、输出,可以方便地挂接到控制器的系统总线上;CH372内置了USB通讯中的底层协议,在内置固件形式下,CH372自动处理默认端点0的所有事务。转换器直接使用USB的5V供电,使用了LM1117将5V电源转换成3.3V和1.8V以供ARM处理器及其外围模块使用,对于CAN控制器输出的逻辑电平用TJA1050转换成差分电平输出CH372的设计特别重要,外接电容用于CH372内外部电源节点去耦。在LPC2119的各电压引脚分别接了0.01f的电容进展滤波。在USB转换芯片的设计中,可选4.7k电阻用于在电源断电后将电解电容中的电能及时释放掉,使VCC及时下降到0V,确保在下次通电时CH372可以可靠地

4、上电复位。为使CH372可以可靠复位,电源电压从0V上升到5V的上升时间应该少于100ms,所以电容的容量和电阻的阻值都不能太大。用15pF的独石或者高频瓷片电容作为CH372的时钟振荡电路的起振电容。系统硬件设计局部框图如图1。IMG=系统硬件设计局部框图/uploadpic/THESIS/2007/12/2007121410471377051M.jpg/IMG系统软件设计系统程序主要包括CAN控制器驱动程序,USB控制芯片CH372驱动程序,数据读写缓冲区的设计,以及怎样调用CAN和USB的读写函数使数据的通讯更好的同步。CAN驱动程序根据LPC2119微处理器CAN控制器的特性,将CAN

5、的驱动程序分为3个层次:1.硬件抽象层:将CAN控制器的硬件特性用数据类型进展抽象,并提供CAN控制器硬件操纵的接口。对物理层的存放器和相应地址影射,定义了CAN控制器存放器的数据类型和对存放器的操纵方法。2.功能函数层:CAN控制器各种功能的实现函数,该层的函数利用硬件抽象层中对存放器操纵的接口来访问CAN控制器来实现各种CAN控制器所能提供的功能。3应用程序接口层:在该层中的主要提供应3个函数,初始化CAN控制器CANinit、发送数据CANSendData、接收数据CANRecieveData。CH372驱动程序CH372芯片在本地端提供了通用的被动并行接口。CH372芯片的读写时序主要

6、要求读写使能信号有一个210s的持续时间,并且在a0=1时写入命令,a0=0时读写数据。在本设计中,用LPC2119的10口来表示CH372的各信号,并需要严格按照其时序要求用软件模拟其读写时序,一个典型的写数据子函数如下:在以上程序中,对各端口的操纵先后代表了CH372的读写时序信号的先后,适当的延时表示有效的写/读选通脉冲WR/RD的宽度,其典型值为90到10000ns,我们选择25s。同理可得写命令,读数据子函数:USBWriteCMDuint32CMD,USBReadData。调用以上子函数提供了发送和接收数据的函数:IRQ_CH372void,UploadUSBDataunin32L

7、ength,uint32Data。环形缓冲区在本设计中,设计了两个环形缓冲区,分别存放USB及CAN的数据,使其能同步发送,一个典型的缓冲区数据构造如下:数据元素是无符号32位整数,MAX为环形缓冲区最大长度,WritePtr为读指针,ReadPtr为写指针。读写指针初始化为writePtr=ReadPtr=0。通过CAN控制器承受的数据存放在环形缓冲区CANRecRinBuf中,再读出数据从USB端输出,保证了数据通讯的可靠性。上位机监控界面安装CH372的上位机驱动后,基于CH372的USB设备就可以被上位机识别了。调用CH372提供的动态连接库CH372.d11及其相应的LIB文件CH3

8、72.Lib和头文件CH372.h,以建立上位机的工序,调用CH372提供的库函数CH375OpenDevice、CH375CloseDevice,用于翻开和关闭设备,调用CH375WriteData;CH375ReadData接收下位机通过CH372发送上来的数据,并根据CAN总线数据的格式将其封装成CAN格式的数据,提供对CAN数据的收发CANDownload,CANUpload。用C+设计相应的图形界面以实现和下位机的通讯。在ABSECU的研发工程中,我们使用了此转换器将ECU的CAN数据转换成USB数据和上位机通讯,ECU上传需监控参数,上位机下传标定参数。其硬件上使用ARM7内核的LPC2119作为控制器,以及底层软件的设计确保了转换器在实际的ECU开发的CCP标定的工程中,在大量数据进展传输的经过中有较好的可靠性。

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

当前位置:首页 > 应用文书 > 工作报告

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com