5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: 2801PRO重生,打造为ER9X+DEVIATION的多协议的合体,刷机教程及0.1版固件和源代码发布 [打印本页]

作者: 起子    时间: 2014-6-19 11:36
标题: 2801PRO重生,打造为ER9X+DEVIATION的多协议的合体,刷机教程及0.1版固件和源代码发布
写在前面的话:
在真正动手做ZED2801之前,我算得上是个完全小白,其实现在也是。在之前,我只玩过C51的学习板、自己做了个C51的最小系统,对AVR一无所知,对编程也限于写点小工具,还不是C的。在漫长的改造过程中一般翻书一般看代码真是苦逼,基本没人交流,完全得靠自己,中途遇到各种各样的问题,最终还是坚持下来,终于有了这个测试版,但是毕竟个人精力有限而且本人还是个新手,估计后期对这个的研究会放缓,希望有高人出马,或者大家群策群力共同完善。


作者: 起子    时间: 2014-6-19 11:37



1         前言
最初接触遥控器,就知道有DSM2DSMJ之分,当时因为DSM2有便宜的山寨接收机而大受欢迎,为了让遥控器支持多种制式的协议,多是采用PPM输入的单独高频头解决。后来G大利用DX4E的射频模块结合飞梦高频头的底部实现了廉价版DSM2发射,其主要原理是利用飞梦底板的AVR接收PPM信号,处理后将数据发送给DX4E的射频模块。
我把我的J版的DSX7在原有的高频头之外,又内置了一个飞梦,一个DSM2和一个HISKY的高频头,实现4模式,当时觉得很高大上,直到DEVIATION出现,原来华科尔的DEVO系列遥控器可以通过刷开源固件,直接支持DSM2协议,我当时就震惊了。。。
在混迹论坛的时候,早就知道基于富斯9也有开源项目,不过没过于关注,后来偶然发现有人自制ER9X硬件DIY遥控器,这才开始关注,陆续收集了点资料。
手头有个闲置很久的2801PRO,基本拿来玩玩模拟器(其实模拟器也没怎么玩,大部分时间在折腾),对华科尔放弃WK系列推DEVO有些愤愤,于是萌生了改2801PRO的念头,但是能改到哪一步一开始心里并没有底。
经过拆解对比比较,2801的单片机是AVR的,显示屏是无字库的12864,和ER9X相同;射频系统是CYRF6936,和DEVO系列的一样。这样,主程序可以移植ER9X的,射频部分可以移植DEVIATION,理论上,可以将2801PRO打造为ER9XDEVIATION的合体。
我为这个项目取了个名字,叫ZED2801,同ER9X的作者一样,我也自恋的将本人首字母作为第一个字母,E取自ER9XD取自DEVIATION,既然是基于2801的,还是叫2801吧。


作者: 起子    时间: 2014-6-19 11:38
本帖最后由 起子 于 2014-6-19 12:11 编辑

2        声明
在你决定将你的2801刷入ZED2801之前,这些是你需要了解的:
1、  ZED2801能干什么
ZED2801是在2801的硬件基础上基于ER9X的主程序和DEVIATION的合体,它可以将你被迫淘汰的2801变身为功能强大的ER9X,更美的是它可以和DEVO系列的开源一样,直接支持DSM2/XDEVOWK2X01协议。
2、  ZED2801不能干什么
ZED2801是我个人兴趣爱好的产物,实际情况可能不像你想象的那么美好,首先ER9XDEVIATION自身的问题我没办法解决,再者因本人也仅是初学者整合过程中也可能会有一些问题。我试着开控半天,没有发现不良情况;我用6100ERX-2801 PRO接收机分别测试了DSM2协议和WK协议,能对码、能响应舵机,其他的暂时没时间没条件做进一步测试。
ZED2801ER9X主程序基于ER9X_808_V2,射频部分基于GALEDEVIATION基础上的DEVO7E开源固件GALEE7E-5f789521a7ac,主程序版本不会再更新,射频部分可能会根据DEVIATION更新。
3、  你需要刷ZED2801
如果你指望ZED2801能达到商品级控的响应或者服务,或者你对ER9XDEVIATION没有任何了解,建议还是不要刷ZED2801了;如果你和我一样喜欢折腾,那么恭喜你,你又找到一个玩具了。
4、  免责声明
刷入ZED2801需要对2801进行硬件改造,这应该会使控失去保修(尽管2801应该都过保修期了),硬件改造难度很小,但是不排除搞坏的可能,请自行评估硬件改造难度和风险后再动手;
刷入ZED2801后无法刷回原有2801的固件;
本系统为开放系统,仅为大家学习交流测试使用,不可作为其他用途,本系统存在已知和未知的BUG,并未经充分测试,使用本固件的所有风险请使用人自行承担,本人对使用本固件产生的任何损失不承担责任。



作者: 起子    时间: 2014-6-19 11:39
本帖最后由 起子 于 2014-6-19 12:11 编辑

3       硬件介绍
2801PRO
ER9X
备注
单片机
MEGA64A
MEGA64A/128A
MEGA64A128A全兼容,只是FLASH容量不一样
晶振
8M
16M
需要改为16M晶振
显示屏
12864
12864
显示驱动
NT7538
ST7565
同为不带字库的驱动,指令兼容
摇杆和电位器采样转换
单通道通过81模拟开关切换各摇杆采样
一个电位器对应一个采用通道
电压检测占用一个通道;
2801PRO没有额外的电位器
开关按键
拨杆开关和微调为单独IO按键、菜单操作键为矩阵键盘
拨杆开关、微调、菜单操作键均为单独IO按键
刷机接口
JTAG
SPI
2801需要用JTAG刷机
其他
***一片16KEEPROM
射频系统
CYRF6936
射频模块和DEVO的一致,DEVIATION支持的协议2801PRO也应该支持
这是测量的2801PRO的单片机各针脚定义:

(, 下载次数: 64)

作者: 起子    时间: 2014-6-19 11:39
本帖最后由 起子 于 2014-6-19 12:13 编辑

4        刷机准备
刷机前需要两个硬件准备工作:引出JTAG接口和更换16M晶振:2801PRO在硬件设计上将SPI接口分配给别的功能了,而且在熔丝位里面禁用了SPI接口的,只能通过JTAG刷机;另外根据测试,用8M晶振加上射频协议后运行速度和舵机相应速度明显变慢,水平有限无法优化代码,试着换16M晶振后情况大大好转,所以还是换16M晶振吧。
主板上预留了JTAG接口,可以很方便的引出JTAG,各针脚定义见下图:
(, 下载次数: 72)

引出JTAG接口,并更换16M晶振,右边的就是JTAG ICE仿真器,某宝上几十块搞定。
(, 下载次数: 74)
连接好JTAG ICE仿真器,开控,用AVR Studio4就可以连接上控了。第一次刷机前,首先需要更改熔丝位和锁定位,按下图改熔丝位,主要是去掉看门狗,不然连上后控会反复重启:
(, 下载次数: 69)

按下图,将锁定位全部改为不锁定:
(, 下载次数: 75)


作者: 起子    时间: 2014-6-19 11:40
本帖最后由 起子 于 2014-6-19 12:14 编辑

5         正式刷机
以上只在第一次刷机前需要配置,成功刷机后可以直接刷机:

(, 下载次数: 74)

作者: 起子    时间: 2014-6-19 11:41
本帖最后由 起子 于 2014-6-19 12:22 编辑

6        固件
0.1版测试固件: (, 下载次数: 2)
已知问题:
1、  各射频协议未经充分测试,尤其是DEVO协议因为没接收机根本就没测试;
2、  各协议下舵机行程还存在问题,貌似DSM2下舵机行程非常小,还没找到关键问题;
3、  加入射频协议后系统运行负荷比较大,系统走时要慢一些,不清楚加上混控等后系统运行速度是否变得更慢;
4、  因2801MEGA64空间所限,虽然保留了模板的界面,但是实际上已经取消了模板功能,仅保留了模板界面调整通道顺序功能;
源代码文件比较大,需要的话稍后到我的博客http://www.z.kklt.net下载吧。


作者: 起子    时间: 2014-6-19 11:42
本帖最后由 起子 于 2014-6-20 09:37 编辑

0.1版测试固件:
(, 下载次数: 38)

0.1版代码,分卷压缩的,请全部下载后解压:
(, 下载次数: 81)
(, 下载次数: 71)
(, 下载次数: 74)

测试DSM2的6100E以及WK2X01的RX-2801 PRO接收机对码及相应的视频:
[flash]http://www.tudou.com/v/HcjOBiRYm8U/&rpid=80580321&resourceId=80580321_04_05_99==.html[/media]





作者: 念归年    时间: 2014-6-19 11:55


作者: 起子    时间: 2014-6-19 12:26
晕,不知道是附件需要审核还是链接需要审核?
固件那个回复提示需要审核
(, 下载次数: 41)

作者: 起子    时间: 2014-6-19 12:29
难道是因为我写了个人博客地址http://z.kklt.net吗?

作者: 股股阳光    时间: 2014-6-19 12:47
起子好牛的说

作者: shanshuimoxing    时间: 2014-6-19 13:38
研究研究。

作者: chenkang1998    时间: 2014-6-19 13:50
强力支持

作者: tianmei89cilang    时间: 2014-6-19 14:25
好东西 顶一个 沙乐哥发

作者: tedeum    时间: 2014-6-19 15:58
牛人

作者: 大漠游民    时间: 2014-6-19 16:15
好东西呀,刚好有个2801,程序有问题好几年了,这下可以试试了

作者: 25776348    时间: 2014-6-19 16:16
强势插入…广告位招租

作者: 黄国林007    时间: 2014-6-19 17:14
华坑              

作者: 黄国林007    时间: 2014-6-19 17:22
我也要学AVR。。改造去

作者: shanshuimoxing    时间: 2014-6-19 17:41
2801PRO的手感比D10好!

作者: airwolf    时间: 2014-6-19 18:46
向起子这种坚持不懈努力钻研的童鞋致敬!

作者: wdl67    时间: 2014-6-19 20:33


作者: 起子    时间: 2014-6-20 09:44
估计近期不会有大的改动了,该研究下ER9X操作了,说实话,我都还没仔细研究过ER9X的操作。
再试试外链网址看看:
z.kklt.net



作者: 8_3    时间: 2014-6-29 21:13
2801在用.暂时不打算折腾.留个记号吧

作者: hippee    时间: 2014-6-30 15:05
不错,Mark

作者: gongye5776601    时间: 2014-8-11 23:07
[quote]璧峰瓙 鍙戣〃浜
作者: gongye5776601    时间: 2014-8-11 23:08
起子 发表于 2014-6-20 09:44
估计近期不会有大的改动了,该研究下ER9X操作了,说实话,我都还没仔细研究过ER9X的操作。
再试试外链网址 ...

2801有没有原厂固件或者可以备份出来吗?

作者: 起子    时间: 2014-8-11 23:38
gongye5776601 发表于 2014-8-11 23:08
2801有没有原厂固件或者可以备份出来吗?

不可以,JTAG连上看熔丝位就知道了,程序和EEPROM都设置了加密位的。

作者: gongye5776601    时间: 2014-8-12 06:35
本帖最后由 gongye5776601 于 2014-8-12 06:36 编辑
起子 发表于 2014-8-11 23:38
不可以,JTAG连上看熔丝位就知道了,程序和EEPROM都设置了加密位的。

手头正有个2801,不知道楼主进展如何了?
我可以帮助楼主一起测试固件。

作者: tiizer    时间: 2014-8-13 10:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 起子    时间: 2014-8-13 16:25
gongye5776601 发表于 2014-8-12 06:35
手头正有个2801,不知道楼主进展如何了?
我可以帮助楼主一起测试固件。

帖子的进展就是最后进展,最近事情多,又没怎么搞了。

作者: 起子    时间: 2014-8-13 16:27
tiizer 发表于 2014-8-13 10:15
顶起子。终于搞起来了啊。可惜2801过火了。。。

想着2801闲着也是闲着,不如利用下,顺便学习下单片机


作者: gongye5776601    时间: 2014-8-13 20:47
起子 发表于 2014-8-13 16:25
帖子的进展就是最后进展,最近事情多,又没怎么搞了。

如果把64的MCU换成256的就能刷opentx的了,那样就会好多了。支持起子。

作者: linpengfeil    时间: 2014-8-14 22:09
我的2801pro华科说是芯片坏了,不给修,我可不可以自己买芯片这样改造呢?

作者: 起子    时间: 2014-8-17 23:59
linpengfeil 发表于 2014-8-14 22:09
我的2801pro华科说是芯片坏了,不给修,我可不可以自己买芯片这样改造呢?

得看什么芯片坏了,说简单也简单,就一单片机,但是真要电路坏了还真不不好搞,反正我是不懂电路。
如果恢复了单片机功能,可以和我这样玩玩,别抱太大希望。


作者: 起子    时间: 2014-8-18 00:00
gongye5776601 发表于 2014-8-13 20:47
如果把64的MCU换成256的就能刷opentx的了,那样就会好多了。支持起子。

貌似MEGA64也能刷OPENTX吧?
另外MEGA64和MEGA256兼容么?换MCU还是算了,还不如买块板折腾


作者: caifish    时间: 2014-8-18 07:08
m64和m128兼容的

作者: linpengfeil    时间: 2014-8-18 09:54
起子 发表于 2014-8-17 23:59
得看什么芯片坏了,说简单也简单,就一单片机,但是真要电路坏了还真不不好搞,反正我是不懂电路。
如果 ...

华科说是芯片坏了,我看到单片机焊接的痕迹了

作者: linpengfeil    时间: 2014-8-18 10:31
起子 发表于 2014-8-17 23:59
得看什么芯片坏了,说简单也简单,就一单片机,但是真要电路坏了还真不不好搞,反正我是不懂电路。
如果 ...

我要是直接买er9x的主板,还用2801的射频是不是也要用deviation射频部分的程序啊,用原来的程序是不是不行啊


作者: gongye5776601    时间: 2014-8-21 09:49
起子 发表于 2014-8-18 00:00
貌似MEGA64也能刷OPENTX吧?
另外MEGA64和MEGA256兼容么?换MCU还是算了,还不如买块板折腾

jtag的仿真器在路上呢 到手就刷我的2801 以后我就可以给你测试了 我2801 dsm2 devo的接收都有 还有不知道这个mega64有没有空的io口了 是否可以像deviation那样接多个头呢

作者: 起子    时间: 2014-8-21 10:27
gongye5776601 发表于 2014-8-21 09:49
jtag的仿真器在路上呢 到手就刷我的2801 以后我就可以给你测试了 我2801 dsm2 devo的接收都有 还有不知道 ...

仔细看帖,有说明的。
折腾改造下,还有多的IO可以利用,但是2801用的MEGA64的FLASH和DATA都基本用满了,如果MEGA128还是有可能的。
基于ER9X的多高频头多射频系统不会在2801上改造了,有精力的话也会用ER9X原版来改。


作者: gongye5776601    时间: 2014-8-21 10:35
起子 发表于 2014-8-21 10:27
仔细看帖,有说明的。
折腾改造下,还有多的IO可以利用,但是2801用的MEGA64的FLASH和DATA都基本用满了 ...

我只是建议啊 你搞opentx的 要比er9x的强大多了 个人感觉呀 期待你的更新

作者: momoyu323    时间: 2014-8-28 14:18
楼主好,向请教几个问题:
1、SOP_CODE_ADR寄存器和DATA_CODE_ADR的区别,分别是怎么用的?
2、SOP_CODE_ADR寄存器内容和Pseudo-Noise (PN) Codes是指的一个东西吗?
3、航模遥控和接收机间通信前需要进行bind对码,请问下CYRF6936的bind对码主要是做什么工作,有相关bind对码的例程吗?
先谢谢了!!!

作者: 起子    时间: 2014-8-28 16:04
momoyu323 发表于 2014-8-28 14:18
楼主好,向请教几个问题:
1、SOP_CODE_ADR寄存器和DATA_CODE_ADR的区别,分别是怎么用的?
2、SOP_CODE_ ...

抱歉,射频部分具体细节我没有研究,搞不懂。
我只是把输入数据,以及接口,模型相关数据等挂接起来了。
对码过程在开源DEVIATION里面都有的。


作者: momoyu323    时间: 2014-8-29 09:33
起子 发表于 2014-8-28 16:04
抱歉,射频部分具体细节我没有研究,搞不懂。
我只是把输入数据,以及接口,模型相关数据等挂接起来了。 ...

哦,这样啊,我看看程序吧,还有请问你的CPP后缀的源程序是用什么软件打开编译的,我只用过ICC。

  谢谢!!


作者: caifish    时间: 2014-9-1 16:12
或者试试gcc avr编译器

作者: hippee    时间: 2014-9-12 11:37
mark

作者: zyren    时间: 2014-9-12 12:37
起子毅力强大,终于成功了,向你学习

作者: bao56625    时间: 2014-10-10 22:53
我的燒壞了  無法開機  救救我

作者: gongye5776601    时间: 2014-10-11 11:34
bao56625 发表于 2014-10-10 22:53
我的燒壞了  無法開機  救救我

什么原因烧的?重点查电源稳压部分。


作者: gongye5776601    时间: 2014-10-11 11:35
一会把cpu换成128的试试,64的总是报警,然后就复位了,设置的模型参数又要重新来

作者: fq1219    时间: 2014-12-15 19:28
2801PRO控和2个 RX-2801 PRO接收机对码 不成功,是高频头问题还是程序问题呀,求大神解答

作者: flywat    时间: 2014-12-15 22:44
路过,赞一个





欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://5imx.com/) Powered by Discuz! X3.3