基于CP2102高速USB2.0-CAN适配卡的设计

来源 :电子产品世界 | 被引量 : 0次 | 上传用户:dlll9393
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:基于桥接芯片CP2102,设计了USB2.0-CAN的适配卡。系统采用USB和CAN接收中断、通信同步的握手协议等方式,解决了USB的高速率和CAN的低速率、USB的大数据包与CAN的小数据包之间的矛盾,实现了USB数据与CAN数据之间的协议转换和转发。
  关键词:CP2102;CAN控制器;协议转换;USB2.0
  
  引言
  
  控制器局域网(CAN)是德国BOSCH公司于1986年为解决汽车内部测量与执行部件之间的数据通信而开发的一种串行数据通信协议。它的网络模型结构包括物理层、数据链路层和应用层,以双绞线为信号传输介质,通信速率最高可达1Mbps(40m),直接传输距离最远可以达到10km(5Kbit/s),每条总线可挂接设备多达110个,特别适用于实时性要求很高的网络。由于其多主的工作方式、优良的稳定性和实时性能、成熟的仲裁和同步技术,加上开放式总线结构、短报文高速通讯、远程通讯能力、超强的纠错和扩展功能,以及控制简单、应用成本低等优点,已经被越来越多地应用到广大网络控制系统领域,并被公认为最有前途的现场总线技术之一。
  USB(通用串行总线),是1995年以Intel为首的7家公司推出的一种协议规范,用以实现将计算机的各种外围接口统一起来,用带四根线(两根电源线和两根数据线)的接口来实现任意设备和PC机间的通讯。具有即插即用,软硬件支持广泛、低功耗、价格低、数据传输率高、扩充性好、使用灵活、硬件结构标准化高和完备的总线拓扑结构等特点,因此USB自问世以来,显示出了强大的生命力,在以计算机为上位机的控制系统中,得到广泛的应用。
  


  随着计算机技术的飞速发展,PC已经把USB采纳为通用总线和通用接口标准的控制器几乎已经成为各个领域操控终端的首选。通过USB接口,在安装必要的应用软件和驱动程序之后,PC能接入到各个控制系统中去。因此,为了提高应用的高效率、操控的便利性,把USB的通用型和CAN的专业性结合起来,达到优势互补,有必要设计一种高速USB2.0-CAN适配卡,以实现USB2.0通信协议与CAN总线通信协议的转换。
  
  系统结构
  
  系统主要包含三部分:微控制器、USB接口和CAN接口的控制部分(见图1)。其中C8051F040作为系统微控制器。USB接口功能控制器采用CP2102 USB转UART桥接芯片。其中C8051F040作为CAN总线控制器负责与CAN网络交换数据,CP2102实现USB口信息格式与串口格式的转换,最后由C8051F040操作串口与CP2102交换数据,实现USB2.0到CAN总线协议的转换。
  
  硬件实现
  
  CP2102
  CP2102是Silicon Labs公司的USB转UART桥接芯片,具有集成度高、速度高、价格低廉、开发简单等特点,能够用最简单的外部电路,最少的外部器件简便地实现USB到UART的转换。CP2102包含USB2.0全速功能控制器、USB收发器、振荡器和带有全部的调制解调器控制信号的异步串行数据总线(UART)。
  
  微控制器
  系统采用Silicon Laboratories公司推出的混合信号系统级单片机C8051F040作为系统的控制器,内部集成的CAN控制器包括一个CAN内核、消息RAM(独立于CIP-51内核)、消息处理单元、控制寄存器等,但没有提供物理层驱动器,要实现与CAN总线的接口,还需接口控制器,例如82C250、TJA1050等。数据接收和滤波都是由CAN控制器完成的,不需要CIP-51内核的参与,通过这种方式使CAN通讯时占用的系统资源最小。CIP-51内核通过其内部的特殊功能寄存器来配置CAN控制器以及实现数据交互。
  
  电路设计
  系统电路如图2所示,由CP2102、C8051F040、CAN驱动芯片PCA82C250以及光电隔离芯片6N137等组成。当在总线上检测到终止信号时,CP2102将进人终止模式。在进人终止模式时,CP2102会发SUSPEND和SUSPEND信号。但是,SUSPEND和SUSPEND在CP2102复位期间会暂时处于高电平。为避免这种情况出现,需要用一个10kΩ的电阻来确保在复位期间保持在低电平。PCA82C250是CAN收发器,可增加总线驱动能力,RS端接地相连,系统处于高速工作方式。6N137是光电隔离芯片,6N137实现智能节点与CAN总线之间的电气隔离,不仅提高了节点的可靠性和系统的抗干扰能力,而且也保护了总线及总线上的其它节点。总线两端124Ω的电阻对,防止通信信号传输到导线端点时发生反射。
  
  USB与CAN之间协议转换的实现
  
  设计在充分遵守USB和CAN协议的基础上,实现了USB数据与CAN数据之间的协议转换和转发。USB的高速率和CAN的低速率、USB的大数据包和CAN的小数据包之间存在着矛盾,必须认真解决,否则可能会造成数据丢失,协议转换不可靠,设备工作不稳定。本设计中USB和CAN都采用了接收中断方式,将USB和CAN的数据包先存储下来,作为缓冲再进一步处理。在中断服务程序的数据接收时,只有将数据准确地收取下来,才将接收缓冲区释放,在此之前拒绝接收新的数据。在数据发送时,先确认发送缓冲区可用于写入数据。由于两端接口芯片都有内部的发送和接收缓冲区,主程序的主要任务就是完成数据的转发,以及提供通信同步的握手协议,防止数据丢失和顺序错误。
  


  相对于CAN总线传输速率,USB总线速率要高得多,128字节的缓冲区也比CAN总线芯片8字节缓冲区大得多,因此,向CAN接口发送数据需要完成拆包和重新打包的任务,属较慢操作,采用定时查询式发送。CAN接收任务每次直接转发CAN接口收到的8字节数据到USB接口发送缓冲区,采用两个信号量(CAN-rcv,USB-wr)完成数据同步操作。数据转发工作共有4个任务协调配合完成:
  
  USB中断后续处理任务
  CP2102接收到数据或发送完成都会触发中断程序运行。中断处理程序只需要简单地通知此任务有中断发生。这个任务的优先级最高。此任务根据USB接口的不同中断原因,通知其他任务进行后续的数据处理或转发工作。
  
  控制端点信息处理任务
  当USB接口接收到主机发来的USB协议信息时,此任务得到通知。根据主机的要求,按照USB协议规范的数据格式对主机应答。主要用于USB设备枚举阶段,与主机之间的信息交换。其它时间,此任务不占用处理器时间。
  
  CAN总线发送任务
  当USB接口有新的数据要转发到CAN总线时,USB中断后续处理任务通知此任务运行。读出USB芯片接收缓冲区中的数据到内存缓冲区,然后分解成小于等于8字节数据包,增加CAN总线协议数据包头,送入C8051F040的发送缓冲区。CAN发送任务每次等待USB接收中断触发USB_rd信号量后,开始读取CP2102接收缓冲区数据到内存数组Ep2out_Buf[128],然后采用查询式发送方式,将数据送到C8051F040的发送缓冲区,每次8字节。在查询过程中,如果C8051F040处于正在发送中,将任务休眠3个时钟嘀嗒<5ms),然后再次查询,避免长时间占用处理器。
  
  CAN总线接收任务
  当CAN总线接收到数据后,由于数据包最多只有8个字节,因此可以一次放入USB接口芯片发送缓冲区,由主机读取。CAN接收中断首先读C8051F040中断寄存器,清除中断标志。然后触发CAN-rCV信号量,使CAN接收任务得以运行。CAN接收任务然后等待USB发送完成中断触发USB-wr信号量,表示USB接口可以发送新的数据。由于USB接口缓冲区较大,并且发送速度快,CAN接收任务直接将CAN接收到的数据,送入USB接口芯片CP2012的发送缓冲区。然后打开CAN接收中断。
  
  结语
  
  本设计在充分遵守USB和CAN协议的基础上,USB和CAN都采用了接收中断方式,通过通信同步的握手协议,实现了USB数据与CAN数据之间的协议转换和转发,很好的解决了USB的高速率和CAN的低速率、USB的大数据包与CAN的小数据包之间的矛盾,能够保证数据完整,协议的可靠转换。使CAN的专业化操作和实践通过USB变得更加灵活方便。
其他文献
摘要:文章叙述源自PC的虚拟化软件和开源软件正在逐渐渗透到嵌入式系统各个方面。  关键词:嵌入式软件;虚拟化;移动互联网;标准化;Linux    随着移动互联网应用渐渐走热,Intel嵌入式X86芯片重返市场,传统的嵌入式系统平台、软件开发方式和操作系统都在发生着变化。一方面,互联网需要更多已经在PC使用的应用软件能够在各种移动终端上使用,另一方面,计算密集和数据密集的趋势要求嵌入式系统具有越来
期刊
《电子产品世界》创刊15年来,一直密切关注嵌入式系统的发展。本刊嵌入式应用读者调查已经做了多年,过去一直是内部使用,这次本刊公开发表出来,既希望对我刊发展提供方向性指导,又希望它是一份公开、全面和具有一定权威性的调查报告,对广大读者是一份很好的参考资料。    嵌入式系统应用:工程师的世界    这次调查通过电子产品世界网站(www.eepw.com.cn)和“嵌入式技术和应用论坛上海和深圳站”两
期刊
摘要:为了设计满足交流电机变频调速系统的脉宽调制控制系统,采用AVR单片机作为控制器,通过系统扩展,设计了等面积PWM的控制系统;本文所设计的变频调速系统不仅能够满足要求,而且等面积PwM发生器具有电路简单可靠,编程方便,产生的PWM波精度高等特点。  关键词:等面积PWM;变频调速;AVR控制器
期刊
摘要:简介SHA-1安全器件和安全单片机及其应用。  关键词:安全器件;安全单片机;信息安全,SHA-1,加密算法    引言    信息安全无论对国家还是对个人都是非常重要的。信息安全意味着要防止非法复制重要数据信息和程序代码;避免数据或代码被非法修改;保护金融交易,这包括银行加密密钥的传递保护、信用卡用户密钥的保护、电子钱包数据保护等等。为了信息安全、保护数据信息,需要有安全器件、安全措施,这
期刊
摘要:介绍了波分复用网络中EDFA高可靠增益控制与电压监测的差错检测方案。EDFA增益与输出电压通过监测控制信道电压来实现控制。功率检测中采用功率稳定的控制信道可以正确检测传输系统中的错误。  关键词:波分复用;掺铒光纤放大器;差错检测    引言    EDFA(掺铒光纤放大器)使用在WDM(波分复用)网络的中继节点,包括光交叉链接和光上/下复用。EDFA沿着不同路径放大多路信号,输入到EDFA
期刊
摘要:选用控制领域性价比较高的DSP作为控制器,设计了磁悬浮控制系统。通过实验实现了系统的稳定悬浮,验证了设计的合理性。  关键词:混合悬浮;状态反馈;控制器
期刊
摘要:采用无线网络技术,构建了一种无线抄表系统,设计了基于nRF2401的无线通信的集中器。该集中器避免了长距离布线和复杂的线路干扰,具有结构简单、工作可靠、经济实用等特点,  关键词:无线抄表系统;集中器;nRF2401;智能小区    随着电子技术、计算机技术和通信技术的不断发展,各个行业的自动化进程正在逐渐加快,以至于在自动抄表中对数据采集的实时性、可靠性、信息量提出了更高的要求。目前的抄表
期刊
虽然年初各大业内机构和组织对2008年的半导体市场都有一个相对乐观的预测,但随着金融危机影响的不断深化,大家都不断调低预期,根据SIA的分析,2008年全球半导体市场将只增长2.2%,在2007年2556亿美元的基础上增长到2612亿美元,全年的发展持续近几年来的低迷态势。全球市场发展缓慢的原因主要有二,一是金融危机对消费的抑制,二是存储器价格的持续下滑。  而中国市场方面,2008年仍将保持正增
期刊
从市场的走向来看,嵌入式处理器市场继续向32位的方向发展,以ARM公司的32位处理器最为突出,例如:ARM7、ARM9、Cortex等内核,其他的设计公司也不断改进32位处理器的架构和指令集,以推出高效、低价的处理器内核。当前,处理器在FPGA上的应用也越来越多,在FPGA中嵌入处理器软核越来越受到广大工程师所热衷,不仅能够实现复杂的算法,更能实现高速的数据处理能力,实现所谓的sOPc(syste
期刊
摘要:充分利用铁路地面有线传输系统SDH的传输设备SBs622和基于FPGA的直接序列扩频通信DS-CDMA技术等,设计并实现了铁路高速列车互联网络无线传输系统,并可以自动进行越区切换。  关键词:无线传输;SDH;FPGA;DS-CDMA;越区切换
期刊