家电数码 > 手机 > 详情

LPC2365的μC/OS-II 下多串口通信编程

发布时间:2024-10-23 发布时间:
|

摘要:介绍了以LPC2365为核心处理器、嵌入式实时操作系统μC/OS-II下的多串口通信编程方法。对于固定长度的短字节帧数据,通过设置合适的字节触发深度,一次中断完成数据接收任务;对于变长的长字节帧数据,则通过多次中断和等待延时的方法判断数据稳定并完成帧数据的接收;对于大量数据的接收和发送采用建立FIFO数据队列的方法。
通过这些措施较好地完成了多串口较大数据量的通信任务。
关键词:嵌入式系统实时操作系统互斥信号量数据队列

引言
国产某掠海恒高硬体拖靶在拖曳飞行时,需要将自身的各种参数通过无线链路实时上传至拖曳母机,同时实时接收拖曳母机的遥控指令完成相应的动作。拖靶自身的参数包括:开关高控状态、蓄电池电压、无线电高度表值、飞行高度装定值、垂向加速度值、舵翼角、温度值、普通性能GPS接收机输出的主要参数值、高性能测量GPS接收机输出的主要参数值等。其中,前面7项由一块采集板完成采集并装配成帧数据,通过RS232串口以9 600 bps的波特率、1 Hz的速率输出。
数据帧长度固定为12字节,同时接收6字节/帧的遥控指令数据。普通性能GPS接收机以9 600 bps的波特率、1 Hz的速率输出$GPGGA和$GPRMC两条语句,其字节数可变,但最多不超过1 60字节;高性能GPS则以57 600 bps的波特率、20 Hz的速率输出RT、RD、TO、SI、RC、CP、DC、FC、PV 9个参数,这些总的参数数据量随所观测到的卫星数目而变化,但最多不超过305字节。
现在需要将采集板和普通性能GPS接收机的数据组成每帧75字节数据(如果收到遥控指令时,则需要一次返回3帧同样数据)、以每秒一帧的速率上传至拖曳母机以供实时显示。将高性能测量GPS接收机输出的数据直接上传至拖曳母机存储以供事后处理。由此可见这是一个典型的多串口较大数据量的通信应用问题。

1 工作原理
利用具有多个串口资源的ARM7处理器LPC2365芯片分别实时接收数据采集板和普通性能GPS接收机发送过来的数据,并按要求进行组帧后,通过互斥型信号量存入FIFO类型的发送数据队列中;将接收到的高性能GPS接收机数据也存入同一发送数据队列中;当发送数据队列不为空时,通过一个二值信号量启动串口发送任务进行数据的发送,直到一帧数据发送完毕为止。发送数据流向示意图如图1所示。

 

a.JPG


应用程序是基于嵌入式实时操作系统μC/OS-II编写完成的,针对不同的功能创建不同的任务,包括串口接收任务、串口发送任务、组帧任务等。

2 硬件设计
主控CPU选用NXP公司生产的ARM7处理器LPC2365,该芯片拥有256 KB的Flash存储器、32 KB的SRAM、4个全双工UART串口以及多达70个通用I/O端口,硬件资源非常丰富。4个全双丁串口可分别与数据采集板、普通性能GPS接收机、高性能GPS接收机以及数传模块进行通信;256 KB的Flash存储器和32 KB的SRAM可以存储和运行嵌入式实时操作系统μC/OS-II下的应用程序。
由于高性能GPS接收机以57 600 bps的波特率、20Hz的速率和305字节/帧的数据量输出数据,其数据量占空比高达85%,考虑到还需要下传其他参数信息,因此应选用波特率更高的数传模块完成数据传输任务。

b.JPG


美国GE MDS公司生产的EL806数传模块拥有先进的调频扩频技术,在902~928 MHz频段上提供了速率最高可达115 200 bps(连续工作)的工业级的无线通信设备;在无线数据通信的可靠性、完整性和纠错能力方面具有较强优势;同时,该产品具有供电范围较宽、功耗较低、功率可达1 W、环境适应性较强的工业级性能。硬件系统框图如图2所示。

数字通信相关文章:数字通信原理

通信相关文章:通信原理



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
光网络不断超越:从100G向400G