用51兼容芯片PL3200设计直序扩频平台
[09-12 17:54:13] 来源:http://www.88dzw.com 单片机学习 阅读:8658次
文章摘要: 载波通信为总线方式通信,所以载波单元的常态必须设置为接收态,对载波模块可分配不同的通信地址。由于载波通信速率相对于主频低很多,为提高CPU效率,数据的接收和发送均设计为中断方式处理,每次进入中断,完成对数据接收或发送的处理操作。按照数据的传送过程,用C语言编写芯片的控制程序,设计主程序流程如图3所示。系统在上电后进入主程序,在主程序的延时阶段进行复位操作,随后进行资源初始化操作,对寄存器作初始化设置。为了防止程序因为意外原因而导致死机,PL3200专门设计了一套看门狗电路,当程序死机后,经过一段由寄存器控制的定时时间后,看门狗电路重新复位8051。所以,程序在运行时,每隔一段时间间隔,就要不
用51兼容芯片PL3200设计直序扩频平台,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com
载波通信为总线方式通信,所以载波单元的常态必须设置为接收态,对载波模块可分配不同的通信地址。由于载波通信速率相对于主频低很多,为提高CPU效率,数据的接收和发送均设计为中断方式处理,每次进入中断,完成对数据接收或发送的处理操作。
按照数据的传送过程,用C语言编写芯片的控制程序,设计主程序流程如图3所示。

系统在上电后进入主程序,在主程序的延时阶段进行复位操作,随后进行资源初始化操作,对寄存器作初始化设置。为了防止程序因为意外原因而导致死机,PL3200专门设计了一套看门狗电路,当程序死机后,经过一段由寄存器控制的定时时间后,看门狗电路重新复位8051。所以,程序在运行时,每隔一段时间间隔,就要不断地复位看门狗电路。将复位看门狗电路的操作编成中断子程序,每隔一段时间后对变量赋值,复位看门狗电路,此即喂狗操作。在进行部分寄存器的初始化重置后,程序依次检查载波接收中断和串口接收中断。如有载波数据,则进入载波接收中断,将数据送入载波缓存数组,随后送串口发送。如有串口数据,则按照协议格式将数据取出,存入串口数据缓存数组,待数据接收完整后,进入载波发送中断,将缓存中的数据送载波发送,成功后将标志位清除。主程序再次进入循环,检测载波中断或串口中断。主程序对中断进行循环检测,直到有数据中断发生,进入中断处理程序。
当载波通信单元中断使能位有效时,CPU的中断2将会被配置成在载波通信中,用于数据字节发送或接收的中断。发生载波中断时,程序查询载波通信寄存器地址00H的bit0位:当该位为0时,进入载波接收状态;当该位为1时,进入载波发送状态。
载波接收中断的流程如图4所示。在载波接收的过程中,先要查询载波通信寄存器00H的帧头标志位,如收到帧头,且芯片处于等待接收状态,则接收数据的第一字节;如接收的不是帧头,则判断帧头是否已被接收,而继续接收后续字节。最后,将接收的数据送入载波数据缓存数组,如接收字节数超过设定值,则置接收成功位给串口,并清除正在接收状态位,结束载波中断,进入串口发送中断。

载波发送中断的流程如图5所示。当串口接收完数据后,置载波发送标志位,进入载波发送中断。中断程序将串口缓存数据组中的数据按字节送入载波缓存发送,直至载波发送的字节数超过设定字节数,结束载波发送,并清串口缓存数据组的数据。在清除载波发送标志后,结束中断,返回主程序,进行下一轮的发送接收查询。

结 语
使用SoC芯片PL3200设计电力线载波扩频数据平台,应用极其简便,使用C语言来进行程序设计非常方便。同时,由于使用灵活的ISP编程方式,使程序的修改及下载也十分方便,可以灵活的进行功能扩展。
Tag:单片机学习,单片机开发,单片机原理,单片机教程,单片机学习
- 上一篇:破解单片机的常用方法及其应对策略
《用51兼容芯片PL3200设计直序扩频平台》相关文章
- › 用51兼容芯片PL3200设计直序扩频平台
- 在百度中搜索相关文章:用51兼容芯片PL3200设计直序扩频平台
- 在谷歌中搜索相关文章:用51兼容芯片PL3200设计直序扩频平台
- 在soso中搜索相关文章:用51兼容芯片PL3200设计直序扩频平台
- 在搜狗中搜索相关文章:用51兼容芯片PL3200设计直序扩频平台
分类导航
最新更新