我们把所设计的数据采集系统功能分解为三大部分:数据采集部分、数据通信部分、数据处理部分。
数据采集部分应包含: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通信功能时更加的简单、快捷。