您的位置:控制工程论坛网论坛 » 嵌入式系统 » 嵌入式系统的特点和开发背景

zhiy66

zhiy66   |   当前状态:在线

总积分:6528  2024年可用积分:0

注册时间: 2007-12-18

最后登录时间: 2012-01-11

空间 发短消息加为好友

嵌入式系统的特点和开发背景

zhiy66  发表于 2008/11/27 20:43:32      794 查看 0 回复  [上一主题]  [下一主题]

手机阅读

许多嵌入式系统都有串口和LCD,这样就能够通过编程与外界通信并显示信息,但由于嵌入式系统的存储器容量比较小,在上面开发程序必须要注意节约存储器的使用。此次所用的嵌入式系统是由台湾研发的网络信息电话,使用的是8051系列的芯片,拥有两个串口,其中一个与内置的Modem相连,可以与外界通信,此外还有一个128*64的LCD可以用来显示接收到的短信息,一个键盘用来输入要发送的短信息内容。整个嵌入式系统部分的开发是建立在底层的串口,LCD以及键盘的API都已经由这家台湾公司提供了的基础上。

        Modem的AT指令简介

       AT指令为所有调制解调器制造商所使用的一个调制解调器命令语言。只要用连接线把串口和Modem连接起来,使得可以通过串口向Modem进行输入,就可以让Modem与Modem之间通过使用AT指令经PSTN进行通信的。这是由于Modem有两种工作模式:指令模式与数据传输模式。

Modem通讯模块

    Modem通讯模块是嵌入式系统部分的主体,它负责与外界(其它的Modem)进行通讯。由于Modem之间的传输是连续的字节流,因此必须要定义一些建立在数据链路层上的帧,才能够把实际要传输的每个数据包从连续的字节流中区分出来。如表1所示,DLE STX和DLE ETX都是自定义的常量,数值是十六进制数的10 02和10 03,分别代表着一个帧的开始与结束。如果一个帧的内容中有这两个常量,那么可以在发送此帧时插入一个DLE,如10 02插入DLE后变为10 10 02,接收此帧时,遇到连续的10 10就检查是否紧跟着02,如果是就删除中间的10,这样就既可以接收到正确的数据,又避免了从字节流中不能正确地截取帧。类型字段有两种可能值:一种是DATA,即数据帧,代表此帧传输的是数据;一种是ACK,即确认帧,代表此帧是对已收到某一数据帧的确认。帧序号是标志该帧的唯一标志,发送过程中不断递增,达到最大值后可以循环使用。由于手机短信息的英文长度可以长达160个字节(中文为140个字节),所以内容字段规定为160个字节。对于数据帧,内容字段存放短信息的内容;对于确认帧,内容字段存放它所指明的已收到数据帧的帧序号。

       当Modem通讯模块接收到从MS发来的短信息时,只是简单地发送确认帧。当Modem通讯模块发送短信息到MS时,它把一个数据帧发送到目的端Modem,然后等待对此数据帧的确认帧的返回,如果超过一定的时间还没有收到返回,Modem通讯模块将会重发此数据帧,重发超过一定的次数就放弃发送此数据帧。如果在等待确认帧的返回时,有新的数据帧需要发送,那么将会允许发送一定数量的数据帧,超过这个数量以后就不再发送,直到有对之前发送帧的确认帧返回。

1楼 0 0 回复