Issuu on Google+

Scientific Journal of Control Engineering December 2013, Volume 3, Issue 6, PP.411-416

Design and Realization of a Kind of Electronic Traffic Counter Device Based on CH376S Xiaoyu Zhang †, Yi Huang North China Institute of Science and Technology/Yanjiao 206#, Beijing 101601, China †Email:

ysuzxy@aliyun.com

Abstract A kind of portable electronic traffic counter was designed in this paper based on Mega32L microcontroller and CH376S with document management and control functions. MCU communicated with CH376S via SPI mode interface and with keys and LCD interface by parallel manner. The device possesses multi-functions, such as traffic data acquisition and control, management, realtime data upload, dump and display functions, characterized by low power and cost, parallel with the current trends of industrial control systems. Keywords: Traffic Counter; File Control; File Administration; AVR; Mega32L

一种基于 CH376S 的存储式电子交通量计数器设 计与实现* 张晓宇,黄轶 华北科技学院 电信学院,北京 065201 摘 要:实现了一种采用 Mega32L 单片机和 CH376S 文件管理控制芯片为主要方案的便携式电子交通流计数器。单片机 通过 SPI 方式与 CH376S 接口,并行方式与 LCD 接口,独立式键盘。具有交通量数据采集控制、管理,数据实时上传, 转储和显示等功能,低功耗,低成本,符合目前工业控制系统趋势和潮流的便携式设备。 关键词:交通量计数器;文件控制;文件管理;AVR;Mega32L

引言 交通量计数器是一种通用计数器,在交通工程中主要用于临时观测交通流量,是交通调查最常用、最 基本的设备。交通量计数器用于公路交通调查站、城调队、公安交管局、交通科研所、城市规划设计院、 交通大专院校等部门的交通统计计数工作。 传统的交通量计数器有单通道机械式、单通道电子式、多通道机械式、多通道电子式 4 类。单通道机械 式或电子式交通量计数器一般为手握计数器,体积较小,按键计数频率不超过每分钟 400 次,按键寿命 100 万次以上。该类计数器功能简单,性能可靠,使用寿命长,适应环境广,使用方便,便于携带。多通道交 通量计数器是一种台式直读统计计数工具,分 6、8、12、16 通道多种款式。常用的 6 通道计数器外形尽寸 为长 23CM,宽 5CM,高 7CM。每个通道的计数范围为 0-9999。适合于交通量的分类计数,也可以用于实 验室计数,如血液细胞、血球及血小板计数,细菌群落的分类计数等。 通过调查多年来交通量计数器的应用情况,发现目前使用的交通量计数器存在以下问题:(1)单通道 机械式的计数器是靠按钮驱动计数显示系统,当计数强度过高时,容易造成手指疲劳;(2)多通道计数器 *

基金资助:本文受河北省青年科学基金项目(F2013508110);河北省教育厅科技计划项目(Z2012089);中央高校基本科研业务 费(3142013055)支持资助。 - 411 http://www.sj-ce.org


的按键使用时,常出现按键不能复位的情况;(3)每一计数周期的结果需记录在记录表格上,无法存储为 电子文件;(4)计数器无法记录观测对象的时间信息。 本文基于单片机和 CH376S 文件管理控制芯片,设计和实现一种新型的电子交通流计数器,具有海量数 据采集能力;符合当代计算机控制的技术,设计新颖;方案实现简单成本低廉。主要特点是:(1)基于最 新的 USB/SD 卡文件管理控制芯片 CH376 进行海量存储器的读写管理。(2)采用 RISC 结构体系的高档 8 位单片机为 MCU。(3)整个系统 3.3V 供电,全部采用低功耗方案和技术,以使系统便携化。

1

系统方案

1.1 硬件方案 系统总体方案如图 1 所示。控制核心 MCU 选用 ATMEL 公司 AVR 系列 Mega 单片机 ATMega32L,人 机接口采用 12864 标准图形点阵液晶和独立式键盘,为实现记录交通量数据采集时间点要求,外设实时时钟 芯片,CH376S 接口 USB 口以及 SD 卡。存储介质为标准 SD 卡。 主机部分包括有 MCU 中央处理器、SD 卡读写电路、USB 上载 SD 读卡器电路、万年历时钟电路、显 示电路和键盘。MCU 用于接收其他各电路送出的信号,并产生控制信号控制其它各电路;MCU 控制 SD 卡 读写电路,读取键盘获得的车型流量计数信息,并经过 MCU 处理,按一定格式,显示在液晶显示屏 LCD 上,并且写入 SD 卡。 (1)万年历时钟电路:DS1302 时钟芯片通过 SDA,SCL 组成的 I2C 总线与 MCU 接口,时钟芯片与 MCU 的连接为,PC0 和 PC1 两条线,对应 Mega 型 MCU 的内部 TWI 通信模块。 (2)人机接口:键盘通过锁存器和 12864LCD 共用一个 IO 口线,键盘控制方式为中断控制;LCD 采 取并行方式与 MCU 通信。 USB上/下载端 口及上/下载线

万年历时钟

FAT专用芯片

Mega CPU

SD卡存储 介质

键盘

LCM 12864M 液晶显示器

锁存器 (a) 结果显示示意图

图 1 电子交通量计数器方案总图

(b) 文件浏览模式显示示意图

图 2 计数器显示示意图

(3)SD 卡读写电路:主机 SD 卡读写电路能按按照 FAT 文件系统格式将获得的车型流量信息写入 SD 卡,主机 MCU 也可以从 SD 卡读取需要的信息;由 FAT 专用芯片 CH376S 与 MCU 连接组成,MCU 与 CH376S 通过 SPI 方式通信。 (4)USB 上/下载 SD 读卡器电路:PC 机使用 USB 上/下载端口来读写设备中的数据,实现把获得的车 型流量信息上载到普通电脑,符合 USB2.0 版的规范。其主要实现思路是:FAT 专用芯片的 RESET 信号受 USB 口 5V 电平控制。读卡器专用芯片与 SD 卡的数据 DATA0~DATA3 信号线及其它 SD 卡信号线与 FAT 专用芯片读写 SD 卡信号线共享,也即 FAT 专用芯片和读卡器专用芯片共同操作 SD 卡,但是 FAT 专用芯 片的读写操作受主机 MCU 控制,以使之不发生读写冲突。当有 USB 插入时,MCU 控制使 USB 上/下载 SD 读卡器接口电路独立与设备其他部分,同时 5V 电平使 FAT 专用芯片复位,成为如图 2 所示的独立读卡器。 当读卡器专用芯片操作 SD 卡或者空闲时,MCU 让 FAT 专用芯片进入睡眠状态。 - 412 http://www.sj-ce.org


1.2 外观设计 外观采用流行的秒表样式,外壳采用工程塑料或铝合金。计数器设置 5 个控制按钮,上方三个分别为: 车型 1/+;车型 2/MODE;车型 3/-。左下方为存储按钮:SAVE。右下方为电源按钮:POWER。计数器采 用 3 排黑白液晶显示,每排显示 14-16 个字符。电源采用 1.5V 七号干电池供电。数据读取采用 USB 方式。 显示器上方为图形商标,下方为设备名称,最下方为设备型号。

1.3 功能设计 (1)钟表模式:按电源开关开机后设备默认为钟表模式。显示器第一排显示日期,例如 2009-12-12; 第二排显示时间,例如 15:20:30;第三排显示星期,例如星期六。 (2)秒表模式:在钟表模式下,按下车型 3/-按钮开始秒表计时,再次按下车型 3/-按钮计时结束,按 下车型 1/+按钮计时归零。秒表计时精度为 1%秒。 (3)设置模式: ①下拉菜单 在钟表模式下按下车型 2/MODE 按钮进入设置模式,显示器出现一个下拉菜单:设置日期、设置时 间、地点编号、车道编号、车型编号、计数器模式、文件浏览、返回。 再次按下车型 2/MODE 按钮,直接进入计数器模式。 利用车型 1/+和车型 3/-两个按钮来选择菜单。按下车型 1/+按钮,下拉菜单由上向下依次高亮显示;按 下车型 3/-按钮,下拉菜单由下向上依次高亮显示。 按下车型 2/MODE 按钮选择高亮菜单选项。 ②设置日期 在下拉菜单中,利用车型 1/+和车型 3/-两个按钮选择“设置日期”高亮显示,按下车型 2/MODE 按钮 进入日期的设置。日期设置中年、月、日分别按车型 2/MODE 按钮,依次闪烁设置,利用车型 1/+和车型 3/-两个按钮调整,再次按车型 2/MODE 按钮则确认设置。 ③设置时间 在下拉菜单中,利用车型 1/+和车型 3/-两个按钮选择“设置时间”高亮显示,按下车型 2/MODE 按钮 进入时间的设置。时间设置中时、分、秒分别按车型 2/MODE 按钮,依次闪烁设置,利用车型 1/+和车型 3/-两个按钮调整,再次按车型 2/MODE 按钮则确认设置。 ④地点编号设置 在下拉菜单中,利用车型 1/+和车型 3/-两个按钮选择“设置地点编号”高亮显示,按下车型 2/MODE 按钮进入地点编号的设置:显示器显示系统提示:请设置地点编号:001(闪烁显示)。利用车型 1/+和车 型 3/-两个按钮调整,调整范围 1~999,按车型 2/MODE 按钮确认后返回下拉菜单模式。 ⑤车道编号设置 在下拉菜单中,利用车型 1/+和车型 3/-两个按钮选择“设置车道编号”高亮显示,按下车型 2/MODE 按钮进入车道编号的设置:显示器显示系统提示:请设置车道编号: 1(闪烁显示)。利用车型 1/+和车型 3/-两个按钮调整,调整范围 0~9,按车型 2/MODE 按钮确认后返回下拉菜单模式。 ⑥车型编号设置 在下拉菜单中,利用车型 1/+和车型 3/-两个按钮选择“设置车型编号”高亮显示,按下车型 2/MODE 按钮进入车型编号的设置。车型可设置三种,分别是大、中、小,编号为 1、2、3。 (4)计数器模式 ①进入计数器模式有三种方法: 在钟表模式和秒表模式下,连续按下车型 2/MODE 按钮两次,直接进入计数器模式;在设置模式下, - 413 http://www.sj-ce.org


若下拉菜单没有高亮显示,按下 2/MODE 按钮直接进入计数器模式;在设置模式下,利用车型 1/+和车型 3/-两个按钮选择“计数器模式”高亮显示,按下车型 2/MODE 按钮进入计数器模式。 ②计数:进入计数器模式后,利用车型 1/+、车型 3/-和车型 2/MODE 三个按钮进行分类计数。显示器实 时显示计数状态,如图 2(a)所示。第一排显示车型 1 的计数结果,第二排显示车型 2 的计数结果,第三排显 示车型 3 的计数结果。 (5)文件的浏览与传输 ①文件的浏览:在设置模式下,利用车型 1/+和车型 3/-两个按钮选择“文件浏览”高亮显示,按下车型 2/MODE 按钮进入文件浏览模式。如图 2(b)所示。利用车型 1/+和车型 3/-两个按钮选择显示文件的高亮显 示,按下车型 2/MODE 按钮返回钟表模式。 ②文件的格式:设备存储的文件包含如下信息:日期、地点编号、车道编号、单车时间、单车车型编 号。具体示例如下表 1。 表 1 文件数据格式表

2

日期

地点编号

车道编号

车型编号

时间

20091212

001

1

1

15:16:20:34

20091212

001

2

3

15:16:24:12

系统硬件设计

2.1 Mega32L 电路 Mega32L 是基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器。由于其采用先进 RISC 精简指 令以及大多数指令执行时间为单个时钟周期, Mga32L 的数据吞吐率高达 1 MIPS/MHz,从而可以缓减系统 在功耗和处理速度之间的矛盾。Mga32L 的最小系统包括晶振、复位电路、电源供电(包含稳压 LDO、去耦 电容等)等电路略,可参考其数据手册。

2.2 CH376S 芯片及接口电路[4] CH376 是南京沁恒公司生产的一种文件管理控制芯片,用于嵌入式系统读写 U 盘或者 SD 卡中的文 件。CH376 芯片内部集成了 USB-SIE 和数据校验、USB-Host 控制器、USB-Device 控制器、SD 卡 SPI-Host 控制器、被动并行接口、SPI-Slave 控制器、异步串口、双口 SRAM、FIFO、高速 MCU、固件程序、晶体 振荡器和 PLL 倍频器、电源上电复位电路等。CH376 支持 USB 设备方式和 USB 主机方式,并且内置了 USB 通讯协议的基本固件,内置了处理海量存储设备的专用通讯协议的固件,内置了 SD 卡的通讯接口固 件,内置了 FAT16 和 FAT32 以及 FAT12 文件系统的管理固件,支持常用的 USB 存储设备和 SD 卡。 CH376 支持三种通讯接口:8 位并口、SPI 接口或者异步串口,单片机/DSP/MCU/MPU 等控制器可以通 过上述任何一种通讯接口控制 CH376 芯片,存取 U 盘或者 SD 卡中的文件或者与计算机通讯。本设计中将 CH376 配置为 SPI 串行通讯方式 SPI,RD#和 WR#应该接 GND,其余引脚可以悬空。SD 卡插槽,SD 卡插 拔状态引脚直接连接到单片机的 I/O 或者中断输入引脚。CH376 与 Mega32L 的接口如图 3(a)所示。 CH376 芯片的 SCS 引脚由单片机的 SPI 片选输出引脚或者普通输出引脚驱动,SCK 引脚由单片机的 SPI 时钟输出引脚 SCK 驱动,SDI 引脚由单片机的 SPI 数据输出引脚 SDO 或 MOSI 驱动,SDO 引脚则连接 到单片机的 SPI 数据输入引脚 SDI 或 MISO。对于硬件 SPI 接口,建议 SPI 设置是 CPOL=CPHA=0 或者 CPOL=CPHA=1,并且数据位顺序是高位在前 MSB first。CH376 的 SPI 接口也支持单片机用普通 I/O 引脚 模拟 SPI 接口进行通讯。 如果不连接 INT#引脚,那么可以通过查询 SDO 引脚获知中断,方法是让 SDO 引脚独占单片机的某个 输入引脚,并通过 CMD_SET_SDO_INT 命令设置 SDO 引脚在 SCS 片选无效时兼做中断请求输出。 - 414 http://www.sj-ce.org


CH376 的 SPI 操作步骤请参考其数据手册。 U2 Q0

1

3 4

10u 0.1u

6

1 5 7 2 8 9 10 11

SD_CS SD_CK SD_DI SD_DO 100K

PB4

SCK/D5 SDI/D6

PB7 PB6

SDO/D7

PB5

BZ/D4 INT#

PB3 PD3

V3 5K 5K 5K 5K 5K 5K

U1

PB0 PB1

VDVD+

SCS/D3

INT

V3

X0

X1

PCS# WR# RD#

S1~S6 XTAL1 8M XTAL2 SD_INSERT SD_WP

DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7

V3 VDD VSS V0

20K

VOUT V3/5

Mega32L

V3

10K 10K

LCM PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7

12864M

V3

0.1u

100u

U1

VCC V3 GND

Q7

Mega32L

1

USB PORT

U2

V3

CH376S

V5

~

~ D5

LE 74HC373 OE

D0

PD6 PD7

V3

10K

PC4 PC5 PC6 PC7

D/I R/W EN PSB

BLA BLK

RESET

0.1u

SD_CARD PORT (a)CH376S 与 Mega32L 接口示意图

(b)键盘、LCM 与 Mega32L 接口示意图

图 3 系统硬件原理示意图

2.3 键盘及 LCM 接口 系统采用 SMG12864L 标准图形点阵型液晶显示模块(LCM),可显示 128×64 点阵,点尺寸为 0.29× 0.34(W×H)mm,内置 NT7532 接口型液晶显示控制器,数字可编程 LCD 偏压调节,宽电压工作范围,可与 MCU 单片机直接连接,广泛应用于各类仪器仪表及电子设备。 系统设置 6 个独立式按键,按键及 LCD 与 MCU 的连接为键盘通过输入锁存器和 LCD 的 DB0~DB7 共 同占用 MCU 的 PA 口 8 位信号线,另外键盘通过逻辑电路与 MCU 连接,采用中断方式控制键盘。 MCU 通 过 8 位数据总线(PA0~PA7),及 5 条控制线:使能信号 EN(占用 PC4)、读/写选通 R/W(占用 PC5)、 数据/指令信号 D/I(占用 PC6)、片选信号 CS1 与 CS2(占用 PC2,PC3)和 LCD 相连,MCU 控制将数据 送入 LCD 显示。这部分接口电路如图 3(b)所示。

3

系统软件设计 软件采用前后台结构,数据采集功能及程序放在中断服务中实现,以保证实时性及准确性。程序采用 C

语言编写,编译连接环境为 WINAVR 及 GCC。 主程序流程如图 4 所示。系统初始化完毕后进入主循环。主循环工作流程是:先扫描键盘,看是否有键 按下,如有进行按键处理然后进入 LCD 刷新显示程序;如无则直接进行 LCD 刷新显示。接着判断是否有 USB 或 SD 卡插入,如有进行相应事件处理程序然后返回循环开始,如无直接返回循环开始。 初始化

是否有键按下?

取键值

键处理 刷新显示

有USB/SD卡 插入?

USB/SD事务 处理

图 4 主程序流程图 - 415 http://www.sj-ce.org


本系统中的软件编写主要包括以下几个模块:(1)CH376S 数据读写程序,(2)LCM 的驱动程序, (3)键���扫描及处理程序,(4)DS1307 时钟驱动程序。 重点程序模块为 CH376S 数据读写程序。由于 CH376 不仅是一个通用的 USB-HOST 硬件接口芯片,还 内置了相关的 USB 底层传输固件程序、Bulk-Only 协议传输固件程序、FAT 文件系统管理固件程序,包含了 4 个层次,所以实际的单片机程序只需要发出文件管理和文件读写命令,给应用者提供了最简单的软件接 口。因此程序编写更加方便。

4

结论 随着嵌入式计算机的广泛应用以及 USB 通讯技术的高速发展,在交通量统计数据的采集、存储和上传需

要将大量的数据存储设备集成到计算机控制系统中去,本文通过 USB 总线本文实现了基于 CH376S 文件管 理控制芯片的交通量计数器设备。选用 Atmel 公司高档 8 位单片机 Mega32L 为控制核心,通过 SPI 方式与 CH376S 接口,并行方式与按键和 LCD 接口。整个系统 3.3V 供电,全部采用低功耗方案和技术,以使系统 成为具有文件控制、管理,数据实时上传,转储和显示等功能的便携式设备。

REFERENCES [1]

LI Ping and SHAN Baoyue et al. “Application of USB chip CH376 in intelligent instruments.” Metrology & Measurement Technique, 38(2011): 9-10+14

[2]

JIA Shisheng and ZHOU Maoying, et al. “The application of USB interface chip CH376 in locomotive velocimetry.” Coal mine machinery, 33(2012): 272-275

[3]

SUN Junying. “The design parameters of power plant recorder based on C8051F020.” Application of Electronic Technique. 38(2012): 153-156

[4]

HUANG Yi, DU Zhiwei and ZHANG Xiaoyu. “Realization of USB/SD Card Data Acquisition Device Based on CH376S.” Paper presented at the Third International Symposium on Test Automation and Instrumentation, Xiamen, China, May 22-24, 2010

[5]

XIE Zhiying et al. “Data acquisition system based on MSP430 and CH376USB interface.” Industrial Control Computer, 25(2012): 32-33

[6]

ZHAO Xinchen et al. “Design and application of CH376 Driver based on FPGA.” Paper presented at the International Conference on Image, Vision and Computing, Shanghai, China, September 1-3, 2012

[7]

LIU Pan et al. “Design of simple e-book reader STC90C516AD based on MCU and CH376.” Industrial Control Computer. 24(2011): 98-99

【作者简介】 1

张晓宇(1978-),男,汉族,工学博

2

黄轶(1973-),女,汉族,硕士,副教授,主要研究方向

士,副教授,主要研究方向为滑模变结

为嵌入式系统及应用,智能控制,无线传感网络等。2002 年

构控制,非线性系统智能自适应控制,

获辽宁科技大学硕士学位。Email: yxrbz@yahoo.com.cn

复杂动态系统分析、综合及应用。2000 年毕业于燕山大学工业自动化专业, 2003 年 3 月获浙江大学工学硕士学位, 2006 年 6 月获浙江大学工学博士学位,浙江大学优秀毕业研 究生。主持各类科研项目 5 项,发表论文近 40 篇。Email: ysuzxy@aliyun.com

- 416 http://www.sj-ce.org


Design and realization of a kind of electronic traffic counter device based on ch376s