新做的atxmega128A1板子,看看低速单片机的高表现
I am back,好长时间没上这个网站了。2个多月前忽然想看看atxmega配sdram是什么效果,于是就动手开始买零件做,前前后后煎熬了N个日日夜夜,期间经历了不少问题,比如很难买到对应的sdram,atxmega只能用mkII诊断而我又没有,winavr只有16位指针等等,不过最后还是一一解决了,在这里要谢谢送我sdram的兄弟.调试这回全部靠串口了,但也多花了很多时间.指针方面最烦人,我差点放弃,做到后期发现程序超过64k,然后换成IAR,指针问题解决了,但手动设置空间老是不合适导致片子频繁重起,于是又回到winavr上拼命优化代码,还好老天有眼,最终写完后是63k.下面介绍一下.这块板子硬件有atxmega128A1板,买的是mcuzone的,512k sram,8M sdram,2个1M flash,vs1003b,小功放,ch375b,小喇叭,sd,旋钮,屏用的是东芝2.2" 240x320,显示非常细腻.本来认为sram速度比sdram快,但单片机速度不行,看下来显示速度和sdram是一样的,所以就放弃sram了.
软件方面是以以前做的atmega128L板子的基础上改的.改动的地方如下:
1.系统文件存放取消sd卡,全部放在flash上,由于spi速度我设为最高,因此读1M多的数据时间还不是太长.
2.除了播放mp3的时候,其他全程支持sd,U盘热插拔,界面和图标会自动刷新.
3.取消手柄控制,采用旋钮
4.取消纵屏,改为横屏显示
5.取消耳机,改为2个0.5W的小喇叭输出.
6.支持换桌布,截屏,图片缩放,mp3快进快退等.
7.mp3几种主流格式的ID3显示都支持,mp3内的图片会被略过,如果要显示只能期待ram更大的片子了.本来WMA的也写好了,但容量问题最后只好放弃,只显示文件名了,歌曲时间长度显示也不能支持了.
8.因为有sdram,所以显示分了几页,除了光标以外,其他图块包括文字都是先放到显存里然后再画到屏上.
9.为了节省空间,把fat16部分删了,只支持fat32.
不足的地方也有一些:
1.刷整屏还是拉窗帘,比stm32要慢不少,毕竟人家是32位的.但小图块还行,基本看不出来.
2.为了简化程序,不支持文件碎片,要求文件连续存放.
3.由于焊跳线,板子稳定性不够好,特别是2块板子连接的地方.
4.电子书是全部拷到sdram再读,因此不支持很大的txt,目前我设为1M多,当然还可以改大点.
5.mp3播放时间经常会抖动,可能是我把spi速度设的太高的原因吧,因此无法显示进度条了.
6.攻放电流噪音比较厉害,我对功放不在行,看视频的时候声音开大点就能够体会到.
7.没有做播放记忆点,一是程序空间不够了,二是目前时间花的太长了,以后再说吧.
这种类型的东西暂时告一段落,短期内不会再碰了.
由于还有些bug,代码就不上传了,需要的邮箱.
视频: http://v.youku.com/v_show/id_XMjc4ODgwNTUy.html
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651603C6QLBI.JPG
(原文件名:P6230128.JPG)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651604M3C0WN.JPG
(原文件名:P6230130.JPG)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651605TUJDON.JPG
(原文件名:P6230129.JPG)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651606KUOWRK.JPG
(原文件名:P6230131.JPG)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651607GH0Q02.JPG
(原文件名:P6230127.JPG)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651608W6C21S.JPG
(原文件名:P6230136.JPG)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651609QEZ7KC.JPG
(原文件名:1.JPG)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651610Q5KSLM.JPG
(原文件名:2.JPG)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651611GH70J9.JPG
(原文件名:3.JPG)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651612KKR6OU.JPG
(原文件名:4.JPG)
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651613JI6TTJ.JPG
(原文件名:6.JPG) 回复【楼主位】leonliu_1128
-----------------------------------------------------------------------
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_651615EFRDGK.JPG
(原文件名:5.JPG) 帅啊 楼主厉害,写这样东西要花不少时间! 用什么RTOS? 楼主牛~顶~ 楼主不错,我手上正好有Xmega128A1的开发板,可惜没有这个LCD,有另外那个9320的LCD,可以改来试试,方便的话发一份可以借来参考一下,wzyllgx@163.com
谢谢了。 不错支持一下,麻烦您来一份看看,,wangpeiyu2004@163.com 挺好的,new1234567890@163.com lz, TXT文件预处理一下,载入的时候分成N个适当大小的段存回sd卡,这样理论就可以支持无限大的TXT了。 帅呆了。 回复【4楼】neeme
-----------------------------------------------------------------------
不用系统,把状态机放到需要的地方就行了. mark 我只能说太牛逼了 楼主强银啊。。。 又见xmega
c00l 不错支持一下,麻烦您来一份看看,让我学习下,qyy517328@163.com
谢谢LZ!很NB哦! 刚买一块ATXMEGA128AI最小系统版,不知LZ能否把资料发一份?谢谢。。。。372457322@qq.com 回复【楼主位】leonliu_1128
-----------------------------------------------------------------------
我也要用XMEGA128 点TFT LCD 请发份资料给我 armlcd@163.com谢谢楼主 谢谢楼主发的资料。。。 哈哈,谢谢楼主
顶起来。 B11011220@njupt.edu.cn,来一份参考参考{:lol:} 强人啊{:smile:}{:smile:}{:smile:} 给我来一份楼主。谢谢。sunyouyuan1985@163.com 跪了……
页:
[1]