基于PIC单片机USB接口的数据采集系统设计
扫描二维码
随时随地手机看文章
我们把所设计的数据采集系统功能分解为三大部分:数据采集部分、数据通信部分、数据处理部分。
数据采集部分应包含:A/D转换器,时序、模式控制,数据缓冲功能。它应能接受来自主机的命令,按不同模式控制A/D转换器采集数据,暂存于数据缓冲区,再根据主机命令发给主机。这部分功能由一个单片机及接口来实现是最优方式。
数据通信部分应包含:简单、高效、通用的数据通信模式和软硬件支持。它应能在数据采集和数据处理两部分之间实现目前最好的连接和沟通。因为USB作为一种外部总线标准,用于规范电脑与外部设备的连接和通讯,并具有传输速度快,使用方便,支持热插拔,连接灵活,独立供电等优点,所以这部分功能采用USB接口连接最好。[1]
数据处理部分应包含:强大、高效、通用、适应性好的软硬件支持平台。它应能完成主控和数据处理两大功能。主控就是根据用户需要,给数据采集部分下达命令,采集数据,同时管理数据通信部分,实现信息的上传下达,读取数据。数据处理就是要提供方便实用的数据的分析、处理、存储、显示、输出等各种应用功能,满足用户的尽可能多的需求。这部分功能自然非PC机莫属。
系统功能安排是:PC机作为主机(也称上位机),单片机(也称下位机)负责数据采集与缓冲保存,USB接口负责两者之间的数据通信。
具体工作流程是:PC机接收用户的应用命令,按系统功能配置数据采集参数,通过USB接口,给单片机发送控制命令,单片机按下达的命令控制A/D转换进行数据采集,并将采集到的数据作缓冲保存,采集好一批数据后,再按主机要求通过USB接口发送给PC机,PC机完成数据的存储、简单分析、处理、显示、输出等基本应用。更进一步还可以对数据进行格式转换,供其它专业数据处理软件作输入数据,实现更多高级数据处理功能。
MCU选型
为实现设计要求,微处理器必须含有具有A/D转换功能和USB通信功能的两个基本模块,以及其它实现拓展功能的模块。
上图所示为设想的功能板图,控制器通过它的功能模块与外围设备进行联系: USB模块与PC机连接,进行USB通信;A/D模块接模拟量输入,进行A/D转换;D/A模块接模拟量输出,产生输出波形;I/O接口外接输入输出;I2C模块与传感器等含I2C的器件连接,进行I2C通信;SPI模块与外围设备相连,使单片机与各种外围设备以串行方式进行通信以交换信息。
USB总线的数据采集方案一般有两种,一种是采用专用的USB通信芯片。另一种是利用具有USB接口功能的单片机。考虑到实际情况,本设计选用第二种方案。
PIC18F4550是Microchip公司生产的带全速USB接口的8位高档单片机,该单片机具有精简指令集、哈佛结构等特点,运行速度快、执行效率高。它的硬件资源非常丰富,并集成有多个功能模块: ICSP接口模块,可以通过PICkit™ 3与PC机联系,进行程序的烧写和调试;它的全速USB 2.0接口模块,可以方便、快捷的实现USB通信。[3]
由此,我们选用PIC18F4550单片机来进行设计。它的优势在于:
1、利用它的USB接口,可以实现与PC机之间通信,不需要另加USB接口芯片。
2、利用它的ICSP模块,可以实现PC机对单片机进行程序的直接烧写,并进行在线调试。
3、能够让电路的设计更为简洁、实用,既提高了整个设计的安全性和可靠性,又降低整个系统的功耗。
4、Microchip公司提供了集成开发环境Mplab和汇编语言、C语言编译器,使我们在程序调试,模拟运行方面更容易、更方便快捷。Microchip公司同时还提供了USB通信的范例和demo子程序,使我们在使用USB通信功能时更加的简单、快捷。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』