积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 接口设计 >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
BRDF测量系统中高速串行接口的设计
 
作者:李文涛 洪津 张运杰 宋志平   来源:微计算机信息    点击数:140   更新时间:2008-4-24
您可以添加到网摘 让更多人关注此文章:

    

摘要:本文探讨了BRDF测量系统中利用串行接口芯片EZ-USB FX2实现PC机与光谱仪之间的高速串行通讯。给出了系统组成原理,USB接口芯片EZ-USB FX2 CY7C68013的功能介绍和基于“Slave FIFOs”方式实现高速串行通讯的软硬件设计方法。
关键词:BRDF 串口通讯 光谱仪 EZ-USB FX2

Abstract:  The paper primarily discusses high-speed serial communication between personal computer and radiometer based on serial interface EZ-USB FX2 in BRDF measuring system. System principle,the description of EZ-USB FX2 CY7C68013, the hard ware design and the software design have been present.

Key Words: BRDF,Serial Communication,Radiometer,EZ-USB FX2

 

1. 引言

在遥感领域中,遥感信息定量化及多角度遥感的发展都要求获取测量目标的BRDF(双向反射比分布函数)。这就需要一种可同时测量阳光入射辐照度和样品反射辐亮度的测量系统,而一个好的通讯接口的设计将会在很大程度上提高整个系统的工作效率,也会给使用者带来极大方便。传统的主机与外设的通讯接口一般是基于PCI总线、ISA总线或者是RS-232C串行总线。PCI总线插拔麻烦,且扩展槽有限(一般为5~6个),ISA总线存在同样的问题,RS-232C串行总线传输速度慢(56kbps),且主机的串口数目也有限。通用串行总线(Universal Serial Bus,简称USB)具有安装方便、高带宽、易扩展等优点。本文探讨一下在BRDF测量系统中利用EZ-USB FX2实现高速串行通讯的软硬件设计方法。

2. 系统组成

2.1 测量系统的特点

测量系统可以在室外自然条件下完成样品上半球BRDF数据的测量和采集。模块化设计,使其可拆卸运输,组装方便。系统中的光谱辐亮度计和辐照度计均可作为独立的仪器使用,配备主动光源后,可在室内进行BRDF测量。它可同时测量阳光入射辐照度和样品反射辐亮度,显著降低测量周期内太阳高度角和大气条件改变对测量结果的影响,提高了测量精度。

2.2系统总体框图

图1测量系统总体框图

测量系统总体框图如图1所示。该系统由光学探测头和控制箱两个主要部分组成,光学探测头安装于天顶弧小平台上,二者由电缆进行连接。测量系统工作时,光辐射信号经光栅分光后,由线阵探测器接收所得到的在一定波长范围内的光谱辐射信号,转换成相应大小的模拟电信号。所得到的模拟电信号通过长电缆传输至控制箱里,再由单片机控制进行A/D转换、多条曲线平均、插值等处理,完成后将多条光谱数据存入大容量的静态存储器中。最后,控制箱再通过USB2.0高速串行接口将数据传输至系统控制主机(PC机)。

3. 通讯接口硬件设计方案

3.1 EZ-USB FX2 CY7C68013功能介绍

EZ-USB FX2 CY7C68013是世界上第一款集成USB2.0的微处理器,它集成了USB2.0收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。该芯片的结构图如图2所示。

图2 EZ-USB FX2模块

FX2这种独创性结构可使数据传输率达到56Mbytes/s,即USB2.0允许的最大带宽。在FX2中,智能SIE可以处理许多USB1.1和USB2.0协议,从而减少了开发时间和确保了USB的兼容性。GPIF(General Programmable Interface)和主/从端点FIFO(8位或16位数据总线)为ATA、UTOPIA、EPP、PCMCIA和DSP等提供了简单和无缝连接接口。

其主要特性如下:

●带有加强的8051内核性能,可达到标准8051的5~10倍,且与标准8051的指令完全兼容;

●集成度高,芯片内部集成有微处理器、RAM、SIE(串行接口引擎)等多个功能模块,从而减少了多个芯片接口部分需要时序配合的麻烦;

●具有易用的软件开发工具,该芯片开发系统的驱动程序和固件的开发和调试相互独立,可加快开发的速度。

3.2 方案选择

FX2有三种可用的接口模式:端口模式、GPIF主控模式和Slave FIFOs模式。

在“端口”模式下,所有I/O引脚都可作为8051的通用I/O口。“GPIF主控”接口模式使用PORTB和PORTD构成通向四个FX2端点FIFO( EP2  EP4EP6  EP8)的16位数据接口。GPIF作为内部的主控制器与FIFO直接相连,并产生用户可编程的控制信号与外部接口进行通信。同时,GPIF还可以通过RDY引脚采样外部信号并等待外部事件。在Slave FIFOs模式下,外部逻辑或外部处理器直接与FX2端点FIFO相连。在这种模式下,GPIF不被激活,因为外部逻辑可直接控制FIFO。这种模式下,外部主控端既可以是异步方式,也可以是同步方式,工作时钟可选为内部产生或外部输入,其它控制信号也可灵活地设置为高有效或低有效。为了充分利用EZ-USB FX2内部的特殊机制来达到更高的传输速率,我们采用Slave FIFO模式。在整个传输过程中,并不要求8051对数据进行处理,采用自动打包的方式(置AUTOIN=1),数据经过FIFO直接发送到PC机。图3所示是EZ-USB FX2在Slave FIFOs模式下与外部电路连接的示意图。

图3 EZ-USB FX2在“Slave FIFOs模式”

4. 系统软件设计

4.1 设备固件(Firmware)设计

CYPRESS公司的EZ-USB FX2开发套件提供给用户一个固件函数库(Ezusb.lib)和固件框架(Frame work),两者均是基于KEIL C51进行开发的。固件函数库提供了一系列的函数来加速USB固件程序的开发,使用时只需在程序中包含EZUSB.H和EZREGS.H两个头文件,并在项目中链接Ezusb.lib就可以直接使用固件库中的各个函数了。

    在使用固件框架来进行特定的固件开发时,固件框架已经帮我们实现了初始化、重枚举、源管理等功能。对用户而言,只需要在固件架构的预留位置处添加代码,就可以完成特定的功能,从而开发出一个功能完善的USB外设。在TD_init()函数中添加功能代码,完成初始化以及端点配置等工作,并在TD_poll()函数中添加其它代码来完成各种辅助功能。

固件初始化代码如下:

void TD_Init(void)            

{

CPUCS = ((CPUCS &bmCLKSPD) | bmCLKSPD1) ; //设置CPU时钟为48Mhz

EP2CFG = OxAO; // EP2为bulk传输方式,方向OUT,尺寸512,4倍缓冲

EP4CFG = 0x00; // EP4 未使用

EP6CFG = OxEO; // EP6为bulk传输方式,方向IN,尺寸512,4倍缓冲

FIFORESET=0x80;//设置NAKALL bit

FIFORESET=0x02;

FIFORESET=0x06;//复位EP6 FIFO

FIFORESET=0x00;//清空NAKALL位,恢复至一般操作模式

EP2FIFOCFG=0x01;//设置EP2 FIFO

EP2FIFOCFG = 0x11; //设置EP2 FIFO自动输出模式

EP6FIFOCFG = 0x09; //设置EP6 FIFO自动输入模式

EP6AUTOINLENH=0x06;//EP6每次自动传输1024字节

……

}

void TD_Poll(void)

{

//因为设置为自动传输模式,所以此函数中不必添加任何代码

}

4.2主机应用程序设计

应用程序设计由两个部分组成:动态链接库和应用程序。动态链接库负责与内核态的USB功能驱动程序通信并接收应用程序的各种操作请求,而应用程序则负责对所采集的数据进行实时显示、分析和存盘。应用程序使用VC++6.0进行开发。

EZ-USB FX2开发套件提供了主机端驱动程序(ezusb.sys),可适用于绝大多数实际应用。在编写主机应用程序的时候,只需调用相应的WIN32 API函数向驱动程序提交各种申请,就能由驱动程序来完成相应的读、写数据等各种功能。

  void TransferThread(PTHREAD_CONTROL threadControl)

{

  threadControl->status = DeviceIoControl (threadControl->hDevice,

                                             threadControl->Ioctl,

                                             threadControl->InBuffer,

                                             threadControl->InBufferSize,

                                             threadControl->OutBuffer,

                                             threadControl->OutBufferSize,

                                             &threadControl->BytesReturned,

NULL);

// 调用DeviceIocontrol()函数

  if (threadControl->completionEvent)

     SetEvent(threadControl->completionEvent);

  return;

}

    应用程序首先调用API函数Createfile()打开设备,并返回设备的句柄,然后调用DeviceIocontrol()函数,通过返回的句柄把申请服务的代码(IOCTL)和相应的输入输出缓冲区提交给驱动程序,由驱动程序完成相应的服务。

5. 结论

本文介绍了BRDF测量系统,给出了在此系统中利用串行接口芯片EZ-USB FX2实现PC机与光谱仪之间高速串行通讯的软硬件设计方法。经调试运行证明,该设计方案可以实现PC机与光谱仪之间的高速串行通讯。

本文作者创新点:

    BRDF测量系统对遥感信息定量化及多角度遥感的发展都有很大帮助.在此系统中,利用Cypress公司提供的开发套件开发USB2.0高速串行接口可以在很大程度上节省学习时间,加快开发速度。所开发的高速串行接口具有可靠性高、抗干扰性强、连接简单,便于数据传输和处理等优点,因而具有良好的应用前景和很大的实用价值。

参考文献:

[1] 栗兆剑,高岳,白力。基于Visual C++.NET的照度信号串口通信[J].微计算机信息, 2004,20-8:66-67,32。

[2] 马明建。数据采集与处理技术[M].西安交通大学出版社。2005(3)。

[3] 龚建伟,熊光明。Visual C++/Turbo C串口通信编程实践[M].电子工业出版社。2004(10)

[4] 王宇明.遥感技术及其应用[M].人民交通出版社。1991(7)。



相关文章
· 51单片机IO口模拟串口通讯C源程序[229]
· 串口通讯的概念及接口电路[253]
· WinCE串口驱动分析[279]
· 基于“Jupiter”GPS接收机的应用设计[597]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
那一年我做了鸭子2
那一年我做了鸭子1
等你十年(下)
等你十年(上)
什么是打标机
★★★成都嵌入式培训-FPGA开发周
英飞凌在功率电子市场表现抢眼,以高于
LED奥运会大放光芒 功率
三星同意将Symbian股份出售给诺
英特尔收购Opened H
 
热门下载 [更多]
 
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
[ ] 实用电源电路集锦
 
论坛新帖 [更多]
 
新店开业,部分开发板&元器件特...
[原创]VB编程RS232串口...
红外摄像机控制故障分析与处理方...
红外防水摄像机在智能视频监控中...
步进电机不用驱动芯片能驱动吗?...
我要选一块双串口,带AD的单片...
[分享]运放和功放的区别是什么...
4×4矩阵式键盘的课程设计...
做过高速信号滤波的高手帮忙...
做视频信号放大器,各位有什么好...

 
赞助商 [更多]
 


ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网