超声波流量计 超声波换能器性能开发及设计与实现五十二
4.4。4固件程序设计(超声波流量计)
所有基于微控制器及其井曝电路的功能设备的正常工作都离不开匿彳牛的参与,露件的工作就是辅助硬件,或者说是控制硬件来完成预期的设备功能。对于USB,固件程序主要完成以下的工作f33l:
(1)初始化工作,包括设置一些特殊功能寄存器的初值以实现所需的设备属性或者功能,例如开中断、使能端点、配置端口等;
(2)辅助硬件完成设备的重枚举过程,包括模拟设备的断开与重新连接,对收到的设置包进行分析判断,从而对主机的设备请求作出适当的响应,完成主机对设备的配置任务;
(3)对中断的处理;
(4)数据的接收与发送;国外围电路的控制。
Cyress公司为EZ-USB FX2芯片提供了用Keil 51C开发的固件库和固件框架。固件库中,fx2.h定义了一些常量、数据结构、宏、通用函数;fx2regs.h中包括位屏蔽定义和寄存器定义;EZUSB.LIB包含库函数的二进制代码;USBJMPTB.OBJ包含USB中断矢量和跳转表;另外固件库还包括一些函数和全局变量。固件框架实现了初始化芯片、处理USB标准设备请求及挂起状态下的电源管理等功能。专用固件文件包括FW.C、PERIPH.C、DSCR.ASl、EZUSB.LIB、USBJMPTB.OBJ,其中DSCR.A51是描述符;FW.C是固件的原始程序代码,主要实现设备初始化和重新列举和响应设备请求;PERIPH.C是用户子函数挂钩的相关定义,包括任务分配、设备请求和USB总线中断处理。
超声波流量计