7238|25

18

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

求助ADS7843的驱动,愿出200元报酬 [复制链接]

LM3S下使用SSI驱动ADS7843的代码,搞了3天了,还是没搞定,不知道问题出在哪里了

模拟的就算了,我一开始就做出来了,我想要的是硬件SPI模式的。

另外,也可以用ucos iii + LWIP来交换这个代码。LWIP目前还没有ucos iii下的移植版本哦

不知道大家对200元有什么意见没有

 

我说一下我使用的方法:

freescale模式,时钟极性为上升沿,在第一个时钟来到时采样,即使用的是SSI_FRF_MOTO_MODE_0

现象是,只要一读ADS7843,7843就没中断了,一定要重上电才行。断开SPI CLK就没这个现象

最新回复

我试了试,SSI模式下,用扫描法可以通过(不用INT),ADS7843没有死,可以多次读取,用ADS7843上的INT不行。。。 可能是ADS7843中的INT配置有误。。。  详情 回复 发表于 2012-5-9 17:11
 
点赞 关注

回复
举报

10

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

我也不知道;没玩过呢

我也没玩过呢
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

 

这个是我买TFT屏是卖家给的资料,我还没用过,希望对你有帮助。。。

触摸屏(ADS7843)驱动源码.rar

1.71 KB, 下载次数: 52

 
 
 

回复

1228

帖子

0

TA的资源

纯净的硅(高级)

4
 
3楼 200元代码就这么贴出来了
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

5
 
3楼是用模拟的,模拟的我早就实现了,不好意思
不过还是谢谢
如果哪位有,请发上来,让大家共享,费用一定会支付的
 
 
 

回复

1944

帖子

32

TA的资源

纯净的硅(高级)

6
 
应该是你的SSI的驱动有问题了,调整一下SSI配置参数试试看。
硬件SSI实现比软件模拟更简单的

[ 本帖最后由 azhiking 于 2012-4-27 17:39 编辑 ]
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

7
 
等会我把代码贴出来,所有的模式我都试过,都是不行的,除了SSI_FRF_MOTO_MODE_2以外,所有的模式都会导致7843读写一次后挂掉.但SSI_FRF_MOTO_MODE_2明显不对,而且读到的都是0

奇怪的是,我用STM32的硬件SPI是可以的,而且和LM3S同样的模式7843也不会挂
 
 
 

回复

1944

帖子

32

TA的资源

纯净的硅(高级)

8
 
你可以用示波器看看波形,排除通讯时序上的问题,然后在找其他原因
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

9
 

基本确定这是TI的芯片BUG,请大家关注一下

下面两个图是STM32和LM3S的SPI对比图,大家看看有什么区别没有

唯一的区别就是,STM32的MOSI在空闲时是低电平,而LM3S确是高电平。

于是,我把模拟SPI改了一下,使之空闲时候是高电平,果然,ADS7843不响应

在手册上有以下语句:

SSIClk 被强制变为低电平
■ SSIFss 被强制变为高电平
■ 发送数据线 SSITx 被仲裁强制变为低电平
■ 当 SSI 配置为主机时,它将启用 SSIClk 管脚
■ 当 SSI 配置为从机时,它将禁用 SSIClk 管

英文:

LM3S.JPG (245.29 KB, 下载次数: 0)

LM3S.JPG

STM32.JPG (238.76 KB, 下载次数: 0)

STM32.JPG
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

10
 
英文:
■ SSIClk is forced Low
■ SSIFss is forced High
■ The transmit data line SSITx is arbitrarily forced Low
■ When the SSI is configured as a master, it enables the SSIClk pad
■ When the SSI is configured as a slave, it disables the SSIClk pad

现在大家可以去量一下,你初始化SPI之后MOSI是不是高电平,其实是高电平倒不要紧,我想大多数器件对此不敏感,但ADS7843就不同,它一定要低电平,这两个芯片可都是TI的啊。
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

11
 
初始化代码:
    SSIDisable(SSI1_BASE);
    GPIOPinConfigure(GPIO_PE2_SSI1RX);
    GPIOPinConfigure(GPIO_PE3_SSI1TX);
      
    GPIOPinTypeSSI  (GPIO_PORTE_BASE, GPIO_PIN_2 | GPIO_PIN_3);

    GPIOPadConfigSet(GPIO_PORTE_BASE, GPIO_PIN_2 , GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_STD_WPU);
    GPIOPadConfigSet(GPIO_PORTE_BASE, GPIO_PIN_3, GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_STD_WPD);
   
   
    GPIOPinConfigure(GPIO_PH5_SSI1FSS);
    GPIOPinConfigure(GPIO_PH4_SSI1CLK);
    GPIOPinTypeSSI  (GPIO_PORTH_BASE, GPIO_PIN_5);  
    GPIOPinTypeSSI  (GPIO_PORTH_BASE, GPIO_PIN_4);  
     
    GPIOPadConfigSet(GPIO_PORTH_BASE, GPIO_PIN_4 | GPIO_PIN_5, GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_STD_WPU);
   
    SSIConfigSetExpClk(SSI1_BASE,SysCtlClockGet(),SSI_FRF_MOTO_MODE_0,SSI_MODE_MASTER,100000,8);
    SSIEnable(SSI1_BASE);
static void write_spi (long cmd)  
{
    DWORD rcvdat;  
    SSIDataPut(SSI1_BASE, cmd);
    SSIDataGet(SSI1_BASE, &rcvdat);
}        

static unsigned char read_spi (void)
{
    DWORD rcvdat;
    SSIDataPut(SSI1_BASE, 0xff);
    SSIDataGet(SSI1_BASE, &rcvdat);
    return (unsigned char)rcvdat;
}

大家可以看看这样有问题没有
 
 
 

回复

471

帖子

0

TA的资源

一粒金砂(高级)

12
 

回复 11楼 big 的帖子

有时候SSIConfigSetExpClk(SSI1_BASE,SysCtlClockGet(),SSI_FRF_MOTO_MODE_0,SSI_MODE_MASTER,100000,8);
这个函数里面位速率那个参数设置得太高,SPI通信也不会成功的
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

13
 
我试过除10的,跟这个关系应该不大,因为模拟的时候mosi在空闲时为高都不行
 
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

14
 

回复 13楼 big 的帖子

GPIOPadConfigSet(GPIO_PORTE_BASE, GPIO_PIN_3, GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_STD_WPD);
这个为什么要设置为弱下拉呢?
这两个脚都设置成弱上拉不行吗?
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

15
 

回复 14楼 Study_Stellaris 的帖子

开始我也是设置成弱上拉的,后来看到STM32的MOSI是低电平,所以设成下拉看看,可空闲时候还是拉不下,这说明MOSI在空闲的时候是高电平,并不是高阻或低电平
 
 
 

回复

471

帖子

0

TA的资源

一粒金砂(高级)

16
 

回复 15楼 big 的帖子

今天上午用LM3S6911的SSI1测试了下读取ADS7834。可以正确读取坐标。不知道你那个是怎么回事
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

17
 

回复 16楼 zw357234798 的帖子

能否发你的代码给我看看,或者看我的是哪里出问题了?我的时序都分析出来了
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

18
 
如能发代码给我调试成功,我可以支付200元,直接淘宝交易
 
 
 

回复

471

帖子

0

TA的资源

一粒金砂(高级)

19
 
这里代码,希望能帮到你。 ADS7834.zip (1.19 KB, 下载次数: 15)
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

20
 
请在淘宝上开一个付款的,如果成功,付款200,没有的话付一百,我说到做到
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表