基于CH375多通道USB接口与PC机通信的实现
发布时间:2008/5/27 0:00:00 访问次数:625
    
    
    来源:微计算机信息 作者:杨全玖 张大伟 吕宗芳 赵书俊 吕运朋
    
    
    
    
    
    
     -->
    
    摘要:利用usb接口技术,采用usb模块ch375,在加速器核辐射监测系统中实现了多个探测通道usb接口与计算机通信。给出了ch375与单片机接口电路的原理简图,并详细介绍了实现多通道usb数据传输的上、下位机的程序设计。
    
    关键词:usb接口,加速器,核辐射监测系统,多通道
     正离子静电加速器在运转过程中会产生能量较高的γ﹑x和快中子等多种放射性辐射,对周围的环境造成污染,对生命造成危害[1]。由于其体积庞大,辐射范围广,需设计一个多探测端的多通道同步核辐射监测系统,针对加速器周围环境进行辐射防护监测。每个探测端属于一个探测通道,它们相互独立。各通道将采集到的数据传输给上位机(主控计算机)。上位机进行数据处理并显示各个探测端的辐射强度及吸收剂量。
     若采用串口(rs232)实现多通道传输,各通道每次向上位机传输的数据容量大(16k),而串口传输速度慢,花费的时间长。在通信过程中,相应通道进入中断服务程序后,不能够再采集新的信号,更加严重地影响了系统的探测效率。于是就采用ch375构成的usb接口进行数据传输。速率可提高到1mbit/s以上。同时usb所具有的即插即用、通用性强、易扩展、可靠性好等优点[2,3]也极大地改善了接口的使用性能。
     1 ch375模块[4]简介
     usb模块ch375是一个usb总线的通用设备接口芯片,用户无需编写驱动程序,内置有usb通讯中的底层协议,完全满足usb1.1标准。具有8位数据总线(d0~d7)、地址输入(a0)、读(rd#)、 写(wr#)、片选控制线(cs#)以及中断输出(int#),可以方便地挂接到单片机的数据总线上。当a0为低电平时选择数据端口,单片机通过8位并口对ch375进行读写数据;为高电平时选择命令端口,可以向其写入命令。
     在本地端,单片机对ch375的操作是采用命令加数据的i/o操作方式,任何操作都是先发命令(其命令格式参考文献3)给ch375,然后执行数据输入输出。ch375接收到上位机发送的数据或者发送完给上位机的数据后,以中断方式通知单片机。
     将ch375芯片的驱动程序、动态链接库拷贝到上位机中,利用ch375动态链接库dll提供的api函数对其进行操作,对usb设备的通信就几乎和访问本地硬盘中的文件差不多了。
     2 具有多个usb接口的多通道数据采集系统
    
    图1是加速器的核辐射监测系统。是个具有多个usb接口的多通道数据采集系统。该系统可安装连接多个探测端(最多128个)。监测不同的放射性辐射时,装配相应的探测器。每个探测通道的工作原理及电子线路都相同,分别连接到usb扩展卡上。多道分析器采用高性能avr单片机atmega128作为控制器。atmega128运用harvard结构概念,具有预取指令功能,机器周期为1个时钟周期,绝大多数指令为单周期指令,工作频率为16mhz时可达到16mips的性能[5]。用其控制高速模数转换电路,把探测器输出的模拟量转换成计算机可接收的数字量,进行存储,等待上位机的读取。
    
    
    
    
    图1加速器多通道核辐射监测系统结构图
    
    单一探测通道,用ch375构成的usb接口电路原理如图2所示。各通道接收到上位机发出读取数据命令后,由atmega128控制将所有探测数据通过usb接口电路传输给上位机。
    
    
    
    图2 ch375构成的usb接口电路原理图
     3 多个通道usb接口的软件设计
     各通道的usb模块ch375在计算机应用层与其本地端单片机atmega128之间提供了端对端的连接。统一采用
    
    
    来源:微计算机信息 作者:杨全玖 张大伟 吕宗芳 赵书俊 吕运朋
    
    
    
    
    
    
     -->
    
    摘要:利用usb接口技术,采用usb模块ch375,在加速器核辐射监测系统中实现了多个探测通道usb接口与计算机通信。给出了ch375与单片机接口电路的原理简图,并详细介绍了实现多通道usb数据传输的上、下位机的程序设计。
    
    关键词:usb接口,加速器,核辐射监测系统,多通道
     正离子静电加速器在运转过程中会产生能量较高的γ┖涂熘凶拥榷嘀址派湫苑洌灾芪У幕肪吃斐晌廴荆陨斐晌:1]。由于其体积庞大,辐射范围广,需设计一个多探测端的多通道同步核辐射监测系统,针对加速器周围环境进行辐射防护监测。每个探测端属于一个探测通道,它们相互独立。各通道将采集到的数据传输给上位机(主控计算机)。上位机进行数据处理并显示各个探测端的辐射强度及吸收剂量。
     若采用串口(rs232)实现多通道传输,各通道每次向上位机传输的数据容量大(16k),而串口传输速度慢,花费的时间长。在通信过程中,相应通道进入中断服务程序后,不能够再采集新的信号,更加严重地影响了系统的探测效率。于是就采用ch375构成的usb接口进行数据传输。速率可提高到1mbit/s以上。同时usb所具有的即插即用、通用性强、易扩展、可靠性好等优点[2,3]也极大地改善了接口的使用性能。
     1 ch375模块[4]简介
     usb模块ch375是一个usb总线的通用设备接口芯片,用户无需编写驱动程序,内置有usb通讯中的底层协议,完全满足usb1.1标准。具有8位数据总线(d0~d7)、地址输入(a0)、读(rd#)、 写(wr#)、片选控制线(cs#)以及中断输出(int#),可以方便地挂接到单片机的数据总线上。当a0为低电平时选择数据端口,单片机通过8位并口对ch375进行读写数据;为高电平时选择命令端口,可以向其写入命令。
     在本地端,单片机对ch375的操作是采用命令加数据的i/o操作方式,任何操作都是先发命令(其命令格式参考文献3)给ch375,然后执行数据输入输出。ch375接收到上位机发送的数据或者发送完给上位机的数据后,以中断方式通知单片机。
     将ch375芯片的驱动程序、动态链接库拷贝到上位机中,利用ch375动态链接库dll提供的api函数对其进行操作,对usb设备的通信就几乎和访问本地硬盘中的文件差不多了。
     2 具有多个usb接口的多通道数据采集系统
    
    图1是加速器的核辐射监测系统。是个具有多个usb接口的多通道数据采集系统。该系统可安装连接多个探测端(最多128个)。监测不同的放射性辐射时,装配相应的探测器。每个探测通道的工作原理及电子线路都相同,分别连接到usb扩展卡上。多道分析器采用高性能avr单片机atmega128作为控制器。atmega128运用harvard结构概念,具有预取指令功能,机器周期为1个时钟周期,绝大多数指令为单周期指令,工作频率为16mhz时可达到16mips的性能[5]。用其控制高速模数转换电路,把探测器输出的模拟量转换成计算机可接收的数字量,进行存储,等待上位机的读取。
    
    
    
    
    图1加速器多通道核辐射监测系统结构图
    
    单一探测通道,用ch375构成的usb接口电路原理如图2所示。各通道接收到上位机发出读取数据命令后,由atmega128控制将所有探测数据通过usb接口电路传输给上位机。
    
    
    
    图2 ch375构成的usb接口电路原理图
     3 多个通道usb接口的软件设计
     各通道的usb模块ch375在计算机应用层与其本地端单片机atmega128之间提供了端对端的连接。统一采用