当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]1. 引言当前单片机和PC 机通过串行接口构成的多微机系统已经广泛应用于工业控制、环境监测等场合,这些系统大多采用RS - 232、RS - 485 或是有线modem的通信方式, 虽然很经

1. 引言

当前单片机和PC 机通过串行接口构成的多微机系统已经广泛应用于工业控制、环境监测等场合,这些系统大多采用RS - 232、RS - 485 或是有线modem的通信方式, 虽然很经济适用, 但是有线数据传输方式很大程度上限制了其使用的场合, 使得架设通信线路比较困难的地区无法应用。针对这种情况, 本文利用支持语音、短消息SMS ( ShortM es.sage Service)、数据通信、传真等业务的嵌入式无线CPU, 结合已有的单片机系统通过RS- 232接口连接嵌入式无线CPU, 从而利用GSM网络实现数据的无线传输。嵌入式无线CPU 在短信息方面的应用具有永远在线、不需拨号、价格便宜、覆盖范围广等特点, 特别适用于需频繁传送小流量数据的应用, 实现无线数据的双向传送。对软件和硬件加以改动还可以实现数据采集系统、GPS /GSM ( SMS)移动车辆监控定位系统、移动POS机、移动收费系统、移动性数据和Internet接入、机房监控、远程维护系统、移动性数据查询证券交易和信息查询系统、无线远程检测和控制等。

2. 系统硬件设计

本设计选用的是西门子TC35i嵌入式无线CPU。TC35i是西门子为适应各个专业领域对无线数据传输、语音传输及可开发性的需求推出的基于GSM 900移动通信网络系统的OEM 模块, TC35 i与GSM 2 /2+ 兼容、双频( GSM900 /GSM1800) , RS232数据口、符合ETS I标准GSM07. 07和GSM07. 05 、提供标准的AT 命令接口。MCU 采用CygnalC8051F020单片机。

基于TC35i嵌入式无线CPU 应用系统硬件的设计包括TC35 i的IGT电路、稳压电源电路、SYNC /S IM 卡指示灯电路、C8051F020 与TC35 i相连的串行口电路、C8051F020与PC 机的串行接口等几部分的设计, 应用系统硬件框图如图1 所示。其中TC35 i的IGT电路和C8051F020与PC 机的串行接口电路的设计需特别注意。

 


图1. 应用系统硬件框图

2. 1. TC35 i的IGT电路的设计

对于TC35 i模块的控制, IGT 信号非常的重要,只有正确的IGT信号才可以使TC35 i模块正常的运行, 模块工作时序如图2所示。

 


图2. TC35 i模块工作时序

启动电路由开漏极三极管和上电复位电路组成。模块上电10m s后(电压须大于3V ) , 为保证整个系统正常启动, 要求在电源加电时GT 必须在保持大于100毫秒的低电平后再阶跃到高电平。在电路板中是依靠RC电路来完成的且该信号下降沿时间小于lms。启动后15脚的信号应保持高电平。电源通电后, + 5V电源通过电阻R 对C 充电, 使电容正极上的电压慢慢上升, 大约经过100ms达到高电位使施密特触发器翻转、使系统被复位。电路设计如图3所示。

 


图3. TC35i的IGT电路

2. 2. C8051F020与PC 机的串口电路的设计

串行接口E IA - RS- 232C 标准对电器特性、逻辑电平和各种信号线功能都作了规定, RS- 232- C采用负逻辑规定逻辑电平。RS- 232C 不能和单片机的TTL电平( TTL 以高低电平表示逻辑状态)直接相连, 否则将使TTL 电路烧坏。本设计中C8051F020与PC 机的串行接口数据通信电路以SP3223E 芯片为核心, 实现电平转换及串口通信功能。SP3223E 芯片供电电压为3~ 5. 5V , 符合TIA /E IA - 232- F和ITUV. 28 /V. 24 标准。兼容5V 逻辑输入, 内含2路接收、2路发送串行通信接口, 数据传输速率可达240 kbit/ s。具有低功耗、高数据速率、增强型ESD保护等特性。增强型ESD结构为所有发送器输出和接收器输入提供保护, 可承受?

15kV IEC 1000- 4- 2气隙放电、? 8kV IEC 1000-4- 2接触放电和? 15kV 人体放电模式。芯片的最大特点是, 在串行口无数据输入的情况下, 可以灵活的进行电源管理, 即当ONLINE 为低电平、SHUT.

DOWN 为高电平时, ON - LINE 功能有效。在正常运行模式下, 若芯片在接收引脚没有检测到有效信号, 将自动进入SHUTDOWN 模式, 此时耗电luA。

在ON - LINE 功能有效时, 如果检测到接收或发送引脚有信号输入, 该芯片自动被激活, 转入正常工作状态。电路设计如图4所示。

 


图4. C8051F020与PC 机的串口电路

3. 系统软件设计

软件的编写分为底层驱动程序和应用层程序。

为了方便软件编程, 需要针对硬件编写一些底层驱动程序。首先是串行口的驱动函数: 打开串口( OpenComm )、关闭串口( C loseComm )、读串口数据( fteADComm)、写串口数据(W riteComm) 等, 本系统中通过控件MSCCOMM 来完成。然后在这些串口函数的基础上编写TC35i的驱动函数。单片机通过串行口控制TC35i,控制方法采用标准的AT 命令集。在进行短消息的发送时, 还要对用户数据按PDU 格式进行编码, 函数分别为Encode和Decode,在此基础之上再编写应用层程序。这些底层的驱动函数将会使上层协议的编写很方便, 更重要的是, 它提供了一个硬件抽象层。当底层硬件改动时, 只需要对底层的驱动函数改动, 而上层函数的代码不变。

软件层次结构如图5所示。

 

图5. 软件层次结构图

[page]

3. 1. 上位机软件设计

上位机软件是一个短信息通信的管理器, 运行在PC机上, 通过串口与单片机和TC35 i通信。上位机软件由RS - 232串口参数设置、接收信息、发送信息、历史记录、发送命令等部分组成。上位机软件用户界面如图6所示。[!--empirenews.page--]

 


图6. 上位机软件用户界面

( 1) 发送短信息程序流程。

对于SIM 卡中的短信息, 可以显示其编号、类型、发送者号码、信息正文和发送时间, 当发送短信息时应该先设置并检查串口是否打开和TC35 i模块是否正确连接, 还要判断目的手机和短信息中心号码位数是否正确, 之后再发送AT 命令, 发送短信息程序流程图如图7所示。

 


图7. 发送短信息程序流程图

( 2) 接收短信息程序流程。

若TC35 i接收到一条短信息, 将会发送一个提示信息, 串口*程序收到此提示信息, 就把短信息的内容显示到文本框中, 短信息内容包括接收时间、发送时间、发送手机号、短信息正文。接收短信息程序流程图如图8所示。

 


图8. 接收短信息程序流程图

3. 2. 下位机软件设计

下位机采用C ygna l公司的C8051F020单片机,它具有2 个串口UART0 和UART1, 设计时UART0连接PC 上位机(接收端)或数据采集系统(发送端) , UART1连接TC35 i模块, 两个串口都是双向通道, 这样单片机既可以控制TC35 i发送数据, 又可通过TC35 i接收数据, 数据传输流向如图9所示。

 

图9. 单片机数据传输流向图

由于UART0的中断优先级比UART1要高得多, 如果用查询的方式先处理UART0的请求, 再处理UART1的请求, 比中断方式更有效率, 并且程序设计更为简单, 故本系统在单片机串口程序设计中采用了查询方式。下位机软件程序流程图如图10所示。

 


图10. 下位机软件程序流程图

4. 结束语

本文围绕基于嵌入式无线CPU 短信息通信终端设计这一热点课题, 阐述了相应的GSM 无线终端的设计方案、开发方法和开发过程。实现了能收发短信的无线CPU 终端, 完成了IGT启动电路以及单片机与TC35 i和PC 机的串行接口等硬件电路的设计。采用面向对象的设计方法完成了上位机软件设计, 在单片机程序设计中, 用C51进行编程, 对两个串口的读写采用轮询方式, 由于篇幅有限程序代码省略, 给出了程序设计流程图。

在本终端平台的基础上, 对硬件和软件进行适当的调整和扩充就能设计成各种应用系统。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭