基于ARM7的CAN-USB转换器设计

基于ARM7的CAN-USB转换器设计,第1张

引言

  ABS(防抱死刹车系统)ECU(电控单元)在研发过程中,为了实时确定其行车参数和控制参数,通常会使用标定技术,标定技术就是通过一定的命令对ECU上传和读取控制算法参数,以达到对其实时修改以寻求最优的技术。

       对于车载电控单元来说,其通常只有CAN总线通信接口,为了能实现上位机和ECU能直接进行通信,实现利用标定技术对ABS ECU 进行开发,我们设计了一款能实现CAN到USB的数据转换器

       CAN通信协议是一种用于汽车内部测量与执行部件之间的数据通信协议。而USB具有即插即用的优点,并且有较高的通信速率,对于实现上位机和下位机的通信进行标定十分方便。我们设计的数据转换器采用了NXP公司的LPC2119 ARM7处理器,通过它成功地实现上位机和ECU的可靠通信和对下位机的标定。

  系统硬件设计

  LPC2119 ARM7处理器

  LPC2119是基于一个支持实时仿真和跟踪的16/32 ARM7 TDMI-S CPU 的微控制器,并带有128/256kB嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。

  USB转换芯片CH372

  CH372 是一个USB 总线的通用设备接口芯片,在本地端,CH372 具有8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到控制器的系统总线上; CH372 内置了USB 通讯中的底层协议,在内置固件模式下,CH372自动处理默认端点0 的所有事务。

  系统设计

  转换器直接使用USB的5V供电,使用了LM1117将5V电源转换成3.3V和1.8V以供ARM处理器及其外围模块使用,对于CAN控制器输出的逻辑电平用TJA1050转换成差分电平输出CH372的设计十分重要,外接电容用于CH372 内外部电源节点去耦。在LPC2119的各电压引脚分别接了0.01mf的电容进行滤波。在USB转换芯片的设计中,可选4.7kW电阻用于在电源断电后将电解电容中的电能及时释放掉,使VCC 及时下降到0V,确保在下次通电时CH372 能够可靠地上电复位。为使CH372 能够可靠复位,电源电压从0V 上升到5V 的上升时间应该少于100ms,所以电容的容量和电阻的阻值都不能太大。用15pF 的独石或高频瓷片电容作为CH372的时钟振荡电路的起振电容。

  系统硬件设计部分框图如图1。

 基于ARM7的CAN-USB转换器设计,第2张

图1   转换器框图

  系统软件设计

  系统程序主要包括CAN控制器驱动程序,USB控制芯片CH372驱动程序,数据读写缓冲区的设计,以及如何调用CAN和USB的读写函数使数据的通信更好的同步。

  CAN驱动程序

  根据LPC2119微处理器CAN 控制器的特性,将CAN 的驱动程序分为3 个层次:

       1.硬件抽象层:将CAN 控制器的硬件特性用数据类型进行抽象,并提供CAN 控制器硬件 *** 作的接口。对物理层的寄存器和相应地址影射,定义了CAN 控制器寄存器的数据类型和对寄存器的 *** 作方法。

       2.功能函数层:CAN 控制器各种功能的实现函数,该层的函数利用硬件抽象层中对寄存器 *** 作的接口来访问CAN 控制器来实现各种CAN 控制器所能提供的功能。

       3.应用程序接口层:在该层中的主要提供给3 个函数,初始化CAN 控制器CANinit()、发送数据CANSendData()、接收数据CANRecieveData()。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2713698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存