shamiao 发表于 2014-12-30 19:31:16

shamiao的KL25开源项目进行中.... (12864单色视频播放)

先谢阿莫网站批准。这次将一个旧制作移植到飞思卡尔平台。

原制作请见: http://www.bilibili.com/video/av373429/ 。这是一个12864液晶屏幕的黑白动画播放实验,原来实现的平台是Raspberry Pi。
本次的制作目标是将这个程序原样迁移到规定的飞思卡尔平台。


原项目详细信息

原来用于Raspberry Pi平台的程序如下。(授权方式:公共领域/Public Domain,放弃版权要求)


实验器件:12864小尺寸LCD模块,主控芯片ST7565
硬件连接:VCC - P1.1,GND - P1.6,SDA - P1.19,SCK - P1.23,CS - P1.24,A0 - P1.11,RST - P1.15

另外,原先在Raspberry Pi上曾经用过另一款OLED模块去重复这个实验:http://www.bilibili.com/video/av400439/
所以本次制作,也要同时把OLED模块的效果做出来。


无其他外围元件,硬件图不单独绘制。
迁移到飞思卡尔后,硬件连接基本上改为:SDA/SCK/CS连接到单片机的SPI,A0/RST挂到任何其他GPIO上。

总费用:液晶模块淘宝标价15~30元不等。我就直接用现成的了
计划完成时间:不会太久,15年1月份完成

shamiao 发表于 2015-2-13 00:18:06

本帖最后由 shamiao 于 2015-2-13 14:34 编辑

新年狠狠高烧两次,耽搁了不少时间,总算是在节前完成了。



视频地址:http://v.youku.com/v_show/id_XODkyNDk4Njky.html

http://player.youku.com/player.php/sid/XODkyNDk4Njky/v.swf

按照开源项目的习惯,本项目托管在Coding.net上。
项目主页:https://coding.net/u/shamiao/p/KL25_LCM12864_ST7565_Movie (可以直接在线查看所有代码、下载所有代码的zip包、直接fork到自己的账号下随意修改等)

电路连接关系、许可证等请查看项目主页,或参阅项目代码中的README.md(纯文本)文件。

git用户请直接克隆这个仓库:git://coding.net/shamiao/KL25_LCM12864_ST7565_Movie.git
论坛也上传一份1.0.0版本(即仓库中1.0.0标签)的代码作为存档(仅为存档,不推荐使用,建议总是从在线代码仓库获得最新代码)。



使用苏州大学提供的部分项目框架文件,自写本项目内的GPIO、SPI、SysTick中间层,与SDHC存储卡、液晶模块的驱动组件。颇有实现的比较草率之处,请多海涵。其实把代码放在Coding上也是为了以后能够慢慢完善。

个人感觉比较得意的地方在于GPIO驱动部分,这部分使用了Arduino wiring模块的函数调用风格,方便其他硬件的开发者。代码示例:

pinMode(PORTB, 18, OUTPUT); // 原Arduino的第一个参数(针脚号码)全部变成两个(端口号+针脚号)
digitalWrite(PORTB, 18, HIGH); // Arduino中的常用宏均保留
pinMux(PORTB, 18, MUX1_GPIO); // 新增函数,控制KL25的引脚复用(在配书ISBN9787302333661中直接参阅附录A)

Juggernaut 发表于 2014-12-30 19:45:33

看起来不错,我也准备KL25的SPI方向

franki 发表于 2014-12-30 20:19:54

方案不错 ,期待楼主快点完成

superrf 发表于 2014-12-30 20:24:36

看着不错,预祝早日成功

motodefy 发表于 2014-12-30 21:01:47

{:lol:}码一个···期待成功

fengyunyu 发表于 2014-12-30 21:28:22

12864液晶屏幕的黑白动画播放实验,这个不错!

craigtao 发表于 2014-12-30 23:09:00

响应号召,,,

ijlc1314 发表于 2014-12-30 23:13:02

ST7565一秒能刷几帧?如果用RA8835之类的应该会快很多

armok 发表于 2014-12-30 23:24:48

superrf 发表于 2014-12-30 23:30:29

这次开源项目效率真高

shamiao 发表于 2014-12-30 23:57:46

ijlc1314 发表于 2014-12-30 23:13
ST7565一秒能刷几帧?如果用RA8835之类的应该会快很多

考虑屏幕残影太厉害,响应时间上不去,所以这个问题意义不大了

原项目是按照24fps做的

城关珠 发表于 2014-12-31 00:15:44

期待楼住快点完成

ijlc1314 发表于 2014-12-31 08:20:32

shamiao 发表于 2014-12-30 23:57
考虑屏幕残影太厉害,响应时间上不去,所以这个问题意义不大了

原项目是按照24fps做的 ...

单色屏响应没那么快,楼主准备用并行还是串行的驱动方式呢?

armok 发表于 2014-12-31 10:19:59

xiong57785 发表于 2014-12-31 10:31:12

不错 加油 期待中

wangkx1990 发表于 2014-12-31 13:27:08

确实,应该考虑考虑SPI,I2C挂个什么的

子鱼 发表于 2014-12-31 15:00:16

ijlc1314 发表于 2014-12-31 08:20
单色屏响应没那么快,楼主准备用并行还是串行的驱动方式呢?

看楼主的介绍 如果仅仅是简单移植的话楼主采用串行的方式驱动LCD反应速度会慢一些

子鱼 发表于 2014-12-31 15:02:21

方案不错 ,期待楼主快点完成。

只要对KL25的SPI了解一些就可以完成了。。

秦天 发表于 2014-12-31 17:39:04

这次项目 很有意义 双赢 不错的策划

armok 发表于 2014-12-31 19:13:09

swustlx 发表于 2015-1-5 15:11:39

期待楼主的大作                           

jinyi7016 发表于 2015-1-5 15:19:25

单色还能放视频?有灰度?

franki 发表于 2015-1-5 19:13:23

不知道Raspberry Pi 与KL25 从开发角度讲有那些不同。

shamiao 发表于 2015-1-5 21:02:37

jinyi7016 发表于 2015-1-5 15:19
单色还能放视频?有灰度?

很遗憾,使用的这个屏没有灰度,所以特意使用著名的黑白单色视频 bad apple (几乎没有灰度部分)

如果能弄到gameboy那类的几级灰度的屏幕,确实值得尝试一下

unknown 发表于 2015-1-5 21:16:29

貌似当年文曲星也是没有灰度的,结果有人用汇编模拟出了16级灰度放图片,效果还不错,不知道在这块屏上能不能模拟出来

liuzs09 发表于 2015-1-6 14:42:01

正在学习液晶屏驱动、显示部分程序,期待完成

ijlc1314 发表于 2015-1-6 23:17:22

子鱼 发表于 2014-12-31 15:00
看楼主的介绍 如果仅仅是简单移植的话楼主采用串行的方式驱动LCD反应速度会慢一些 ...

对单色屏来说,串行不见得就慢。在RAM足够而且有DMA的时候也很方便

jiang887786 发表于 2015-1-9 23:28:28

期待楼主大作,学习啊,学习才是硬道理。

Ray______ 发表于 2015-1-12 00:56:26

视频是直接传输给25处理,不经别的芯片?

shamiao 发表于 2015-1-12 02:28:25

Ray______ 发表于 2015-1-12 00:56
视频是直接传输给25处理,不经别的芯片?

提方案的时候疏忽了,不同于Raspberry Pi,KL25的存储空间肯定装不下视频文件…

引入个SD卡试试看

Ray______ 发表于 2015-1-12 07:01:47

shamiao 发表于 2015-1-12 02:28
提方案的时候疏忽了,不同于Raspberry Pi,KL25的存储空间肯定装不下视频文件…

引入个SD卡试试看 ...

有意思啊,以前就看过别人在oled放视频

astankvai 发表于 2015-1-12 08:06:57

顶,视频用什么格式?avi能解不?rmvb?

superrf 发表于 2015-1-12 10:08:19

astankvai 发表于 2015-1-12 08:06
顶,视频用什么格式?avi能解不?rmvb?

应该是位图序列吧,K25的运算能力解MJPEG的动画也比较累吧

sunshineabner 发表于 2015-1-12 21:04:05

看上去好棒的说

worldsing 发表于 2015-1-19 15:20:31

用的屏是什么控制器?

laotui 发表于 2015-1-20 01:32:26

shamiao 发表于 2015-1-12 02:28
提方案的时候疏忽了,不同于Raspberry Pi,KL25的存储空间肯定装不下视频文件…

引入个SD卡试试看 ...

有用avr做类似的就是接sd卡,spi就可以读sd卡了。

tim 发表于 2015-2-13 00:23:45

先顶一个,等等看视频

tim 发表于 2015-2-13 00:25:43

unknown 发表于 2015-1-5 21:16
貌似当年文曲星也是没有灰度的,结果有人用汇编模拟出了16级灰度放图片,效果还不错,不知道在这块屏上能不 ...

坛子里面以前有人用12864黑白屏播放过(模拟出来的)灰度视频

shamiao 发表于 2015-2-13 11:38:26

tim 发表于 2015-2-13 00:25
坛子里面以前有人用12864黑白屏播放过(模拟出来的)灰度视频

这次用的12864 COG LCD模块残影非常严重,看视频就清楚了,就不拿来做这种试验了……

我买了个12864 OLED,还没到货,也许会用那个试一试。

tim 发表于 2015-2-13 13:34:26

shamiao 发表于 2015-2-13 11:38
这次用的12864 COG LCD模块残影非常严重,看视频就清楚了,就不拿来做这种试验了……

我买了个12864 OLE ...

嗯哪,LCD反应慢,OLED也许能好一些

shamiao 发表于 2015-2-13 14:35:17

armok 发表于 2014-12-31 19:13
你的开发套件已经寄出,申通:768996913987

支付运费我们已经支付,广东省内1-2天到,省外3-5天到。


视频及项目代码已经放出,请网站进行审核,谢谢 /ok

sunday640 发表于 2015-2-13 18:54:24

灰度视频?

shamiao 发表于 2015-2-13 20:57:42

sunday640 发表于 2015-2-13 18:54
灰度视频?

纯黑白视频

灰度视频需要采购专门的4级灰度液晶模块才行

shamiao 发表于 2015-2-15 18:32:47

本帖最后由 shamiao 于 2015-2-15 18:33 编辑

补一个CPU使用率实测数据。大概是20%左右。这还是LCD的驱动代码写的很粗糙,延时加的较多的情况下。(LCD资料不全,没有拿到时序图中准确的各种时间数据,因此保证可靠只能尽量放宽)

holts2 发表于 2015-2-15 18:59:30

不错不错,已经完成了

eva 发表于 2015-2-16 22:19:06

恭喜了        年前完成
页: [1]
查看完整版本: shamiao的KL25开源项目进行中.... (12864单色视频播放)