当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]嵌入式电网分析仪中双CPU间的通信

1 引言
    在我国目前电力紧缺的形势下,监控电力以确保安全用电非常重要。对电网分析仪的研究和改造一直是当前研究的热点。如果电网分析仪采用一个DSP,既采样计算电网参数,又负责控制部分的运转,由于在实际应用中要求DSP处理的信息可能很多,工作量很大,这样将会影响分析仪的处理速度,降低其工作效率。因此,这里提出一种新一代的电网分析仪,采用DSP和AVR单片机构成双CPU处理器平台,并充分利用DSP处理大容量数据和复杂算法的能力.以及单片机接口的控制能力。ATmegal28单片机负责外围电路控制,包括开关量输出报警与控制、监测输入开关量、模拟量的输出、与上位机的通信以及计时和存储参数,参数是由TMS320F2812 DSP采样计算获得,计算完成后,DSP将数据传送给AVR单片机,而监测的参数也由用户预先设置后再经DSP传输。


2 SPI通信
    根据系统设计需求,DSP和AVR单片机之间需SPI接口数据总线实现数据传输。SPI是一种串行总线的外设接口.只需4根总线就可与外设相连,而且SPI是一种真正的同步方式,两台设备在同一个时钟下工作嘲。正是由于SPI通信占用的接口线少,通信效率高,并且这两款:DSP与AVR单片机都支持SPI接口,因而SPI通信是目前一种较好的设计方案。
    由于DSP与AVR单片机的数据寄存器都是移位寄存器,当有数据从一个寄存器移出时,则另一端有数据移入.当移完8位,一次SPI通信结束。不同的是ATmegal28在通信过程中接收和发送的数据始终在一个寄存器SPDR中,因此才有同时收发。而DSP的收发寄存器是分开的,发送数据用SPITXBUF,接收数据用SPIRXBUF,8位的数据从AVR的SPDR移入DSP的SPIRXBUF,同时DSP的SPITXBUF又向AVR的SPDR移入数据,SPDR每移出1位,其本身也移进1位,相应DSP中的SPIRXBUF移入1位。SPITXBUF移出1位,从而完成16位环形移位。DSP与AVR的SPI连接如图1所示,其中XXXX为片选信号,低电平有效。

3 器件选型
3.1 TMS320F2812简介
    TMS320F281x系列DSP是TI公司推出的数字信号处理器,该系列处理器是基于TMS320C2xx内核的定点数字信号处理器,内部集成有多种先进的外设,为电机及其他运动控制应用实现提供良好平台。TMS320F2812的150 MI/s的处理速度可满足快速的处理大量数据和算法的要求。
    TMS320F2812具有丰富的外设模块:128 K的Flash程序存储器.多达128 K的ROM,2个事件管理器模块,具有看门狗定时器模块(WDT)、串行通信接口(SCI)、串行外设接口(SPI),外设中断扩展模块支持45个外设中断。
3.2 ATmega128简介
    AVR单片机是8位,RISC结构的单片机。而ATmegal28属于AVR中配置最高的器件,可达16 MI/s/MHz的性能,其内部集成:128 K的Flash程序存储器,4 K的EEPROM和4 K的SRAM。2个串行通信接口(USART),1个8位的TWI(I2C)总线接口,1个串行外设接口(SPI),53个通用I/O端口,4个定时,计数器,因此足够满足该系统设计所需的控制功能。
3.3 74LVC4245简介
    由于TMS320F2812与ATmegal28的逻辑电平不同,TMS320F2812的逻辑高电平是3.3 V,而ATmegal28的逻辑高电平是5 V,需连接一个电平转换器,这里选用74LVC4245。74LVC4245是3.3 V和5 V两种电平连接时的电平转换器,提供了8路输入和8路输出。通过74LV4245的DIR引脚控制信号的传输方向,将其传输方向始终置为B到A,其OE引脚控制器件使能或处于隔离状态。

[!--empirenews.page--]
4 系统硬件设计
    图2为系统硬件设计电路图。其中,SCK为时钟信号,用来为SPI提供时钟脉冲,SS为片选信号,当SS拉低时,SPI触发,DSP与AVR之间实现通信。MOSI是主出从入。对于主机来说,由MOSI引脚输出数据;对于从机来说,则是由MOSI引脚输入数据;而MISO则相反,是主人从出引脚,对于主机,是由MISO脚输人数据,对于从机,从MISO引脚输出数据。主机还可通过复位引脚在必要的条件下(如主机复位时)使从机复位。
    由于ATmegal28的MISO引脚是向外发送,与其他4个引脚不同,而74LVC4245方向是B到A,因此该引脚接法不同于其他引脚,需要通过一只分压电阻,并使用一个二极管将其电压箝位于3.3 V。

5 系统软件设计
5.1 通信协议
    两个设备实现通信,首先规定传输数据的协议。根据需求,主机应向从机发送计算数据以及配置信息,从机向主机发送报警状态以及应答,以告知发送方消息是否正确接收,如图3所示。

    DSP与AVR单片机之间的通信协议采用内部制定的SPI通信协议。表1列出了TMS320F2812与ATmegal28之间通信的3种数据格式,接收方以起始码辨别帧的类别。参数类型代表不同参数,如“0x01”表示设置时间。如:3D 01 0008 0A 0A 00 11 14 00 A2 FC,因为0x3D是“=”的ASCII码,则该帧表示一个数据帧,参数类型为0x01,可知这是一个设置时间的数据帧,最后2位是CRC校验码,中间剩余的序列"00 08 0A 0A 00 11 14 00"为参数,即时间,设置时间为08年10月10日17点20分O秒,使参数为4xN字节是为了保持与上一代产品相兼容,当从机接收后并校验正确后,将设置好时间并返回表示正确的应答帧。

5.2 SPI初始化
    TMS320F2812的初始化包括:配置I/O端口为具有SPI特殊功能的接口,选定主从机,数据传送模式、波特率和发送接收数据长度,所有设置都是通过设计相应的SPI控制寄存器实现。
    ATmegal28的初始化与TMS320F12812相似,不同的是,由于ATmegal28是从机,因此不用选择波特率,同时应该注意的是,数据传送模式应保持与主机一致。数据传送模式有4种,是由设置控制寄存器里的CPOL和CPHA来设定的,如表2所示。[!--empirenews.page--]

    TMS320F2812的SPI通信未采用中断方式.因为它是主要发送者,当ATmegal28有数据发送来时,通过外部中断得知。ATmegal28是采用中断方式,当有数据发送来时,进入SPI中断,开始接收数据。
5.3 DSP的接收和发送
    以下为DSP接收数据的程序代码:

   
    其中.SpiaRegs.SPISTS.bit.INT_FLAG是接收完成标志位。当一个字节传送完毕后.SpiaRegs.SPISTS.bit.INT_FLAG置1.由于TMS320F2812的SPI数据寄存器是16位的,因此取低8位即为所接收的数据。
    以下为DSP的发送数据的程序代码:

    void DSP_Spi_Write_Byte(Uchar Byte_Out) //向SPI总线发送1个字节
    { Byte_Out=(Byte_Out<<8)&0xFF00;//发送时高8位有效while(SpiaRegs.SPISTS.bit.BUFFULL_FLAG=1); //fFXBUF里有数据.还没被移走

    SpiaRegs.SPIT_XBUF=Byte_Out;
    }
    同理.当DSP发送数据时.首先判断缓存里的数据是否有被移走,一旦判断数据移走,马上将要发送的数据写入缓存。
5.4 AVR的发送和接收


    SPIF是发送完成标志,当SPDR里的数据发送完后,SPIF置1,此时可向SPDR写数据。注意AVR单片机向DSP发送数据前先向DSP发送一个中断信号。ATmegal28接收数据采用中断方式完成数据接收,中断程序的流程图如4所示。


6 注意事项
    (1)拉低片选信号SS后,需延时再发送数据。由于逻辑电平的不同,应在TMS320F2812与ATmegal28之间加电平转换器74LV4245,当主机将片选信号拉低后。由于74LVC4245的存在,两者不能立即工作,会产生一个延时,因此在软件编程中,需要加一个延时函数。一般来说延时1μs就足够了。
    (2)AVR往SPDR写数据时,SS被拉高。一般来说,两个MCU之间的数据传输不会只有1个字节。在设计中,当从机向主机发送数据时,当主机接收完第一个字节后,如果不将片选信号SS拉高.则会造成从机不能将数据写入寄存器内,主机也不能正确接收数据,这样造成数据丢失、错误。因此,每接收完一个字节主机都要将丙拉高.待从机写入数据后,再将SS拉低,这样数据才能够正确传输。


7 结语
    实验证明.SPI通信完成TMS320F2812与ATmegal28之间的通信完全满足系统需求。因为SPI时序简单,传输速度快,占用的接口线少,简化了系统设计。同时运用双CPU设计系统,增强了系统的实时处理能力,减轻主CPU负担,提高了产品的性能。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭