APP下载

双模式U SB的LED控制系统设计

2010-04-16付进华谷爱昱杨晖

电脑与电信 2010年10期
关键词:U盘低电平高电平

付进华谷爱昱杨晖

(广东工业大学自动化学院,广东广州510006)

1.引言

LED发光二极管由于其全固态、长寿命、低电压驱动,使之在各个领域得到广泛的应用。不同亮度的RGB三基色LED可以混合成各种颜色,实现彩色显示常用于医疗设备、探测系统、LCD背光以及室外装饰照明等应用场合。LED控制方案主要包括DMX512协议、DALI总线、SPI等,这些方案大部分是采用RS232或者485总线实现在线更新控制数据。

USB是一种应用于计算机领域的接口技术,与通常的串口(RS232)通信接口相比,USB接口开发难度更大。USB接口以其单一化、即插即用、便捷、易拓展性和高速等特点得到广泛的推广与应用。南京沁恒电子推出的USB接口芯片CH375为开发提供了便捷条件。

本文采用CH375芯片实现双模式USB应用于LED控制系统中,给出了主从机模式下的软件设计方法,通过单片机控制CH375工作在主机或者从机模式下分别读U盘、接收上位机数据,来实现对RGB LED的控制。在LED控制芯片的选择上,结合价格、PCB各方面的因素,本文采用天微电子的三通道LED控制芯片TM1803。

图1 系统硬件结构框图

2.系统结构框图

系统的设计思想是采用模块化设计方法,硬件电路设计框图如图1所示。系统的工作原理为:CH375由单片机控制工作在主机或从机模式下,当工作在主机方式下时,单片机读U盘中的文件;当CH375工作在设备模式下时,上位机通过USB从机线实现与单片机的通信[1];主机和从机模式的选择通过判断单片机的P33口是否为高电平来实现,P33为高电平时CH375工作于设备状态,否则工作于主机状态;单片机把从U盘或上位机获得的控制数据来实现对级联的TM1803实时控制;拓展的外部RAM用于读U盘和USB通信的数据缓冲;串口通信电路有利于对硬件系统的调试,方便开发。

3.硬件电路设计

3.1 CH375模块硬件电路设计

在USB芯片的选择一般有两种方式:一是采用集成USB通讯功能的微处理器,比如:8X930A、CY7C630、EZ USB等。这些微处理器具有USB接口,但是兼容性较差,需要购买新的开发系统,成本较高。另一种采用专用的USB芯片,比如USBN9602、PDIUSBD12等。但是要求设计人员对USB协议标准,固件编程及驱动程序编写等有深入的理解[2]。

本系统中使用的USB接口芯片CH375使用非常简单,只要熟悉单片机及简单的VC编程就能在短时间内入手。CH375芯片在本地端有8位数据总线和读、写、片选控制线以及中断输出[3],可以方便地挂载在单片机等控制器的系统上;CH375支持USB-HOST主机方式和USB-DEVICE设备方式;CH375与单片机的接口电路如图2所示。

图2 CH375与单片机STC11XX的硬件接口电路

单片机P33连接STATUS,通过判断STATUS的高低电平来判断哪个USB插座在工作,从而判断CH375工作在哪种通信模式下。P1_HOST用于连接USB设备,即CH375工作于主机模式下;端口P2_DEVICE用于连接计算机,即CH375工作在设备模式下。空闲时,P33为低电平,单片机使CH375工作在主机模式下;当有U盘插入P1_HOST时,CH375会自动通知单片机进行处理;当P2_DEVICE连接到PC的USB端口时,USB提供5V电压,使P33为高电平,单片机将CH375切换至设备模式下。

3.2 LED控制模块硬件电路

LED控制模块硬件电路采用TM1803三通道LED恒压驱动控制芯片,内部集成有MCU数字接口、数据锁存器、LED高压驱动等电路。通过外围MCU控制实现该芯片的单独灰度、级联控制实现户外大屏的彩色点阵发光控制。芯片采用单线级联,8位(256灰度等级)数据解析,采用单极性归零码的方式收发数据,芯片在上电复位后,通过DI接收数据,接收完24位后,D0端口开始发送数据给下一级联芯片,在转发之前D0一直拉低。数据接收期间,如果接收到一个长时间的低电平,芯片即刻把锁存的24位有效数据刷入到PWM寄存器里更新PWM显示。处理完成后芯片重新等待下一个数据帧的输入。TM1803芯片的时序波形有三个(0码为680ns高电平,1360ns低电平;1码为1360ns高电平,680ns低电平;RESET码为24us低电平;0码、1码的时序容许误差为区±150ns)。TM1803接在单片机P1口的任意一个I/O口即可,如图3示。

3.3 串口通信模块硬件电路

MAX232是常用的串口通信电平转换芯片,本文串口通信电路是采用MAX232芯片进行电平转换。

图3 TM1803级联应用与MCU硬件接口

3.4 硬件设计注意事项

硬件设计时的抗干扰对电路板的稳定运行相当重要,在PCB的设计和调试的过程中,主要在CH375模块,要注意一下几个方面:(1)选取容量为0.1uF的独石或者高频瓷片电容用于外部电源退耦;(2)D+和D-信号线接近平行布线,两侧尽量覆铜;(3)USB主机接口出要接上100uF的电解电容,电阻不要太大,否则会造成U盘供电不足而无法读U盘数据;(4)USB设备接口上的两个电阻最后不要超过1K,否则会造成判断P33电平不够灵敏;这是本文在调试过程中碰到的一些问题的总结。

4.软件设计

4.1 上位机软件设计

上位机软件包括串口通信和USB通信两部分。串口通信用MSCOMM控件来实现,方便简单,能够在PC机上显示CH375常见的错误。USB通信部分采用CH375动态链接库DLL提供的面向功能的API,所有的API在调用后都有操作返回状态。CH375动态链接库提供的API包括:设备管理API、数据传送API、中断处理API。编写程序时在计算机上安装好CH375的通用驱动程序、DLL链接库、将DLL链接库的入口及函数定义添加到VC项目中只要调用API就可完成对设备的通信操作,用VC编制相应的应用程序即可,不必考虑协议、驱动程序等复杂的问题[4]。

4.2 下位机软件设计

图4 主程序流程图

下位机的任务主要是判断哪一个USB接口在工作,从而确定CH375工作在哪种模式下,将获得的数据处理成TM1803的LED控制数据。首先对单片机内部I/O、串口等进行初始化,单片机通过调用CH375的lib库函数CH375LibInit对程序库和芯片进行初始化;其次判断P33是否为低电平,如果为低电平则进入设备模式,否则进入主机模式;最后发送LED控制数据[5]。

在下位机软件设计中,需要注意的有三个方面:(1)单片机是以总线方式驱动CH375和外部RAM,要注意选择合适的总线地址,同时采用查询法来查询CH375工作状态。(2)外部RAM的使用会提高读U盘和USB通信的速度,但是在主机和设备模式之间的RAM缓冲区的地址不能重叠,否则会造成一种或者全部模式不能使用。(3)在编写TM1803的控制程序时,主要有CODE_0()、CODE_1()、RESET()三个子函数,本文用的STC11XX系列单片机是机器周期为单时钟单片机,示波器实测波形和理论波形有出入,原因在于调用函数和返回函数需要时间在C51中很少考虑,利用DEBUG功能将C51程序转变成汇编后发现LCALL、RET分别占6个和4个时钟周期。

5.结束语

双模式USB数据传输方式可拓展到其它便携式仪器中,即可作为外设直接与PC机进行数据通信,也可通过U盘作为媒介实现LED控制数据的实时更新。经过实验测试可以兼容大部分的U盘,以及通过多次USB设备通信测试完全通过,设备方式完全可代替RS232接口,弥补其传输速度慢的缺点。LED控制效果经测试得到良好的显示效果,单色能实现8位(256灰度级)颜色变化,RGB三基色可实现2563颜色变化。

[1]赵晓顺.双模式USB接口芯片CH375在温湿度测记仪中的应用[J].农机化研究,2007,(1):171-173.

[2]赵普俊.基于CH375振动信号远程监测系统的设计[J].仪表技术与传感器,2006,(7):50-53.

[3]南京沁恒电子有限公司.USB总线接口芯片CH375[EB/OL].http://wch.cn.

[4]杨全玖.基于CH375多通道USB接口与PC机通信的实现,2006,11-2-0072-3.

[5]丁铁夫.基于C8051F020和USBOLED控制系统设[J].计微计算机信息,2009,02-2-0065-02.

猜你喜欢

U盘低电平高电平
一种基于FPGA的PWM防错输出控制电路
铁道车辆高/低电平信号智能发生器设计
采用U盘文件冗余方案实现TSP系统的可靠装载
自动辨认插口方向的U盘
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
浅谈物理电路与数字电路
PDM 1kW中波广播发射机保护电路分析
15-MeV电子直线加速器的低电平系统
U盘“闹肚子”