` 本帖最后由 zhangjiantao 于 2020-11-23 21:34 编辑
1.开箱图:
上图为收到的开发板,和手上拥有的调试工具
2.引脚分析
pin1,pin14,作为电源和地,其他剩余的12个引脚都可作为通用IO口来进行使用,其中PIN4,PIN12,PIN13,分别为复位,调试的时钟,和数据引脚,使用其他功能,注意硬件设计上留有相应的跳线,防止调试或下载时发生意外
3.资源介绍
(1)内核独立外设 (CIP) 和 通信,并结合了用于各种各样低功耗应用的超低功耗 (XLP) 技术。 (2)4路10bit 的PWM. (3)两个硬体 UART, 一个硬体 SPI, 一个硬体 I2C。 (4)10bit 多通道ADC,可选择FVR内部参考电压,和SLEEP模式下工作。 (5)5bit 轨到轨的DAC。 (6)三个定时器 time0,time1,time2 (7)三个外部中断引脚
4.测试内容
(1)定时器的使用
(2)外部中断模拟外部信号触发
(3)ADC和FVR的使用
(4)串口的调试和简单的串口协议控制,和调试相关信息串口打印到电脑端的调试助手
(5)外挂eeprom存储和RTC的使用
(6)MCU的功耗测试,采用五位半的数字万用表和示波器,测试电流消耗,在正常工作和sleep下的电流消耗
2020.10.09
更新内容为外挂RTC/EEPROM,ADC采集的原理图和PCB
RTC为美信的DS3231SN,EEPROM为microchip的AT24C512,均采用模拟IIC实现,板子上留有串口调试引脚,电源接口,
打样PCB板,将开发板对接到新PCB上,
2020年10月22日更新内容为
1.系统时钟:内部晶振32M,串口波特率9600,RC4->TX,RC3->RX,等
外部中断采用下降沿触发,DS3231的外部触发引脚采用电平中断,定时器2用于PWM
MCC生成的代码,自己做响应的更改和整合
2.外挂RTC和EEPROM的引脚定义
//==========定义DS3231接口===================
#define DS3231_SCL PORTAbits.RA1
#define DS3231_SDA PORTAbits.RA0
#define DS3231_SDA_TRIS TRISAbits.TRISA0
//=========定义AT24C512接口==================
#define AT24C512SCL PORTCbits.RC2
#define AT24C512_SDA PORTCbits.RC1
#define AT24C512_SDA_ TRIS TRISCbits.TRISC1
//主芯片的配置字+pps映射+单片机时钟的截图
由于代码较多只选择具有代表性的进行截图上传
后续更新》》》》内容如下,设置DS3231定时时间,(暂定1min)一分钟时间到后触发引脚电平变化,并上传数据到串口
按键触发,系统记录时间,存储触发次数到EEPROM中,并通过串口上传到电脑端,借助USB转TTL,和串口调试助手,
更新代码截图,和输出结果
图1 图2
图5 图4
按键利用开发板上的RA5引脚,设置好寄存器,
初始值在截图1上可以看到是10;图二是按键触发后,中断处理函数,
图三是处理函数的具体实现;图4是结果输出,可以看到报文中第三个字节是次数(分别对应11,12 13,)紧接着次数后的是时间(年月日时分秒)0x16,报尾,报尾前是简单的cs校验
2020年11月23号更新内容主要为低功耗设置
根据PIC单片机使用心得,功耗的降低一靠硬件电路的本身设计,二是对单片机进行低功耗设置,
主要从以下几个方面入手:
(1)关闭不用的外设
(2)不用的IO口设置为模拟输入
(3)数据手册上的ADC的电流相对来说较高,解决的办法需要用到的采集功能的时,使能ADC不用的时候关闭ADC的相关寄存器配置
(4)完成所有功能后采用休眠的方式sleep();
下面上传简单的测量方案
无休眠 休眠后电源指示灯还在
休眠后电源指示灯不在
休眠指令
从以上几张可以看出,功耗在一步步降低,现在的功耗主要来源于ADC采集,
降低功耗可以降低工作电压,和工作频率,我现在用的18系列的 (电池供电)功耗可以做到2ua,现在15324应用场景光伏供电
PIC这种5位数字命名的应该是新片子,功耗低
最后总结下:
16F324适合低成本的应用方案,而我这边主要是做低成本的产品,相对于现在的产品,用熟之后,不太想换厂家,总之这颗物料通过前面的测试满足我的要求,真正需要做低功耗,可能需要自己打板,设计电路。
microchip的产品性价比稍低,但是在工业现场应用比较皮实,对于使用过其他厂家的单片机,转到PIC上稍微有点不适应,比如配置字,中断入口等。
下面分享下自己开发pic系列程序的过程
1,配置字的选择,根据自己的需求选择相应的功能
2,配置字完成后,时钟选择,pic的时钟相对来说比较简单,相应外设功能的初始化话,比较新的单片机还有PMD寄存器,可以关闭外设,以节省功耗,这里有一点要注意,PMD相应外设关闭后重新打开,若要重新使用此功能,需重新初始化
3,让最小系统跑起来,测试定时器,串口(可以很好的测试出系统的时钟是否是自己设定的主频)
4,这个时候,完善外设实现的功能,
5,阅读Datasheet最后的电气性能,优化系统的功耗,可能有些场合不需要特别低的功耗,不极致,但仍要优化点,节能减排
6
写在最后的:感谢电子发烧友和大联大提供的试用机会,本人文采有限,有些不能完美的表达出来,希望以后多多锻炼!
PIC的原厂技术支持很赞!直接可以电话联系哦
我是PIC的忠实粉丝
`
|