1.艾诺 NOVO7烈焰 支持蓝牙GPS模块吗?

2.GPS芯片的GPS种类介绍

3.怎样让笔记本电脑使用GPS?

4.用串口转usb接口的模块可以实现上位机与plc和单片机之间的通讯么

gps模块usb接口定义_gps模块usb驱动

E239 andriod2.2系统正式版升级傻瓜教程

我是第一次刷机的菜鸟,虽然升级成功了,但走了弯路,浪费了不少时间。为了让跟我一样的菜鸟们不走弯路,特地写了这一教程,但愿给您一些帮助。

特别提醒:升级前请先备份本机重要资料,升级时会丢失所有的资料.

一、安装从酷派论坛下载的几个软件:

安装过程中,记得在桌面上保留快捷方式。与其它软件的安装相同。

1、VIA_Module_File_Downloader_1.04.110418

2、Android_DownloadV1.13.2011.05.17_setup

二、安装USB驱动

1、(手机与电脑脱离的情况下操作)打开“拨号盘”,输入:“*20060606#”,点击拨出,便可进入所谓的“工程模式”。再打开其中的“升级模块”。当您在手机上看到:“已进入模块升级模式,禁止在手机上进行其它操作,升级完成后请重启手机!”时,表明您已经进入了“工程模式”了。

2、把手机用数据线与电脑连接,电脑中会自动弹出安装新硬件驱动程序的提示,不能自动安装,要选择“从列表或指定位置安装(高级)”选项,点击下一步(如图1界面)。

3、选择“在这些位置上搜索最佳驱动程序”和“在搜索中包括这位位置”两个选项(如图2界面),然后再点击“浏览”按钮,会弹出新的对话框(如图3界面)。

4、浏览您电脑中的文件夹,查找到从论坛下载的USB驱动20101212驱动程序所在的文件夹,并根据您的电脑的操作系统选择驱动的安装,我的系统是XP,所以我选择XP文件夹(如图3界面)。选择完成后,点击“确定”按钮,再根据系统的提示进行安装。

提醒:共会弹出4次对话框,安装4个驱动程序。请重复4次上面的步骤。

驱动安装完成后,点击电脑桌面上的“我的电脑”→选择“属性” →再选择“硬件” →“设备处理器”,如果您看到如下面所示的情况,表明驱动已经安装完成了。此时,可以把手机与电脑断开。

三、升级模块

1、双击桌面上图标,打开第一大点中所安装的的软件

“VIA_Module_File_Downloader_1.04.110418”,会出现如下的界面:

2、选中“下载CP”复选项,在弹出的文件浏览界面中选择软件版本路径下的“CP.rom"文件(即论坛下载的“00.07.11.YLV014.110714.E239”文件夹中的“CP.rom"文件,点击“打开”按钮。

3、点击上面第一幅图右上角的“开始”按钮,系统会自动进入等待设备连接的状态;(如图1)

4、重新插入数据线连接到电脑,对应的端口面板会自动检测到设备面自动启动升级并进入升级状态(如图2);

5、升级成功后,面板中会显示“升级成功等待设备断开”,同时面板变成浅绿色(如图3)。此时,表明模块升级成功了,您可以把手机和电脑断开了。

四、升级到2.2版本

升级前提醒:电池要有50%以上的电量!

1、为方便升级,C盘的根目录下新建一个文件夹,并把它更名为“E239DATA”,然后把从论坛下载的升级包即“113.113.P0.110827.E239.CPB”文件更名为其它的名字如“E239.CPB”,并把它复制到 “E239DATA”的文件夹中。

2、双击桌面上的 图标,打开安装好的“Android_DownloadV1.13.2011.05.17”程序,会出现“登陆窗口”界面,选择“管理员”,并输入管理员登陆密码:369,然后点击“登陆”按钮。

3、在新的窗口中,选择“下载配置”,系统会弹出“配置管理”对话框:

4、在“配置管理”对话框中进行以下几个操作:

① 格式化方式:可以是“全部格式化”或“分区格式化”;

②“下载内置”和“下载GPS酷派通”两项不选(选了也没用的)

③ 选择“下载CPB”筛选框;

④ 点击“选择文件夹”按钮,在弹出的对话框中找到C盘根目录下的“ E239DATA”文件夹,再点击“确定”按钮,系统会自动开始校验;

几秒钟后,校验条变成绿色时,会提示“CPB数据已经校验成功,可以下载”,此时可以点击“确认”按钮,准备下一步升级;

5、把手机关机(里面一定要有电池),然后把手机通过数据线与电脑连接,此时,软件将会提示“检测到连接设备,等待下载”字样:

重新开启手机后,如果发现手机启动不了,那么,您可能要升级2次引导。反之,则不用。

升级两次引导的两种方法:

快速有技巧:看升级工具的进度,显示正在“System下载”时拔掉数据线,再重新升级;

慢速无技巧:第一次升级成功后,如发现开机在E239界面时定住启动不了时,再重新按第四大点中的要求升级一遍。

艾诺 NOVO7烈焰 支持蓝牙GPS模块吗?

如今,大部分电子狗都用GPS雷达预警,这种电子狗由于内置全国各地电子眼数据,准确性得到空前提高,但需要看到的是现在路况每天都发生着变化,哪些路段新增了电子眼,哪些删减了,如果电子狗不升级的话,就无法准确的侦测电子眼,相应的就会影响最终的预警效果,所以,电子狗升级是很有必要。

那么该如何升级电子狗呢?由于品牌和型号的不同,各电子狗的升级方法也会不一,所以在升级之前您要查看电子狗的品牌型号参数等信息,因为接下来会用到,而且非常重要。最简单省脑子的方法就是找到电子狗品牌的售后维修店,让专业人士帮您进行升级操作,而且一般情况下,都质保一年,一年当中去升级是免费的。只要您购买的正品,不是劣质的电子狗,售后方面肯定是没问题了。所以尽量到信赖、诚信度好的地方去购买,这样不仅方便日后的出行,同样也会使得使用较为方便。这种方法的优点是安全有保障,省心省力;缺点是比较麻烦,每次升级都需要找到电子狗的售后维修点,比较适合时间充裕的人群。

还有一种方法就是,找到一台可以上网的电脑,将电子狗连通电脑,找到该品牌的官方网站,在网上下载数据,一般在的下载或者支持导航一栏,按提示操作,选择型号,下载数据包,也并不复杂,下载完成后进行如下操作:

正常下载升级工具后,把机子和电脑连接起来后,打开升级工具,在电脑运行升级工具,选择你要升级的类型,接着将下载好的文件覆盖原来的文件,找到USB驱动下载后,连接电脑仍然找不到设备,可进行如下操作:

1、右键点击我的电脑——设备管理器——在通用串行总线控制器里查看是否有带**感叹号的USB驱动图标。

2、右键点击**感叹号图标,选择重新更新驱动程序,系统会自动安装驱动程序,安装成功后电脑右下角有移动硬盘标志,即可升级。

这种方法比较方便,但出错率较高,适合动手能力强,沉得住气的用户。

随着云时代的来临,有些电子狗集成了网络模块,如善领云狗等,通过云端实现自动升级,如果DSA数据有更新的话,只要用户开机就能收到提示,数据同步实时更新,无需手动操作,彻底告别传统定期上网升级数据方式,在方便程度上达到空前的高度。善领汽电作为汽车驾驶安全预警第一品牌,数据终身免费升级,有时候会给用户赠送一年的免费流量,故不用担心流量消耗问题。这种方法唯一的缺点就是受制于网络运营商的信号强弱影响,如果在信号差的偏远角落,有可能会导致升级不成功的问题。

GPS芯片的GPS种类介绍

支持蓝牙2.1,而且蓝牙模块相当不错,不过由于新驱动不完善对有些格式支持还有些问题。

没有GPS模块,也就是不支持卫星定位。而且从目前的情况看,用USB外接GPS也没什么指望,但据说可以用蓝牙接GPS手机实现导航仪的功能:

以下为实现该功能的方法,仅供参考

本文仅供有此需求的糯米们共同商讨

前言

平板是否能够通过某种方式与手机连接,使用手机GPS模块呢?

回答是肯定的,那么是通过什么方式解决呢?USB,还是WIFI热点,或是蓝牙方式?

艾诺组经过测试,终于找到了具体的解决方法。

首先我们测试了USB连接方式,不出意外地失败了,原因是:目前手机通过USB无法共享GPS,当然不排除将来会实现,但此法不在本文讨论范围。

硬件环境

手机用华为C8650(当然其它手机亦可,但手机需内置GPS模块)

平板当然是艾诺的啦(极光2、烈焰、旋风、精灵1 、骑士4.1.1已成功定位)

艾诺平板要成功获得ROOT权限,并安装RE文件管理器。

截止于9月5日,艾诺全部方案的平板电脑,用WIFI热点方式,均GPS定位成功!!!

导航软件

高德3D移动导航_5.2.8828.0051公众无限制版(含完整数据包)

连接方式

一、WIFI热点

二、蓝牙共享

===================================================

一、WIFI热点

此法对于手机和平板来说通用性较强,尤其对于烈焰之前的艾诺平板来说,可行性更为显著。

具体解决方法:

1、对于build.prop的修改

经查艾诺晶晨方案平板固件中的build.prop对于GPS初设均为false,我们先将其改为true,重启设备

build.prop文件位于/system/下,用RE文件管理器以编辑方式打开

找到:

# Disable GPS

gps.enable = false

将其改为:

# Disable GPS

gps.enable = true

对于艾诺全志方案平板固件来说,build.prop文件中没有此语句,可在build.prop文件结尾处加上

重启平板

这时 设置-位置服务 中多了 GPS卫星 选项,将其选中

对于君正方案,骑士在4.0.3固件下没有成功(可能限本人水平,不代表4.0.3不能成功),刷4.1.1固件,不用修改build.prop文件,用此方法GPS定位成功。

2、wifi热点设置

将手机端开启wifi热点,平板端搜索手机wifi,并连接(具体方法网上有详细教程,很简单)

大家不要担心,此法并不需要手机上网,也不会占用手机流量,仅是将手机设置为wifi发射器,实现手机与平板之间通过wifi传输数据功能。

3、软件安装与调试

平板端安装高德导航软件,经测试此软件可成功定位(其它导航软件尚未测试)。

手机端安装TetherGPS软件,开启server (服务端)

平板端亦安装TetherGPS软件,开启client (客户端)

之前的TetherGPS软件版本,对于ICS4.0支持度不好,而且网上较为流行的版本是1.1.5版,我们在国外网站搜到最新版的该软件,目前最新版本为1.2.1,此版本增加了对ICS4.0以上版本的支持。

如手机与平板之间TetherGPS数据传输正常,手机与平板状态栏中该软件为红色,否则为灰色

平板开启导航软件(高德),成功定位(目前 极光2、烈焰、旋风、精灵1、骑士4.1.1 通过此法已成功定位)

注意此法测试过程中发现,手机和平板均十分耗电,而且在高德软件中无法查看卫星数量(搜星成功的标识是右侧卫星图标为绿色)

所需软件

高德软件+TetherGPS(迅雷快传)

TetherGPS(百度网盘)

===================================================

二、蓝牙共享(此法仅限于烈焰)

随着烈焰的出现,大家似乎更想通过蓝牙与手机连接,而实现GPS定位功能。

下面说一下具体解决方法:

硬件要符合本文最初的要求,同时手机也要有蓝牙功能。平板仅限于烈焰。

实现原理

带有GPS模块和蓝牙功能的手机 + GPS蓝牙输出软件 与 烈焰 + GPS蓝牙接收软件,通过蓝牙实现GPS数据传输。

组对诸多软件进行了测试,仅 Bluetooth GPS Output v1.07e(手机端) + BluetoothOMS.GPS v1.0(烈焰端)对接成功

手机端(华为C8650)安装 Bluetooth GPS Output v1.07e

烈焰端 安装 BluetoothOMS.GPS v1.0

手机与烈焰蓝牙配对,成功。传输文件测试,成功(具体方法网上有详细教程,也很简单)

手机端打开Bluetooth GPS Output软件,搜星中

烈焰端打开BluetoothOMS.GPS软件,start service - connect to...

对接成功如图(上图为烈焰端,下图为手机端)

当手机端搜到卫星后,跟踪卫星项会出现搜到的卫星数量和强度等情况(注意此软件目前破解不完全,可能会出现10分钟后自动断开情况,见谅),截图为在室内未搜到星,室外正常。

烈焰开启导航软件(高德),成功定位

论坛中也有糯米对烈焰进行过测试,未成功,原因分析如下(未必正确,仅供参考):

烈焰通过wifi热点定位成功时,烈焰build.prop文件中已将GPS打开,今再测试蓝牙GPS定位功能时,此prop文件沿续了wifi热点设置,而定位成功,说明烈焰4.0.4固件默认将GPS定位功能关闭(虽然没有GPS模块),开启后,烈焰即可通过上述软件接收到手机发送的蓝牙GPS信息,通过ICS4.0.4 GPS定位功能将接收到的GPS信号传送给导航软件,从而实现烈焰蓝牙GPS定位功能。

所需软件

烈焰蓝牙GPS定位软件(迅雷快传)

===================================================

最后说明

本文所涉及的软件均来自互联网,实现方法为艾诺组测试结果,同时也欢迎对此功能有兴趣的糯米提供更好的解决方法。

本文仅供大家参考,如有不妥之处请各位谅解。

怎样让笔记本电脑使用GPS?

USB接口的GPS接收机也被称为GPSMouse,价格最便宜。GPSMouse把GPS模块、天线和串口/USB口转换芯片集成在一起,通过一段1~1.5m的线缆连接到笔记本电脑的USB口。USB接口既可以传递GPS定位信息,也可以向GPS模块供电。GPSMouse非常适合笔记本电脑车辆导航,但是不适合步行时使用。在车辆导航时,GPSMouse可以放到车外并吸附到车顶上,最大限度地接收GPS信号(优质的汽车玻璃含有金属成分以抵挡紫外线,会降低GPS信号强度)。

细心的读者也许从前面的介绍中注意到,GPSMouse中有一个串口/USB口转换芯片,这岂不是画蛇添足,直接把GPS模块设计成USB接口不就完了?这一“画蛇添足”的设计起因在于GPS数据接口协议NMEA-0183,这一协议把GPS的数据接口定义为4800bps的串行数据总线。绝大多数的电子地图软件都通过NMEAV2.0以上标准读取串口上的GPS信息。如果GPS直接设计成USB口,就会有兼容性问题,而通过串口/USB口转换芯片,在计算设备上再安装驱动程序,就可以把USB口模拟成串口,兼容性非常好。事实上,CF口和蓝牙的GPS接收机也都要模拟成串口,才能被电子地图软件识别。

除了NMEA数据接口协议外,最为知名的是Garmin公司GPS的专用Garmin协议。Garmin自己的地图软件都只支持Garmin协议,另外GoogleEarthPro/Plus和OziExplorer当前也支持Garmin协议。 CF口GPS主要是为PDA设计的,不过当下的PDA越做越小,已经逐渐放弃CF口而改用SD口。CF口通过转接卡可以接入笔记本电脑的PCMCIA接口,因为没有线缆连接,使用起来比USB接口更为方便,优势主要体现在步行使用中。在车用导航时,CF口GPS可以通过外接天线实现GPSMouse灵活摆放的特性(通过把天线摆放到合适的位置以接收到足够强的GPS卫星信号)。当然,CF口GPS的价格也略高,一般在500~600元。

由于CF口GPS最初主要面向PDA设计,留给我们的后遗症就是部分产品的驱动程序和笔记本电脑上的操作系统兼容性不好,甚至根本不能安装,用户在购买时最好先安装调试再付款。 蓝牙GPS接收机是2005年的明星,通过无线连接笔记本电脑、PDA甚至智能手机都非常方便,又可以实现灵活摆放的特点,因此受到了用户普遍欢迎。由于蓝牙标准本身就有模拟串口的功能,所以在电子地图兼容性方面也比较好,不过有时也有不兼容问题。

蓝牙GPS的缺点是需要配备电池并经常充电,而且很多用户不熟悉蓝牙设备的软件设置方法。加之价格略高(800元上下),应用还不够普遍。不过,随着越来越多的笔记本电脑集成蓝牙功能,蓝牙GPS有望成为市场上的主流产品。 其实,最早的民用GPS都是可以独立使用的GPS设备。这类设备又可以分为手持式、车载式,有独立显示屏用于显示地图或航点航迹信息,大部分有集成的电子地图功能(俗称地图机),体积一般也比较大,价格从1000~9000元不等,功能差异很大。独立式民用GPS最著名的2家供应商都来自美国,分别是高明(Garmin)和麦哲伦(Magellan),在国内可以买到他们的产品。此外还有欧洲的TomTom在车载GPS领域中比较著名。

独立式GPS一般也具有数据接口和笔记本电脑进行连接,接口大多为串口,部分用USB口或蓝牙接口。这些接口的主要目的并不是为了把定位信号实时传递给计算设备,而是为在GPS设备和计算机之间复制航迹和地图等信息,因此在连接笔记本电脑传递定位信息时都不太方便。笔记本电脑已经很少配备串口,因此连接串口需要串口/USB口转换器,并安装驱动程序把USB接口模拟成串口。

独立式GPS一般不会连接笔记本电脑一起使用,除非不是地图机,或者没有特定地区的GPS地图。在配合笔记本电脑使用为主的应用模式下,我们也不推荐使用独立式GPS。

用串口转usb接口的模块可以实现上位机与plc和单片机之间的通讯么

第一,笔记本一般都没有gps模块,笔记本用的gps模块有很多,最常用的就是USB?GPS?,方便简洁。也就是说笔记本没有gps模块,但是可以外接。

第二,GPS?和无线上网没有什么冲突,他们之间不是同一类的信号。

第三,地图软件那是肯定要的,不过不用下载,一般你买一个gps都会送地图软件的。

第四,usb?接口的?gps?没有太贵的,一般就二三百块钱,如?GT-780F?才240元,如图......

这东西用来导航是非常棒的!!!

数据接收存储技术革新是信号集处理领域内的一个重要课题。利用这种技术,可以把信号的实时集和精确处理在时间上分为两个阶段,有利于获得令人更满意的处理结果。在无线数传接收设备中应用数据接收存储方法时,除了要满足数据传输速率和差错控制方面的要求外,还需要考虑如何使设备易于携带、接口简单、使用方便。

传统外设接口技术不但数据传输速率较低,独占中断、I/O地址、DMA通道等计算机系统关键,容易造成冲突问题,而且使用时繁杂的安装配置手续也给终端用户带来了诸多不便。近年来,USB接口技术迅速发展,新型计算机纷纷对其提供支持。USB2.0是USB技术发展的最新成果,利用USB2.0接口技术开发计算机外设,不但可以借用其差错控制机制[1][6]减轻开发人员的负担、获得高速数据传输能力(480Mb/s),而且可以实现便捷的机箱外即插即用特性,方便终端用户的使用。

1 无线数传接设备总体构成

无线数传接收设备是某靶场测量系统的一个重要组成部分。如图1所示,该设备由遥测接收机利用天线接收经过调制的无线电波信号,解调后形成传输速率为4Mb/s的RS-422电平差分串行数据流。以帧同步字打头的有效数据帧周期性地出现在这些串行数据中。数据转存系统从中提取出有效的数据帧,并在帧同步字后插入利用GPS接收机生成的本地时间信息,用于记录该帧数据被接收到的时间,然后送给主机硬件保存。

在无线数传接收设备中,数据转存系统是实现数据接收存储的关键子系统。下面将详细介绍该系统的硬件实现及工作过程。

2 数据转存系统基本构成及硬件实现

数据转存系统主要由FPGA模块、DSP模块、USB2.0接口芯片构成,各个模块之间的相互关系如图2所示示。图中,4Mb/s的串行数据输入信号SDI已由RS-422差分电平转换为CMOS电平。为突出重点,不太重要的信号连线未在图中绘出。下面分别介绍这几个模块的主要功能。

2.1 FPGA模块实现及春功能

FPGA模块在Altera公司ACEX系列的EP1K30TI144-2芯片中实现。其中主要的功能子模块有:位同步逻辑、帧同步逻辑、授时时钟和译码逻辑。位同步逻辑主要由数字锁相环构成,用于从串行数据输入信号SDI中恢复出位时钟信号。帧同步逻辑从位同步逻辑的输出信号提取帧同步脉冲。两者为DSP利用其同步串行口接收串行数据作好准备。这样,利用一对差分信号线就可以接收同步串行数据,简化了印制电路板的外部接口。授时时钟在DSP和GSP接收机的协助下生成精度为0.1ms的授时信息。译码逻辑用于实现系统互联。

2.2 DSP模块实现及其功能

DSP模块是数据转存系统的主控模块,在T1公司16位定点DSP芯片TMS320F206[4]中实现。在DSP的外部数据空间还配置了32KX16的高速SRAM,可以缓存80余帧数据,用于提高系统的差错控制能力。DSP利用同步串行口接收FPGA送来的同步串行数据,利用异步串口接收GPS接收机送来时间信息(用于初始化FPGA授时时钟),利用外部总线接口访问FPGA授时时钟、外部SRAM、ISP1581的片内寄存器。可以看出DSP模块主要用于完成数据帧的接收、重组以及转存调度等任务。

ISP1581芯片是PHILIPS公司推出的高速USB2.0设备控制器,实现了USB2.0/1.1物理层、协议层,完全符合USB2.0规范,即支持高速(480Mb/s)操作,又支持全速(12Mb/s)操作。ISP1581没有内嵌微处理器,但对微处理器操作了灵活的接口。在上电时,通过配置BUS——CONF、DAO、MODE1、MODE0、DA1引脚电平可以适应绝大多数的微处理器接口类型。例如,通过BUS_CONF/DA0引脚,总线配置可以选择普通处理器模块(Generic Phocessor mode)中分割总线模式(Split Bus Mode);在普通处理器模式下,通过MODE0/DA1引脚可以选择读写选通为8051风格或者Motorola风格。

在数据转存系统中,ISP1581用于处理主机的高速数据传输。它工作在普通处理器接口模式下,用8051风格的读写选通信号,由DSP芯片TMS320F206控制。两者在选定工作方式下的信号连线如图3所示,图中未画出的信号引脚可以悬空,供电引脚的连接方式在参考资料[2]第46页有简明描述。在FPGA译码逻辑的作用下,ISP1581的片内寄存器被映射在DSP的片外数据空间中。DSP通过8位地址线选择要访问的寄存器,在读写选通信号的控制下,利用16位数据线与选定的寄存器交换数据。在访问ISP1581单字节寄存器时,数据总线高字节内容无关紧要。ISP1581通过中断引脚INT向DSP报告发生的总线,利用D+、D-引脚完成与主机的数据交换。

3 数据转存系统的工作过程

系统加电后,当FPGA配置过程结束时,如果有串行数据输入,位同步逻辑和帧同步逻辑便启动同步过程。同时,DSP片内FLASH中复位中断服务程序c_int0()[4]被立即执行,在建立好C语言的工作环境下,它会调用主函数main()。在main()中,需要安排好一系列有先后顺序的初始化工作。其中,ISP1581的初始化过程比较复杂,需要考虑设备用的供电方式(这里为自供电[6]方式)、插接主机和系统上电的先后次序,并需要与USB总线枚举[1][6]过程相结合。

在FPGA中的位同步逻辑和帧同步逻辑均进入同步状态,且DSP主控模块配合主机完成初始化任务后,即可启动数据的传输过程。下面介绍一下ISP1581的初始化过程及DSP控制的数据帧的接收机转存流程。

3.1 ISP1581的初始化

在初始化过程中,首先需要设置影响ISP1581自身工作方式的一些寄存器,然后与主机端USB系统配合进行,应答来自主机端的设备请求。当数据转存系统板作为USB 2.0设备通过连接器连到主机USB根集线器上的一个端口时,主机便可检测到这一连接,接着给该端口加电,检测设备并激活该端口,向USB设备发送复位信号。设备收到这一复位信号后,即进入缺省状态,此后就能够通过缺省通信通道响应主机端送来的设备请求。主机通过描述符请求(GET_DESCRIPTOR)获得设备端的详细信息,通过设置地址请求(SET_ADDRESS)设置设备地址,通过设置配置请求(SET_CONFIGURATION)选定合适的设备配置。在设备成功响应了这些设备请求之后,就可以与主机通信了。

在响应主机请求的过程中,DSP需要配置ISP1581的端点以实现不同类型的传输通道。根据数据传输速率的要求,除了缺省的控制通道外,系统中实现了一个批传输(bulk)[1]类型的输入通道。这样,ISP1581就可以像FIFO一样方便地从数据转存系统向主机传输数据,而且具有差错控制能力,简化了设备端软件设计的复杂性。

3.2 数据帧的接收转存过程

系统正常工作时,需要与主机端程序相互配合。主要端需要开发者实现的程序包括设备驱动程序和应用程序。在Windows 2000操作系统下,USB设备驱动程序为WDM模型的驱动程序,开发环境DriverStudio为WDM型驱动程序提供了框架结构,使得驱动开发变得非常容易(参见参考文献[5]第八、九、十章)。驱动程序接收应用程序的请求,利用USB总线驱动程序(US-BD)和主机控制器驱动程序(HCD)通过主机控制器安排USB总线事务,设备端则根据这些事务调度相应的数据帧的传输。关于主机端口如何安排总线事务可以查阅参考文献[1]。以下着重介绍设备端数据的调度过程。

数据帧的接收转存过程主要由DSP负责,DSP在外部SRAM中建立了一个数据帧的队列,如图4所示。系统主要工作在中断驱动模式下,与同步串行口相关的中断服务程序负责建立队列的尾部,对应于ISP1581中断引脚INT的中断服务程序负责建立队列的头部。

当以帧同步字打头的一帧数据以串行位流的形式到来时,FPGA产生的帧同步脉冲可以直接启动DSP同步串行口接收数据,该同步脉冲同时以中断方式通知DSP为一帧数据的接收做好准备。DSP接到通知后,首先检查外部SRAM中是否有足够的空间容纳一帧数据。如果没有空间,则丢弃当前数据帧(根据设计,这种情况是很少见的);如果有空间,则为当前数据帧保留足够的空间。接着在帧起始位置填写帧步字,读取授时时钟的当前值并填写在帧同步字后。这样,一个新的数据帧(图4中数据帧F_N)就建立了,但是并没有加入到队列中,而是要等待来自同步串行口的后继数据嵌入该帧中后再加入到队列中。

同步串行口的接收缓冲区在接收到若干字(由初始化时的设置决定)后,会向DSP提出中断请求。在中断服务程序中,DSP读取接收缓冲区中的内容,并将其填入上述新开辟的帧F_N中。在一帧数据接收完毕后,就将该帧添加到队列的尾部,表示该帧数据已经准备好(图4中数据帧F_R),可以通过ISP1581送给主机硬件保存。

DSP在查询到队列中有已经准备好的数据帧存在时,就设置ISP1581的端点索引寄存器(Endpoint Index Register)使其指向初始化时配置的批传输输入端点,然后将队列首帧数据通过ISP1581的数据端口寄存器(Data Port Register)填写在端点缓冲区中。在端点缓冲区被填满后,它就自动生效。在不能填满端点缓冲区的情况下,可以通过设置控制功能寄存器(Control Function Register)的VENDP位[2]强制该端点缓冲区生效。端点缓冲区生效后,在USB总线上下一IN令牌到来时,该端点缓冲区中的数据就通过USB总线传输到主机中。主机成功接收到数据后,会给ISP1581以ACK应答。能够通过INT引脚报告给DSP,DSP就可以继续往端点中填写该帧其余数据。

在队列首帧数据被成功转移到主机后,DSP就丢弃首帧数据。如果队列在还有数据帧,则将次首帧作为首帧,继续前述传输过程;如果没有要传输的数据帧,则为队列首帧指针Head_Ptr赋空值(NULL),等待新的数据帧的到来。

USB2.0是计算机外设接口技术发展的最新成功,具有广阔的应用前景。本文介绍了PHILIPS公司USB2.0接口芯片ISP1581在无线数据接收设备中的应用。高性能、便携化的无线数据传接收设备。其在靶场实弹试验中受到了用户的好评。

PC机的RS-232C串行口是使用最多的接口之一。因此,4串口、8串口等以增加串口数量为目的的ISA总线卡产品大量问世。一般串口应用只是使用了RXD和TXD两条传输线和地线所构成的串口的最基本的应用条件,而本文介绍一个利用PC机的RS-232串口加上若干电路来实现多串口需求的接口电路。

1.PC机串口的RTS和DTR及扩展电路

RTS和DTR是PC机中8250芯片的MODEM控制寄存器的两个输出引角D1和D0位,口地址为COM1的是3FCH,口地址为COM2的是2FCH。我们可以利用对MODEM控制寄存器3FCH或2FCH的写操作对其进行控制。从而利用该操作和扩展电路实现对TXD和RXD进行多线扩展,图1是其扩展电路。

在图1所示的PC机串口扩展电路中,74LS161是二进制计数器,1脚是清0端,2脚是计数端,计数脉冲为负脉冲信号,4051是八选一双向数字/模拟电子开关电路,其中一片用于正向输出,一片用于反向输出。该扩展电路工作原理是通过控制PC机串口的DTR输出的高低电平来形成74LS161的P2脚计数端的负脉冲信号,使161的输出端P14(QA)、P13(QB)、P12(QC)、P11(QD)脚依次在0000到1111十六个状态中变化,本电路仅使用了QA、QB、QC三个输出来形成对4051的ABC控制,最终使得4051(1)的输入端TXD依次通过与TX1~TX8导通而得到输出信号,4051(2)的输出端RXD与RX1~RX8依次导通形成输入信号。由于RXD和TXD的导通是一一对应的,因此串口通信就可以依次通过与多达8个带有三线基本串口的外部设备进行通信传输以实现数据传送。PC机端的电平转换电路是将RS232电平转换为TTL电平,外设端的电平转换电路是将TTL电平转换为RS232电平。由于这种转换有许多电路可以实现,因而,这里不再介绍。

2.电路使用程序

对PC机串口COM1的编程如下:

……

… ;对COM1口的波特率等设置;

MOV DX,3FCH

MOV AL,XXXXXX01B

OUT DX,AL;D1生成RTS负脉冲,对74LS161输出端清0

MOV AL,XXXXXX11B;

OUT DX,AL ;4051的RX1和TX1导通

CALL COM ;调用通信子程序,与第一个外部设备通信;

MOV CX,7 ;设置循环计数器;

NEXT:MOV DX ,3FCH

MOV AL,XXXXXX10B

OUT DX ,AL ;D0位生成DTR的负脉冲,形成161的P2脚计数脉冲

MOV AL,XXXXXX11B

OUT DX,AL ;RX2和TX2导通

CALL COM ;调用通信子程序,与第二个外部设备通信

LOOP NEXT ;循环与另外6个外部设备通信

… ;通信子程序略

3.使用说明

由于该扩展的多路接口在通信时共用一个子程序,因此在与某一路导通时,系统只能与这一路的外部设备进行通信联络。

如果工作现场需要立即和某一路通信,则需要对3FCH的D1位执行两个写操作并在RTS脚形成负脉冲,以对7416I清0后,再连接执行若干次对DTR的两次写操作。例如想对第4路外设通信,则需要执行完成对74LS161清0后,再连续三次对3FCH的D0位进行两个写操作以形成DTR脚的负脉冲,然后即可调用通信子程序。

如需使用PC机的COM2串口,只需将程序中的3F8H~3FDH全部换成2F8H~2FDH即可。

如果使用十六选一双向数字/模拟电子开关电路,可将74LS161的QA、QB、QC、QD四个输出端接至电子开关的四个控制端A、B、C、D,这样就可以达到一个PC机的RS232口与16个带有串口的外设的数据通信。