机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
基于73M2901的远程数据传输系统的设计
基于73M2901的远程数据传输系统的设计
 更新时间:2008-8-19 13:42:36  点击数:66
【字体: 字体颜色

  在收发数据时,为了平衡通信电缆数据采集仪,LPC2132和73M2901三者间的传输速率,本程序使用数据队列作为数据缓存,数据队列采用先入先出(FIFO)的方式,其空间大小在项目中的config.h文件中定义。数据空间的地址唯一,且只对应一个数据队列,数据队列子程序(queue.c)定义了6个函数,分别为:QueueCreate,建立数据队列;QueueRead,获取队列中的数据,Queuewritn,FIFO方式发送数据,QueueFlush,清空队列;QueueNData,获取队列中数据数目;QueueSize,获取队列空间容量。

  由于LPC2132是通过73M2901向远程设备发送数据的,因此只需要编写Modem发送子程序,Modem通信子程序包括8个函数,分别为:UART1Init,初始化UART1;UART1_Exception,UART1中断服务程序;GeTModemState,获取Modem的状态;ModemInit,初始化Modem,ModemWrite,通过Modem发送多个字节数据,ModemCommand,发送Modem命令,ModemDia1Up,通过Modem拨号;ModemDia1Down,挂断Modem。系统启动时需要对UART1进行向量中断初始化,即在工程的target.c文件中编写初始化程序。

  LPC2132通过UART1发送AT指令控制Modem的工作状态,然后向Modem发送数据。UART1的具体工作方式为:发送信号量初始值设为发送缓冲的大小,并且关闭发送中断。发送数据时,用户任务在信号量上等待,如果发送缓冲未满,则用户任务向发送缓冲中写入数据,如果写入的是发送缓冲中的第一个字节,则允许发送中断,然而从发送缓冲中取出最早写入的字节输出至UART1,这个操作又触发了下一次的发送中断,如此循环直到发送缓冲中最后一个字节被取走,重新关闭发送中断,在向UART1输出的同时,给信号量发信号,发送任务据此信号量计数值来了解发送缓冲中是否有空间,数据发送流程图如图4所示。

2.2 CRC校验模块[6]

  信号在物理信号中传输时,线路本身电器特性造成的随机噪声、信号幅度的衰减、频率和相位的畸变、相邻线路的串扰以及各种外界因素(开关的跳线、外界强电流磁场的变化和电源的波动等)都会造成信号的失真。在数据通信中,将会使接收端收到的二进制数位和发送端实际发送的二进制数位不一致,从而造成由"0"变成"1"或由"1"变成"0"的差错。为了把差错限制在尽可能小的范围内,在数据的远程传送中,广泛采用循环冗余校验码(CRC),其编码简单,误判率很低,检错能力强,占用系统资源少,用软硬件方式均能实现给信息码加上几位校验码的方式来增大整个编码系统的码距,增强差错纠错能力。

2.3 μC/OS-II在LPC2132上的移植

  所谓"移植",就是使一个实时内核能在其他的微处理器或微控制器上运行,要使同一个内核能适用于不同的硬件体系,就要在内核和硬件之间有一个中间层,即与处理器相关的移植代码,这部分代码因处理器而异,大部分μC/OS-II的代码是用C语言编写的,因此μC/OS-II的可移植性强,然而,仍需要用汇编语言编写一些与处理器硬件相关的代码,这是因为实现μC/OS-II读/写处理器寄存器时只能通过汇编语言来实现,在μC/OS-II中,这部分代码分成3个文件,OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C。因此,把μC/OS-II移植到LPC2132中时需要对上述3个文件进行部分修改。

结语

  LPC2132硬件资源丰富,使得该系统具有体积小,重量轻、成本低等特点,采用了CRC校验,从而提高了通信的差错纠错能力,此外,基于μC/OS-II平台实现软件功能,使得该系统运行稳定,维护方便,升级简单。






上一页  [1] [2] 
  • 上一篇: 89S51单片机介绍
  • 下一篇: MCS51系列单片机软件抗干扰技术中的误区
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1