微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 带USB接口的短信收发最小系统设计

带USB接口的短信收发最小系统设计

时间:01-23 来源:单片机及嵌入式系统应用 点击:


图2 稳压电源电路

2.1 稳压电源电路

  最小系统工作电压为5 V DC。由于TC35i 模块的突发耗电电流峰值可达3 A,故外加稳压器件必须达到足以提供该额定电流的条件。另外,电源的指标不仅仅有电压,而且功率容限等指标都要满足要求,故采用图2的设计方案。在该系统中,开关电源芯片LM7805 完成12 V到5 V的转换,电源电路主要由LM7805和AS1117-3.3这2个三端稳压电源模块构成,电源模块AS1117-3.3接收LM7805输入的5 V电平,输出为整个单片机系统提供+3.3 V工作电压,连到ZIF连接器的1~5引脚,为TC35i提供+5 V、500 mA的充电电压。电源的输出基本不会受外部输入变动干扰,而且有效的消除了电磁干扰。

2.2 IGT电路

  对于TC35i模块控制,IGT信号非常重要,只有正确的IGT信号才可以使TC35i模块正常运行。系统加电后,为使TC35i 进入工作状态,必须给IGT 加一个延时大于100 ms 的低脉冲,电平下降持续时间不可超过1 ms。驱动IGT时,TC35i 供电电压不能低于3.3 V ,否则TC35不能激活。电路设计如图3所示。启动电路由开漏极三极管和上电复位电路组成。为保证整个系统正常启动,要求在电源加电时,IGT必须保持大于100 ms的低电平后,再跳到高电平,在电路板中是依靠RC电路来完成的,且该信号下降沿时间小于1 ms。启动后,IGT脚的信号应保持高电平。电源通电后,+5 V电源通过电阻对电容充电,使电容正极上的电压慢慢上升,大约经过100 ms达到高电位,使施密特触发器翻转,系统被复位。启动后, IGT应保持高电平(3.3 V) 。

  TC35i数据接口通过USB电缆直接与PC机连接。数据接口遵从DCE的ITU2T RS232内部交换电路标准,实现异步串行收发功能。

2.3 TC35i其他部分电路

  TC35i使用外接式SIM卡, ZIF连接器上有6个引脚做为SIM卡的接口,SIM卡上也有6个引脚分别与它相对应, SIM卡同TC35i是这样连接的:SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通过SIM卡阅读器与TC35i的同名端直接相连,CCIN悬空,而TC上的CCIN通过一个3.3 kΩ电阻与CCVCC相连,用来检测SIM卡是否插好。这种连接方式是由SIM卡阅读器决定的,由于此部分的电路简单,本文就不提供了。

  TC35i的SYNC引脚有两种工作模式,一种是指示发射状态时的功率增长情况,另一种是指示TC35i的工作状态,可用AT命令AT SYNC进行切换,本模块使用的是后一种。当LED熄灭时,表明TC35i处于关闭或睡眠状态;当LED为600 ms亮/600 ms熄时,表明SIM卡没有插入或TC35i正在进行网络登录;当LED为75 ms亮/3 s熄时,表明TC35i已登录进网络,处于待机状态。

2.4 单片机周围电路

  采用Cygnal公司内置USB接口的高性能微控制器芯片C8051F320,简化了硬件部分的设计。该单片机即实现了USB接口的功能又要完成对模块的控制功能。因为C8051F320是带USB接口的单片机,所以整个硬件部分与一般单片机应用系统的开发类似,仅需要通过端口P0.5和P0.4连接40脚ZIF插座就可实现模块和单片机之间的通信。下面是设计时应特别注意的问题:在外接晶体时,一定要在晶体的两端接上10 MΩ的电阻,晶体外壳最好接地,而且布线尽量的短,尽量减少干扰。若要快捷、成功地开发一个USB设备,正确、合理的调试方法是必不可少的环节。那么设计调试所用的JTAG口时,要在TCK加上3.3 V上拉,上拉电阻为4.7 kΩ。本单片机共有32个引脚,对于未用的I/O口最好用100 Ω的电阻下拉到地。这样有助于保护I/O口。

3 软件设计

  基于带有USB接口的短信发送系统,既包括硬件设计又包括软件设计,下面简单介绍软件设计。USB应用系统软件设计分为三部分:USB外设端的固件(firmware)、主机操作系统上的客户驱动程序以及主机应用软件。8051F320固件程序控制整个系统的运行,并负责处理PC机发来的各种USB请求,以完成它们之间的数据传输。该固件共包含7个程序文件,响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理。单片机通过串行口控制TC35i,控制方法采用标准的AT命令集。由于在 GSM标准中,中文编码采用的是Unicode编码,而不是目前国内常用的GB-2312编码,故还需要进行中文编码的转换,才能显示汉字字型。因此,在进行短消息的发送时,还要对用户数据按PDU格式进行编码,为了增强硬件的功能最好把这部分放在固件。这些底层的驱动函数将会使上层协议的编写很方便,更重要的是,它提供了一个硬件抽象层。当底层硬件改动时,只需要改动底层的驱动函数,而上层函数的代码不变。在此基础之上再编写应用层程序。主机应用软件通过客户驱动程序与系统USBDI进行通信,实现系统USB数据的传送动作。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top