热线电话:

厦门莫格电气自动化有限公司

主营:PLC可编程控制器模块,DCS卡件,ES...

商铺首页 > 新闻动态 > ICS T8461
厦门莫格电气自动化有限公司
8
企业等级: 普通会员
经营模式:
所在地区: 福建 厦门
联系卖家:    QQ在线咨询1982497648
手机号码:
公司官网:
公司地址:

ICS T8461

发布时间:2019-08-27 03:51:04        

ICS T8461

   

  USB(通用串行总线)安装过程简单,不必考虑资源分配,不必关掉计算机电源,易扩展(可扩充至127个外部设备)。随着USB升级到2.0标准,USB2.0总线的传输速度理论上可高达480 Mbit/s,不仅使USB总线完全能满足需要大批量数据交换的外设的要求,而且使USB总线可应用于实时信号处理系统。

       USB总线有以下4种数据传输方式:

       a)控制传输:主要用于主机把命令传给没备及设备把状态返回给主机。任何一个USB设备都必须支持一个与控制传输类型相对应的端点0。
       b)中断传输:用来支持那些偶然需要少量数据通信、但服务时间受限制的设备。
       c)

批量传输:用来传输大量数据而没有周期和传输速率严格要求的设备上。
       d)同步传输:要求恒定速率,发送方和接收方都必须保证传输速率的匹配,不然会造成数据的丢失。

       本系统中需要传输的数据量较大,且传输时机受设备控制。因此采用中断传输+批量传输的设计方法,即PC主机起始使用中断传输端点,采用中断传输方式轮询设备,如果发现设备有数据需要传输,立即转到批量传输端点,在真正的数据传输过程中,采用批量传输方式传输数据。

       2 ISP1581简介

       
ISP1581是Philips公司推出的一种价格低、功能强大的USB设备接口芯片,完全符合USB2.0规范。ISP1581需外接微控制器或微处理器对它进行控制,它支持与大多数MCU和DSP的连接。ISP1581的外部接口有通用处理器模式和断开总线模式(由引脚BUS_CONF控制)。在断开总线模式下,处理器接口使用多路复用的8位地址/数据总线AD[7..0]和单独的DMA(直接存储器存取)总线DATA[15..0]。本系统采用断开总线模式、16位数据总线的***(主机DMA)方式。

       3 硬件设计

       
系统的总体结构框图如图1所示。其中USB接口芯片选用ISP1581,EPLD选用EPM7128S,MCU选用的是Cygnal的c8051f120单片机。

系统的总体结构框图

 系统设计思路如下:ISP1581和MCU的连接采用断开总线模式,数据传输使用***模式,ISP1581的16位DMA总线与FIFO的输出端相连,A/D模块的16位数据输出总线与FIFO的输入端相连。FIFO的写信号由定时芯片8254根据A/D采样频率产生,FIFO的读信号直接由ISP1581的DIOR给出(***模式下),***开始传输信号也由8254产生,连接到MCU的一个中断引脚,用于启动***。ISP1581和8254的片选信号以及8254的地址、数据、控制等信号均在EPLD内产生。通过8254和EPLD的设置,可以保证FIFO读和***写时序的配合。在本系统中,c8051f02x需要大量访问ISP1581的内部寄存器,因为c8051f系列采用数据空间和I/O空间统一寻址方式,必须采用full memory模式,即将ISP1581作为一个普通外设映射到c8051f02x外部存储空间的I/O空间。综上,***后的接口电路见图2。图中mode0、model、bus_conf等信号需要外接上拉下拉电阻。

硬件接口电路

4 固件程序设计

       
本系统的固件程序包括单片机固件编程和EPLD方程设计两部分。单片机固件编程用于完成对ISP1581控制,处理主机发送来的一切请求,启动MD-MA开始传输命令等;EPLD方程设计用于产生各种外设的片选等,控制***传输及FIFO、8254等外围芯片的时序配合。

4.1 单片机固件编程

       
单片机程序处理一切由主机发送来的USB请求(包括标准请求和自定义的厂商请求),并进行相应的数据接收和发送。本系统使用cygnal的e8051f系列单片机,所以相应使用该单片机配套的silieon Labora-tories IDE集成开发环境,采用C51语言编程,使用该系列单片机配套的U-EC3仿真器,可以设断点、在线编程、即时仿真、在线查看单片机内部寄存器的值。因为c8051f系列采用数据空间和I/O空间统一寻址方式,对ISP1581所有寄存器的访问均与单片机对普遍外设的访问方式相同。需要指出的是,C8051f12x系列单片机速度很快(***快可以达到100 MHz),且指令较传统ISP8051系列有很大优化,大多数指令为单指令周期,这对提高DMA传输速度很有帮助,因为每次DMA传输有很多地方需要单片机的参与,具体参见下面"处理DMA请求"部分。下面***论述使用***部分的固件程序设计。

       1)***传输初始化

       
功能包括:
       a)设置DMA配置寄存器,指定DMA传输的数据总线位数(本系统用16位数据总线)。
       b)设置DMA硬件寄存器,指定DMA传输方式(***还是GDMA)以及设置DACK、DIOW、DIOR、DREQ信号的极性。本系统使用***方式,设置这些信号为低有效。
       c)设置DMA中断使能寄存器,***指定中断源。我们设置可以产生DMA中断的源有内部EOT信号和DMA传输结束(即DMA传输计数器值变为0)。需要注意的是,此处DMA中断使能寄存器不同于ISP1581的中断寄存器,两者的设置方法不同。
       d)设置选通时间寄存器,指定MDAMA方式下DIOW或DIOR的周期。应在满足ISF1581***小读写周期的前提下,使该周期尽可能小,这可以显著提高DMA传输速度。经测试,应设置该寄存器的值为001。这部分代码可以放在程序的起始部分,需要注意的是,在初始化ISP1581的各寄存器时,应首先设置DMA命令寄存器为Ox11,使其处于上电复位状态。

       2)处理DMA请求

       
主机发送指定传输大小的DMA读的厂商请求后(传输大小应等于每个中断间隔内A/D采样数据大小,以保证所有采样数据不会丢失),单片机响应该请求,进入相应函数处理DMA请求。具体编程如下:

       a)设置DMA端点寄存器,指定DMA传输使用的端点。需要注意,为防止DMA端点寄存器与当前使用的端点索引寄存器相同,应首先指定端点索引寄存器为一个与DMA端点寄存器不同的端点值。

       b)设置DMA传输计数器寄存器,指定本次DMA传输的字节数。当然,这个数越大,DMA传输的速度越快,但笔者经过测试发现,该数不要大于65535,否则可能***传输会失败。而且该数***好是512的整数倍,这可以保证没有短包传输。

       c)设置DMA命令寄存器为006(表示***读),开始***传输。

       d)程序应循环查询DMA中断寄存器的值,判断本次传输是否完成,如果完成,则清DMA中断寄存器,退出循环,完成本次DMA传输。


       3)中断程序设计

       
本系统中需要用到2个外部中断,分别对应2个中断程序。第1个中断函数用于读出并保存当前所有ISP1581发出的中断的拷贝。注意,我们不仅要保存中断寄存器的值,还要保存DMA中断寄存器的值。需要强调的是,因为ISP1581是全中断驱动的,所有的信息交互都通过中断完成,PC机对ISP1581的任何操作都会引起ISP1581相应的中断,进而单片机通过查询1581中断寄存器判断并处理中断。第2个中断函数是8254发给单片机的,当完成指定周期的A/D数据采样后,8254通过本中断程序通知单片机启动MD-MA开始传输标识,即转到上述"处理DMA请求"部分,读FIFO中的数据。本系统设计8254每隔5 ms左右产生一次中断,进行DMA传输。

       系统采用中断传输+批量传输的方法设计中断程序,即如果数据采集模块有数据需要传给主机,首先采用中断传输方式传输数据通知主机,方法是在本段函数的起始部分通过固定的中断传输端点发送8字节数据以与驱动程序部分吻合,然后使用批量传输端点实际传输数据;而主机端应用程序则不断轮询该中断传输端点,若接收到8个字节固定格式的数据,马上采用批量传输方式接收数据。该方法不但利用了中断传输方式的实时性(1 ms以内),而且充分利用了批量传输的高速率。若FIFO的读写和8254的时序设计得当,利用该方法,可以实现10 MB/s以上的数据录入。在实验中,我们已经做到了8 MB/s的录入速度。

       USB驱动程序

将另文详述。笔者认为,第1个中断程序的优先级应不低于第2个程序,这样可以保证ISP1581发出的所有中断可以立即得到执行。

       4.2 EPLD方程设计

       
EPLD的功能主要包括提供ISP1581的cs及DREQ信号,提供8254的片选、地址、数据、控制、时钟输入等信号,以及提供FIFO的FIFO_RESET、FIFO-WR、FIFO-RD等信号和A/D转换模块的CLK、START等信号。***是如何使用***传输的几个***重要信号DREQ、DACK、DIOW、DIOR、EOT信号。查询芯片手册,在***模式下,DREQ为输入信号,DACK、D1OW、DIOR、EOT为输出信号。也就是说,当设置DMA命令寄存器为006(主机DMA读)时,ISP1581开始不停地查询DMA请求信号DREQ是否为低,若DREQ为低,则传输开始;否则一直查询。因此,可在EPLD中设置DREQ接地,这样可以保证当设置DMA命令寄存器为006时,1581立即进行传输。D1OR为输出信号,由1581提供,可直接作为FIFO的读信号;FIFO的写信号由8254的一个输出引脚提供,8254应根据A/D采样频率初始化该定时器,输出该引脚。

       5 结束语

        
本文提出了一种使用USB2.0芯片。ISP1581实现数据采集系统的设计方案。***的DIOR周期为120 ns左右,因此ISP1581在主机DMA模式下,理论上***高传输速度应为约16.6 MB/s(1000/120×16=132.8 Mbit/s=16.6 MB/s)。在实验中,我们使用的主机端配置为Windows2000+PⅣ3.0 GHz+512 MBDDR RAM,在批量模式下传输速度现已达到13 MB/s~15 MB/s(主机配置不同,传输速度也会相应有所改变),中断模式下传输速度达到1 MB/s~1.5 MB/s(约每隔0.5 ms进行一次中断传输,每次传输512字节),基本达到ISP1581 ***方式下速度上限,且传输模式、每次采样时间间隔、每次采样数据大小均可通过软件调节。该系统现已实际投产,应用于某雷达。

免责声明
• 本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 304108043@qq.com
  • QQ在线咨询1982497648
  • 手机:
  • 联系我时务必告知是在产品网上看到的!

厦门莫格电气自动化有限公司

商铺|诚信档案

地址:

电话:传真:

免责声明:以上信息由会员自行提供,内容的真实性、准确性和合法性由发布会员负责,产品网对此不承担任何责任。产品网不涉及用户间因交易而产生的法律关系及法律纠纷, 纠纷由您自行协商解决。

风险提醒:本网站仅作为用户寻找交易对象,就货物和服务的交易进行协商,以及获取各类与贸易相关的服务信息的平台。为避免产生购买风险,建议您在购买相关产品前务必 确认供应商资质及产品质量。过低的价格、夸张的描述、私人银行账户等都有可能是虚假信息,请采购商谨慎对待,谨防欺诈,对于任何付款行为请您慎重抉择!如您遇到欺诈 等不诚信行为,请您立即与产品网联系,如查证属实,产品网会对该企业商铺做注销处理,但产品网不对您因此造成的损失承担责任!

联系:304108043@qq.com是处理侵权投诉的专用邮箱,在您的合法权益受到侵害时,欢迎您向该邮箱发送邮件,我们会在3个工作日内给您答复,感谢您对我们的关注与支持!

商铺首页 | 公司概况 | 供应信息 | 新闻动态 | 诚信档案 | 联系我们 |

厦门莫格电气自动化有限公司 电话: 传真: 联系人:

地址: 主营产品:PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测系统卡件,汽轮机控制系统模块,燃气发电机备件

Copyright © 2025 版权所有: 产品网

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。

商盟客服

您好,欢迎莅临,欢迎咨询...