2450|1

32

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

瑞萨R7F0C80212开发自行车风火轮手记2 [复制链接]

本帖最后由 xsunset 于 2014-9-7 17:10 编辑

在第1篇(https://bbs.eeworld.com.cn/thread-446581-1-1.html)中有介绍风火轮的基本设计思想和最终效果图
本篇继续来详细说明下设计原理和遇到一些问题总结


详细设计其他比较简单:


注:图中省略了霍尔开关和各芯片的的VCC和GND连线)

工作流程:
1.用TIMER1计量两个霍尔低电平的间隔时间(TDR01的计数值),设若为T1
2.T1等分成72份(份数越多越精细,但是越有可能发生中断嵌套导致出图失败,越小的话图越粗糙,这里取72)
   写入计时器TIMER0的TDR00,TIMER0作为间隔定时计数器。这样,轮子每转一圈,TIMER0会产生72个中断,让我们来控制LED灯组。
3.每个TIMER0的中断发生时,打入一串数据给LED组写入颜色
4.一圈下来,LED组写入了72组颜色,显示成图案。

其中,步3中:
LDP6803的时序如下,DCLK接6,DIN连7。每个TIMER0中断发生时,写入32bit的起始帧,再根据LED灯组的LED个数,写入16*LEDCOUNT的数据。
每个三色LED由16bit数据控制,RGB分别为6,5,5bit。




可改进的地方:
1. LED灯组用的是8个,但其实真实场景下32个或48个LED组成的图片更炫目。只用8个的原因有二,一是手工焊太累了,二是担心太多LED会产生嵌套中断导致出图失败,即一组LED的数据还没写完,下一组中LED数据又该写了。
2. 一圈只有一个LED组的出图速度是30Km/h, 这个速度对骑手的要求较高,可以再接出两个GPIO,控制两组LED,这样的出图速度降为15Km/h
3. LDP6803的成本较高(0.47RMB PCS),功能也很牛B, 可以控制3色LED产生全彩效果, 而实际上限于R7F0C80212的存储能力和工作频率,我
人为地将它限制成了多彩(即只有RGB三种颜色),浪费了LDP6803的能力。
4. 通过手机,用蓝牙控制风火轮,感觉会更拉风,当然这更远超R7F0C80212的 能力范围了,如果要考虑实现这点,可以考虑自带蓝牙的其他芯片。

问题总结:
1. TDR0nH 和TDR0nL的读写顺序不对会导致读写出错,这点在DATASHEET里有明确的说明,如果不慎忽略掉会导致抓狂的结果。另外,需要注意的是在调试时在Watch中添加TDR0n也相当于读取,可能会出错。

2. 虽然DATASHEET里说flash的0x0000被向量中断表占用,但是如果先定义的是const常量并不超过一定空间是会从0x00C0前面
分配flash的. 这在DATASHEET中好像没有说明

3.变量在内存中分配,常量在flash中,but若先定义了变量再定义常量,const常量也会分配到ram中

4.变量定义要在函数体内提前,这跟原先我个人学的C99不同,导致很纠结。

5.有一段时间写Pn老会引起栈中的变量变化,不懂原因。



项目总结:
R7F0C80212就不一块不错的低成本的MCU,虽然说并没有提供类似其他MCU的函数式调用, 但基于寄存器的调用效率高。
不过因此而导致初线学习曲线过陡(我曾经花了好几天光看DATASHEET,当然可能跟我初次接触嵌入式能力不够有关),较低人的学习兴趣。

另外,鉴于R7F0C80212的256/512Byte的内存和1K/2K的flash, 不适合用于需求变化多端的消费类电子,而更适合于需求比较固定的产品,比如电饭煲?洗衣机?


通过这次比赛学到了嵌入式的基本知识,巩固了CS的知识,感谢舍友mars4zhu和管理员nmg的热心指导、回应。


--2014.09.07于深圳

点赞 关注

回复
举报

32

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
代码
HotWheel.zip (19.08 KB, 下载次数: 16)
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表