3793
- 收藏
- 点赞
- 分享
- 举报
C8051F340数据采集器设计
工业现场一般需要数据采集器完成各类数据采集任务。实际应用中要求数据采集器工作可靠,成本低廉,操作简单,便于数据收集和分析,既能与PC机联机工作又能独立采集数据。为此,本文以带有片上USB控制器和D/A转换器的高度集成处理器C8051F340为核心器件,采用SD卡存储技术利用USB总线、虚拟仪器实现软件LabVIEW设计图形用户界面,设计一款低成本数据采集器。该数据采集器可与PC机共同实现数据采集与分析,也可长时间独立工作于工业现场,并将采集数据存放于大容量SD卡,便于数据收集并利用计算机分析。数据采集器的核心器件C8051F340是完全集成的混合信号片上系统型MCU,具有高达48 MI/s速率、流水线结构的8051兼容微控制器内核:全速、非侵入式的在线调试接口;带有8个灵活的端点通道,具有收发器和1 KB FIFO RAM的USB功能控制器;电源稳压器;带有模拟多路器的10位200 KS/s的单端/差分ADC;精确校准的12 MHz内部振荡器和4倍时钟乘法器;多达64 KB的片内Flash存储器;4 352字节片内RAM;具有5个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列;3.3 V工作电压,功耗低且带有片内上电复位、VDD监视器和时钟丢失检测器;容许5 V输入的多达40个I/O端口。还有与此处理器配套的免费集成开发软件Silicon Labs IDE,以及专为其片上USB控制器开发的USBXpress开发套件,从而使得USB软件开发变得容易。
2 系统设计方案
系统设计框图如图1所示,整个系统由PC机和C8051F340数据采集模块组成。PC机部分主要是软件设计,包括LabVIEW软件编写的数据采集图形用户界面和C8051F340单片机片上USB主机API,负责接收、显示和处理由数据采集模块通过USB接口发送的采集数据。而数据采集模块主要由C8051F340处理器、预处理电路和SD卡构成,负责通过C8051F340片上D/A采集经预处理电路的被测信号,再将采集信号存储至SD卡,并经USB总线传输给PC机显示。另外,LabVIEW应用程序和C8051F340应用程序均是采用Silicon Laboratories公司提供的USBXpress开发套件的API和驱动程序来实现对底层USB器件的读写操作。
3 硬件设计
系统的硬件设计主要是数据采集模块。由于C8051F340内部集成了高精度时钟源、USB控制器、电压调节器、A/D转换器以及用于A/D转换的参考电压源等丰富的片上外设,因此在对数据采集模块硬件设计时,无需扩展上述电路,使得系统硬件结构简单,集成度高,可靠性好。如图2所示,通过片上USB接口,C8051F340与PC机相连,从PC机USB接口+5 V端提取电源输入至REGIN引脚,内部电压调节器提供+3.3 V电压。SD卡等元件的供电也由PC机USB接口提供,但需经+5 V至+3.3 V的电压转换电路。此外,系统还具有独立的电源模块,应对系统独立运行而现场USB不能供电的情况。C8051F340通过其片上P00~P03引脚与SD卡连接,实现SPI模式通信。需要说明的是:P01与D0和P02与DI的两条连接线应该分别接10 kΩ和100 kΩ的上拉电阻,图2中省略。系统还设计了复位按键,用于下载程序代码和进行调试的10针下载调试接口,用于对被测信号限幅和防混叠滤波的预处理。PC机和数据采集模块互连的USB连接线应选用带有双磁环保护的连接线,以保护数据采集模块由于USB经常连接带电拔插或其他干扰而遭受损坏。
4 软件设计
系统软件主要包括PC机LabVIEW程序和C8051F340处理器程序。
4.1 PC机LabVIEW程序设计
PC机LahVIEW程序设计主要完成用户图形界面和基于USB主机通信程序两大功能,从而实现人机交互,并将用户输入的指令和采集模块采集的数据通过USB总线在PC机和C28051F340之间传递。用户图形界面属于LabVIEW的前面板设计,较为简单,这里主要讨论LabVIEW的程序面板(后面板)设计。如图3所示,整个程序流程完全围绕USB通信展开,流程图中所涉及的SI_GetNumDevices()、SI_GetProductString()等函数均是Silicon Lab公司专为C8051F340单片机USB功能开发的USB主机端API函数。通过上层应用程序中直接调用这些函数可以方便快捷地实现对USB底层硬件的访问。
4.2 C8051F340处理器程序设计
C8051F340单片机程序设计主要完成两大功能,一是基于USB器件的通信程序,接收从USB主机发送的用户指令并将采集的数据或SD卡中存储的采集数据发送给USB主机;二是A/D转换程序和SD卡读写程序。
图4为C8051F340处理器USB通信程序流程图。整个程序流程是以USB通信为主线,流程图中所涉及的USB Clock Start()、USB Init()等函数均是Silicon Lab公司专为C8051F340单片机USB功能开发的USB端API函数。通过在C8051F340上层应用程序中直接调用这些函数可以方便快捷地实现对USB底层硬件的访问。A/D转换程序简单,可通过设置C8051F340片上定时器确定A/D转换器的采样周期,由定时器的溢出周期性的启动A/D转换器采样被测数据。C8051F340通过SPI接口与SD卡进行通信,完成采集数据的存储或读取。但SD卡上电后默认工作在SD卡通信模式,因此C8051F-340上电后对SD卡的初始化设置时,须将其SD卡通信模式转换为SPI通信模式。具体操作过程:C8051F340先向SD卡发出复位命令CMD0,若SD卡接收到返回值Ox01,则说明SD卡的SPI通信模式设置成功,至少经过74个时钟周期延时,就可进行SPI通信。SD卡的读写是以数据块为单位,数据块的长度最大可设置为512字节,另外出于避免对SD卡过于频繁访问的考虑,被测信号采样后的采样值一般不能直接存储到SD卡中,等采样数据凑足设定的块数据后,再集中存入SD卡。C8051F340通过SPI接口从SD卡读取或存储一块数据的流程如图5所示。需要说明的是C8051F340向SD卡写入数据,在图5所示的流程后,C8051F340将接收到SD卡发送的响应信息,从而确定C8051F340向SD卡写入的数据是否正确。
5 结束语
本文设计的数据采集器利用高度集成的器件C8051F340实现数据A/D转换、USB总线通信和系统控制,可与计算机联机,也可利用大容量SD卡长时间现场独立工作,数据采集方便。该数据采集器仅采用C8051F340一个主器件,结构简单,工作稳定,体积小,成本低,现已成功用于工业现场。
2 系统设计方案
系统设计框图如图1所示,整个系统由PC机和C8051F340数据采集模块组成。PC机部分主要是软件设计,包括LabVIEW软件编写的数据采集图形用户界面和C8051F340单片机片上USB主机API,负责接收、显示和处理由数据采集模块通过USB接口发送的采集数据。而数据采集模块主要由C8051F340处理器、预处理电路和SD卡构成,负责通过C8051F340片上D/A采集经预处理电路的被测信号,再将采集信号存储至SD卡,并经USB总线传输给PC机显示。另外,LabVIEW应用程序和C8051F340应用程序均是采用Silicon Laboratories公司提供的USBXpress开发套件的API和驱动程序来实现对底层USB器件的读写操作。
3 硬件设计
系统的硬件设计主要是数据采集模块。由于C8051F340内部集成了高精度时钟源、USB控制器、电压调节器、A/D转换器以及用于A/D转换的参考电压源等丰富的片上外设,因此在对数据采集模块硬件设计时,无需扩展上述电路,使得系统硬件结构简单,集成度高,可靠性好。如图2所示,通过片上USB接口,C8051F340与PC机相连,从PC机USB接口+5 V端提取电源输入至REGIN引脚,内部电压调节器提供+3.3 V电压。SD卡等元件的供电也由PC机USB接口提供,但需经+5 V至+3.3 V的电压转换电路。此外,系统还具有独立的电源模块,应对系统独立运行而现场USB不能供电的情况。C8051F340通过其片上P00~P03引脚与SD卡连接,实现SPI模式通信。需要说明的是:P01与D0和P02与DI的两条连接线应该分别接10 kΩ和100 kΩ的上拉电阻,图2中省略。系统还设计了复位按键,用于下载程序代码和进行调试的10针下载调试接口,用于对被测信号限幅和防混叠滤波的预处理。PC机和数据采集模块互连的USB连接线应选用带有双磁环保护的连接线,以保护数据采集模块由于USB经常连接带电拔插或其他干扰而遭受损坏。
4 软件设计
系统软件主要包括PC机LabVIEW程序和C8051F340处理器程序。
4.1 PC机LabVIEW程序设计
PC机LahVIEW程序设计主要完成用户图形界面和基于USB主机通信程序两大功能,从而实现人机交互,并将用户输入的指令和采集模块采集的数据通过USB总线在PC机和C28051F340之间传递。用户图形界面属于LabVIEW的前面板设计,较为简单,这里主要讨论LabVIEW的程序面板(后面板)设计。如图3所示,整个程序流程完全围绕USB通信展开,流程图中所涉及的SI_GetNumDevices()、SI_GetProductString()等函数均是Silicon Lab公司专为C8051F340单片机USB功能开发的USB主机端API函数。通过上层应用程序中直接调用这些函数可以方便快捷地实现对USB底层硬件的访问。
4.2 C8051F340处理器程序设计
C8051F340单片机程序设计主要完成两大功能,一是基于USB器件的通信程序,接收从USB主机发送的用户指令并将采集的数据或SD卡中存储的采集数据发送给USB主机;二是A/D转换程序和SD卡读写程序。
图4为C8051F340处理器USB通信程序流程图。整个程序流程是以USB通信为主线,流程图中所涉及的USB Clock Start()、USB Init()等函数均是Silicon Lab公司专为C8051F340单片机USB功能开发的USB端API函数。通过在C8051F340上层应用程序中直接调用这些函数可以方便快捷地实现对USB底层硬件的访问。A/D转换程序简单,可通过设置C8051F340片上定时器确定A/D转换器的采样周期,由定时器的溢出周期性的启动A/D转换器采样被测数据。C8051F340通过SPI接口与SD卡进行通信,完成采集数据的存储或读取。但SD卡上电后默认工作在SD卡通信模式,因此C8051F-340上电后对SD卡的初始化设置时,须将其SD卡通信模式转换为SPI通信模式。具体操作过程:C8051F340先向SD卡发出复位命令CMD0,若SD卡接收到返回值Ox01,则说明SD卡的SPI通信模式设置成功,至少经过74个时钟周期延时,就可进行SPI通信。SD卡的读写是以数据块为单位,数据块的长度最大可设置为512字节,另外出于避免对SD卡过于频繁访问的考虑,被测信号采样后的采样值一般不能直接存储到SD卡中,等采样数据凑足设定的块数据后,再集中存入SD卡。C8051F340通过SPI接口从SD卡读取或存储一块数据的流程如图5所示。需要说明的是C8051F340向SD卡写入数据,在图5所示的流程后,C8051F340将接收到SD卡发送的响应信息,从而确定C8051F340向SD卡写入的数据是否正确。
5 结束语
本文设计的数据采集器利用高度集成的器件C8051F340实现数据A/D转换、USB总线通信和系统控制,可与计算机联机,也可利用大容量SD卡长时间现场独立工作,数据采集方便。该数据采集器仅采用C8051F340一个主器件,结构简单,工作稳定,体积小,成本低,现已成功用于工业现场。
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2017-09-01 13:12:12
-
2018-12-01 10:32:28
-
2008-07-15 18:02:31
-
2020-08-17 19:55:59
-
2008-08-17 12:36:40
-
2016-03-19 16:50:38
-
2017-06-29 10:41:47
-
2013-11-26 20:25:29
-
2017-12-14 14:15:09
-
2018-12-03 16:05:52
-
2018-12-11 08:59:22
-
2008-07-15 17:29:42
-
2019-12-20 17:12:26
-
2017-09-20 11:10:58
-
2008-11-15 12:54:01
-
2018-12-06 11:16:35
-
2018-10-15 14:44:17
-
2016-03-18 17:53:36
-
2013-01-29 23:20:27
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认