基于GD32E231C8T6的自行车码表
1、作品简介
本设计是基于GD32E231C8T6的自行车码表,GD32E231C8T6是GigaDevice推出的基于ARM Cortex-M23内核设计的功能齐全的单片机,片上资源丰富可以支持单芯片晚餐复杂消费电子产品开发,本设计主要使用GD32E231C8T6的片上timer2、I2C1、SPI1、EXIT1 interrupt等资源。外挂OLED、Hall sensor、Giga Device的SPI nor Flash、TI的Li charger、LED、KEY、新唐的codec NAU8822等外设。
2、系统框图
- 各部分实现的功能说明和解析
- Giga Device的SPI nor Flash:用于存储里程数等信息
- OLED:用于显示速度、里程数等信息
- Hall Sensor:用于自行车轮圈转动圈数的计数,车轮上安装好磁铁,将Hall安装在磁体相对应处,两者靠近时会产生电平变低,两者分离电平变高。由此来触发外部中断,在IO中断中计数圈数用于后续速度和里程的计算。本设计中由timer2产生1秒中断,并由每秒钟采集到的圈数和车轮周长计算速度,对应1秒钟里程数叠加到总里程数中,并会写到SPI nor flash中。
- Charger:用于锂电池的充电管理
- Buck:为系统提供3.3V供电
- Boost:升压到10V为OLED背光供电
- Crystal:为GD32E231C8T6提供时钟信号
- G sensor & NAU8822:暂未使用,用于自行车动作侦测和警示音数模转换驱动
- 演示视频
5、源码
6、总结
由于工作原因,在做完原理图,PCB,物料购买,贴片完成后,写了一点测试代码后项目就拼命加班,没时间弄这个小码表。
占用周末时间调试并形成一个小版本,也勉强可以交差了,略表遗憾。接下来几个月还会忙下去,公司项目完成后一定继续完善这份代码,然后给大家分享。另大家有好的建议可以提出来,相互学习,谢谢!
补充内容 (2019-6-20 23:16):
|