现
代
计
算
机
!总
第
二
一
五
期
"
! " # $ % & ’ "! ( ) * + % ,--./!
实践与经验
引 言
在工业生产和科学技术研究的各行业中#常常要
对各种数据进行采集# 现在常用的采集方式是在 "#
机或工控机内安装数据采集卡#如 $%& 卡$’()*++卡
和 ’()*,- 卡% 采集卡不仅安装麻烦#易受机箱内环
境的影响#而且由于受计算机插槽数量和地址$中断
资源的限制#不可能挂接很多设备% 而通用串行总线
./01234567 (34167 895:简称 /(8;的出现能很好地解决
以上这些冲突% 我们利用 ,<=-> 单片机
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
了基于
/(8总线的数据采集设备#并可与 ?$@*,-结合起来
实现数据的远程采集%
! 系统硬件设计
/(8 数据采集系统硬件模块主要由串行 $%& 转
换器$,<=-> 芯片$/(8 接口芯片和多路模拟开关等
组成% 硬件总体结构框图如图 >所示%
图 > 硬件总体结构框图
/(8 接口芯片采用 A6B1C067 (3D1EC0F9EBC4 公司
的一种专用芯片 /(GAHIJ+% 该芯片内部集成微处理
器接口$ KLKM 存储器$时钟发生器$串行接口引擎
.(LN;$收发器$电压转换器#支持 &?$$微波接口%
多路模拟输入信号经多路模拟开关控制将其中
的一路接入串行 $%&转换器#$%&转换器经光电隔离
后串行输出到移位寄存器#移位寄存器将此结果转为
O 位并行数据#O<=-> 系统通过 O 位的并行接口传送
$%& 转换器采集的数据#存储在 KLKM存储器中&一旦
KLKM存满#(LN 立刻对数据进行处理: 然后 O<=-> 系
统将数据从 KLKM存储器中读出# 由收发器通过数据
线.&P$&);送至主机% /(8A
的具体接
口电路如图 +所示%图 +中 /(8A 的 @S$Q> 相连# 即 /(8A 提供时钟输入% /(8AJJDK
电容及 *TJDU电感#起稳定内部振荡频率的作用%
图 + /(8A 接口电路
基于 /(8总线和 O<=->单片机
的数据采集系统设计
丁伟雄 # 宋晓光 # 杨定安
’佛山科学技术学院计算机系#佛山 -+OJJJ(
摘 要) 本文介绍了基于 !"# 总线的数据采集设备的开发
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
#包括硬件设计$$%&’()&*+固件,设计$基于
-%./0(1 驱动程序模型+-23,的设备驱动程序设计以及应用软件的设计#同时也介绍了基于 !"4
的远程数据采集系统%
关键词) 通用串行总线& 数据采集& 单片机
!!!
!!!!!!
!
!
!
!
!!!
!!!!!!!
!
!
!
!
T<
! " # $ % & ’ "! ( ) * + % ,--./!
实践与经验
现
代
计
算
机
!总
第
二
一
五
期
"
! 系统软件设计
系统软件包括设备固件# "#$ 设备驱动程序和
应用程序$
%!&设备固件"#$%&’(%)*设计
此处固件是指固化到 %&’()*+,-./ 中的程序’
其主要功能是0
!控制 123转换器的采样(
"控制芯片 "4$5&67+ 接受并处理 "4$ 驱动程
序的请求及应用程序的控制指令(
现主要介绍 8&’() 系统如何控制 "4$ 控制器
9"4$5:67+;与主机的通信(
%&’() 系统对 "4$ 控制器的操作是严格按照
"4$
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
)<)进行的(按照 "4$协议 )<)的规定’"4$
传输方式分为 =种)控制传输’块传输’同步传输和中
断传输( 在实际开发中使用了控制传输和块传输( 控
制传输主要用来完成主机对设备的各种控制操作’也
就是用来实现位于主机上的 "4$ 总线驱动程序9"40
$3<4>4;以及编写的功能驱动程序对设备的各种控制
操作(块传输主要用来完成主机和设备间的大批量数
据传输以及对传输数据进行错误检测 9若发生错误’
它支持*重传+功能;(
%&’() 系统控制 "4$ 控制器的工作过程可以简
单地概括为) 当 "4$控制器从 "4$ 总线检测到主机
启动的某一传输请求后’通过中断方式将此请求通知
%&’()系统’%&’()系统通过访问 "4$ 控制器的状态
寄存器和数据寄存器获得与此次传输有关的各种参
数’并根据具体的传输参数’对 "4$ 控制器的控制寄
存器和数据寄存器进行相应的操作’以完成主机的传
输请求(
%+&,-.设备驱动程序设计
"4$系统驱动程序的设计是基于 ?3/9?@ABCDE
3F@GHF /CBHI 驱动程序模型;的( ?3/采用分层驱动
程序模型9见图 J 所示;’分为较高级的 "4$ 设备驱动
程序和较低级的 "4$函数层( 其中 "4$ 函数层由两
部分组成)较高级的通用串行总线模块9"4$3;和较低
级的主控制器驱动程序模块9K’3;(
在上述 "4$ 分层模块中 ’"4$ 函数层由 ?@A0
BCDE&8 提供’负责管理 "4$ 设备驱动程序和 "4$ 控
制器之间的通信’加载及卸载 "4$ 驱动程序’与 "4$
设备通用端点9HABLC@AM;建立通信来执行设备配置,数
据与 "4$协议框架和打包格式的双向转换任务(
目前 ?@ABCDE&% 提供了多种 "4$ 设备驱动程
序’但并不针对数据采集设备’因此需用 33N开发工
具设计专用的 "4$ 设备驱动程序( 在本设计中由四
个模块实现)初始化模块#即插即用管理模块#电源管
理模块以及 O2.功能实现模块(
图 J "4$ 系统驱动程序层次关系
初始化模块提供一个入口函数 3F@GHF*AMFP9 ;’所
有对各种 O-,9O2. -HQRHEM ,STUHMVO-, 请求包;的处理
例程都在此入口函数中做出定义(
即插即用管理模块实现 "4$ 设备的热拔插及动
态配置( 当硬件检测到 "4$ 设备接入时’?@ABCDE:%
查找响应的驱动程序’并调用它的 3F@GHF*AMFP 例程’
,A,9即插即用;管理器调用驱动程序的 1BB3HG@TH 例
程’告诉它添加了一个设备-在此处理过程中’驱动程
序收到一个设备启动请求9O-,W/5W4X1-XW3*YO’*;
的 O-,( 同理’当要拔除时’,A,管理器会发出一个设
备删除请求 9O-,W/5W-*/.Y*W3*YO’*;的 O-,’由
驱动程序进行处理( 通过对这些 ,A,请求的处理’可
支持设备的热插拔和即插即用功能(
电源管理模块负责设备的挂起与唤醒(
O2. 功能实现模块完成 O2. 请求的大部分工作(
若应用程序想对设备进行 O2. 操作’ 它便使用 ?@A0
BCDE 1,O函数V对 ?O5J+子系统进行 ?O5J+调用(此
调用由 O2.系统服务接收并通知 O2. 管理器’O2.管理
器将此请求构造成一个合适的 O2. 请求包9O-,;’并把
它传递给 "4$ 设备驱动程序’"4$ 设备驱动程序接
收到这个 O-, 以后’ 根据 O-, 中包含的具体操作代
码’构造相应的 "4$请求块并把此 "-$9"4$请求块;
放到一个新的 O-, 中’ 然后把此 O-, 传递到 "4$ 总
线驱动程序’"4$ 总线驱动程序根据 O-, 中所含的
"-$执行相应的操作9如从 "4$设备读取数据等;’并
把操作结果通过 O-,返还给 "4$设备驱动程序("4$
设备驱动程序接收到此 O-, 后’将操作结果通过 O-,
返还给 O2.管理器’ 最后 O2.管理器将此 O-,中操作
%7
现
代
计
算
机
!总
第
二
一
五
期
"
! " # $ % & ’ "! ( ) * + % ,--./!
实践与经验
结果返还给应用程序# 至此应用程序对 "#$ 设备的
一次 %&’操作完成$
%!&应用程序设计
用户态的应用程序是数据采集系统的中心#其主
要功能为’开启或关闭 "() 设备(检测 "($ 设备(设
置 "($数据传输管道( 设置 *+, 状态和数据采集端
口(实时从 "($ 接口采集数据(显示并分析数据$ 应
用程序主流程图如图 -所示$
图 - 应用程序主流程图
由于 "($./012 提供的 3%3’不超过 0- 字节#当
它存满后#"(4./052 自动将数据打包即时请求读入
数据#由 (%6自动发送数据包$ 另外#当系统启动 *7,
模块后#便会创建两个线程’采样线程和显示存盘线
程$采样线程负责将采集数据写到应用程序提交的内
存)而显示存盘线程负责给应用程序发送显示和存盘
消息$ 当应用程序接收到此消息后#便从它提交的内
存中读取数据并显示和存盘$此处需要注意的是采样
线程和显示存盘线程在读写应用程序提交的内存时
要保持同步$
! 远程数据采集系统设计
传输距离是限制 "(4 在工业现场应用的一个障
碍# 即使增加了中继或 89:#"#4传输距离通常也不
超过几十米#这对工业现场而言显然太短了$ 现在工
业现场有大量采用 ;(<-=> 传输数据的采集设备#其
优点主要为传输距离可达到 ?2@@米以上# 并且可以
挂接多个设备#但传输速度慢#且需要板卡支持#安装
麻烦$如果将 A(<-=>与 "(4结合起来就可以优势互
补#产生一种快速(可靠(低成本的远程数据采集系
统$
设计这样一个系统的关键设备是 A(<-=>B"(4
转换器# 可以采用 "(4./0@2C=/D>EC F*G-=>实现
这一功能$ 整个系统的基本思想是’将传感器采集到
的模拟量数字化以后# 利用 A(<-=> 协议将数据上
传#上述 A(<-=>B"(4转换器在主机端接收 -=> 的数
据并通过 "(4 接口传输至主机进行处理# 而主机向
"(4发送数据时#数据通过 A(<-=>B"(4转换口转换
为 -=>协议向远端输送#从而能够实现远程数据的双
向传输$ 如图 >所示$
软件方面的设计跟前所述类似$
图 > 采用 "(4和 A(<-=> 实现远距离数据传输
结 语
基于 "(4外设的应用目前在国内外都处于高速发
展阶段# 利用 "(4 进行数据采集和工业控制已得到
成功应用$ 特别是随着 "(4协议 2H@的推出#数据传
输速率高达 -=@F:IJ#如此高的传输速率必将使 "(4
在数据采集中的优势更加体现出来#同时会使其在更
广阔的领域得到更深层次的应用$
参考文献
KEL张念淮#江浩H "#4 总线接口开发指南H 北京’ 国防工业
出版社#2@@2
K2L李朝青H MN 机及单片机数据通信技术H 北京O 北京航空
航天出版社#2555
KPL原嵩#林浒H 通用串行总线的原理及实现H 小型微行计算
机系统#E///Q>R
K-L张洪润#蓝清华H 单片机应用技术
教程
人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程
H 北京O 清华大学
出版社#E//S
K>L徐有青#余胜生H 通用串行总线设备接口的设计H 电子计
算机与外部设备#E//=Q>R
%收稿日期’"##$%#!%"&&
%英文摘要见下页&
=E
! " # $ % & ’ "! ( ) * + % ,--./!
实践与经验
现
代
计
算
机
!总
第
二
一
五
期
"
!"# $%&’#( )#&*+, -. )/’/ 0-11#2’ 322-45*,+
’- ’"6 7$8 /,5 9:0;<
"#$% &’()*(+,- . /0$% 1(2+)-32,- . 45$% "(,-)2,
6"’7289:’,9 +; <+:739’8 /=(’,=’>. ?+>@2, A,(B’8>(9C. ?+>@2, DEFGG <@(,2H
3=&’4/>’? I@(> 289(=J’ (,98+K3=’K 9@’ K’B’J+7:’,9 :’9@+K 2==+8K(,- 9+ A/L K292 =+JJ’=9 ’M3(7:’,9>. (,=J3K’> 9@’
@28KN28’ K’>(-,. ;(8:N28’ K’>(-, 2,K 9@’ K’>(-, +; 9@’ 78+-82: K’>(-, 2,K 9@’ 277J(=29(+, >+;9N28’ 2==+8)
K(,- 9+ 9@’ &(,K+N> K8(B’>. 2J>+ (,98+K3=(,- 9+ 9@’ =+JJ’=9 >C>9’: 2==+8K(,- 9+ 9@’ A/L J+,- 82,-’ K292O
@6% A-45 A/L$ "292 <+JJ’=9$ P
B"6 )6&*+, /,5 C6/1*’% -. ’"6 ’"*45 D/4’
E-+*&’*2& FG,G+6(6,’ H,.-4(G’*-, $%&’6(
QR5$% 13’)K+,-
S/=@++J +; #,;+8:29(+, T,-(,’’8(,-. 5,@3( A,(B’8>(9C +; ?(,2,=’ 2,K T=+,+:C. L’,-U3 EVVGWX <@(,2Y
3=&’4G2’% 5> 9@’ 9@(8K 78+;(9 >+38=’. J+-(>9(=> (> 7J2C(,- 2 :+8’ 2,K :+8’ (:7+89:2,9 8+J’ (, 9@’ ,29(+,2J ’=+,+:C
2,K 9@’ 7’+7J’'> J(B’J(@++KO TB’8C J+-(>9(=> =+87+829(+, (> 8’(,;+8=’(,- (9> :2,2-’:’,9. ’>7’=(2JJC 9@’
(,;+8:29(+, :2,2-’:’,9O I@(> 727’8 78’>’,9 9@’ K’>(-, 2,K 8’2J(Z29(+, +; 2 9@(8K 7289 J+-(>9(=> :2,2-’,)
:’,9 (,;+8:29(+, >C>9’:O
@6% A-45&? I@’ I@(8K [289 \+-(>9(=>] V)\2C’8 /983=938’] TJ’=98+,(= "292 #,9’8=@2,-’
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
&上接第 !" 页’
FE