多单片机系统论文(共9篇)
多单片机系统论文 篇1
摘要:随着电子技术、计算机技术和通信网络技术的发展, 将自动化技术与之结合成为必然趋势。本文以MCS51单片机为核心控制器, 介绍重要环境参数——溶解氧、温度的检测与控制, 并对所检测的物理量进行补偿。
关键词:溶解氧,温度,测控系统
1. 引言
目前, 国内外市场上虽有多种型号多种档次的环境参数分析控制仪, 但普遍存在着国产仪器性能单一, 使用寿命断, 可靠性低, 标定校准操作复杂的问题, 而进口仪器虽然精度高可靠性好, 但价格过于昂贵, 功能单一, 性价比低。鉴于目前国内基于单片机的智能仪器的开发水平与国外并无多大差距, 开发集检测与控制功能于一体的多参数测控系统, 与化学传感器直接配套, 具有广阔的市场。
2. 设计思路及测控系统框图
本文研究基于MCS—51单片机的多环境参数测控系统的检测和策略主要研究内容包括:
1) 设计单片机外围接口硬件电路, 能够用此处理器来采集和处理多环境参数;
2) 实现多环境参数复合校准、补偿, 推出溶解氧、温度等环境参数的测量算法, 因各种参数不断改变无法建模, 决定采用比较成熟的自校正PID控制来实现环境参数的实时控制;
系统设计框图如图1所示:
3. 溶解氧和温度的检测
1) 溶解氧浓度作为一项重要的环境指标, 传统的碘量法因分析精度高, 重现性好, 但其操作复杂, 耗时长, 不能对水样连续测定。采用电极 (YS15739型溶解氧电极) 测量具有快速、准确和可连续测定的特点, 更易于实现自动化和计算机控制。当金电极与银电极间加0.7V左右的极化电压时, 水中溶解氧透过薄膜, 在阴极上还原, 产生稳定的扩散电流。溶氧量越大, 则测得电流I越大, 对应的输出电压越大Uo, 即溶氧电压Uo, 反应电流I和氧浓度Oxy成正比关系。检测电路图如图2所示。
在溶解氧检测过程中, 相同氧浓度在不同温度下的传感器输出值是不同的, 从饱和溶氧电压与温度测量出发, 在气压恒定的条件下, 对蒸馏水溶氧量进行不同传感器的比较实验, 得出相同温度下不同传感器的电压值也不尽相同, 但同一传感器的饱和氧电压在不同温度下成确定的比例关系, 根据这一关系对采集的溶氧电压进行温度补偿。
2) 温度的检测采用一个带带负温度系数10K电阻作为传感元件, 其变换电路如图3所示。Rt为负温度系数电阻, 温度t越高, Rt越小, 对应温度电压UG越小, 此信号作为过程变量进行线性补偿后送往CPU作PID处理, 以保持温度恒定。
负温度系数热敏电阻的线性化模型使用范围有限, 在一定的温度范围内或是小范围内, 输出基本上是线性的。但在宽温范围内, 这种非线性将带来测量上的不便, 并在某些应用中产生较大的误差。所以补偿热敏电阻的非线性特性, 也就成为测量仪器设计的重要环节, 并能够增强设计的可移植性。补偿的原理就是通过电路中参数的调节, 将指数部分消去, 从而实现电压——温度的线性化, 线性化补偿的原理图如图4所示。
4. 溶解氧和温度的控制
本系统对溶解氧含量及温度的控制分贝采取模糊控制以及带有滞后补偿的数字PID控制方法, 推理得出模糊控制规则, 对数字PID控制器试验得到满意的参数并进行了仿真。
1) 溶解氧含量的控制很难建立一个精确的数字模型对其进行控制, 而模糊控制不需要了解系统的数学模型及参数, 对于未知模型的系统具有很大的实用价值。以溶解氧含量的偏差和变化率作为作为输入变量, 以调节变频器输出频率的控制量作为输出, 三个变量各自的范围由映射关系y=12[x-0.5 (a+b) ]/ (b-a) 界定为[-6, 6]之间的连续变化量, 在论域上分别考虑三个变量对应的模糊子集, 根据模糊规则表, 总结出模糊关系, 求出的模糊控制量采用加权平均法进行模糊判决, 得出模糊控制表, 将此表存于单片机中, 经过简单的查表, 即可得到控制量的论域元素, 再乘以相应的比例因子, 就可得出精确的控制量。
2) 数字PID控制器是普遍采用的控制方法, 综合了关于过去、现在和未来三方面的信息, 为广大工程技术人员所采用。由于计算机控制是一种采样控制, 它只能根据采样时刻的偏差计算控制量, 因此积分和微分项不能直接准确计算, 只能通过数值计算的方式逼近, 在采样时刻, PID控制规律可通过数值公式计算。增量式控制算法中不需要累加, 增量只与最近几次采样的输入值有关, 容易获得较好的控制效果。在工业生产过程中, 由于能量传输的延迟, 常常存在着纯滞后现象, 对象的纯滞后性质常引起系统的振荡, 为此使用史密斯预估器来进行滞后的补偿以达到较好的控制效果。PID控制策略的参数常常通过试验来确定, 逐步凑试, 逐步凑试, 得出整定的PID参数为:P=13, Ti=360s, Td-90s, 对温度的控制打到满意的控制效果。采用MATLAB平台下的SIMULINK进行仿真, 得出PID及Smith控制定植阶跃扰动下响应曲线如图5所示:
5. 结束语
多参数测控系统的研究难点是对各测量参数进行校准以及提高测量精度, 从而增强设计的可移植性, 本文介绍了重要环境参数——溶解氧、温度的检测及补偿方法, 并采用相应的控制策略, 可以通过数据通信及人机交互界面的设计实现多参数的实时测控。
参考文献
[1]李正军.计算机测控系统设计与应用[M].山东工业大学出版社
[2]张乃尧.神经网络与模糊控制[M].清华大学出版社
多单片机系统论文 篇2
笔者在用单片机开发一款称重仪表时,功能较多,对串口的需求很高。需要的串口数量多,至少要五个串口,包括称重传感器通信串口,电脑上位机通信串口,GIM900A 通信串口,大屏幕数码管显示的通信串口,打印模块的通信串口等。而且对串口要求稳定性高,大部分串口都要求实时双工通信。根据实际情况和产品串口需求,采用不用的方法进行串口扩展,主要用到了模拟串口和多单片机实现串口扩展。串口扩展的一般方法
(1)模拟串口。模拟串口利用其他单片机引脚模拟串口收发时序进行串口扩展。这种串口扩展,缺点比较明显,通信速率慢,可靠性不高,占用CPU 资源较多。高速双工通信时一般不用此方案进行串口扩展,低速情况下可以考虑。笔者的项目中大屏幕数码管显示就用了这种方案,显示的时候只发不收,单向通信,波特率要求低,最高不过9600bps。
(2)利用专门的串口扩展芯片处理。串口扩展芯片进行串口扩展,通信稳定性高,能达到一般的串口要求。市场上的串口扩展芯片,性能不同,价格也不一样,但普遍成本较高,少则二三十元,多则七八十元,不利于产品的成本控制。串口需求较多时,一块串口扩展芯片上串口数量不足,还需要多块串口扩展芯片级联,更增加了成本。
(3)利用多串口单片机。目前市场上有多串口的单片机,很多低成本单片机都自带两个串口,比如stc12 多串口系列。用三串口及其以上的单片机成本更贵。
(4)基于多单片机的串口扩展设计。在一定成本要求下,结合目前单片机产品自身的优势,利用多单片机进行串口扩展,也是一种串口扩展的方案。一般c51 系列单片机自带双串口的只要几元钱,完全可以把单片机用来做串口扩展,而且有的单片机自带spi 通信接口,可以很方便的实现主从单片机之间的级联和通信,同时双单片机工作时,可以利用从单片机处理一定的程序,减轻主单片机的负担,达到“双核”效果。基于多单片机的串口扩展设计
3.1 串口扩展系统框图
整个系统由两块单片机构成主从结构,主机完成产品的大部分功能,从机只是进行了串口扩展,扩展出了两个双工硬件串口,如果有需要,也可以分担部分主机的其他功能。两者之间通过SPI 硬件接口通信,该硬件SPI 总线是一种全双工、高速、同步的通信总线,支持主模式和从模式两种操作模式,主模式中支持高达3Mbps 的速率,完全可以完成主机和从机之间的可靠通信。主机和从机的串口通信,和一块单片机使用时的用法一样,只是先要经过SPI 传输。当需要向从机串口发数据时,先要通过主机的SPI 通信送给从机,再通过从机串口发给外围模块;当需要接收从机串口数据时,先从机接收到串口数据,从机再利用SPI 传输给主机。在进行软件开发时,只要定义好主机和从机的SPI 通信协议,即可完成可靠的串口数据收发。
3.2 主机和从机之间的SPI 通信
主机和从机串口之间需要SPI 通信做桥梁,因此主从机之间的SPI 通信显得极其重要,必须要求高速、可靠、实时,一次SPI 采用中断完成。主机部分需要用到常用的四个函数,即主机SPI 初始化,SPI 主从机之间的数据交换,向从机发送数据,主机SPI 中断接收等。
1)主机SPI 初始化:
SPDAT=0;
SPCTL=0xfd;
SPSTAT=0xc0;
IE2=IE2 | 0x2;
2)主机SPI 数据交换
SPDAT = dat;
while(!(SPSTAT & SPI_SPIF));
SPSTAT = 0xc0;
return SPDAT;
3)向从机发送字符串数据
SPCTL = 0xfd;
IE2=IE2 & 0x01;
SPISS=0;
4)SPI 接收中断函数
uchar ucRecvSpi;
SPDAT=SPDAT;
SPSTAT = 0xc0;
ucRecvSpi=SPDAT;
??//SPI 接收到的数据处理
?循环SPI 数据交换
发送字符串
SPISS=1;
SPCTL = 0xec;
IE2=IE2 | 0x3;
从机部分也需要用到主机一样的四个函数,即从机SPI 初始化,SPI 主从机之间的数据交换,向主机发送数据,从机SPI中断接收等。程序函数与主机大部分相同,只有细微区别。在从机SPI 初始化时,SPCTL 控制寄存器初值为0xec。
3.3 扩展的串口处理
从机自带的两个双工串口即是扩展出来的串口,要实现收发数据,需要用到基本的3 个函数,即从机串口初始化,从机串口向外围模块发送数据,从机中断接收数据。串口4 和串口5 函数类似,下面只列举串口4 的初始化函数部分。
1)串口1 初始化
TMOD = 0x20;
SCON = 0x5a;
TH1 =TL1=-3;
TR1 = 1;
ES = 1;EA = 1;
2)串口接收中断
RI = 0;
Buf[i]=SBUF;// 接收串口数据存入数组
if(SBUF==0x0a && Buf[i-2]==0x0d)
接收到结束符,则向主机发送串口数据。结语
基于单片机的多气体检测系统设计 篇3
传统的气体检测大多采用单气体检测方式, 即每测量一种气体需要一种测量仪表。用一种仪器能够进行多种气体的检测和识别是气体检测仪的发展趋势, 而本设计采用酒精传感器、甲烷传感器、一氧化碳传感器等多种气体传感器组成传感器阵列, 通过传感器阵列能把气体中的特定成分检测出来, 并将其转化为电信号, 然后采用ADC0809将传感器输出的模拟信号转换为数字信号, 运用AT89C51进行数据处理和计算, 并通过LED显示气体种类和浓度信息, 这样就实现了对多种气体的定性识别和检测。
1 硬件电路设计
本设计硬件电路由数据采集、数据转换、数据处理、结果显示和报警等部分组成, 涉及的芯片有AD0809模数转换芯片、AT89C51单片机、SUN7474频率发生器以及一些气体传感器、驱动电路、复位电路和LED显示模块。系统的功能框图如图1所示。
1.1 气体传感器阵列
气体传感器阵列是电子嗅觉系统的关键组成单元, 相当于初级嗅觉神经元, 由具有广谱响应特性、交叉灵敏度较大、对不同气味/气体有不同灵敏度的气敏元件组成。气体传感器是组成气体传感器阵列的核心器件。气体传感器是一种把气体中的特定成分检测出来, 并将其转化为电信号的器件。通常, 气体传感器阵列可以采用数个单独的气体传感器组合而成, 并采用集成工艺制作, 体积小, 功耗低, 便于信号的集中采集与处理。单个气体传感器与传敏阵列在特性上有质的区别, 单个气体传感器对气味/气体的响应可用强度来表示, 而气敏传感器阵列除了各个传感器的响应外, 在全部传感器组成的多维空间中形成响应模式, 在环境条件一定的情况下, 阵列上的响应模式与其激励是一一对应的, 而这正是该系统能对多种气味和气体进行辨识的关键所在。
本设计要求实现对酒精、甲烷、一氧化碳气体的定性和定量分析, 首先最重要的工作是选择合适的传感器, 通过对性能、可实现性、价格等的对比, 针对酒精气体, 选择的是MQ-303A酒精传感器, 针对甲烷气体, 采用的是MQ-4半导体气体传感器, 针对一氧化碳气体, 选择的是V-40一氧化碳传感器, 由这三种传感器组成传感器阵列。
该设计通过气体传感器阵列采集气体信息, 并将采集到的信息转化为电信号, 然后送到ADC0809进行模数转换。
1.2 数据采集和数据处理系统
由气体传感器阵列输出的微弱电信号, 经各自信号放大电路对信号进行预处理, 使其转换为O~5 V范围内变化的直流信号, 送到A/D转换电路变换为数字信号, 对其进行数据采集处理。
为了方便与89C51单片机的连接, 本系统选用ADC0809芯片对采集到的气体信息进行模数转换。其分辨率为8位, 不必进行零点和满度调整, 且具有高阻抗斩波稳定比较器, 8个通道的多路开关可直接存取8个单端模拟信号中的一个。利用单片机写启动A/D转换器, 转换结束后再由ADC0809向89C51发出中断请求信号, CPU响应中断请求。通过对译码器的读操作, 读取转换结果并送到被测量的相应存储区。再重新选择被测量, 并再次启动A/D转换后中断返回。ADC0809与单片机89C51连线线路如图2所示。
微处理器采用的是AT89C51芯片。89C51单片机是ATMEL、PHILIPS和SST等公司生产的与80C51兼容的低功耗、高性能8位单片机, 具有比8031更丰富的硬件资源, 特别是其内部增加的闪速可电改写的存储器Flash ROM给单片机的开发及应用带来了很大的方便, 且芯片价格非常便宜。在该系统中89C51主要对采集数据进行处理, 按各种气体浓度的数学模型计算出其浓度, 由数码管显示其相应的气体种类及浓度值, 当浓度超标时, 进行报警。
该系统还采用了分频器SUN7474。分频器对脉冲信号进行2的n次方分之一的分频, 例如把32768HZ的脉冲信号变成1HZ的秒信号。通常利用T触发器实现, 每来一个脉冲后触发器状态改变一次, 经过n个T触发器处理后就可以得到2的n次方分之一的分频信号。89C51接12MHZ晶振, 经ALE端后输出到分频器为2MHZ, 分频器进行分频后为ADC0809提供所需的工作时钟。
1.3 显示电路
在该设计中, LED显示器的显示方法采用动态显示。LED动态显示的基本做法在于分时轮流选通数码管的公共端, 使得各数码管轮流导通, 在选通相应LED后, 即在显示字段上得到显示字形码。这种方式不但能提高数码管的发光效率, 并且由于各个数码管的字段线是并联使用的, 从而大大简化了硬件线路。本设计中处理结果采用4位LED显示, 首位显示气体类别, 后3位显示气体浓度。逐位轮流点亮各个LED, 每一位保持1ms, 在10~20ms之内再一次点亮, 重复不止。这样利用人的视觉停留, 好像4位LED同时点亮一样。
综上可得, 基于单片机的多气体检测系统的数据采集、数据处理及结果显示电路如图3。
2 软件设计
本设计由数据采集、数据转换、数据处理、显示和报警几个模块组成。
主程序流程图为图4。
AD0809部分程序流程图为图5。
显示子程序流程图如图6。
结语
本文介绍了进行多气体分析的电子嗅觉系统的硬件结构和软件设计。在本设计中采用多传感器组成传感器阵列, 可针对多种不同气体进行信息采集、信息转换和数据处理, 最后显示气体种类和浓度信息, 为多种气体的检测提供了一种切实可行的解决方案。
摘要:采用气体传感器阵列采集气体信息, 通过以AT89C51和ADC0809组成的核心单元进行数据采集和数据处理, 以LED显示器显示结果, 实现了对多种气体的识别和检测。
关键词:气体检测,气体传感器阵列,多路数据采集
参考文献
[1]刘崇进, 郑大昉.气体传感器的发展概况和发展方向.计算机测量与控制.19997 (2) P54-56
[2]刘广玉, 陈明, 吴志鹤等.新型传感器技术及应用.北京航空航天大学.2004
[3]刘君华.智能传感器系统.西安电子科技大学出版社.1999
[4]李朝青.单片机原理与接口技术.北京航空航天大学出版社.2005, 5
多单片机系统论文 篇4
2.1 M SP430系列单片机的结构
M SP430系列单片机主要包括CPU、存储器以及外围模块等组成:CPU主要是用来处理程序指令,存储系统的相关数据与程序,并且进行位、字、字节的操作。外围模块主要是将单片机与外围的相关设备进行链接,并且实现通道的采样转换。
2.2单片机多用途定时器的设计原理
多单片机系统论文 篇5
随钻测井仪器内部电路由于受到工作环境中冲击振动因素的影响,往往采用灌胶注封的方法减震起到保护电路板的目的。在仪器调试工作中难免需要调整各模块控制功能和程序更新,由于电路板的编程接口被胶密封,加之随钻仪器特定的组装工艺,每次更新电路程序都要消耗大量人力和时间进行拆卸安装,效率很低。
本文以某随钻测井仪器中的MSP430F2XX型单片机为例,设计了一种总线式多单片机在线升级方法,该方法利用上位机PC通过RS485总线对系统内多个模块在系统状态实现了程序升级更新,很好的解决了上述问题。
2 MSP430F2XX在线编程方法
MSP430 F2XX系列单片机是美国T I公司生产的1 6位超低功耗单片机,内部具有一定容量的闪速存储器(Flash)[1],该存储器是一个可独立操作的物理存储单元。全部模块安排在同一个线性地址空间中,存储器被分为多个5 1 2字节的段(信息段大小为1 2 8/6 4字节)。各段可单独擦除,并且在正常工作电压下程序可对Flash进行擦写操作,这一特点使得它特别适合在线程序升级。
MSP430FXXX系列单片机在线升级的基本原理[2]就是对其Flash空间进行自定义划分,并按程序指定地址顺序执行。以MSP430F2XX为例,打开Lnk430F2XX.xcl,修改此文件用于重新划分单片机Flash存储空间。该型号单片机存储空间为4KB RAM,120KB+256B Flash[3]。其原始存储空间分布和在线编程空间分布如下图1所示。
图1中将2100H-FFBEH的Flash空间划分为了3部分。一小部分用于存放引导程序,一小部分为用户虚拟中断地址区,剩下的大部分为用户的应用程序空间。Flash空间的划分目的是使程序的存放和程序的执行按地址有序进行。在线编程时的底层程序执行流程[4]如下图2所示。
第一次对单片机进行烧写时须通过仿真器将包含引导程序的主程序写入单片机Flash,通过该程序来选择引导应用程序,引导程序需要固定在Flash的一个位置上,且保证不能被擦除。以后再次更新程序时即可通过引导程序利用串口与上位机进行交互,完成应用程序的在线更新。
若不存在,则启动升级程序。在升级程序中,首先初始化串口,然后根据协议擦除Flash中指定用于存放应用程序的存储空间,完成后通过串口向上位机发送握手指令,通知上位机发送更新代码,最后将上位机发送的应用程序可执行文件写入单片机片内Flash的应用程序空间,烧写完成后执行更新后的应用程序。
3 应用方案设计
将上述方法扩展,应用于随钻测井仪器多模块电路程序在线升级更新,其总体构架设计如图3所示。图3系统中,为实现在系统状态升级更新,以MSP430F2XX单片机为核心控制器的各子模块电路,采用RS485总线方式与外部上位机连通,连接处为一块RS48 5转换电路,该电路将P C机发出的R S 2 3 2串行数据转换成RS485数据发送到RS485总线上[5]。工作时,上位机PC软件将各单片机的应用程序的可执行文件通过RS485总线以不同的地址、不同的波特率发送到相应的模块电路,实现各模块的在系统状态程序升级更新。
4 方法实现
与单单片机系统在线编程不同,多单片机系统由于存在多个子机,为使上位机程序能准确到达指定的子模块电路,首先要为各子模块定义各自的地址和通信波特率,并确保地址和波特率各不相同。当上位机以某一波特率发送地址位时,各子模块分别以自己的波特率接收,然后对比地址。若接收到的地址与自己地址相同,则该子模块准备进行程序在线更新;若不相同,则放弃更新,进入各自应用程序。
4.1 底层程序执行流程
对于处于多单片机系统中的各子模块,其MSP430F2XX单片机存储空间的重新划分与单一系统在线编程时相同,见图1。但其内部底层程序执行流程略有不同,主要体现在引导程序的编写,如图4所示。在引导程序中,首先要进行时钟初始化,串口初始化,设定通信波特率,定时器初始化,然后开启定时器,等待上位机发送地址。若在规定的时间内接收到上位机发送的地址,且与本子模块地址相同,则向上位机发送确认信息,等待接收更新后的程序代码,将其写入用户应用程序空间,完成程序在线升级更新;若在规定的时间内没有接收到地址指令或接收到的地址与本机指定的地址不同,则跳过程序更新,运行原有应用程序。
4.2 上位机软件开发
上位机软件采用LabVIEW设计开发[6],LabVIEW是NI公司推出的一种虚拟仪器软件开发平台,采用了编译图形化编程语言,软件开发快速,灵活。上位机软件的功能是当随钻测井仪器上电复位后,在规定时间内向指定子模块发出更新程序指令(即子模块地址),在收到该子模块应答的确认信息后,向该子模块发送程序代码的可执行文件。上位机界面如图5所示。在操作时,首先打开PC机与RS485转换电路相连的串口,根据协议选择波特率和数据比特,在命令栏输入拟更新子模块的地址,点击“发送”按钮,发送子模块地址,待收到确认信息后,选择要更新的程序文件,点击“升级”按钮,就可以进行子模块程序的升级更新了。更改地址和波特率选择相应的更新文件,即可对系统中其他子模块进行程序在线升级更新。
5 结束语
将MSP430F2xx在线编程方法扩展到多单片机系统在线升级更新,并将其应用到随钻测井仪器在线程序更新,经实践验证表明,该升级方式稳定可靠,大大减少了随钻测井仪器电路维护的时间成本和人工成本,在实际应用中起到了事半功倍的效果。同时,此种方法同样适用于采用了MSP430Fxxx系列的其他领域的多单片机系统程序在线更新。
摘要:为实现随钻测井仪器各模块电路程序在系统状态升级更新,研究了基于RS485总线的多MSP430F2XX单片机程序在线升级方法,通过RS485总线,利用子机地址不同、下载程序波特率不同的方法实现了多单片机在系统状态程序实时更新。该方法经实际应用,程序升级稳定可靠。
关键词:随钻测井仪器,RS485总线,MSP430单片机,在线升级
参考文献
[1]潘卫江等.MSP430单片机Flash存储器的特性及应用[J].单片机与嵌入式系统应用,2001,(4):38-41.
[2]袁娟等.MSP430程序升级方式探讨[J].单片机与嵌入式系统应用,2006,(5):65-67.
[3]MSP430x2xx Family User’s Guide[EB/OL].Lit-erature Number:SLAU144H.
[4]张园等.MSP430单片机串口的程序升级方法[J].单片机与嵌入式系统应用,2011,(10):23-24.
[5]沈建华,杨艳琴编著.MSP430系列16位超低功耗单片机原理与实践[M].北京航空航天大学出版社,2008.
多单片机系统论文 篇6
在工业控制中, 现场设备和各类传感器往往分布在不同的地方, 具有分布式的结构特点, 因此从机一般有很多个。为了实现主从机多机之间的通信, 需要进行硬件设计和软件开发, 硬件方面核心在通信接口问题, 软件方面的关键在于通信协议设计以进行数据传输。
1 系统实现方案
系统整体实现方案如图1所示, 包括三个组成部分: (1) 计算机作为上位机, 通过VC控制界面可以实时监控; (2) 单片机主机模块, 通过RS232接口与计算机上位机通信, 通过RS485接口与多个单片机从机连接; (3) 多个单片机从机模块, 主要用来接收多传感器数据和控制现场设备。
用户在使用本系统的时候, 只需坐在电脑前面, 通过计算机上位机的控制界面与单片机主机进行数据通信, 单片机主机与多台单片机从机之间利用RS485总线进行数据传输, 从机的任务是进行现场设备监控和各种传感器数据采集, 并将结果返回给单片机主机, 单片机主机再把数据传输给上位机, 计算机把数据处理后显示在上位机的控制界面上, 控制界面简单明了, 易于操作。
在上位机控制界面上有一下拉列表, 这个列表是给用户选择需要控制的从机编号, 用户通过点击下拉列表的是三角形箭头, 可以弹出标有各个从机的下拉菜单, 用户只需选中其中一个从机, 就可以对该从机进行操作。在监测区域, 有各个从机返回的各种数据, 包括各从机现场设备的工作状态、从机传感器传回的数据等;在控制区域, 能够利用上位机控制界面, 远程控制各个从机的现场设备。
2 硬件系统的设计
多机通信硬件系统结构主要包括主控电路、串口通信接口电路、串口扩展电路、RS485通信接口电路等。由于单片机的串口有限, 该系统使用8251A作为单片机的串口扩展芯片, 它可以并行接收单片机数据串行发送出去, 也可以串行接收数据并行传递给单片机。PC机与单片机之间的通信, 利用MAX232实现TTL电平到RS-232电平的转换, 可以延长电脑与单片机之间的通信距离。
单片机主机与从机均采用ATMEL公司生产的AT89S52单片机作为核心处理器, 它片内有8K的ROM, 256字节的RAM以及32个I/0口, 无需扩展外部程序存储器, 外部电路形式简洁。AT89S52单片机主要负责主机和各从机系统的数据采集及处理, 主机单片机负责把从机返回的数据接收处理, 并行发给8251A, 控制8251A把数据串行反馈给PC机;从机单片机负责检测红外接收管的电平变换, 从而判断门的开关状态, 同时还负责收集温度传感器传回的数据, 此外从机处理器还负责接收主单片机发来的命令, 进行相应的控制操作。由于RS485协议和RS232协议相比, 具有通信速率更快、传输距离更远、多机连接能力更强等优点[1], 所以本系统主机与从机之间的通信, 采用RS485通信协议。
2.1 串口通信电路设计
本系统计算机和单片机主机之间的串口通信电路用MAX232芯片作为电平转换芯片, 电路图如图2所示。目前在计算机与工业设备的通信中广泛采用RS232作为串行接口。典型的RS232信号其发送端驱动器输出的正电平在+5~+15V之间, 输出的负电平在-5~-15V电平之间, 接收端典型的工作电平在+3~+12V与-3~-12V;由于发送端的工作电平和接收端的工作电平仅相差约2V到3V, 所以共模抑制能力较差, 此外传输线上还存在分布电容, 因此RS232信号的传输距离最大约15米, 传输的最高速率为20kb/s[2]。RS232只能用于点对点的通信, 因其传输距离较短, 故只适合在本地设备之间进行通信。
2.2 RS-485接口电路设计
本系统单片机主机和从机通信采用RS485通信协议, 接口电路采用MAX485芯片, 电路图如图3所示。RS485接口抗干扰能力强, 能连接多达256个收发器, 最大传输距离可以达到1200米, 因此是串行通信中接口电路的首选, RS485接口为半双工通信, 只需二根连线即可, 所以采用屏蔽双绞线进行数据传输[3]。
2.3 串口扩展电路设计
串口扩展电路在器件上选择8251A和锁存芯片74LS373以及为8251A提供时钟的摩托罗拉生产的MC14060芯片。8251A可以接收来自单片机的并行数据, 转换为串行数据输出;也可以接收来自外部的串行数据, 转换为并行数据输出到单片机;同时8251A占用的外部地址单元只有2个, 对其读、写访问非常简单[4]。
3 系统主从机程序设计
本系统单片机主机和从机程序流程图分别如图5和图6所示, 单片机主机在初始化后令TB8为1, 选择某个从机并发送从机地址帧, 再等待该从机应答, 收到应答信息后令TB8为0, 再与该从机进行数据通信;单片机从机初始化时波特率要和主机一致设为9600kb/s, 初始化后令SM2为0, 等待主机发来地址帧, 若接收到的地址帧与该从机对应的地址帧一致, 则令SM2为1, 再将数据发送给单片机主机。
4 结束语
本系统以计算机作为上位机, 利用计算机的软硬件资源设计友好直观的控制界面进行实时监控, 通过RS232接口实现单片机主机与计算机上位机通信, 通过RS485接口实现单片机主机与多个单片机从机连接, 用来接收各种传感器数据和控制现场设备。通过上述设计方法, 成功实现了计算机与单片机主机、单片机主机与多个从机之间的多机通信问题, 满足了设计要求。实践表明, 该系统运行稳定可靠, 控制简单灵活, 实现成本低, 在类似应用场合中具有较好的实用价值。
参考文献
[1]罗晴兰, 殷正国.MAX1480集成钳位传输架构高性能工控RS-485网络[J].西安文理学院学报 (自然科学版) , 2010, (2) :85-88.
[2]郭艳.一种全工收发器芯片的设计[D].武汉:华中科技大学, 2006.
[3]赵文昌.基于RS-485总线的深度指示器研制[J].煤炭工程, 2009, (12) :108-110.
多单片机系统论文 篇7
声呐(Sonar)原意是声导航与测距。随着各国对海洋探索、开发、争夺与控制的加剧,声呐的含义也得到了拓展,以致凡是利用水下声波作为传播媒体,以达到某种目的的设备和方法都称之为声呐;进一步将凡是用声波对水下目标进行探测、定位、跟踪、识别,以及利用水下声波进行通信、导航、制导、武器的射击指挥和对抗等方面的水声设备皆归于声呐这一范畴[1]。声呐设备在各种水上活动中有着广泛的应用,而在声呐的应用过程中为不断提高对水下复杂与安静目标的探测、识别能力,需要不断提升声呐设备的技术水平、训练水平,并进行定期的检测盒标校。声呐目标信号模拟器是完成以上工作的一条有效途径。本文根据某航空吊放声呐工作原理和工作模式,利用C8051系列单片机设计了具有主被动水下目标信号模拟和海洋噪声模拟功能的声呐目标信号模拟器,该模拟器具有16路可编程声呐信号输出和多路模拟、数字状态信号输出,具有较强的适应性和较高的可靠性。
1 声呐信号模拟器设计
声呐按工作原理可分为主动声呐和被动声呐两类。图1为主动声呐探测目标的工作原理示意图,发射机产生的声信号通过转换开关、换能器形成声波信号辐射到水下空间,从水下物体反射回来的声波信号被按一定规律布置的基阵接收后通过换能器转换为电信号再经过接收机的放大、滤波、采样送到信号与信息处理系统,进而提取出所需的信息。被动声呐基阵接收到的是水下物体形成的各类声波信号,信号处理的过程与主动声呐类似。声呐信号模拟器就是要模拟水下物体形成的主动或被动声呐回波信号,用于声呐设备的检测、标校和训练,其关键在于根据基阵排列方式模拟产生声呐工作所需的阵列信号。图2是本文声呐信号模拟器中一个单元(两路)声呐信号合成原理框图,所模拟的信号主要由目标信号和环境噪声组成,信号参数根据声呐工作方式和目标特性确定,信号产生则采用数字合成方式实现,阵列信号可通过多个单元并行工作组合实现。
1.1 常用主动声呐信号的数学模型[1]
1.1.1 单频矩形脉冲
单频矩形脉冲的时间函数可以表示为:
单频矩形脉冲信号的实部波形如图3所示。
1.1.2 线性调频脉冲信号
线性调频脉冲信号(LFM)的时间函数可以表示为:
式中:为信号的频率变化率,或称为调频斜率,F为信号的调频宽度。波形图和瞬时频率见图4。
1.2 被动声呐信号的数学模型
舰船、潜艇和鱼雷所辐射的噪声,是被动声呐系统赖以探测、跟踪目标的信号,水中航行舰船的辐射噪声通常由以下三部分组成:机械噪声、螺旋桨噪声、水动力噪声,其辐射噪声谱比较复杂,一般由连续谱和线谱组成,如图5所示。
不同舰船噪声线谱的频率和幅值并不相同,这些线谱是识别舰船类型的主要特征[2]。只考虑线谱,用周期信号作为线谱的模型,其表达式为:
式中:g(t)为线谱噪声;l(t)为宽平稳噪声;xi(t)为各线谱噪声源;Aij(t)为第i个噪声源的j阶谐波的对应幅度;Ni为第i个线谱噪声源的最大谐波阶数[3]。
1.3 海洋环境噪声的数学模型
海洋环境噪声,也称自然噪声,是水声信道中的一种干扰背景场[4]。它既不是由于水听器及其固有安装方式引起的“自噪声”,也不是某些局部的可辨别的噪声源产生的噪声,它是除去所有可分辨的噪声源后所“剩下”的那一部分。海洋噪声是各种噪声源的组合产生的,主要的噪声源有:潮汐以及波浪的水静压力效应、海洋湍流、波浪非线性互作用、行船、地震扰动、海面波浪、热噪声等,这里考虑可以用白噪声来模拟海洋环境噪声[5]。
2 声呐模拟器的软、硬件实现
2.1 声呐模拟器主要指标
根据需要确定的主要技术指标如下:
(1)频率范围:1.5~3.5 kHz;
(2)调频带宽:-70~70 Hz;
(3)信号波形:脉冲或连续波;
(4)脉冲宽度:10 ms~2 s;
(5)信号幅度:1~100 mV;
(6)输出相位控制:0.1°。
其他如输出阻抗、传感器信号、数字接口信号等未列出。
2.2 信号产生单元计与实现
根据确定的技术指标和功能,选取了以C8051F020单片机为核心的信号产生与调理单元设计方案,通过合理的程序设计,每单元产生两路模拟信号输出,图6为单路信号产生与调理原理框图,INT0为外部中断,由外部数字控制单元电路产生,使各单元同步工作,中断周期可根据输出信号频率进行设置。
图中,12位DAC输出信号幅度最大值为1.2 V;分压网络采用精密电子与继电器设计,四档1:0.1:0.01:0.001;LPF为有源低通滤波器,输出驱动电路采用超低噪声运算放大器OPA211,其在1 kHz处的噪声系数为,使输出满足负载匹配要求。
在产生信号采用查表法,静态表存储在单片机的Flash中,运行时根据设置的输出信号幅度(或功率),计算分压比和DAC输出信号系数,按该系数计算运行波形库,使DAC的输出范围控制在1~0.1 V,末端信号输出范围满足0.1~0.001 V要求。采用这种设计方法能够使单片机具有较高的运行效率、输出信号具有非常低的相位噪声。
在查表时,根据设定的信号频率和相位,计算起始地址和步长,当中断到来时根据地址查表并将对应单元的数据加载到DAC产生相应的输出,该方法不涉及乘除法运算,使输出信号的具有较高的频率上限。当产生调频信号时,按式(2)计算调频项步长,设采样周期为Ts、调频周期为T,调频信号斜率为k,则调频增量可按公式(4)进行迭代计算:
式中:K0=πkTs2;N=T Ts。
在参数噪声时,采样M-序列方法产生随机白噪声,与查表输出信号合成后一同加载到DAC。
2.3 系统软硬件设计
模拟器的系统组成原理框图如图7所示,系统计算机采用PC/104嵌入式计算机,控制程序采用LabWindows/CVI设计,控制界面如图8所示。系统计算机通过RS 232总线向信号产生单元和数字控制单元按一定的协议发布命令,接收单元通过对接收的命令解析后确定是否是发给自己的命令,若是则按命令要求进行完成规定的任务。
3 结语
本文介绍了一种基于C8051F020单片机的声呐信号模拟器的设计与实现方法,该方法具有良好的适应性和可扩展性,能够根据声呐工作方向和基阵类型灵活控制信号参数,产生需要的目标回波信号和各种传感器与状态信号。
摘要:为了满足某型声呐系统的调试和维护,设计了一种并行多单片机声呐信号模拟器,该系统以C8051F020为基本处理单元,采用功能强大的Lab Windows/CVI语言进行可视化编程,可生成三种模式下的声呐信号。研究结果表明,该系统具有控制方式简便灵活、重组能力强、可靠性高、开发周期短等特点,在声呐信号模拟领域具有广阔的应用前景。
关键词:C8051F020,多单片机系统,并行处理,声呐模拟器
参考文献
[1]田坦.声呐技术[M].2版.哈尔滨:哈尔滨工程大学出版社,2010.
[2]邢国强,孙超,唐建生,等.典型舰船辐射噪声的时域模拟[J].鱼雷技术,2005,13(4):41-42.
[3]李凯,黄建国.水下航行体辐射噪声的线谱分析及建模[J].声学技术,2007,26(6):1113-1114.
[4]刘伯胜,雷家煜.水声学原理[M].哈尔滨:哈尔滨工程大学出版社,1993.
[5]R J尤立克.水声原理[M].洪申,译.哈尔滨:哈尔滨船舶工程学院出版社,1990.
多单片机系统论文 篇8
随着科技的不断发展, 信息化建设的步伐越来越快, 控制系统向智能控制系统发展已成为一种趋势。本文设计了一套基于MSP430单片机的智能监控系统, 该系统通过单片机采集多路传感器信息, 并通过相应数据通路将信息发送到主控平台, 同时主控平台通过对采集到的信息进行判断, 自动通过CAN总线将控制信息发送到各个节点, 单片机通过无线收发芯片接收控制信息, 并驱动电动机实现相关控制。
工作原理
原理简介
本系统是使用MSP430单片机为核心的多传感器智能监控系统, 图1为系统框图。单个节点的控制和数据传输, 使用MSP430单片机为核心。各节点由角度传感器、温湿度传感器和风速传感器采集数据信息, 数据通过由CC1020无线收发模块和CAN通讯模块[1]组成的数据采集模块传输主控单片机, 主控单片机通过以太网通信模块将信息传送到上位机;上位机进行数据处理和统一调度后通过数据通路反馈控制信息, 各节点的单片机接收到相应命令后, 通过控制步进式直流电动机实现相关操作。
系统结构
系统硬件设计
传感器选择
(1) 角度传感器SCA60C
角度传感器SCA60C仅可精确检测到0~90度的角度范围, 在0~90度的倾角范围内, 传感器输出的是正比于倾角大小的+0.5~+5V的模拟电压信号。
(2) 温湿度传感器DHT21
DHT21数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。传感器包括一个电容式感湿元件和一个NTC测温元件, 并与一个高性能8位单片机相连。单DATA管脚用于微处理器和AM2301之间的通讯和同步, 采用单总线数据格式, 当前数据传输为40位, 16位湿度数据、16位温度数据和8位校验和。
(3) 风速传感器:WFS-1-1风速传感器
WFS-1-1风速传感器的风杯及风标由高耐候性、高强度工程塑料制造, 传感器壳体使用ABS工程塑料成形, 上下壳体由橡胶O型圈密封。内部电路均经过喷涂三防漆处理, 整个风速传感器具有很好的耐恶劣环境的适应性。该传感器的测量范围为0~60m/s, 分辨率为0.1m/s, 信号输出为脉冲信号。
各传感器的接口电路见图2。
系统的中央处理器部分
MSP430系列单片机是一个16位的单片机, 采用了精简指令集 (RISC) 结构, 具有丰富的寻址方式 (7种源操作数寻址、4种目的操作数寻址) 、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度, 在8MHz晶体驱动下指令周期为125ns。这些特点保证了可编制出高效率的源程序。
CAN通讯模块
CAN通讯模块的硬件电路连接如图3所示。CAN控制器SJA1000支持两种与单片机的连接模式[2], 本设计中选择的是Intel模式。SJA1000的读写信号直接和单片机的读写信号连接, 复位信号由单片机的I/O口控制, 以便实现软件复位SJA1000芯片。芯片的中断管脚连接单片机的外部中断, 当收到一包数据后, 通知CPU。82C250为CAN收发器[3], 是CAN控制器和物理总线间的接口, 提供对总线的差动发送能力和对CAN控制器的差动接收能力。CANH和CANL管脚增加阻容电路, 滤除总线上的干扰, 提高系统稳定性。
无线模块部分
CC1020通过简单的四串行SPI接口进行编程。有8位的结构配置寄存器。每一位寄存器的地址是7位, 1位作为读/写位, 初始化读或写的操作。CC1020一次完整的配置, 要求发送33个数据帧, 每帧16位 (Address 7位, R/W 1位, Data 8位) 。将CC1020设为低功耗模式, 只需发送一帧数据, 因此所需的时间不到2ms。
CC1020的外围电路如图4所示。PDO与微控制器的一个输入端连接。PDI、PCLK和PSEL连接到微控制器的输出端[4]。当PSEL引脚端无效 (保持高电平) 时 (PSEL引脚端低电平有效) , PCLK、PDI和PDO是高阻抗输入状态。PSEL有一个内部上拉电阻, 在低功耗模式时必须断开 (由微控制器三态控制) , 或者设为高电平, 以阻止电流流入上拉电阻。微控制器的一个双向引脚与CC1020的DIO连接, 用于数据的发射与接收 (输入与输出) 。DCLK提供数据定时, 必须连接到微控制器的一个输入端。数据输出可以选择使用单独的引脚。这时要设置CC1020的INTERFACE寄存器SEP_DI_DO=1。在同步模式下, LOCK引脚用作数据输出, 而DCLK引脚作为异步模式的数据输出, DIO引脚端则只用于数据输入。
以太网通信电路
以太网模块的硬件电路连接如图5所示。ENC28J60[5]是带有行业标准串行外设接口的独立以太网控制器, 主要由七个主要功能模块组成:SPI接口, 控制寄存器、双端口RAM缓冲器、判优器、总线接口、MAC模块和物理层模块。它与主控制器的通信通过两个中断管脚和SPI实现, 数据传输速率可达10Mb/s。两个专用的引脚用于连接LED, 进行网络通信状态指示。ENC28J60与网络介质的连接由20F001N为网络隔离变压器, 它的作用是实现ENC28J60与网络介质的连接, 并抑制双绞线上的各类干扰, 提高网络通信的稳定性。TPIN+、TPIN-、TPOUT+、TPOUT-与ENC28J60的输入输出引脚相连。TPTX+、TPTX-、TPRX+、TPRX-通过以太网接口连接上位机, 从而连入以太网。
步进电机驱动电路
步进电机选择4相5线步进电机, 如图6所示, 其驱动电路主要由L297+L298组成, 该驱动电路集驱动与保护于一体。L297是脉冲分配器, 只要步进电机A、B、C、D四项依次连接到J1的1、2、3、4各点, 且将剩下的一条线接地, L297就会自动的将输入到端口CW/CCW的脉冲分配给步进电机的各个相序, 此时步进电机便可转动。本设计中单片机通过输出DIR和PULSE两个信号, 从而控制驱动电路使步进电机转动。
系统软件设计
整个系统分为三个单元, 各单元的流程图分别如7~9所示。节点采集单元初始化完成后, 首先判断有无收据传输单元发来的命令, 如果有则控制电机转动 (正转或者反转) ;如果没有则开始采集各传感器信息, 处理后打包通过无线模块发送至数据传输单元, 发送完毕后继续判断有无收据传输单元发来的命令, 依次循环。数据传输单元在完成对CPU、无线模块和CAN通信模块的初始化后, 首先判断是否收到主控机的控制命令, 如果有则将此命令发送至节点采集单元, 如果没有则判断是否有节点采集单元发送来的传感器数据信息。若有则接收数据, 并通过CAN模块发送至主控单片机, 发送完毕后返回继续判断是否收到主控机的控制命令;若没有则同样返回继续判断是否收到主控机的控制命令。主控单元在CPU、CAN模块和以太网模块初始化完成之后, 先判断是否收到上位机命令, 收到则通过CAN模块发送至数据传输单元;若没有收到则判断是否收到数据传输单元发送来的数据, 如果有则通过CAN模块接收数据, 并通过以太网模块发送至上位机, 然后返回继续判断是否收到上位机命令;若没有数据, 同样返回开始下一个循环。
系统流程图
总结
本文设计了一种基于MSP430单片机的多传感器智能监控系统。该智能监控系统具有稳定、人性化等优点。CAN总线通信速率高、差错能力强, 可支持多点采集, 最多可支持110个节点;无线模块能减少数据采集单元的布线;以太网模块可将相关数据采集到网络服务器上, 可实现远程监控。该系统可应用于工业和生活的很多方面, 具有一定的市场前景。
摘要:智能控制在现代生活中变得越来越重要。本文介绍了一种多传感器智能监控系统, 该系统中各节点利用MSP430d单片机采集相关传感器信息, 并通过无线收发芯片CC1020和CAN (控制局域网络) 通讯模块将相关数据发送到主控单片机, 主控单片机将数据通过以太网模块发送至网络服务器上, 可实现远程监控。同时, 主控平台可通过上述数据通路给单片机发送命令, 控制步进电机完成相应的控制动作。
关键词:MSP43O,CC1020,CAN总线,以太网模块
参考文献
[1]尹寄明, 楼佩煌.基于CAN总线系统的温度测量节点设计[J].计算机测量与控制, 2006, (14) :607-609
[2]张培仁, 王洪波.独立CAN总线控制器SJA1000[J].国外电子元器件, 2001, (01) :20-22
[3]Juanying Qin, Xuhua Yang.Intelligent Control of Double Power Supplies System Based on DSP and CAN Bus[C].2004 IEEE International Conference on Systems, 2004, (11) :13-15
[4]张晓健, 李伟, 张小雨.MSP430和CC1020的无线数传系统设计[J].单片机与嵌入式系统, 2006, (2)
基于多串口通讯技术的单片机应用 篇9
关键词:单片机,多串口,通讯技术,应用
1 单片机串口扩展设计
1. 1 单片机串口扩展的硬件总体设计。单片机串口扩展的硬件总体设计单片机串口扩展的硬件总体设计单片机串口扩展的硬件总体设计单片机与PC机或外设的串行通信一般采用RS232 /RS422 /RS485 总线标准接口。为保证通信可靠, 在选择接口时必须注意通信的速率、通信距离、抗干扰能力、电平匹配和通信方式。本文为了解决在单片机串行通信时遇到的串口问题, 以MCS51 系列单片机8751 为例, 进行串口扩展, 包括通过通信接口芯片8251 再扩展一个独立串口, 通过16 × 1 的多路切换器CD4067 实现一点对多点分时串口通信, 以及通过电平转换器MAX232, MAX488, MAX485 实现单片机与不同类型接口源供电, 驱动能力强。MAX232 芯片内置两个TTL到RS232 和两个RS232 到TTL驱动电路, 即具有两个发送器和两个接收器, 只需外置4 个011μF电容以供内部电路产生RS232 电压。MAX232 的发送器的发送输入为T1IN/T2IN, 发送输出为T1OUT/T2OUT; 接收器的接收输入为R1IN / R2IN, 接收输出为R1OUT / R2OUT。RS232 接口也普遍使用9 芯插头座, 在许多场合下仅将发送端TXD数据和接收端RXD交叉连接, 加上信号地GND共使用三根线, 只给出了一路TTL电平接口到RS232 电平接口的串行通信电路设计。
1. 2单片机与不同类型串口的通信扩展。电路的设计单片机与不同类型串口的通信扩展电路的设计单片机与不同类型串口的通信扩展电路的设计单片机与不同类型串口的通信扩展电路的设计单片机CPU8751 的串口是TTL电平, 要实现8751 与不同类型串口进行通信, 需要用电平转换器完成不同类型串口的转换, 才能成功进行通信。下面对单片机8751 与RS232/RS422/RS485 的串行通信进行接口扩展。
2 单片机多串口通讯的实现技术
2. 1 采用多串口单片机。目前只有少数单片机具有两个以上的串行通讯接口, 有些单片机与MCS - 51 系列单片机兼容, 新增加的串口与原有的串口在使用上基本相同。采用多串口单片机实现多串口通讯无需额外的软件硬件支持, 因而是最为理想的方案, 只是这些单片机不太容易买到, 价格也比较高。扩展串行通讯接口在基本系统上扩展串行通讯接口是另外一种可行的方案。目前对于MCS- 51 系列单片机只有intel8250 和intel8251 两种接口芯片可供选择。前者为DIP40 封装, 后者为DIP28 封装。两者在使用上有着很大的区别, 不能互换使用。扩展接口方法的缺点是增加了系统的复杂性, 扩展芯片的体积也嫌太大。
2. 2 采用多路模拟开关。该方法是将串口通过多路模拟开关分别与各路通讯线路连接, 适用于多路通讯分时进行, 没有交叉的情形。这种方法工作比较可靠, 技术上也比较容易实现, 只需利用软件控制多路模拟开关的切换即可。
2. 3 多单片机协同工作。由于单片机的价格低廉, 采用多个廉价的单串口单片机实现多路通讯可能比其它的方案成本更低, 技术上也比较容易实现。这种方案比较适合协议转换一类的工作, 这样每个单片机只需要负责一种协议数据的处理, 便于软件编程。
多单片机协同工作必然要涉及到各个单片机之间的数据交换, 这需要一些特殊的通讯技术支持。
2. 4 利用HSI和HSO功能。在现代的单片机应用中, 其具备的主要功能就是高速输入以及高速输出。在实际的应用过程中, 通常是将这些功能串行通讯。在数据接收的过程中通常会应用到高速输出功能, 应用高速输出功能首先是根据单片机的通讯波特频率确定定时时间, 然后在对检测接收数据的起始位用高速输出检测。如果检测到起始位时, 就对其进行中断, 在中断过后对读入的数据进行拼装, 在完成此项工作过后必须储存所有接收的数据。
在利用高速输出进行数据处理时, 可以通过向寄存器写入相关的命令, 然后就可以直接进行数据处理, 并且根据波特率对时间间隔进行处理。发送多位数据则对应多条命令, 也可以利用高速输出中断实现。
2. 5 软件模拟。对于不具备高速输入和高速输出功能, 又不能进行扩展的单片机, 软件模拟是一种增加串口的可行方案。软件模拟是利用软件模拟串行通讯的时序, 因此需要占用较多的软件资源。具体实现时可以利用定时器辅助进行, 下面将给出实现该方案的技术细节。
3 串行通讯的软件模拟实现
利用软件模拟发送的基本思想是, 首先根据通讯速率确定发送每一位的间隔时间, 然后根据数据格式和内容进行逐位操作。间隔时间的控制可以用软件延时, 也可以使用定时器。例如, 对于11. 0592MHz的系统时钟和9600 波特率, 对于MCS - 51 系列单片机, 可以计算出8 位定时器的定时时间常数初值。
若使用MCS - 51 系列单片机定时器0 的工作方式2 作为定时控制, 9600 波特率, 使用Pl. 0 作为发送线模拟串行通讯方式1。
软件模拟接收的基本思想是, 利用外部中断检测起始位, 一旦检测到起始位即进入中断服务程序, 在中断服务程序中延时半个数据位时间后再次检测端口状态, 以防止干扰的影响。检测无误后关闭外部中断, 同时打开定时器中断。在定时器中断服务程序中接收数据位并进行拼装, 接收完毕后即可关闭定时器中断。待主程序处理完接收数据后再打开外部中断以便开始下一个数据的接收。
若使用定时器0 的工作方式2 作为定时控制9600 波特率, 使用P3. 3 作为接收线模拟串行通讯方式1。
4 结束语
【多单片机系统论文】推荐阅读:
单片机小系统论文01-17
单片机温度监测系统论文08-23
单片机实验系统的研制论文08-31
单片机系统设计09-16
单片机应用系统06-25
单片机系统的作用12-30
基于单片机监控系统06-11
单片机原理与系统设计07-23
单片机温度控制系统01-31
单片机与嵌入式系统08-15