迅龙3号基于兆讯MH22D3适配CST328多点触摸驱动开发笔记

MH22D3芯片是兆讯公司新推出的基于cortex-M3内核的新一代芯片,专注于显示应用,其主频高达216Mhz,64KB SRAM,512KB Flash,开发UI应用游刃有余。详细介绍请看:MH22D3新一代显控应用性价比之王

新龙微基于MH22D3推出了"迅龙3号"开发板,方便快速评估和测试验证芯片性能,板载丰富资源,提供扩展接口:

开发板配套显示屏和电容TP,分辨率支持320x240,触摸屏支持5点触摸,报点率达100Hz。

触摸屏使用了海栎创比较高端的芯片CST328,网络上资料相对较少,驱动开发容易踩坑。

迅龙3号完整适配了这一款触摸芯片,提供完整的驱动源代码 ,代码下载地址:

迅龙3号开发板资料下载链接:

链接: https://pan.baidu.com/s/1vVlPRQDwgi_Ffdx5TAPTYw?pwd=ugjx 提取码: ugjx

下面记录了CST328开发过程中的一些问题:

  1. 初始化问题
    I2C接口和TP IO(复位和INT)初始化后读器件信息,会有不规律的中断信号。
    针对这种情况,要在完成读取信息后再打开中断信息,等待上报TP触摸信息
  2. 寄存序号问题
    海栎创规格书《CST328数据手册V2.2.pdf》里面的数据有误:

    正确的寄存器序号应该如下,特别是读芯片类型来判断芯片的时候很重要:

    3.TP数据读取
    TP采用中断方式上报数据,读取程序一般是采用阻塞方式的,也就是说在读取寄存器数据期间,几乎是全部占用MCU的,所以速度一定要快,尽量降低对MCU的占用时间,下面是一个参考,可以根据自身板子的情况做微调和验证,确认最高通讯速率:
    I2C时钟:373Khz
    TP上报数据间隔:7.57ms
    读取7个寄存器时间:335us
    MCU占用率:0.335/7.57=4.3%
  3. CST328和CST826系列的差异
    CST826的寄存器是1个字节,CST328的寄存器是2个字节,写的时候要分两次写入寄存器序号,读回来的数据byte0在前面,然后依次是byte1,byte2,byte3,和数据标准相对应。
c 复制代码
static bool tp_reg_write(uint16_t reg_addr, uint8_t *reg_data, uint8_t cnt)
{
    I2C_ACK_STATUS ack;
	
	I2c_Start();
	I2c_WriteByte(TP_IIC_SLAVE_ADDR);
	I2c_WriteByte(reg_addr >> 8);  //register
	I2c_WriteByte(reg_addr & 0xFF); //nack
    if((reg_data != NULL) && cnt)
    {
        for ( uint16_t i = 0; i < cnt; i++ )
        {
            I2c_WriteByte(reg_data[i]);
        }
    }
	I2c_Stop();
	
	return true;
}

文章为原创,转载需注明出处,未经书面允许,请勿用于商业用途

相关推荐
天月风沙10 小时前
PX4 | 无人机关闭磁力计罗盘飞行(yaw estimate error报错解决方法)
单片机·嵌入式硬件·mcu·无人机
咏颜2 天前
ESP32对接巴法云实现配网
经验分享·mcu·物联网·iot
iCxhust3 天前
Prj09--8088单板机C语言8253产生1KHz方波(1)
c语言·开发语言·c++·单片机·嵌入式硬件·mcu
iCxhust5 天前
8088 单板机 汇编 NMI 中断程序示例 (脱离 DOS 环境)
c语言·开发语言·汇编·单片机·嵌入式硬件·mcu
电子科技圈5 天前
芯科科技推出首批第三代无线开发平台SoC,高度集成的解决方案推动下一波物联网实现突破
嵌入式硬件·mcu·物联网·网络安全·智能家居·智能硬件·iot
WPG大大通6 天前
直播预告 | 聚焦芯必达|打造可靠高效的国产 MCU 与智能 SBC 汽车解决方案
大数据·人工智能·mcu·汽车·大大通·研讨会
电子科技圈7 天前
XMOS以全新智能音频及边缘AI技术亮相广州国际专业灯光音响展
人工智能·嵌入式硬件·mcu·物联网·自然语言处理·音视频·边缘计算
liu_endong8 天前
杰发科技AC7840——CSE硬件加密模块使用(2)
mcu·国产·杰发科技·autochips·车规芯片
liu_endong11 天前
杰发科技AC7801——PWM获取固定脉冲个数
mcu·国产·杰发科技·autochips·车规芯片
flashier11 天前
ESP32学习笔记_Peripherals(3)——ADC
mcu·学习·esp32·adc·外设