APP下载

数字化爆机USB接口设计

2011-11-14张志龙段美珠

电焊机 2011年6期
关键词:响应函数传输层焊机

李 侠,张志龙,段美珠,刘 嘉

(北京工业大学 机电学院,北京 100124)

数字化爆机USB接口设计

李 侠,张志龙,段美珠,刘 嘉

(北京工业大学 机电学院,北京 100124)

针对数字化焊机的特点及发展趋势,设计了由USB总线传输层和焊机信息交互层构成的两层传输框架,同时以U盘作为信息交互的载体。USB总线传输层按照USB2.0协议搭建,实现U盘和USB桥接芯片的通信。信息交互层按照自己制定的协议实现上位机同焊机的通信。

USB总线;U盘驱动;信息交互

0 前言

数字化焊机具有诸多优势,如适应性强、便于升级、稳定性好等。利用高速、高精度数字信号处理技术,可以只通过软件设计来实现对焊机功能的改进,可以大大提高焊机的使用寿命和使用范围[1]。针对数字化焊机的特点,当今发达国家的焊机制造商大都为焊机添加了信息交互系统。该系统多用于与计算机进行通信、下载更新焊接程序以及把焊接过程中的参数传递给计算机。

通过直接或者间接的方式同计算机进行信息交互逐渐成为了数字化焊机的发展趋势。在此设计了一套基于USB技术的信息交互系统,该系统分为USB事务传输层和焊机信息交互层。通过两层传输框架,使上位机控制焊机的各种焊接参数并接收焊机传来的数据。由于U盘具有诸多优势:如传输速度快、系统支持性好、支持热插拔、接口标准统一、携带方便等。所以采用U盘作为信息交互的载体,来实现计算机和焊机的通信。

1 总体方案制定

系统由USB事务传输层和焊机信息交互层构成。USB事务传输层处理U盘和USB桥接芯片之间的通信。信息交互层按照自己制定的协议处理上位机和焊机主控芯片之间的通信。总体方案如图1所示。

图1 总体方案框图

上位机按照信息交互层的协议编写焊机指令并通过USB总线保存到U盘;U盘和USB桥接芯片CY7C67300按照USB总线协议通信,构成了USB事务传输层,一方面把上位机编写的指令传输给焊机,另一方面负责接收焊机传来的各种焊接参数;焊机主控芯片负责接收并处理焊机指令,根据指令的要求传回焊接参数。

1.1 USB总线协议简介

USB底层传输的最基本单位是三种包,分别是令牌包、数据包和握手包。利用这三种包就可以构成USB传输事务,对于全速USB设备来说传输事务主要有SETUP事务、DATA IN事务、DATA OUT事务[2]。令牌包由主机发送给从机,告诉从机本次传输是哪种事务;数据包用来传输具体的数据,方向要根据事务类型来决定,例如在DATA IN事务中,从机会把主机要求的数据放在数据包中并传给主机;握手包和数据包的传输方向相反,用来告诉对方本次传输是否成功。USB传输有四种传输方式,分别是控制传输、中断传输、批量传输和等时传输。每种传输方式都是由之前提到的三种传输事务构成。

USB协议除了定义底层传输协议外,还规定了若干种设备类规范,如人机接口设备(HID)、大容量存储设备(MSC)、音频设备、通信设备等,每个设备类规范还包括若干个子规范,在USB驱动层就是要按照这些设备类规范来编写。如U盘就属于大容量存储设备,所以要按照MSC设备类规范来编写。

MSC设备类协议主要由四个子协议组成:(1) CBI传输协议。该协议规定USB主机可以采用批量传输、中断传输、控制传输同从机通信;(2)BULK-ONLY传输协议(BOT)。该协议规定从机和主机采用批量传输的方式进行通信;(3)适用于硬盘的ATA命令集和适用于USB移动存储设备的UFI命令集。在编写U盘驱动程序时需要遵守BOT协议和UFI命令集。

1.2 USB传输层设计

由于利用U盘作为数据传输的载体,而U盘属于MSC设备,所以采用以USB总线驱动层、MSC设备类驱动层、UFI命令层、FAT文件系统层为框架的传输方式[3]。USB传输层结构如图2所示。

图2 USB传输层结构

文件系统层负责文件级的操作,包括在U盘中寻找指定的文件以及向文件中写入、读取数据等多个函数,通过调用UFI命令来实现。UFI命令层利用Read10、Write10等UFI命令对U盘指定地址进行读写,从而实现寻找指定文件的首簇、建立该文件的簇链等功能[4]。在MSC驱动层按照MSC设备类规范把需要传输的命令和数据打包,按照BOT协议来传输。USB总线驱动层按照批量传输的方式和U盘进行传输,把打包好的命令或数据放到USB总线上传给U盘的硬件接口层。U盘对总线传来的数据进行处理并对FLASH存储区进行操作。

下面以桥接芯片从U盘读取数据为例说明U盘和USB桥接芯片之间的数据传输过程。当桥接芯片检测到U盘连接后,会调用文件系统层的函数find_file()寻找文件“data.txt”的首簇并建立该文件的簇链,通过首簇确定该文件的起始扇区号,然后调用read_file()以扇区为单位读取文件,在read_file()中按照MSC设备类协议,将UFI命令放到USB总线上传输,U盘接到命令后会将指定扇区的内容放到总线上回传给桥接芯片,这样就实现了数据的读取。

1.3 信息交互层协议制定

在信息交互层中,上位机通过若干条指令来实现对焊机的控制,每一条指令通过一定的协议格式来编写。具体来说每条完整的指令都是由五个字节组成的,包括指令编号、指令序号、指令参数三部分,指令编号和序号各占一个字节。参数占三个字节,每个字节保存一个参数。对于一次指令传输来说,除了由若干条指令构成的指令序列,还需要在传输的第一个字节内写入本次传输的总字节数。例如一个要发送两条指令的传输,那么该次传输的首字节就要写入11,代表一共要传输11个字节,如图3所示。

序号的作用是指定这些指令的执行顺序,在焊机主程序接到这组数据后会调用相关函数,使这些指令按照序号从小到大的顺序依次执行。指令编号由一个字节组成,所以最多可以指示256条指令,每条指令实际上就对应着焊机主程序中的一个响应函数。参数1到参数3就作为这个函数的参数。

1.4 信息交互层设计

在信息交互层中,上位机按照制定的协议格式编写焊机指令,焊机主控芯片接到指令后调用响应函数调整焊接主程序的各项参数,进而改善焊接工艺;也可以通过指令使焊机的主控芯片将采集的电流、电压等参数传递给上位机,从而实现信息交互。

图3 信息交互层协议

上位机采用VB编写,通过上位机界面选择要传输的指令以及该指令的序号和参数。这些数据会按照焊机指令协议的格式进行编排并存放到U盘指定文件中。上位机界面如图4所示。

图4 上位机界面

上位机中每一个指令名都对应着一个指令编号,焊机主程序会根据这个编号调用对应的响应函数,实际上界面上的指令名就是响应函数的函数名。例如在界面中选择led0指令,那么主程序中就会调用led0()。fun数组的每一个元素都保存着一个响应函数的入口地址,而该数组元素的脚标就对应着焊机指令的编号。本系统就是以这个指针数组为桥梁来实现焊机指令与响应函数的对应关系。

XC164从SPI总线上收到这些指令后会引发中断,进入中断服务子程序,将指令序列存入cmd_idx数组中,然后返回主程序。在主程序中调用函数按照信息交互层协议的格式对指令序列进行处理,并按照指令序号从小到大的顺序执行每条指令对应的响应函数。处理过程如图5所示。

图5 下位机处理指令

具体的函数处理过程要依靠指向整型变量的指针数组inter来完成。该数组中的元素保存着指令序号字段的地址,然后以序号从小到大为顺序对数组中的元素进行排序。排序之后inter[0]即指向最小的那个序号,(inter[0]-1)就指向该序号对应的指令编号,由此可以实现按序号从小到大的顺序执行响应函数。通过这些响应函数就可以调整焊接主程序的各项参数或者将采集到的电流、电压等参数传递给上位机,从而实现信息交互。

2 实验测试

2.1 上位机指令输出测试

通过上位机输出指令控制XC164的PWM0通道占空比来测试焊机指令是否能通过系统进行传输。PWM模块频率为4 kHz,输出指令前PWM0占空比为80%,如图6所示。

图6 执行指令前的PWM波形

通过上位机向U盘写入指令:0x06 0x03 0x00 0x32 0x00 0x00。从这些数据可以看出,本次传输共6个字节,指令编号为3,指令序号为0,对应着响应函数PWM0(),参数1的值为50,在该参数下响应函数会将PWM0通道的占空比调整为60%,如图7所示。

图7 执行指令后的PWM波形

2.2 焊机数据回传测试

测试通过焊机将A/D模块采集到的正弦波转换成二进制数保存在U盘中,上位机再将U盘中的数据转换成对应的电压数值,以此来测试系统是否能正确接收焊机返回的数据。正弦波由信号发生器产生,频率为100 Hz,幅值2 V,如图8所示。

图8 信号发生器产生的正弦波形

图9为上位机读取U盘数据并转换成电压后的波形,右侧为一个周期所采集到的数据,XC164的采样频率为1 kHz,可以看出正弦波通过本系统传输后能够在上位机中正确显示。

图9 上位机转换后的波形

通过以上两个测试可以证明本系统的传输方案设计是合理的,能够实现上位机同焊机的双向信息交互。

3 结论

本系统将USB总线技术应用到数字化焊机中,以U盘为载体,两层传输协议为框架,通过制定信息交互层协议实现了上位机和焊机之间的信息交互。USB技术同数字化焊机的结合一方面扩展了USB的应用范围,另一方面也为数字化焊机在远程升级、优化焊接工艺、质量监控等方面提供了有力的支持。

[1]刘 嘉,殷树言,丁京柱.数字化焊机及其特点[J].电焊机,2001,31(6):8-10,16.

[2]李英伟.USB2.0原理与工程开发[M].北京:国防工业出版社,2007.

[3]周 东,王立德,刘 彪,等.基于DSP的USB海量存储设备的设计及实现[J].微计算机信息,2009.25(2-2):146-148.

[4]宋群生,宋亚琼.硬盘扇区读写技术[M].北京:机械工业出版社,2004.

Design on USB interface for Digital controlled welding machine

LI Xia
,ZHANG Zhi-long,DUAN Mei-zhu,LIU Jia
(College of Mechanical Engineering and Applied Electronics Technology,Beijing University of Technology,Beijing 100124,China)

Aiming to characteristic and development tendency of the digital controlled welding machine,designed two-layer transfer framework which is consist of USB transport layer and mutual information layer,USB flash be used as carrier of mutual information.USB transport layer was built by USB2.0 protocol,achieving communication between USB flash and USB bridge chip.Mutual information layer achieved communication between upper machine and welding machine by custom communication protocol.

USB bus;USB flash drive;mutual information

TG409

A

1001-2303(2011)06-0090-04

2010-11-05

李 侠(1983—),男,北京人,硕士,主要从事焊机自动化方面的研究工作。

猜你喜欢

响应函数传输层焊机
一类具有Beddington-DeAngelis响应函数的阶段结构捕食模型的稳定性
基于Python语言的网络传输层UDP协议攻击性行为研究
ZnO电子传输层在有机无机杂化钙钛矿太阳能电池中的应用
压水堆堆内中子探测器响应函数特性研究
物联网无线通信传输层动态通道保障机制
基于物联网GIS的消防智能巡检系统设计与实现
克服动态问题影响的相机响应函数标定
秦岭太白山地区树轮宽度对气候变化的响应
基于PLC的辙叉闪光焊机控制系统
基于PLC的薄板激光焊机控制系统