新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ATmega128和CH374的USB接口设计

基于ATmega128和CH374的USB接口设计

作者:时间:2012-02-23来源:网络收藏

摘要:针对嵌入式MCU的需求,提出了以为微处理器,采用控制器,用SPI串口方式了一款,以解决嵌入式MCU与PC机进行通讯问题。文中介绍了该的硬件电路和软件方法,充分利用南京沁恒公司提供的资源,大大降低了软件的难度,提高了工作效率。在1KW碟式斯特林太阳能热发电装置中得到了应用,实践证明,该USB接口工作稳定、可靠,成本较低,取得了良好的应用效果。
关键词:;SPI;USB接口

随着嵌入式系统的发展,嵌入式MCU需要增加USB接口,以便实现与PC机等USB主机系统的通信。针对这样的需求,解决方案比较多,均有一个共同点,都采用PHILIPS公司的PDIUSBD12芯片,该芯片为并行总线接口,占用过多的MCU端口资源,且与MCU的软件接口编写复杂,同时芯片价格也不便宜。为此,采用南京沁恒电子有限公司的USB芯片设计了一款USB接口,以解决嵌入式MCU与PC机通信问题。CH374不仅价格有优势,该公司还提供了完善的USB驱动程序,且在芯片内部集成了数据缓冲区、被动并行接口、串行接口、命令解释器、通用的固件程序等,这样,以CH374设计的USB设备,不需要详细了解USB通讯协议,开发编程非常方便。

1 系统硬件设计
1.1 系统原理
该系统以单片机和CH374接口芯片为核心。ATmega128单片机是AVR RISC结构8位低功耗CMOS微处理器,内部带有128 Kb的系统内可编程FLASH程序存储器;4 Kb的EEPROM;4 Kb的SRAM;串行外围设备接口(SPI);有53个可编程的通用I/O脚,32个通用工作寄存器;有4个灵活的具有比较模式和PWM功能的定时器/计数器(T/C);自带8通道10位ADC,可选的可编程增益;片内振荡器的可编程看门狗定时器:与IEEE1149.1规范兼容的JTAG测试接口,可以用于片上调试;6种可以通过软件选择的省电模式,采用64引脚TQFP与MLF封装;峰值运算速度达16 MIPS,非常适合应用在嵌入式系统中。
USB器件采用CH374。该芯片支持USB-HOST主机方式和USB-DEVICE/SLAVE设备方式,内置3端口HUB根集线器,支持低速和全速的控制传输、批量传输、中断传输以及同步/等时传输。CH374具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP /MCU/MPU等控制器的系统总线上。在计算机系统中,CH374的配套软件提供了简洁易用的操作接口,与本地端的单片机通信就如同读写文件,降低了开发难度,除此之外,CH374还提供了节约I/O引脚的SPI串行通讯方式,通过SPI串行接口以及中断输出与单片机/DSP/MCU/ MPU等相连接。系统原理图如图1所示。

本文引用地址:http://www.amcfsurvey.com/article/149575.htm

a.jpg


1.2 硬件电路
CH374通过SPI串行接口以及中断输出与单片机连接,以便节约单片机的I/O引脚。CH374芯片的RD#引脚和WD#为低电平(接地)且CS#引脚为高电平(接正电源),则CH374将工作于SPI串口方式。在SPI串口方式下,CH374只需要与ATmega128单片机连接5个信号线:SCS#引脚、SCK
引脚、SDI引脚、SDO引脚以及INT#引脚,其它引脚都可以悬空。电路示意图如图2所示。

b.jpg


ATmega128单片机配置为SPI主机时,SPI接口不自动控制PBO(SS#)引脚,必须由用户软件在通信开始前进行处理。对SPI数据寄存器写入数据即启动SPI时钟,将8比特的数据移入CH374芯片。CH374的SPI接口支持SPI模式0和SPI模式3,CH374总是从SPI时钟SCK的上升沿输入数据,并在允许输出时从SCK的下降沿输出数据,数据位顺序是高位在前,计满8位为一个字节。SPI的操作步骤如下:
1)ATmega128产生CH374芯片的SPI片选,低电平有效;
2)ATmega128按SPI输出方式发出一个字节的地址码,用于指定其后读写操作的起始地址;
3)ATmega128发出一个字节的命令码指明操作方向,读操作命令码是COH,写操作命令码是80H;
4)如果是写操作,ATmega128发出一个字节的待写数据,CH374收到并保存到指定地址后地址自动加1,ATmega128继续发出若干个字节的待写数据,CH374依次处理,直到ATmega128禁止SPI片选;
5)如果是读操作,CH374从指定地址读出一个字节数据并输出后地址自动加1,ATmega128收到数据并保存,CH374继续从下一个地址读出数据并输出,直到ATmega128禁止SPI片选;
6)ATmega128禁止CH374芯片的SPI片选,以结束当前SPI操作。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭