ADuC7026是基于ARM7TDMI 内核的精密控制器,具有62 KB FLASH,8 KB RAM和4个通用定时器,内部集成UART,I2C,SPI,DAC,PWM,JTAG端口、 PLA等众多硬件资源,40个通用I/O引脚。CPU时钟高达45 MHz,采用80脚LQFP封装。在该设计中,搭建了一个包括供电电路、时钟电路、复位电路、JTAG程序下载调试接口等电路的完整ARM7应用系统。实际上由于实测ADuC7026的外部I/O取反速度只有4 MHz,因此在SPI设计中,该设计加入Atmega48单片机作为中转,保证了控制核心在处理USB通信、U盘读/写等大量信息时对采样的准确触发。

4 程序设计

4.1 ARM端程序编写

ARM下位机软件完成的主要功能有3个进程,分别为 Wait,Online,Offline。当数据采集卡上电复位后,首先执行Wait进程,该进程等待按键操作,更改系统工作模式,配合的子程序还有相应初始化程序、按键防抖程序等。当Wait进程结束时,系统转入联机模式(Online)或离线模式(Offline)。联机模式按照用户设置进行采样,将数据存入CH375缓冲,CH375负责将数据传送给上位PC机,其程序流程如图2所示。离线模式则利用CH375海量存储固件,将数据存入U盘。为保证采集的实时性,控制器将数据存放在U盘扇区中,而不是以文件的形式读/写,避免创建文件时复杂时序的延误,其程序流程图如图3所示。

4.2 PC端编程

该数据采集卡的上位机应用程序由动态链接库DLL和客户端程序2个部分组成。其中,DLL负责与内核态的USB功能驱动程序通信,并接收应用程序的各种操作请求;客户端程序负责对数据进行分析处理。采用VC++编写,遵循了工程通用的输入/输出界面,可以完成普通数据采集卡的在线采集功能,同时也可以将数据采集卡存储在U盘中的采集数据,通过物理扇区寻址来读取相应的采集数据。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查