位置:51电子网 » 技术资料 » 仪器仪表

CH375在机车智能测温系统中的应用

发布时间:2008/6/2 0:00:00 访问次数:730

0 引 言

  本文来源于一机车智能测温项目(功能模块如图1所示)。在列车或其他重要电工场合,重要部件的温度变化是极需重视的安全参数,必须为其设计智能温度监测系统。当温度超标时,不但要能及时报警,还要实时记录并保存精确的时间、温度数据。通过对危险时刻及该时刻对应温度数据进行统计分析,可以检出不安全因素发生的规律,以制定有效的预防措施。

  在图1中,数据存储模块采用usb总线接口方式,主要是由于usb具有可“热插拔”的特性,使保存数据的操作更为简便。采用ch375作usb接口芯片,则是基于以下因素的考虑。

  一般情况下,单片机或嵌入式系统处理usb存储设备的文件系统需要实现usb-host硬件接口数据交换层、传输协议层、scsi/ufi/rbc命令层及文件系统管理4个层次。ch375的长处在于它内置了相关固件程序,包含了以上提到4个层次中的前3个。利用该芯片进行usb存储设备操作开发,就只需集中处理fat文件系统层,大大缩短了开发的周期,对项目开发无疑是很好的选择。

  ch375厂商已将文件系统管理层封包成库,对其进行开发时这一层可以忽略。然而,由于厂商未对一般用户提供此方面源码,开发过程中也带来了一些问题,例如:由于没有文件管理的c源码,进行程序调试就只能查看编译后的汇编代码,导致调试工作繁复,收效甚微;其次,尽管编译器已经作了优化,但编译后所占的系统资源仍远比用户自编文件管理子程序的大,这对资源极其有限的单片机非常不利;再次,由于开发平台不尽相同,芯片厂商提供的库子程序并不总有效,例如系统选用不同晶振时,库函数中的内嵌延时段的实现效果也会发生变化,往往造成usb设备与主机失去同步,这对于avr等高档单片机更是如此。

  由此可见,利用ch375操作usb存储设备,开发者很有必要熟悉fat文件系统的格式。下文将从项目开发的实际出发,着重介绍进行文件管理的原理及编程步骤,以解决上文提及的困难。

1 usb总线接口的设计

1.1 硬件电路设计

  如图2所示,ch375芯片的txd引脚接地,从而使其工作于并口模式。ch375芯片的8位双向数据总线直接与mcu数据口相连,rd#和wr#分别连接到单片机的读选通输出引脚和写选通输出引脚。片选信号cs#、中断引脚int#以及地址输入线a0分别与mcu任意分配的引脚相连。当cs#为低电平时,选通ch375芯片;ch375向mcu请求中断时,将int#引脚电平拉低;当a0引脚为高电平时,选择ch375的命令端口,可以写入命令,为低电平时选择数据端口,可以读写数据。

1.2 软件设计及实现

  本系统要求当普通u盘接入时,系统自动在其根目录下创建名为“data.txt”的文件,将mcu内置ram已记录的温度、时刻数据以字符串格式写入该文件;若文件已存在,则将数据追加至文件末尾;最后返回主程序。软件按图3所示流程进行设计, 电路上电后,先测试芯片是否能对单片机输出指令正确做出反应,必要时进行硬件复位,接着将芯片工作模式设置为模式6,即自动发送sof包的主机模式,这样,ch375与单片机就构成了最基本的usb-host,当usb设备接人时,接收到该包,就会让该包通过。ch375检测到设备连接上后会向mcu发中断信号,接着以查询ch375中断状态的方式等待u盘插入,若检测到表征设备接入的中断状态,则表明u盘已连接。接着向ch375输出cmd_disk_init,该命令将复位usb总线、读取并分析设备的描述符,然后自动配置,并建立起与设备之间的连接,完成后返回中断状态usb_int_success。上述步骤执行之后,芯片初始化的工作就完成了。

  接着编写扇区读写程序。对于存储设备来说,文件管理几乎都是“块操作”方式,即使只修改存储设备中一比特的数据,也必须将包含该比特的整个扇区读出,找到相应位置进行修改,再把修改好的扇区数据写回原位置。对于大多数usb接口芯片,读写扇区的阶段要求我们熟悉scsi或ufo协议指令,利用特定指令来完成操作。而ch375内嵌了支持此方面指令的固件,当读扇区时,发cmd_disk_read,与cmd_disk_rd_go配合使用,则可在usb存储设备中任意读取1至255个扇区的数据;只需将cmd_disk_write与cmd_disk_wr_go指令结合使用,则可在u盘中任意写入1至255个扇区数据。

进行文件读写前,必须完成以下工作:

  根据dos文件管理系统格式,声明必要的结构体,用于增强程序的跨平台可操作性及可读性。需要定义的结构体为dpt(dos分区表)、mbr(主引导记录)、bpb16(bios参数块,仅适合于fat12及fat16)、bpb32(仅适合于fat32)、fdt(文件目录表)、lfdt(长文件名fdt)等。除dpt、mbr外,其它结构体的内容在fat硬件白皮书中均有专门表格详细

0 引 言

  本文来源于一机车智能测温项目(功能模块如图1所示)。在列车或其他重要电工场合,重要部件的温度变化是极需重视的安全参数,必须为其设计智能温度监测系统。当温度超标时,不但要能及时报警,还要实时记录并保存精确的时间、温度数据。通过对危险时刻及该时刻对应温度数据进行统计分析,可以检出不安全因素发生的规律,以制定有效的预防措施。

  在图1中,数据存储模块采用usb总线接口方式,主要是由于usb具有可“热插拔”的特性,使保存数据的操作更为简便。采用ch375作usb接口芯片,则是基于以下因素的考虑。

  一般情况下,单片机或嵌入式系统处理usb存储设备的文件系统需要实现usb-host硬件接口数据交换层、传输协议层、scsi/ufi/rbc命令层及文件系统管理4个层次。ch375的长处在于它内置了相关固件程序,包含了以上提到4个层次中的前3个。利用该芯片进行usb存储设备操作开发,就只需集中处理fat文件系统层,大大缩短了开发的周期,对项目开发无疑是很好的选择。

  ch375厂商已将文件系统管理层封包成库,对其进行开发时这一层可以忽略。然而,由于厂商未对一般用户提供此方面源码,开发过程中也带来了一些问题,例如:由于没有文件管理的c源码,进行程序调试就只能查看编译后的汇编代码,导致调试工作繁复,收效甚微;其次,尽管编译器已经作了优化,但编译后所占的系统资源仍远比用户自编文件管理子程序的大,这对资源极其有限的单片机非常不利;再次,由于开发平台不尽相同,芯片厂商提供的库子程序并不总有效,例如系统选用不同晶振时,库函数中的内嵌延时段的实现效果也会发生变化,往往造成usb设备与主机失去同步,这对于avr等高档单片机更是如此。

  由此可见,利用ch375操作usb存储设备,开发者很有必要熟悉fat文件系统的格式。下文将从项目开发的实际出发,着重介绍进行文件管理的原理及编程步骤,以解决上文提及的困难。

1 usb总线接口的设计

1.1 硬件电路设计

  如图2所示,ch375芯片的txd引脚接地,从而使其工作于并口模式。ch375芯片的8位双向数据总线直接与mcu数据口相连,rd#和wr#分别连接到单片机的读选通输出引脚和写选通输出引脚。片选信号cs#、中断引脚int#以及地址输入线a0分别与mcu任意分配的引脚相连。当cs#为低电平时,选通ch375芯片;ch375向mcu请求中断时,将int#引脚电平拉低;当a0引脚为高电平时,选择ch375的命令端口,可以写入命令,为低电平时选择数据端口,可以读写数据。

1.2 软件设计及实现

  本系统要求当普通u盘接入时,系统自动在其根目录下创建名为“data.txt”的文件,将mcu内置ram已记录的温度、时刻数据以字符串格式写入该文件;若文件已存在,则将数据追加至文件末尾;最后返回主程序。软件按图3所示流程进行设计, 电路上电后,先测试芯片是否能对单片机输出指令正确做出反应,必要时进行硬件复位,接着将芯片工作模式设置为模式6,即自动发送sof包的主机模式,这样,ch375与单片机就构成了最基本的usb-host,当usb设备接人时,接收到该包,就会让该包通过。ch375检测到设备连接上后会向mcu发中断信号,接着以查询ch375中断状态的方式等待u盘插入,若检测到表征设备接入的中断状态,则表明u盘已连接。接着向ch375输出cmd_disk_init,该命令将复位usb总线、读取并分析设备的描述符,然后自动配置,并建立起与设备之间的连接,完成后返回中断状态usb_int_success。上述步骤执行之后,芯片初始化的工作就完成了。

  接着编写扇区读写程序。对于存储设备来说,文件管理几乎都是“块操作”方式,即使只修改存储设备中一比特的数据,也必须将包含该比特的整个扇区读出,找到相应位置进行修改,再把修改好的扇区数据写回原位置。对于大多数usb接口芯片,读写扇区的阶段要求我们熟悉scsi或ufo协议指令,利用特定指令来完成操作。而ch375内嵌了支持此方面指令的固件,当读扇区时,发cmd_disk_read,与cmd_disk_rd_go配合使用,则可在usb存储设备中任意读取1至255个扇区的数据;只需将cmd_disk_write与cmd_disk_wr_go指令结合使用,则可在u盘中任意写入1至255个扇区数据。

进行文件读写前,必须完成以下工作:

  根据dos文件管理系统格式,声明必要的结构体,用于增强程序的跨平台可操作性及可读性。需要定义的结构体为dpt(dos分区表)、mbr(主引导记录)、bpb16(bios参数块,仅适合于fat12及fat16)、bpb32(仅适合于fat32)、fdt(文件目录表)、lfdt(长文件名fdt)等。除dpt、mbr外,其它结构体的内容在fat硬件白皮书中均有专门表格详细

相关IC型号

热门点击

 

推荐技术资料

驱动板的原理分析
    先来看看原理图。图8所示为底板及其驱动示意图,FM08... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!