当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]1 PIC16C73及CC1000简介PIC16C73是Microchip公司生产的一种高性价比的8位嵌入式微控制器。CC1000是为在无线条件下应用所设计的一种极低功率单芯片射频收发器。它主要是为31

1 PIC16C73及CC1000简介

PIC16C73是Microchip公司生产的一种高性价比的8位嵌入式微控制器。CC1000是为在无线条件下应用所设计的一种极低功率单芯片射频收发器。它主要是为315、433、868和915MHz的ISM和SRD设备所设计,可以编程工作在300~1000MHz范围之间的任一频率上。它具有极低的电流消耗、高灵敏度、体积小、低供电电压、FSK数据传输率可达76.8kbps、FSK调制频谱修正等特点,它还为用户提供了简单易用的开发包。使用CC1000芯片设计电路简单,不需要使用极少的外部元件、不需要外部射频转换和中频滤波器。

2 系统设计PIC16C73接收数字或模拟信号,经过缓存、组帧后,将数据传送到射频发射机,由CC1000实现FSK调制后发射出去。

本设计中PIC16C73的振荡周期为4MHz,指令周期为1μs。CC1000工作在发射状态,发射频率306.874457MHz,频偏64kHz,速率7638Kbps,发射功率10dBm。发射数据采用自定义帧格式,其格式为:

4字节位同步字—0AAH,0AAH,0AAH,0AAH;

2字节帧同步字(3位0加13位巴克码)—1FH,35H;

1字节地址或命令;

50字节数据。

上述57字节组成一帧,每两帧之间间隔为8.25ms。
3 硬件设计

单片机PCI16C73与CC1000的连接单片机通过对3-wire串行设置接口(PDATA,PCLK和PALE)编程,使CC1000处在不同工作模式下。为实现数据回读,PDATA必须使能双向引脚,另一个双向引脚被用来实现数据(DIO)的发送和接收。提供数据定位的位置寄存器,完全设置CC1000需要发送29个16位的数据帧(7位地址位、1位读/写位和8位数据位)。

在每个写循环中,编程数据PDATA线上都发送16位数据,每个数据帧中前7位为地址位,下一位是读/写位(高电平写,低电平读),后8位是数据。在地址和读/写位传送过程中,程序地址锁存器使能PALE线必须保持低电平,然后传送8位数据位。PDATA上的数据同步在编程时钟PCLK的负沿完成。当D0,即8位数据位的最后一位已经载入时,数据就会被载入内部设置寄存器,这些设置寄存器也可被单片机通过同样的设置接口读取。7位地址首先被发送,然后读/写位被置为低来,开始数据回读,时序如图4所示。 4.2 初始化缓存管理的目的是使用者能够清楚地知道当前存储数据和发送数据的进程。具体实现方法是在PIC16C73通用寄存器里开辟一个数据缓存区,由50个寄存器组成,同时自定义收发数据计数器RX_IF0和TX_IF0.RX_IF0是接收数据计数器,其中存放的值表示PIC16C73接收到第几个数据,每接收到一个数据,就将RX_IF0加1,同时寄存器地址加1,以便接收下一个数据。当RX_IF0的值等于50时表示接收完一帧数据。TX_IF0是发送数据计数器,其中存在的值表示PIC16C73向CC1000发送了几个数据,PIC每发送完一个数据,就把TX_IF0加1。同时寄存器地址加1,以便发送下一个数据。TX_IF0等于50时,表示已发送完一帧数据。4 软件设计

4.1 总体流程图

软件采用模块化程序设计方法,图5是总体流程。

初始化是一项十分重要的工作,需要分别对PIC16C73和CC1000两个芯片进行初始化。由于本设计中要完成PC机与PIC之间的异步通信和PIC的模/数据换功能,所以除了PIC16C73的各个PORT端口外,还应对串行通信接口SCI部件和A/D转换部件等进行初始化。在单片机初始化完成后,通过它对CC1000进行初始化,使其工作在发射模式,其流程如图6所示。

4.3 中断服务子程序设计

PIC16C73有多达11种中断源,本设计使用了其中的SCI异步接收中断和A/D转换完成中断。初始化工作完成后,当单片机通过SCI接收完一字节数据后就会产生SCI接收中断,另外,当单片机完成一次A/D后也会产生中断。在产品中断后,程序即进入中断服务子程序,要完成数据的缓存、缓存管理及组帧、数据传送工作。

编写的程序经过调试,通过编译生成机器码,将其写入PIC,再将PIC嵌入发射机电路,连接正确后,经过调试达到了无线发射机的功效。


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

为增进大家对嵌入式的认识,本文将对嵌入式开发以及学习嵌入式需要注意的事项予以介绍。

关键字: 嵌入式 指数 嵌入式开发

中国上海,2025年4月7日 — 全球领先的嵌入式系统开发软件解决方案供应商IAR正式发布全新云就绪平台,为嵌入式开发团队提供企业级的可扩展性、安全性和自动化能力。该平台于在德国纽伦堡举办的embedded world...

关键字: 自动化 嵌入式开发 RISC-V

在嵌入式系统开发领域,VS Code(Visual Studio Code)作为一款轻量级但功能强大的代码编辑器,正逐渐成为开发者的首选工具。本文将详细介绍如何在VS Code上搭建嵌入式开发环境,并分享一些调试技巧。

关键字: VS Code 嵌入式开发

随着汽车电子化、智能化程度的不断提高,车载以太网(Automotive Ethernet)作为新一代车载网络通信技术,正逐渐成为汽车内部通信的主干网络。它以其高带宽、低延迟和强抗干扰能力,为汽车提供了更加高效、可靠的数据...

关键字: 车载以太网 嵌入式开发

随着物联网技术的飞速发展,嵌入式系统对实时性、低功耗和可扩展性的要求越来越高。Zephyr RTOS(实时操作系统)作为一款专为资源受限设备设计的开源RTOS,凭借其轻量级、模块化和高可扩展性,在嵌入式开发领域得到了广泛...

关键字: 嵌入式开发 Zephyr RTOS 物联网

嵌入式开发,作为电子工程和计算机科学交叉领域的重要分支,对于构建稳定、高效的软件系统提出了独特挑战。本文将深入探讨嵌入式开发的可靠方法论,结合实例与代码,为开发者提供一套系统化的指导原则。

关键字: 嵌入式开发 计算机科学

嵌入式开发,作为电子工程和计算机科学的交汇点,对软件系统的稳定性和效率提出了极高的要求。本文将结合具体案例,深入探讨嵌入式开发中的可靠方法论,为开发者提供一套系统化的指导原则。

关键字: 嵌入式开发 智能家居

在科技日新月异的今天,嵌入式开发作为连接硬件与软件的桥梁,在物联网、智能设备、工业自动化等领域扮演着至关重要的角色。对于许多技术爱好者而言,自学嵌入式开发既是一个充满魅力的挑战,也是一条通往创新实践的必由之路。然而,这条...

关键字: 嵌入式开发 物联网

在科技日新月异的今天,嵌入式开发与Java开发作为软件开发领域的两大重要分支,各自展现出了独特的发展轨迹和市场前景。近年来,关于嵌入式开发是否会像Java开发一样“卷”的讨论日益增多,这背后既反映了市场对技术趋势的敏锐洞...

关键字: 嵌入式开发 Java开发

现在在嵌入式开发MCU中,八块MCU仍占据三分之一以上的份额,在工业控制,安全,物联网,消费电子等诸多领域,八块MCU依然随处可见。

关键字: 嵌入式开发 MCU
关闭