同步队列串行接口QSPI的研究与应用
3 基于ColdFire处理器QSPI接口的触摸屏驱动设计 结 语
3.1 硬件电路
触摸屏控制芯片ADS7843与ColdFire系列处理器的硬件连接图如图4所示。
3.2 软件设计
从触摸发生到获取触摸点坐标的过程如下:触摸发生时,ADS7843会通过PENIRQ引脚触发一个中断,在中断子程序中首先应延迟10~20 ms以去除抖动带来的影响,然后向ADS7843发送控制字获取X、Y坐标。
获取一个坐标的值需要向ADS7843输入24个时钟周期。对QSPI模块来说,可以把这24个周期作为3次8位的传输队列,或1次8位、1次16位的传输队列。这里选择3次8位传输队列的方式。QSPI初始化代码如下:
其中,QSPI_QMR和QSPI_QWR为QSPI寄存器QMR和QWR的地址。获胜X坐标函数代码如下:
获取Y坐标函数代码同获取X坐标函数代码基本一致,只需要将发送给ADS7843的控制命令修改为0xD0,表示选择Y通道,12位精度,差分模式。
为观察QSPI模块与ADS7843是否能正确地进行通信,使用Agilent1673G逻辑分析仪对4个引脚的时序进行了捕捉。图5显示了读取X坐标时的时序图,4个引脚从上到下依次是片选CS、串行时钟DCLK、串行数据输入DIN、串行数据输出DOUT。从图中可以清楚地看到,在前8个时钟周期,处理器向ADS7843输入了控制字;在第10个时钟处,ADS7843开始输出12位的量化数据;最后3个时钟,ADS7843将输出线拉低。
本文分析了一种改进的SPI传输接口QSPI的工作机制,并通过QSPI模块与触摸屏控制芯片ADS7843通信的实例阐述了该模块的典型应用。QSPI模块的队列机制加快了数据传输速度,减少了CPU的干预。除此之外,该模块提供了对时钟有效电平、采样沿、片选电平、传输数据位数等的自由配置,使其能灵活地与各种具有串行接口的设备进行通信。
- PC机扩展RS-232接口(01-25)
- 串行及并行A/D转换器在高速数据采集中的采样差别性分析(05-19)
- 高速串行接口特征与应用(05-20)
- 嵌入式测试为串行I/O提供真正的价值(05-26)
- 串行通讯转接口类型 PowerChute Plus for Unix(06-08)
- 扩展USB连接(04-23)