当前位置:首页 > 电源 > 数字电源
[导读]为了转发水质监测数据,采用新型的1T周期单片机STC10F04EX为控制核心,将双4选1模拟开关4052的2个公用端与单片机的RxD、TxD端连接,通过分时连通的方式,对单片机的UART进行扩展,构成一个多串口的数据转发系统。扩展的串口分别连接到3个不同的水质监测设备,以及一个与无线发射模块。单片机分时得到3个水质监测设备传来的数据,并将得到的数据通过无线模块进行转发,转发距离可达3 000 m。远离现场的计算机完成数据接收及分析。该方法用于对单片机串口扩展和远距离数据传送简洁可靠。所建的数据收发系统,可

引言
    RS 232串口通信是一种常用的通信方式,许多数字化设备、测量仪器都具有串行接口。这些设备可以方便地与PC、PLC等控制器连接进行数据交换,从而组成一个测试检测/监测系统。
    目前安装在江、河、湖等水体现场的不同种类的水环境监测设备,通过采集水样,周期性地生成一组数据通过串口向外传送。如果在现场需配置一台或多台PC,既不经济,又难以维护。本文介绍的基于单片机的多串口数据收发控制系统,可以同时连接多台不同类型的水质监测设备,现场接收采集的数据并通过无线模块向远端控制中心传递,转发传送的距离约为3 000 m,远远大于直接的RS 232互连。多串口数据收发控制系统不同于多串口卡,可以脱离计算机独立工作,是计算机串口扩展、延伸的一种全新方法。
    用多串口数据收发控制系统取代计算机安置于监测现场,将来自于不同设备的数据进行初步整合,再通过无线方式向远离现场的中央控制室进行传送,则监测系统的可靠性、实时性、易维护性都大为增强。

1 水质监测系统的构成
   
本文所提及的水质监测系统,由光谱分析仪、水毒性分析仪、生物状态分析仪等组成,这些设备都具有RS 232接口,但是接口参数不尽一致,传送的数据格式也差别极大(见表1)。


    这些位于水体现场的测试设备,需要及时地将测量数据传递给远端的中央控制室。

2 多串口数据收发控制系统
2.1 多串口数据收发控制系统工作原理

    多串口数据收发控制系统,以单片机STC10F04EX为控制核心,扩展出多个全双工异步串行口(UART),用以同时连接多个外部串口设备。该系统既可独立地与所连接的设备交换数据,又能起到数据中继的作用,将来自上位端的命令传递到指定的串口设备上,或将接收到的来自不同串口设备上的数据经过初步整理后发送到上位端。
    由于要连接多个下位端执行设备,但STC10F04EX的独立UART只有一个,因此,必须对该单片机的UART进行扩展,才能连接多台串口设备。经过扩展的各路UART不能同时工作,必须在I/O的配合下选择对应通道分时工作。
    被监测的对象所发生的变化是个缓变过程,监测系统中的各个分析仪器所要传送的数据量有限,并且接收端大部分时间处于等待阶段,控制程序在设计时已充分考虑到数据的衔接和每种设备的采样和转换周期。因此,分时连接不会造成数据丢失导致失准,可以满足监测要求。
    图1显示了多串口收发控制系统的结构框图以及与3个外部串口设备的连接。该系统既可以将接收到的数据通过无线方式对外发送,也可以用有线的方式直接传递给本地电脑。


2.2 多串口数据收发控制系统硬件组成
   
多串口数据收发控制系统,采用型号STC10F04XE的单片机为控制核心,外加7279A键盘及数码管驱动电路,TTL-RS232电平转换电路MAX
232,4052双4选1模拟开关,无线收发模块等组成。
    STC11F04XE的单片机,以8051为内核,并具有以下鲜明特点:抗干扰能力强,1T周期CPU,独立波特率发生器,2个可切换串口,在系统可编程(ISP),片上扩展XRAM等。
    单片机STC10F04EX的UART可在P1口的P1.6/P1.7(UART2)和P3口P3.0/P3.1(UART1)间切换,可以分时当2个串口使用,这为调试系统和扩展串口带来了方便。由于该系列单片机支持在系统可编程(ISP),因此系统中的UART1通过电平转换电路,直接连接到PC机的一个串口上,用于对单片机的程序下载和调试。单片机正常工作时,可将串口设置在UART2上。
    采用双4选1模拟开关4052,将单片机的UART2扩展为4路。其中,单片机端的RxD/TxD分别接到4052的公共端,扩展端再由MAX232电平变换连接到外部具有串口的测量设备上。STC10F04EX的2个I/O引脚P1.1,P1.0与4052的通道选择线B、A分别相连,UART2的具体指向由这2条I/O选择控制。扩展的串口只能分时工作,具体分配见表2。[!--empirenews.page--]


    由于连接的不同串口设备的通信参数不完全相同,STC10F04EX必须根据设备指向动态调整串口参数以适合外部串口设备。
    显示芯片7279A可以驱动8位共阴LED数码管并可采集64个键盘位置信号。该系统通过数码管显示工作状态(收发,等待,时间,通道号,参数等);通过键盘不仅可以设置“多串口数据收发控制系统”自身参数和调节自身状态,还可修改/设置所连接的外部设备的传送参数。CPU通过4个I/O引脚与7279A的4条控制线CS、DATA、CLK、KEY连接,就可驱动8位数码管并对按键进行监控。为了响应及时,采用中断方式响应按键状态,因此将KEY连接到P3.2(int0)上。
    无线收发模块,嵌入高性能射频芯片,采用高效循环交织纠检错编码,发送距离可达3 000 m。模块具有TTL电平的UART口,因此可以很方便地与单片机的一个扩展的UART连接。向无线收发模块写入和读出数据,与一般的串口操作基本一样。无线收发模块频点、空中速率、本地串口速率、校验方式等参数可以在线设置或通过厂家提供的程序进行设置。
    系统中无线收发模块本地串口通信参数设为(9 600,8,N,1),数据被调制在434 MHz进行发送和接收,空中速率9 600 b/s,发射功率100 mW。
    该无线收发模块,收到数据后通常延时几十到几百毫秒才发送,所带缓存256 B。若本地串口速率大于等于空中速率,则存在数据流量问题,可能会出现数据溢出导致丢失现象。因此若传送数据超过256 B,要进行数据分割,插入等待周期,采用分次发送的方式以避免数据丢失。本系统所连接的光谱仪数据量较大,因此单片机接收光谱仪数据后再经无线转发,要采用分段接收/转发方式,每次的数据量要小于256 B,多次重复,直至全部数据。

3 软件设计
3.1 有关寄存器的说明

    程序运行时首先进行初始化设置,其中涉及到几个比较特别的寄存器,其定义不同于其他51系列的单片机。
    寄存器AUXR,地址8EH。关系到独立波特率发生器,STC10F04EX既可以采用定时器1作为波特率发生器,又可以采用独立波特率发生器以释放定时器1,见表3说明。


    寄存器AUXR1,地址A2H。其中的D7位关系到单片机内在的串口切换。例如:
   
3.2 数据存储及转发
   
STC10F04EX单片机,内部数据存储器为256 B,片上扩展的外部数据存储器为256 B,共计512 B,数据空间紧凑。程序运行中的一些变量需要占用一部分数据空间,因此只能开辟约220个字节作为缓存空间,暂存接收到的来自串口设备的数据。如果一次接收的数据量小于缓存空间,则不会导致数据溢出;如果外部设备需传送的数据量较大,则必须与外部设备建立联络控制发送,以使每次传来的数据小于系统缓存,避免数据丢失现象的发生。[!--empirenews.page--]
    所建立的水质监测系统中,“光谱仪”给出的数据量较大,因此“多串口收发控制系统”分时连接到“光谱仪”时,采用命令应答方式控制光谱仪的数据发送,分批多次传送。单片机将UART指向光谱仪,首先向光谱仪发送命令,指明数据来源和传送的数据量(例如200个字节);其次等待光谱仪的响应并将传来的200个字节的数据暂存在所开辟的缓冲区中;然后再将UART切换至无线模块通道,将单片机缓存中的数据写入无线模块转发出去;重复进行上述步骤直至接收到光谱仪的全部数据。
    水质监测系统中的另外2种设备的数据量相对较小,可以一次性接收/转发。
3.3 接收/转发控制流程
   
根据设备的不同数据周期,以时间为线索,为相应的设备分配接收/发送时间(图2),在所分配的时间里,单片机要进行UART通道切换:指向串口设备接收或发送数据、指向无线设备发送数据。


    程序采用中断方式处理定时、串口的数据接收/发送、键盘输入等过程。以中断方式运行,提高了程序的执行效率。图3为定时中断服务程序流程图。该水质监测过程,就是循环扫描3个水监测设备,获取数据并进行无线转发。


3.4 主要的程序功能模块说明
   
串口驱动程序为分析判断数据来源,并调用相应的函数,完成对不同串口设备的数据接收和发送。将接收到的数据暂时保存于缓存中;将缓存中的数据进行转发;定时中断程序为周期性地切换UART通道,分别连接到外部的3个串口设备上和无线发射模块上。切换串口通道的同时,调整串口通信参数,以适应不同的串口设备。触发串口发送过程,将缓存中的数据写入无线模块转发;INT0中断服务程序为及时响应键盘操作,然后调用相应的函数,完成参数设置等控制任务;显示程序为控制7279A.驱动LED数码管,显示系统状态等信息。

4 结语
   
多串口数据收发控制系统,已应用于水环境监测的数据转发,工作稳定,数据收发可靠。
    本系统为采用一片单片机控制的单核心结构,与采用多核结构相比,尽管只能分时使用UART,但数据协调相对容易,并且在设计时已考虑了数据衔接问题,不会导致数据丢失现象的发生;与采用多串口卡的方案相比,本系统可以脱离计算机独立工作,因此现场不需要一台计算机参与数据接收;无线方式数据传送,传送距离相对更远;系统占用资源少,维护成本降低。
    该系统还可应用于其他的多串口数据收发场合。经过扩展,可连接的串口数目可以进一步扩大。

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

你怎么看待这件事?

关键字: STC 宏晶

现代通信领域中,beam-forming技术有着非常广泛的应用。在5G通信、相控阵雷达、卫星通信等方面也越来越受到工程师们的重视。 波束成形(beamforming or spatial filtering)是传感器阵列...

关键字: 芯片 收发系统

好文章当然要分享啦~如果您喜欢这篇文章,请联系后台添加白名单,欢迎转载哟~ 现代通信领域中,beam-forming技术有着非常广泛的应用。在5G通信、相控阵雷达、卫星通信等方面也越来越受到工程师们的重视。 波束成形(b...

关键字: 芯片 收发系统

本文提出一种嵌入式网关可从根本上解决这一难题。多串口转换网关使得串口数据流到以太网数据流的传输成为可能。它能连接多个RS232 串口设备,并将串口数据进行选择和处理,把RS232 接口的数据流转化成以太网数据流,这样就可...

关键字: tcp/ip 多串口 嵌入式开发 嵌入式网关 微控制器 gm8142

近几年来,随着后PC时代的来临,嵌入式系统由于其简洁、高效等特点,得到了飞速发展,嵌入式技术目前已将各种计算机技术多层次、多方面地交叉融合在一起。嵌入式系统加快了

关键字: cpld 中断 多串口 嵌入式系统 驱动开发

横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST)的STCOMET智能电表系统芯片(SoC)创下一个重要的里程碑,利用智能电网技术整合多种再

关键字: 意法半导体 COM STC 智能电表系统

意法半导体(STMicroelectronics,简称ST)的STCOMET智能电表系统芯片(SoC)创下一个重要的里程碑,利用智能电网技术整合多种再生能源等不同发电设施输送的电力,让全球的电力公司为人们提供绿色环保的电...

关键字: 智能电网 COM STC 智能电表系统

摘要:51内核单片机在线仿真调试是一种取代专业仿真器的有效手段。利用ISP/IAP方法和STC Monitor-51监控程序,以及单片机集成开发环境Keil C51的在线仿真功能的支持,STC公司的IAP15F2K6...

关键字: MONITOR STC 单片机 仿真调试

IPMC712串口扩展板在MV5100板上使用方法:1. 配置跳线将MV5100板上的J6跳线跳到2-3(默认的为1-2),J20跳到1-2(默认的为1-2)2. 修改BSP程序修改config\\mv5100\\co...

关键字: PMC 多串口 串口扩展 IP

最新的PRIME® 1.4和G3-PLCTM通过入网许可和立即可用的系统支持,助力智能电表在不同的市场和地区推广21ic讯 意法半导体(STMicroelectronics,简称ST)宣布STCOMET智...

关键字: 意法半导体 智能电表 COM STC

数字电源

15504 篇文章

关注

发布文章

编辑精选

技术子站

关闭