CP2102与C8051的USB_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、cp2102与c8051的usbcan(controller area network,控制器局域网)是德国bosch公司在20世纪80年月初为解决汽车中众多控制与测试仪器间的数据交换而开发的一种串行数据通信协议,主要用于各种设备检测及控制。是一种多主机控制局域网标准,具有物理层和数据链路层的网络协议、多主节点、无损仲裁、高牢靠性及扩充性能好等特点,能有效支持分布式控制系统的串行通信网络。一方面,其通信方式灵便,可实现多主方式工作,还可实现点对点、点对多点等多种数据收发方式;另一方面,它能在相对较大的距离间举行较高位速率的数据通信。因此无论是在高速网络还是在低成本的节点系统,can总线都得到了

2、广泛的应用。(universal serial bus,通用串行总线)是1995年以intel为首的7家公司推出的一种协议规范,具有即插即用、软硬件支持广泛、功耗低、价格低、数据传输率高、硬件结构标准化和总线拓扑结构完备等特点,因此usb自1995年问世以来,显示出了强大的生命力。在以计算机为上位机的控制系统中,usb口比较适合作为计算机与测控网络的接口。随着计算机技术的飞快进展,pc这个已经把usb采用为通用总线和通用接口标准的控制器几乎已经成为各个领域操控终端的不二之选。只要接口标准统一,并安装须要的应用软件和驱动程序,pc就能接入到各个控制系统中去。因此,为了应用的高效率和操控的方便性,

3、彻低有须要采纳技术手段实现通过pc的usb接口接入can专业网络,把usb的通用性和can的专业性结合起来,把它们的优势融合。1 芯片的挑选11 cp2102芯片介绍cp2102是silicon labs公司研发的一种高度集成的usb转uart桥接芯片,具有价格低、开发容易等特点,能够用最容易的外部和最少的外部器件简便地实现usb到uart的转换。cp2102包含usb2o全速功能控制器、usb、和带有所有调制解调器控制信号的异步串行数据总线(uart)。该芯片的所有功能集成在一个5mm×5 mm的qfn28封装的ic中。cp2102内置与计算机通信的协议,工作时,所提供的免费的有用

4、com口器件驱动器允许基于cp2102的产品将其作为1个口用法,也就是通常所说的产生1个虚拟的口,而电路无需任何外部的usb器件即可工作,工作特性可以满足can总线的传输波特率要求。12 c8051f040芯片介绍c8051f系列是silicon labs公司推出的混合信号系统级芯片,具有与80c51兼容的cip一51内核,命令集与mcs一51彻低兼容。c8051f040内部集成的can控制器包括一个can内核、消息ram(自立于cip一51内核)、消息处理单元、控制寄存器等。c8051f040内部的can控制器是一个协议控制器,它并没有提供物理层的驱动器,实现与can总线的接口,例如82c2

5、50、tjal050等。数据接收和滤波都由can控制器完成,不需要cip一51内核的参加。通过这种方式使can通信时占用的系统资源最小。cip一51内核通过其内部的特别功能寄存器来配置can控制器以及实现数据交互。c8051f040内部的can结构框图1所示。can的控制协议寄存器包括控制寄存器canocn、状态寄存器canosta、测试寄存器canotst、错误计数寄存器、位定时寄存器、波特can控制器、处理中断、监视总线状态、设定控制器的测试模式等。can控制器收发的数据存放在消息ram中,can处理器有32个消息目标,可以通过配置用于数据发送或接收。这些消息ram的数据不能被挺直拜访,而

6、必需通过接口寄存器ifl或if2来拜访。除此之外,可以被挺直拜访的寄存器是canocn、canosta、canotst。can内部其他不能被挺直拜访的寄存器通过canoadr、canodath、canodatl这三个寄存器来拜访,这三个寄存器分离表示要拜访的寄存器的地址和数据,向canoadr中写入要拜访的寄存器地址后,对canodat的读写就相当于读写相应的寄存器。因为c8051f040内部集成了can总线控制器,所以只需外加总线驱动器并加上适当的隔离就可以了,电路显得十分简洁。2 硬件实现系统电路2所示,由cp2102、c8051f040、can驱动芯片pca82c250以及光电隔离芯片6

7、n137等组成。cp2102的rtx、txd引脚分离是串口的接收及输出端,与单片机的对应引脚相连。usb的终止和复原信号支持功能便于cp2102器件以及外部电路的。当在总线上检测到终止信号时,cp2102将进入终止模式。在进入终止模式时,cp2102会发suspend和suspend信号。但是,suspend和suspend在cp2102复位期间会临时处于高电平。为避开这种状况浮现,需要用1个10k的来确保suspend在复位期间保持在低电平。pca82c250是can收发器,可增强总线驱动能力,rs端接地,系统处于高速工作方式。6n137是光电隔离芯片,can总线信号cantx和canrx从

8、c8051f040出来后先分离经过高速光耦6n137举行电气隔离,再经过can总线控制器接口芯片82c250驱动,然后接到can数据线上。6n137实现智能节点与can总线之间的电气隔离,不但提高了节点的牢靠性和系统的抗干扰能力,而且也庇护了总线及总线上的其他节点。总线两端124的电阻对,防止通信信号传输到导线端点时发生反射。3 usb与can之间协议转换的实现设计在充分遵守usb和can协议的基础上,实现了usb数据与can数据之间的协议转换和转发。在设计过程中,usb的高速率和can的低速率,以及usb的大数据包和can的小数据包之间存在着冲突,必需仔细解决,否则可能造成数据走失、协议转换

9、不行靠、设备工作不稳定。本设计中usb和can都采纳了接收中断方式,将usb和can的数据包先存储下来,作为缓冲进一步处理。在接收中断服务程序的数据时,惟独将数据精确地收取下来,才将接收缓冲区释放,在此之前否决接收新的数据。在数据发送时,先确认发送缓冲区可用才写入数据。因为两端接口芯片都有内部的发送和接收缓冲区,主程序的主要任务就是完成数据的转发,以及提供通信同步的握手协议,防止数据走失和挨次错误。相对于can总线传输速率,usb总线速率要高得多,128字节的缓冲区也比can总线芯片8字节缓冲区大得多。因此,向can接口发送数据需要完成拆包和重新打包的任务,属较慢的操作,采纳定时查询式发送。c

10、an接收任务时,每次盲接转发can接口收到的8字节数据到usb接口发送缓冲区,采纳2个信号量(canrcv,usbwr)完成数据同步操作。数据转发工作共有以下4个任务协调协作完成。(1)usb中断后续处理任务cp2102接收到数据或发送完成,都会触发中断程序运行。中断处理程序只需要容易地通知此任务有中断发生,以尽量削减中断关闭的时光。因此,这个任务的优先级最高,并且一旦开头运行便不再等待其他大事,要尽快处理完成。此任务按照usb接口的不同中断缘由,通知其他任务举行后续的数据处理或转发工作。(2)控制端点信息处理任务当usb接口接收到主机发来的usb协议信息时,此任务得到通知。按照主机的要求,该

11、任务根据usb协议规范的数据格式对主机应答。它主要用于usb设备枚举阶段,与主机之间举行信息交换。其他时光,此任务不占用处理器时光。(3)can总线发送任务当usb接口有新的数据要转发到can总线时,usb中断后续处理任务通知此任务运行。读出usb芯片接收缓冲区中的数据到内存缓冲区,然后分解成小于或等于8字节的数据包,增强can总线协议数据包头,送入c805lf040的发送缓冲区。微处理器的主要处理时光就是usb数据包的分解和重新打包发送。此任务占用处理器的时光最长。can发送任务每次等待usb接收中断触发usb_rd信号量后,开头读取cp2102接收缓冲区数据到内存数组ep2out_bur1

12、28,然后采纳查询式发送方式,将数据送到c8051f040的发送缓冲区,每次8字节。在查询过程中,假如c8051f040处于正在发送中,将任务休眠3个时钟嘀嗒(5 ms),然后再次查询,避开长时光占用处理器。(4)can总线接收任务当can总线接收到数据后,因为数据包最多惟独8个字节,因此可以一次放入usb接口芯片发送缓冲区,由主机读取。此任务很少占用处理器时光。主要是为了协调can总线与usb总线之间数据转发的同步,使数据包可以根据本来的挨次接收到,并且不笼罩尚未发送的上一个数据包,避开数据走失。can接收中断首先读c8051f040中断寄存器,清除中断标记。然后触发canrcv信号量,使can接收任务得以运行。can接收任务然后等待usb发送完成中断触发usbwr信号量,表示usb接口可以发送新的数据。因为usb接口缓冲区较大,并且发送速度快,can接收任务挺直

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论