当前位置:首页 > 单片机 > 单片机
[导读]1引言随着微电子技术、通信技术、控制技术和半导体技术的飞速发展以及工业、医疗卫生、国防等部门对智能控制要求的不断提高,嵌入式微处理器被越来越广泛地应用。为了适应各方面的需求,嵌入式微处理器在运算速度、可

1引言

随着微电子技术、通信技术、控制技术和半导体技术的飞速发展以及工业、医疗卫生、国防等部门对智能控制要求的不断提高,嵌入式微处理器被越来越广泛地应用。为了适应各方面的需求,嵌入式微处理器在运算速度、可扩充能力、系统可靠性、功耗和集成度等方面得到了突飞猛进的发展。嵌入式微处理器体系结构经历了一个从CISC(Complex In-struction Set Computer)到RISC(Reduced Instruction SetComputer),从4位、8位、16位到32位甚至64位,寻址空间从64kB到16MB甚至更大,处理速度从0.1MIPS到2000 MIPS的过程。

ATmega161是一款基于AVR(Advanced RISC)的低功耗CMOS8位单片机,它以其强大的功能和较高的性价比得到了不少嵌入式系统开发者的青睐。其主要特点表现在以下几方面:

(1)ATmega161增强型RISC结构方面
    ●内含2周期乘法器;
    ●具有32个8位通用(工作)寄存器;
    ●工作在8MHz时,具有8MIPS的性能;
    ●具有130条指令,大多数为单周期指令; 

(2)数据和程序存储器方面
    ●内含16k非易失在系统可编程FLASH;
    ●具有1k的内部SRAM;
    ●带有512字节非易失在系统编程EEPROM;  
    ●能进行可编程程序加密。 

(3)外围特点
    ●带有两个可编程全双工UART;
    ●带有主/从SPI串行接口;
    ●具有自身振荡器的实时时钟RTC;  
    ●具有2个8位定时器/计数器;
    ●带有1个可预分频的具有比较、捕捉和双8/9/10位PWM功能的16位定时器/计数器;
    ●具有可编程的内部看门狗定时器;
    ●片内的模拟比较器可用作A/D转换;
    ●带有35个可编程I/O口。

(4)增强的MCU特点
    ●可进行上电复位和可编程低压检测;
    ●具有21级内外部中断源;
    ●有空闲、节电及掉电三种节电模式。 

(5)其它特性
    ●采用40脚PDIP,44脚PLCC及QFP封装;
    ●工作电压为4.0~5.5V。

2嵌入式测控网络的设计

传统的测控网络由于连接有很多常规模拟仪表和执行机构以及其它现场设备而具有很多缺点,如一对一结构连线庞杂,工程周期长,安装费用高,维护不便;模拟信号传输精度低,易受干扰;操作员在控制室既不能对其进行参数调整,也不能对其进行故障诊断,因而会导致操作的“失控”。

所示是笔者设计的以ATmega161为核心的嵌入式测控网络系统示意图。图中的嵌入式控制器通过两级RS-485总线既可和上位机通信,又可和传感器以及执行机构等现场设备进行通信。操作人员可直接通过键盘、鼠标来完成对执行机构的远程控制,从而实现实时监控;同时,总线似的数字信号通信可以克服常规模拟信号传输的许多缺点,并具有接线简单、维护方便、精度高、抗干扰能力强等优点。

3硬件设计

可以用两个UART通用串行口组成两级RS-485网。一般的微处理器并不具备两个UART,通常可扩展一片串行接口芯片(如8251、8250或者 EXAR公司的ST16C2552等)构成两个UART,但这样会使电路变得复杂、PCB成本增大且系统的抗干扰能力下降。而ATmega161正好具有两个可编程UART,所以无需扩展,这种方法不但可以使电路简化并使PCB体积缩小,而且还可使抗干扰能力增强,同时也具有较高的性价比。

通信部分的硬件原理图如图2所示。图中,将两个UART的RXD、TXD分别接到两片MAX485上,以使其转换成RS-485电平,再以数据总线的形式连接到上位机和数字化的仪器仪表以及其它现场设备上,从而构成两级测控网络。

MAX485是一种专用的RS-485/RS-422接口芯片,它具有功耗低、体积小、操作简单方便等优点。每片MAX485最多能带32个收发器,如果要增加每条总线上收发器的个数,可以换成MAX487、MAX1487(可带128个收发器)等芯片。

4软件设计

4.1通信协议

通信协议采用ISO的OSI七层模型中的物理层、链路层和应用层。其中物理层为RS-485,它以双绞线为传输总线,其最大通信距离可达1200米,最大从机个数为32台(使用MAX485),数据传送速率为2400b/s,数据传输格式为:1位起始位、8位数据位和1位停止位,该格式无奇偶校验位,通信错误检测采用累加和校验。

数据链路层可参考ISO的“高级数据链路层协议”(HDLC)的有关规定,并选用适合于主从网络的HDLC的正常响应操作模式(NRM),即从站只有在其受到主站的请求时才能发送信息。上位机采用轮询的方式对嵌入式控制器进行访问,而控制器又对数字化传感器及现场设备以轮询的方式进行访问。其操作过程如图3所示。

嵌入式控制器在整个通信过程中具有双重身份,即在与上位机通信过程中,上位机是主站,控制器为从站;而在与传感器及现场设备的通信过程中,控制器是主站,传感器和现场设备为从站。

帧的格式定义为:帧开始符、源地址、目的地址、控制字、信息、累加和校验(BCC)以及帧结束符。

在实际的通信过程中,往往会出现数据丢失和数据传输错误等通信故障。为了防止数据丢失,系统采用了超时处理的方法。这样,主站发送查询命令后,如果在预定的时间内没有收到从站的响应信号,可再次发送一帧查询命令,以等待对方响应。如果连续三次发送后,主站仍然没有收到正确的响应,系统将退出并报警,同时开始轮询下一从站。

针对数据出错情况,每帧都增加了累加和校验来对源地址、目的地址、控制字和信息段进行逻辑和运算,并将运算结果作为帧结束前的一个字符传送到接收方,而接收方在接收完该帧信息后也将接收到的源地址、目的地址、控制字和信息段作逻辑和运算,如果运算结果和收到的运算结果不一致,则废弃该帧数据。如果接收到通信协议规定之外的控制字、源地址或目的地址,系统也将废弃该帧数据。

4.2 ATmega161的双UART寄存器设置

如前所述,ATmega161带有两个全双工的可编程通用异步收发器UART。用户可通过设置表1中的9个寄存器来对两个UART进行编程,表内括号中的十六进制数为相应的寄存器地址。

以UART0为例,UDR0是两个物理分离的数据寄存器,它们具有相同的I/O地址,但在读/写时,它们将分别访问不同的寄存器。在两个状态控制寄存器中,UCSR0A的格式为:

其中,RXC0为接收完成标志,TXC0为发送完成标志,UDRE0为数据寄存器空标志,FE0为帧出错标志,OR0为超越出错标志,U2X0为双倍传输速度标志,MPCM0为多处理器通信标志位。另一个状态控制寄存器UCSR0B的格式为:

该格式中的RXCIE0为接收完成中断触发位,TXCIE0为发送中断触发位,UDRIE0为数据寄存器空中断触发位,RXEN0为接收允许,TXEN0为发送允许,CHR90为九位数据标志位,RXB80为收到的数据第8位,TXB80为发送的数据第8位。

UBRRHI的低四位和UBRR0分别为波特率寄存器的高位和低位。波特率寄存器的计算公式为:

式中,Fck为晶振频率,BAUD为波特率,UBRR为寄存器中应取的值。

UART1的设置编程与UARTO基本相同。

4.3部分源代码

可以使用汇编语言或ANSIC语言编写源代码(编译软件均可从INTERNET上免费下载),编译生成HEX目标文件后,可以通过高速下载线经由SPI接口将该目标文件下载到ATmega161的FLASH存储器中。

下面是C语言源代码的一部分:

5结束语

事实证明,用ATmega161构成的嵌入式控制器在构成两级测控网络时具有明显的性价比优势,在现场总线(如LONWORKS、CAN等)仍然还比较昂贵的情况下,可以作为DCS向FCS的过渡产品。因为该网络具有数字化的特点,加上RS-485标准在国内已经非常流行,所以具有良好的扩展性和通用性,完全可以满足现场控制和远程监控的要求,可广泛应用于各类测控系统中。

 

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭