找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 72|回复: 2
收起左侧

TI CC2640 驱动墨水屏的技术探讨

[复制链接]
ID:628113 发表于 2024-10-20 00:02 | 显示全部楼层 |阅读模式
前面 说了 TI  CC2510 驱动 墨水屏的一些 细节:
TI CC2510 51单片机驱动SES墨水屏的一些技术细节

CC 2510/2530 由于本身资源太少, 所以效果受限,基本只能显示固定内容。

下面说说 后期的 墨水标签  , 一般都是 ARM 架构了。
这里专门介绍 BLOZI 的产品, 因为 该产品的 CC2640版本的板子,不管尺寸大小,
接线都是一样的,只是有些有发光管有些没有,有些有一些其他RF外设有些不带,屏接线都一样的。

实际效果 和  8根烧写脚 硬件接线定义如下, 都是一样的,只是方向正反有区别。

BLOZI.jpg

注意, 该板子只引出 TMS  TCK ,  自身用了 TDI TDO 脚, 只能使用 XDS100V3+ 系列烧写器的 cJTAG 功能。
XDS100V3/XDS110 烧写器价格巨贵, 如果就为烧写几个墨水屏似乎有点不太值得。
XDS100V3  不能对外部板子供电。 需要设备自带电源,这个要注意。

这是实际接线图:

2640epd.jpg

硬件不是很困难, 主要软件比较麻烦, 要比 CC2510/CC2530 麻烦 几十倍!!!
CC2510 /2530 只是个扩展的 51单片机, 而 CC2640 是个ARM M3 的器件,需要 厂家 SDK 支持。

下面 简述 软件 的麻烦在哪里。


回复

使用道具 举报

ID:628113 发表于 2024-10-20 00:20 | 显示全部楼层
软件开发需要几个组件:
1.  java  JRE  
2. SIMPLELINK_CC2640R2_SDK
3. XDCTOOLS
支持 TI  CCS  和 IAR 。 新版本的好像不再支持IAR了,只能用很不顺手的 CCS .

TI  的这些 包 版本很多 , 所有版本全能正常下载, 这点非常棒。
但是 每个版本都不兼容, 你想从一个版本改到另一个,几乎等于重写一个。
所以 你从网上 下个源码来, 【必须】 使用它本来的 版本!
XDCTOOLS  版本 的配合
3.25.03.72 - FOR USE WITH CCS 5.4
3.30.06.67 - FOR USE WITH CCS 6.0   
3.32.01.22 - FOR USE WITH CCS 6.1 
3.50.08.24 - FOR USE WITH CCS 7.1 
3.51.03.28 - FOR USE WITH CCS 8.2 
以下是64位的程序,配 64位JRE
3.55.02.22 - FOR USE WITH CCS 9.0
3.62.00.08 - FOR USE WITH CCS 10.0  

虽然 CCS 高版本理论上可以用低版本XDCTOOLS, 但注意存在 JRE 的 64位问题。

实测 , XDCTOOLS  3.51 及以下, 区别不是很大。
SDK  网上大家一直用1.40的最老的成熟版本,建议也使用。
如果试图将老程序,移植到新版本 SDK , 会让你怀疑人生。

CC2640 是一颗3 核心的SOC 芯片,每个CPU 既可独立使用,也可共享RAM/ROM,3个CPU 各司其职又协同工作,最大程度实现了性能和功耗平衡。Cortex-M3 内核的CPU,用于处理应用程序和蓝牙低功耗协议栈, Cortex-M0 内核CPU 用于处理所有底层的无线电控制以及相关的物理层和部分链路层,传感器控制器模块能够独立于Cortex-M3 处理器进行自主数据采集和控制.
CC2640 是基于多个CPU 的设计,每个CPU 具有自己独立和彼此共享的存储系统。同时TI 预留了128ROM 作为出厂固件.此外TI 还保留8KB 的Cache 作为预取指缓存,该8KBCache 可以配置通过RAM,也就是我们用户可使用的RAM 可以从20KB 配置到28KB。

显然, CC2640 理论上 可以用 28K RAM , 足够驱动 全屏的  普通尺寸墨水屏了。

官网开发例程是个 多线程的 驱动, 上手两件事:
1. 关掉 ICALL 和 SPB 所有 组件, 释放出资源。
2. 建立一个 墨水屏新线程, 这个线程里面 就和普通 驱动一样处理就可以了。

实测可以工作。 不过 在驱动 UC8151 IC 时, 检测BUSY 状态始终有问题,还没找到原因.

回复

使用道具 举报

ID:628113 发表于 2024-10-21 10:51 | 显示全部楼层
看上去大家对墨水屏不感兴趣,这里就不多说了。
继续把项目简单地介绍完吧。
既然CC2640 是个蓝牙模块, 我们继续把蓝牙部分用上,用来切换图像。
用户程序实际控制不了蓝牙。 蓝牙部分有自己地固件,也有现成官方接口。
使用很简单,蓝牙收到信息后, 会产生一个消息推送,例如:
SerialPortService_WriteAttrCB( uint16 connHandle, gattAttribute_t *pAttr,
                                            uint8 *pValue, uint16 len, uint16 offset,
                                            uint8 method )
在此加入自己的需求。BLE 协议不适合传送长文档,我的方案是,把需要切换的图像
预先烧在ROM, BLE 实际上只是发送编码,指定切换哪张图片。

显示时钟也勉强可以,耗电有点多。且板载时钟精度也不是很高,意义不大。

这样, 这个超市的价签,就完美变成了可控制的桌面装饰图片。

这是 APPLE  APP: LightBlue 实际控制设备的图

BLElIGHt.jpg

好了,就简单介绍到这里了。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表