APP下载

USB2.0控制器CY7C68013在lon总线技术中的应用

2012-07-08湖北省黄冈市质量技术监督局进湖北工业大学机械工程学院朱剑雄

湖北农机化 2012年3期
关键词:报文总线芯片

湖北省黄冈市质量技术监督局 徐 进湖北工业大学机械工程学院 朱剑雄

USB2.0控制器CY7C68013在lon总线技术中的应用

湖北省黄冈市质量技术监督局 徐 进湖北工业大学机械工程学院 朱剑雄

针对工业现场对高性能的便携式(主要针对移动系统)数据通信的要求,研制了LON总线的USB2.0接口卡。由于采用USB2.0接口,能够克服以往使用RS-232串口与便携设备通信实时性不够的弱点。USB2.0协议提供480Mb/s的传输速度,向下完全兼容流行的USB1.1协议。接口卡主要由Toshiba公司生产的TMPN3150与Cypress公司推出的USB2.0控制器CY7C68013组成。3150完成与LON总线的通信而CY7C68013则具有USB2.0的完整解决方案,两芯片的通信采用并口通信方式。

LON 总线;USB2.0接口;TMPN3150;CY7C68013;并口通信

Lon Works总线是由美国Echelon公司推出的一种现场总线技术,由于Lon Works控制网络的开放性、高速性、互操作性及其对现场环境的适应性,它已广泛应用于楼宇自动化、家庭自动化、保安系统、办公设备、交通运输、工业过程控制等行业。Lon总线的现场节点间采用的Lon Talk协议,当工程师使用便携设备对现场节点进行检测或进行现场数据采集时往往只能使用RS232串口。众所周知,RS232的传输速度最高只能达到9600kbps,这对实时性要求很高的现场数据采集来说远远不能满足要求。针对这一情况我们开发研制了Lon总线的USB2.0接口卡。该卡提供的USB2.0接口使得数据的传输速度能提高到480Mbps,并且向下完全兼容流行的USB1.1协议。

1 USB2.0的主要特点

USB协议的2.0版本于2000年4月推出。支持以下3种速度模式:低速模式(low speed)1.5Mb/s;全速模式 (full speed)12Mb/s;高 速 模 式 (high speed)480Mb/s。它支持现存的所有 USB设备,既可以把USB1.1设备插入USB1.1的PC机接口,并且在电气上兼容USB1.1的连接线。

1.1 USB总线特点

(1)数据传输速率高;

(2)数据传输可靠;

(3)同时挂接多个USB设备;

(4)USB接口能为设备供电;

(5)支持热插拔。

1.2 USB的新特性

USB还具有一些新的特性,如:实时性(可以实现和一个设备之间有效的实时通信)、动态性(可以实现接口间的动态切换)、联合性(不同的而又有相近的特性的接口可以联合起来)、多能性(各个不同的接口可以使用不同的供电模式)。

2 Lon Works接口卡硬件设计

2.1 Lon Works接口卡通信原理及硬件结构框图

接口卡的工作原理如下:接口卡由Lon网接口模块和USB2.0接口模块组成(见图1)。采用双CPU技术,主CPU为USB2.0控制器CY7C68013内置的增强的8051内核(该内核的运行速度是普通8051的5倍),主要作为协议的转换模块,用来完成USB2.0协议与Lon Talk协议之间的转换,向上与便携PC机(或其它具有USB接口的便携设备)进行通讯,向下与3150进行并口通讯。辅CPU为TMPN3150,主要起Lon网接口的功能,作为通讯协处理器使用,将从主CPU接收到的来自便携PC机(或其它具有USB接口的便携设备)的报文解析成Lontalk协议报文并通过Lonworks收发器传向Lon网,或将从Lon网上接收到的Lontalk协议报文转发给主CPU,再由主CPU传向便携PC机(或其它具有USB接口的便携设备)。51CPU与Neuron 3150采用并行方式通信。Neuron芯片的11个I/O有34种可选工作模式,其中包括并行I/O方式.该方式数据的最大传送速率可达3.3Mbps。并口工作方式在数据传送速度方面的优势,使得Neuron芯片与51CPU完成大数据量的传送成为可能。他们之间的数据传输是通过运用“虚写令牌传递机制”实现的,拥有令牌的一方拥有对数据总线的写控制权。

图1 Lon worksUSB2.0接口卡结构框图

2.2 Lon Works接口卡硬件电路设计

该接口卡中,USB2.0控制器采用Cypress公司推出的USB2.0控制器CY7C68013。它是USB2.0的完整解决方案。CY7C68013该芯片包括带8.5KB片上RAM的高速8051单片机、4KB FIFO存储器以及通用可编程接口(GPIF)、串行接口引擎(SIE)和 USB2.0收发器,无需外加芯片即可完成高速USB传输,性价比较高。智能串行接口引擎(SIE)执行所有基本的USB功能,将嵌入式MCU解放出来以用于实现专用的功能,并保证其持续的高性能的传输速率。通用可编程接口(GPIF),允许它“无胶粘接”,即可与任何ASIC或DSP进行连接,并且它还支持所有通用总线标准,包括ATA、UTOPIA、EPP和PCMCIA。它完全适用于USB2.0,并向下兼容USB1.1。

3150芯片选用Toshiba公司生产的TMPN3150。3150片内存储器的地址范围是E800H~FFFH,包括2KB的SRAM和512B的EEPROM.3150可以外接存储器,如RAM、ROM、EEPROM或FLASH,其地址范围是0000H~7FFH。根据一般应用的性能和成本要求,3150的外部存储器采用FLASH和RAM.FLASH选用IS61C256AH-15N,RAM选用AT29C512。61C256和29C512的地址范围通过逻辑门电路根据Neuron芯片的地址线和控制线E来确定。51与3150采用3150的并口通信方式,将Neuron芯片的IO0-IO7作为8根数据线与51CPU的PB(PB0-PB7)口相连,IO8作为片选信号线(/CS)与51CPU的PC0口相连,IO9作为数据读/写信号线(R/w)与51CPU的PC6口(写信号)相连,IO10作为握手信号线(HS)与51CPU的PC1口相连。

为提高增加接口卡的可靠性及稳定性,本设计增加了一个锁存器,完成复位接口的功能。当3150芯片复位时,通过锁存器将复位信号传送给CY7C68013内置的8051处理器,8051接到复位信号自动复位,并马上清锁存器。其接线如图3。在并口通讯中8051与3150同步非常重要,要完成并口通讯8051首先要与3150达到同步且同步操作必须在3150复位时进行。8051只在初始化程序时才与3150进行同步操作,因此完成同步后每当3150由于误操作或错误运行而造成复位时,3150与8051将会失去同步,而8051无法检测到,从而造成并口通讯失败。加入了锁存器之后8051就能检测到3150的复位信号并自动复位自己的程序使得8051与3150再次达到同步。这将使适配器的可靠性和稳定性都得到加强。图2为CY7C68013与TMPN3150的接线图。

Neuron芯片与LON的网络介质的接口采用一种LonWorks自由拓扑型收发器FTT-10A.FTT-10A是一种变压器耦合收发器,可提供一个与双绞线的无极性接口,且支持网络的自由拓扑结构。网络通讯介质采用最常用的双绞线。

图2 3150与USB控制器接线图

3 Lon Works接口卡软件设计

3.1 Neuron芯片的编程语言——Neuron C

Neuron芯片有一套专门的开发语言——Neuron C.Neuron C派生于ANSI C,并增加了对I/O、事件处理、报文传送和分布式数据对象的支持,是开发Neuron芯片应用程序的重要工具。其语法扩展包括软件定时器、网络变量、显式报文、多任务调度、EEPROM变量和附加功能等。其中,显示报文的使用为LON节点间的通讯及互操作提供了基础。通过对不同节点分配网络地址,即可实现节点之间的数据传递。也就是说,LON接口卡中的3150通过构造和解析报文实现了与LON网用户节点的通信。

3.2 CY7C68013的开发工具

Cypress公司对CY7C68013提供了较为完备的开发套件CY3681。它包括带128脚CY7C68013的硬件开发板和相应的控制面板(Control panel)、GPIF代码自动生成软件(GPIFTool)。对于内核8051的开发采用Keil开发工具。

3.3 Lon Works接口卡的软件设计

该接口卡的程序包含两大部分。一是存储在CY7C68013中的USB驱动程序和与3150的并口通信程序;二是存储在3150外部FALSH中的并口通信程序以及Lon Talk协议转换程序。USB驱动程序在开发套件CY3681中已有支持用户只要调用即可。而与3150的并口通信程序则采用Keil C51语言编写,并通过USB口下载到CY7C68013的8051内核中。3150外部FALSH中的并口通信程序以及Lon Talk协议转换程序采用Neuron C语言编写,并采用LonWorks开发工具——LonBuilder中的Neuron C编译器对程序进行编译,生成ROM映象文件,最后下载到片外FLASH(61C256)中。

在8051的并口通信程序中需要模拟3150的并口通信从A方式。以下为并口通信程序中主要模块。包括同步模块(sync_loop());握手模块(hndshk());并口数据传送接收模块(pio_read();pio_write(void));令牌传递模块(pass_token())。

根据硬件设计,将3150芯片的I/O定义为并行(parallel)I/O对象类型.定义并行I/O对象的 Neuron C源代码如下所示:IO_0parallel slave P_BUS,其中,P_BUS为所定义的I/O对象名称。Neuron将从并口得到的报文解析,再利用Neuron C的消息传送机制,将解析的消息传送给适配器下层的应用节点。读取数据的Neuron C函数为io_in(),其格式如下:io_in(P_BUS,address1);其中P_BUS为并口IO对象名称,address1为接收并口数据的地址。发消息的Neuron C函数为 msg_send()。

4 结论

本文所设计的接口卡目的主要是为,带有USB接口的便携设备进行现场数据测量和现场监测提供高速、安全的通信接口。解决了令工程师头痛的便携设备与现场设备采用通用串口通信时传输速率低、经常掉线、连接不可靠的问题。

[1]王锦标.现场总线综述.冶金自动化,1998(6):1.

[2]周振环,凌志浩,马欣,等.Neuron芯片在新一代分布式测控系统中的应用.世界仪表与自动化,1998(10):40.

[3]扈 啸,张连超.USB2.0控制器CY7C68013特点与应用.21IC.com,2003.

[4]EZ-USB FXTM USB Microcontroller.Cypress Semiconductor Corporation 2003.

2012-05-06)

猜你喜欢

报文总线芯片
基于J1939 协议多包报文的时序研究及应用
芯片会议
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
ATS与列车通信报文分析
多通道采样芯片ADS8556在光伏并网中的应用
多通道ARINC429总线检查仪
基于EtherCAT总线的ROV控制系统设计