CN201075248Y - 一种usb接口实时数据采集控制器 - Google Patents
一种usb接口实时数据采集控制器 Download PDFInfo
- Publication number
- CN201075248Y CN201075248Y CNU2007201703870U CN200720170387U CN201075248Y CN 201075248 Y CN201075248 Y CN 201075248Y CN U2007201703870 U CNU2007201703870 U CN U2007201703870U CN 200720170387 U CN200720170387 U CN 200720170387U CN 201075248 Y CN201075248 Y CN 201075248Y
- Authority
- CN
- China
- Prior art keywords
- usb
- data
- interface module
- controller
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
本实用新型涉及一种USB接口实时数据采集控制器,嵌入NIOSIP核16位CPU通过主节点采集控制器与数据交换双口RAM存储器连接,数据交换双口RAM存储器同时与USB端口数据交换控制器和协议命令解释器连接,USB端口数据交换控制器和协议命令解释器与嵌入式USB2.0C控制模块连接,嵌入NIOSIP核16位CPU通过主节点采集控制器连接测井仪器的遥测TCC接口模块、DTB总线接口模块和CAN总线接口模块,用USB2.0C控制模块,达到测试系统与上位计算机之间的高速USB串行通讯和大数据量的数据交换功能,用嵌入NIOS核16位CPU控制,降低了硬件结构的复杂度,提高了结构的集成度和可靠性。
Description
技术领域
本实用新型涉及一种用于石油测井仪器测试的USB接口实时数据采集控制器。
背景技术
USB(Universal Serial Bus)是一种通用串行总线,作为计算机外设的一种通用接口,其中USB2.0最高传输速度达480Mbps,支持热插拔,可以支持双向、同步传输,能够保证某些需要连续数据流的设备的需要,性价比高,硬件的结构相对简单,外围设备接口设计容易,PC机都支持USB总线,因此它有着其他串口不具有的优势,在现代外部设备数据采集存储器与PC机之间高速数据传输方面有着极其广泛的应用。
在石油测井地面仪测试领域,常规的RS232、RS485、CAN等串行通讯接口也有越来越多的应用到控制计算机(上位机)与外部石油测井仪器测试采集系统之间的命令、数据的实时传输通讯。对于串口和采集的数据采集控制与存储器之间(数据流)接口控制,传统做法是使用独立的CPU芯片,结合独立RAM(双口)及其它数字电路接口来实现,串口与下位CPU之间的接口协议(通讯协议)的制定和解释就必须由下位机(CPU)来承担,同时下位CPU还必须兼顾对两边数据存储交换和下部采集等任务的控制,这样会造成下位CPU的工作量剧增和任务的时间上的冲突。不利于上位计算机与测井仪器采集控制测试系统之间状态和海量数据的高速传输和实时命令的执行,会造成接口体积大、接线复杂和可靠性下降的问题。
USB2.0C是一个嵌入式模块,它隐藏了通过USB总线进行数据传输所需的繁琐技术细节,应用程序通过调用模块提供的函数,可以把相应的功能转变成模块硬件接口上的一系列脉冲和电平发送到外围逻辑进行指定的数据传输从而极大地简化USB设备和接口的设计工作模块提供两种数据传输模式:地址IO模式和批量数据传输模式。USB2.0C控制模块发挥了USB2.0高速数据传输的特点尤其适合于高速数据采集及图像数据传输设备,适用于常规石油测井仪器测试系统现场领域的数据采集。
其次,Altera公司的FPGA上嵌入Nios软核处理器的出现,也为解决前述问题提供了新的途径。它是一种可特许的以IP核的方式将它提供给设计者的通用RISC CPU,它可以与各种各样的外设、定制指令和硬件加速单元相结合,构成一个定制的SOPC。嵌入式USB接口实时数据采集控制器就是嵌入式技术与串口总线技术结合的产物。
在FPGA中使用软核CPU比硬核CPU的优势在于,后者实现没有灵活性,通常无法使用最新的技术。随着系统日益先进,基于标准处理器的方案会被淘汰,而基于Nios II处理器的方案是基于HDL源码构建的,能够修改以满足新系统的需求,避免了被淘汰的命运。将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设,获得适合需求的处理器。
实用新型内容
本实用新型的目的是提供一种USB接口实时数据采集控制器,它结合FPGA,和嵌入式NIOS软核处理器技术,达到采集系统和计算机之间数据传输速度,降低硬件复杂度提高集成度和可靠性。
本实用新型所述的USB接口实时数据采集控制器是由一个嵌入式处理器FPGA芯片和一个嵌入式USB2.0C控制模块构成;嵌入式处理器FPGA芯片包括:一个嵌入NIOSIP核16位CPU,一个USB端口数据交换控制器和协议命令解释器,数据交换双口RAM存储器,主节点采集控制器,连接测井仪器的遥测TCC接口模块、DTB总线接口模块和CAN总线接口模块,嵌入NIOSIP核16位CPU通过主节点采集控制器与数据交换双口RAM存储器连接,数据交换双口RAM存储器同时与USB端口数据交换控制器和协议命令解释器连接,USB端口数据交换控制器和协议命令解释器与嵌入式USB2.0C控制模块连接,嵌入NIOSIP核16位CPU通过主节点采集控制器连接测井仪器的遥测TCC接口模块、DTB总线接口模块和CAN总线接口模块。
嵌入式USB2.0C控制模块是主机与井下仪器采集控制通讯模块之间的数据通讯的桥梁,它是一个专用嵌入式模块,结合集成于FPGA上的“USB端口数据交换控制器和协议命令解释器”来实现基于USB通讯协议的主计算机与TCC、DTB、CAN数据采集控制器、CPU之间的数据交换。它的每个数据包大小是512字节(USB2.0协议下)。它使用主控模式即地址I/O模式对下部初始化、设置采样参数、读取状态等功能。使用从属模式的(被动)即批量数据传输模式读取采样得到的大批量数据到上位计算机。
USB2.0C控制模块与USB端口数据交换控制器和协议命令解释器、双口RAM和主节点采集控制器的调度需要由软件进行控制。它是以FPGA作为硬件平台,通过NIOSIP核16位CPU实现。NIOS IP核16位CPU软件包括以下几个部分:采集控制通讯主程序,USB通讯命令解释子程序,数据交换子程序。
如前述,USB2.0C控制模块有两种数据传输模式,分别是主动式地址IO模式和被动式DMA批量传输模式,主动式地址IO模式用于上位计算机对测井仪器测试系统工作方式的控制,被动式DMA批量数据传输模式用于上位计算机与测井仪器测试系统之间的大数据量的数据交换。
FPGA上嵌入的NIOSIP核16位CPU程序控制USB通讯程序步骤如下:
a.开始NIOS IP核16位CPU等待来自USB2.0C控制模块的中断,有中断则嵌入NIOS IP核16位CPU从USB端口(地址0到地址31)中读取上位计算机通过USB2.0C控制模块传来的对测试系统工作方式的控制命令,并对这些控制命令进行分析,决定其工作方式。
b.通过分析确定测试系统要运行的工作模式类型,包括:CAN总线仪器测试模式、DTB总线测试模式或TCC电缆测试模式,并将测试所需的初始化信息一并读出,这些信息包括总线速率参数、每仪器指令个数、指令类型、待测仪器组合数量和各自需要上传数据块的大小等。
c.在确定的工作模式下,通过分析命令类型,CPU根据仪器组合数量再次到外部USB2.0C控制模块FIFO中读取这些仪器的命令数据,根据待测仪器种类分离出每种仪器地址号码、上传数据长度数值和仪器下发命令数据并存放在相应寄存器组。
d.嵌入NIOS IP核16位CPU根据仪器地址号码和仪器数量将仪器命令下发到仪器总线上待仪器节点接收处理,完毕后等待顺序接收各井下仪器上传数据。
e.CAN、DTB、或TCC仪器采集模块完成一个仪器数据块采集后在嵌入NIOS IP核16位CPU中断口上产生数据请求中断,嵌入NIOS IP核16位CPU响应后接收该仪器数据,存放在与仪器地址相应的数据暂存区。
f.待嵌入NIOS IP核16位CPU将所有仪器命令都发送完、所有仪器数据都接收完后,就将整个仪器数据发送到外部USB2.0控制模块FIFO中,写USB2.0C控制模块端口产生发数中断,使外部嵌入式USB2.0C控制模块打包以DMA方式向上位计算机发送数据包(每包512字)。
g.重复以上过程。
本实用新型的主要特点就是使用成型的嵌入USB2.0协议的USB2.0C控制模块,达到测试系统与上位计算机之间的高速USB串行通讯和大数据量的数据交换功能,其次就是在FPGA上使用集成的嵌入NIOS核16位CPU来控制井下仪器测试的工作模式选择,控制仪器数据采集和测试系统与上位机之间的数据交换。
附图说明
图1 USB接口实时数据采集控制器硬件结构示意图。
图2a USB接口实时数据采集控制器通讯采集控制软件主程序部分。
图2b USB接口实时数据采集控制器通讯采集控制软件主程序部分。
具体实施方式
如图1所示,USB接口采集控制器包括一个嵌入式USB2.0C控制模块2,一个FPGA芯片3,USB2.0C控制模块2是一个专用的高性能USB接口器件,符合通用串行总线USB2.0版规范,高速DMA读写控制,读写速度大于160Mbps,简化的标准外部总线:双向8位数据总线,5位单向输出地址总线和9根读写控制线。FPGA芯片3内部集成了以下单元:一个USB端口数据交换控制器和命令解释单元4;一个数据交换双口RAM存储器5,其包含了状态交换区11、下发命令区12和上传仪器数据区13;一个嵌入NIOS IP核16位CPU 6,主节点采集控制器7,DTB总线接口模块8,TCC总线接口模块9和CAN控制总线接口模块10;DTB总线接口模块8,TCC总线接口模块9和CAN控制总线接口模块10分别与对应的一个DTB总线收发电路14,一个TCC电缆收发电路15,一个CAN协议器和收发器电路16连接。
USB端口数据交换控制器和协议命令解释器4是集成在FPGA芯片3上的硬件,它由主动式IO控制模块和被动式DMA方式控制模块两部分构成。上位计算机1使用主动式I/O方式对测试系统的工作方式进行控制。在主动I/O模式模块中构造了32个寄存器,它们是:测试系统的工作方式控制寄存器(地址0,NIOS IP软核CPU只读),测试系统对继电器开关的控制积存器(地址1,只读),保留寄存器(地址2-29,空留),对测试系统主控制命令的中断产生寄存器(地址30只写),对测试系统接收传输命令的中断产生寄存器(地址31)。
被动式DMA方式模块使用于上位机算机与测试台架之间的收发数据(大数据量)交换,被动式DMA方式模块中也构造了32个寄存器,它们是:从USB口读数据寄存器(地址0只读),写数据到USB口(地址1只写)从USB端口读指示信号(buffer_empty and buffer_fuU)(地址2只读)清除发送中断指示(地址3只写)。发送pktend信号(地址4只写)。保留寄存器(地址5-31保留)。
上位计算机与嵌入NIOS IP核16位CPU之间的数据交换使用了上述两种方式的传输,方法如下:首先使嵌入式USB2.OC控制模块2定义为主动IO方式,上位计算机1通过USB2.0C控制模块向USB端口数据交换控制器和协议命令解释器4写入关于工作方式控制的命令数据到测试系统的工作方式控制寄存器(地址0)和测试系统对继电器开关的控制积存器(地址1),并向对测试系统主控制命令的中断产生寄存器(地址30)写一个操作数(任意值)使之向嵌入NIOS IP核16位CPU产生中断,供解析后初始化测试系统,使测试系统工作于某固定工作方式下。上位计算机1把将要下传的命令数据送USB2.0C控制模块2的接收FIFO中,发送完毕后重新定义USB2.0C控制模块2处于被动DMA模式,在主动式地址31处产生一条写命令,向NIOS IP软核CPU产生一次传输命令中断。同时NIOS IP软核CPU在检测到地址31的中断后,将USB2.0C控制模块2的接收FIFO中的有效传输数据读入到数据交换缓冲区双口RAM 5的下发命令区12中,直到读空FIFO为止,并对命令进行解析和传输。
嵌入Nios IP核16位CPU 4接收其他设备(DTB、TCC或CAN)的上传数据后,送入USB2.0C控制模块的发送FIFO中,数据发送完成后,嵌入NiosIP核16位CPU 4产生一条Packend信号,通知上位计算机接收数据,同时嵌入Nios IP核16位CPU检测USB2.0C控制模块2的FIFO满信号,如果发送缓冲满,则等待上位计算机将数据读走后再进行剩余数据的发送。上位计算机通过USB自动FIFO接收和Packend信号可得到测试系统提供的全部数据。
数据交换双口RAM存储器5是在FPGA芯片3上集成(构造的)一个8K×16位的双口RAM,它受控于嵌入NIOS IP核16位CPU 4,是上位计算机1经外嵌入USB2.0C控制模块和经DTB总线接口模块8或TCC接口模块9或和CAN总线接口模块10相连的井下仪器数据交换缓冲区,它分成状态交换区11、下发命令区12及上传仪器数据区13共3个区。下发命令区12存放通过USB2.0C控制模块传来的下发命令/数据;上传数据区13存放由CAN/DTB或TCC通过电缆传输采集的测试控制器接收的井下上传数据;而状态交换区11则保存两边单元电路的工作状态参数,它具有中断发生器功能通知两侧处理器数据或命令的接受结束。
DTB总线接口模块8、TCC总线接口模块9和CAN控制总线接口模块10,是FPGA芯片3上集成的3种模式下井下仪器命令编码调制下发和仪器数据编码上传解调采集硬件,他们分别工作于DTB模式、TCC模式和CAN模式下,上位机算计初1始化后只选择其中一种工作模式。
CAN总线接口模块10为嵌入NIOS IP核16位CPU6与CAN协议器之间的读写控制接口电路,负责初始化CAN协议器和CAN工作模式下从协议器读取CAN仪器数据。CAN协议器和总线收发器电路16主要包括CAN协议器和CAN总线收发器两部分。CAN协议器电路主要是根据CAN总线协议对命令和数据进行相应的格式转换;CAN收发器电路用于总线信号的差分接收和驱动发送。
TCC接口模块9是电缆遥测模式下的仪器接口,负责将嵌入NIOS IP核16位CPU 6从上位机算计收到的此类仪器的命令数据以BPSK方式编码调制,经过TCC电缆收发电路15驱动后下发到井下遥测短节,再同步下传到井下组合串之各仪器。它也把井下仪器通过遥测短节BPSK的编码仪器上传来的数块据解调,经过主节点采集控制器7顺序存放于双口RAM 5的上传仪器数据区13中。
DTB总线接口模块8为测试系统直接连接井下DTB仪器而不使用井下TCC遥测短节方式,嵌入NIOS IP核16位CPU 6通过主节点采集控制器7把存放于双口RAM 5的下发命令区12中的仪器命令数据按照仪器地址码排列先后顺序发送到DTB总线接口模块8中,按照DTB三总线仪器命令格式的约定,经FPGA芯片3片外的DTB总线收发器电路14驱动后送到DTB仪器总线上。井下DTB仪器串送来的各自数据包经过DTB总线收发器电路14接受后通过主节点控制器采集控制单元7顺序存放于双口RAM 5的上传仪器数据区13中。
Claims (1)
1.一种USB接口实时数据采集控制器,其特征在于:它是由一个嵌入式处理器FPGA芯片和一个嵌入式USB2.0C控制模块构成;嵌入式处理器FPGA芯片包括:一个嵌入NIOS IP核16位CPU,一个USB端口数据交换控制器和协议命令解释器,数据交换双口RAM存储器,主节点采集控制器,连接测井仪器的遥测TCC接口模块、DTB总线接口模块和CAN总线接口模块,嵌入NIOSIP核16位CPU通过主节点采集控制器与数据交换双口RAM存储器连接,数据交换双口RAM存储器同时与USB端口数据交换控制器和协议命令解释器连接,USB端口数据交换控制器和协议命令解释器与嵌入式USB2.0C控制模块连接,嵌入NIOS IP核16位CPU通过主节点采集控制器连接测井仪器的遥测TCC接口模块、DTB总线接口模块和CAN总线接口模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNU2007201703870U CN201075248Y (zh) | 2007-08-27 | 2007-08-27 | 一种usb接口实时数据采集控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNU2007201703870U CN201075248Y (zh) | 2007-08-27 | 2007-08-27 | 一种usb接口实时数据采集控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN201075248Y true CN201075248Y (zh) | 2008-06-18 |
Family
ID=39520507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNU2007201703870U Expired - Lifetime CN201075248Y (zh) | 2007-08-27 | 2007-08-27 | 一种usb接口实时数据采集控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN201075248Y (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760105A (zh) * | 2012-06-13 | 2012-10-31 | 深圳市汇川控制技术有限公司 | 实现本地主从模块间的通信的系统及方法 |
CN103019230A (zh) * | 2012-12-16 | 2013-04-03 | 重庆望江工业有限公司 | 数字式交流随动系统测试系统 |
CN104219183A (zh) * | 2013-06-05 | 2014-12-17 | 中国石油天然气集团公司 | 一种基于Nios软核的井下调制解调器及方法 |
CN105653477A (zh) * | 2015-12-21 | 2016-06-08 | 南京亚派科技股份有限公司 | 一种基于双口ram的fpga内部硬核与软核通信的方法 |
CN106527402A (zh) * | 2016-12-02 | 2017-03-22 | 深圳市紫光同创电子有限公司 | 一种fpga调试转换设备、系统及方法 |
CN108647166A (zh) * | 2018-04-25 | 2018-10-12 | 济南浪潮高新科技投资发展有限公司 | 一种基于Microblaze的USB接口数据与CAN接口数据的转换方法 |
CN113626362A (zh) * | 2021-07-07 | 2021-11-09 | 北京控制与电子技术研究所 | 一种基于双口ram的cpci总线与控制电路通信接口 |
-
2007
- 2007-08-27 CN CNU2007201703870U patent/CN201075248Y/zh not_active Expired - Lifetime
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760105A (zh) * | 2012-06-13 | 2012-10-31 | 深圳市汇川控制技术有限公司 | 实现本地主从模块间的通信的系统及方法 |
CN102760105B (zh) * | 2012-06-13 | 2016-08-10 | 深圳市汇川控制技术有限公司 | 实现本地主从模块间的通信的系统及方法 |
CN103019230A (zh) * | 2012-12-16 | 2013-04-03 | 重庆望江工业有限公司 | 数字式交流随动系统测试系统 |
CN104219183A (zh) * | 2013-06-05 | 2014-12-17 | 中国石油天然气集团公司 | 一种基于Nios软核的井下调制解调器及方法 |
CN104219183B (zh) * | 2013-06-05 | 2018-08-14 | 中国石油天然气集团公司 | 一种基于Nios软核的井下调制解调器及方法 |
CN105653477A (zh) * | 2015-12-21 | 2016-06-08 | 南京亚派科技股份有限公司 | 一种基于双口ram的fpga内部硬核与软核通信的方法 |
CN106527402A (zh) * | 2016-12-02 | 2017-03-22 | 深圳市紫光同创电子有限公司 | 一种fpga调试转换设备、系统及方法 |
CN108647166A (zh) * | 2018-04-25 | 2018-10-12 | 济南浪潮高新科技投资发展有限公司 | 一种基于Microblaze的USB接口数据与CAN接口数据的转换方法 |
CN108647166B (zh) * | 2018-04-25 | 2021-04-27 | 浪潮集团有限公司 | 一种基于Microblaze的USB接口数据与CAN接口数据的转换方法 |
CN113626362A (zh) * | 2021-07-07 | 2021-11-09 | 北京控制与电子技术研究所 | 一种基于双口ram的cpci总线与控制电路通信接口 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN201075248Y (zh) | 一种usb接口实时数据采集控制器 | |
US7953828B2 (en) | Distributed networked data acquisition device | |
CN101345629B (zh) | 一种双现场总线接口转换器 | |
CN103248537B (zh) | 基于fc‑ae‑1553的混合航电系统测试仪 | |
CN105208034B (zh) | 一种spi总线与can总线协议转换电路及方法 | |
CN203733117U (zh) | 接口连接主处理器与从处理器的系统 | |
CN107908587A (zh) | 基于usb3.0的实时数据采集传输装置 | |
CN104614593A (zh) | 一种基于自校准的高精度智能仪表系统及其应用方法 | |
CN101923440A (zh) | 一种高速异步数据采集系统 | |
CN103777529A (zh) | 一种速变信号采编器 | |
CN103192545A (zh) | 基于以太网的液压机运动控制器以及控制系统和控制方法 | |
CN104866444B (zh) | 一种分布式pos用数据存储计算机系统 | |
CN101666651A (zh) | 一种激光陀螺捷联系统的导航计算机 | |
KR100954568B1 (ko) | 집적 회로 내에서의 진단 데이터 수집 장치 및 방법 | |
CN102967326A (zh) | 一种基于Nios II处理器的编码器接口测试装置 | |
CN103323006A (zh) | 基于omap的光纤陀螺捷联系统的导航计算机 | |
CN101469990A (zh) | 一种双cpu嵌入式导航计算机 | |
CN103984663B (zh) | 一种并行体制的多样性星载电子设备 | |
CN101778038B (zh) | 基于千兆以太网的嵌入式设备高速数据传输系统 | |
CN1879096A (zh) | 从AMBAAHB总线协议到i960-like总线协议的总线接口转换装置 | |
CN205375086U (zh) | 一种多路温度检测系统 | |
CN109995433B (zh) | 一种用于石油测井设备的光纤数据传输装置 | |
CN100423039C (zh) | 一体化自动集成测试系统 | |
CN203772429U (zh) | 一种单总线温度监测装置 | |
CN100462952C (zh) | 接口可配置的通用串行总线控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20080618 |