java怎么拦截某个对象
259
2022-11-16
基于AT91SAM7X微控制器实现数据采集系统的设计
1 AT91SAM7X数据采集主控芯片介绍
2 数据采集系统硬件设计
2.1 数据采集系统硬件设计结构图
2.2 AT91SAM7X的ADC模块介绍
2.3 AT91SAM7X的USB2.O模块介绍
3.1 ADC模块的配置与模块编程
系统设计中采用多点方式进行A/D转换,ADVREF接3.O V的基准电压。方便起见,以单点转换为例,说明ADC模块的配置与模块编程。当然在A/D转换之前,系统时钟和整体的配置是必需的,此处只介绍ADC模块相关的配置与模块编程。先将与模/数转换相关的所有寄存器清零,以保证所有寄存器都有确定值。具体配置过程和IAR程序代码如下:
3.2 USB2.0模块的配置与固件编程
USB2.0接口模块如图3所示。该模块需要2个时钟,即USB2.O器件端口时钟和主时钟。模块通过APB总线接口访问USB2.0器件端口.通过对 APB寄存器的8位值进行读/写以实现对存储数据的双口RAM的读/写。外部恢复信号可选,允许在系统模式下唤醒USB2.O器件端口外设,然后主机将通知请求恢复的器件。USB2.O接口进行枚举时,该特性必须由主机处理。为保留检查VBUS的I/O线,必须先对PIO的控制器编程,将该I/O配置为输入PIO模式。USB2.O器件中有一条中断线与高级中断控制器AIC相连,因此,处理USB2.0器件中断时,必须在配置USB2.0器件端口前对高级中断控制器AIC编程。
本系统中使用USB2.0接口与上位机进行通信。为便于说明,此处以向上位机端通过USB2.0接口传送O~9的数字,并循环10次为例,说明 USB2.0模块的配置与同件编程。系统初始化完成后,此固件程序就通过USB2.0接口发送O~9的数字,循环10次后结束。具体的配置过程和IAR程序代码如下:
3.3 USB2.0的Windows应用程序设计
位机程序运行过程中首先检查设备的连接情况,确认成功连接后开始接收USB2.0设备发送过来的数据。此处为循环10次的0~9的数字,如图4所示,数据已经成功传输到了上位机端。
结语
本文设计了基于AT91SAMTX的多路USB2.0数据采集系统,以AT91SAM7X芯片为核心实现了数据信号的调理变换、采集和向上位机的传输。由于AT91SAM7X内置了ADC模块和USB2.0设备接口,使得系统设计十分方便;同时由于无需使用大量的外扩芯片,使得硬件成本大幅降低,产品体积更小巧,稳定性方面也比外扩芯片的方式有较大幅度的提升。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~