DEI1016&BD429使用遇到的问题及解决

测试框图:

图中未画出/EN2,/DR2,RXB+,RXB-的连接,/EN2一直维持为高电平,/DR2、RXB+、RXB-悬空;

测试步骤:

  • 系统上点;
  • 可编程器件向DEI1016发送复位信号(/MR低电平持续400ns)
  • 可编程器件向DEI1016发送控制信息  (/LDCW电平持续400ns,控制信息为0x0020)
  • 可编程器件向DEI1016加载数据;字1 为0x0666,字2数据为0x5555或0xAAAA(0x5555和0xAAAA交替加载),加载数据的频率为1Hz
  • 当DR1为低电平时,可编程器件从DEI1016读取数据。

问题如下:当可编程器件从DEI1016成功读取几个数据以后,DR1会持续为低电平(即使已经没有向DEI1016写发送数据,且DEI1016已经没有再发送数据),DR1无法自动变为高电平;从芯片手册中得知,当从DEI1016完成读取Word1和Word2后,DR1会自动复位(变为高电平),实际情况与此不符,实际情况是DR1会持续为低电平,此时会认为DEI1016接受缓冲器一直存在有效数据,所以会一直做读取数据的动作。

经过测试后发现SEL,/OE1,数据总线数据波形如下图1或图2所示(此时DEI1016和BD429已经没有发送数据)

解决步骤:

首先怀疑时程序出现了问题,但是经过仔细研究芯片手册的读写时序,发现程序设计出的读写时序完全符合芯片手册的要求;

然后怀疑是硬件电路设计的问题,但是检查原理图和硬件图很久,各种测试后认为没有问题;因为如果硬件或程序有问题的话,那么一次数据收发应该都不会成功的,实际情况时正常收发20多次数据后才出问题;此时整个人就懵逼了。

接下来我打算使出杀手锏,问度娘;但是这次度娘让我失望了,百度压根就没有此种问题的描述或解决办法,整个人已经心灰意冷,地球太残酷了!

然后我使出了终究杀招,寻求芯片厂家的技术支持;联系到中国区技术支持后将问题发送过去,在忐忑中等待了一天;得到的回复是他们也不知道为什么,没有解决办法;此时我绝望了

最后鄙人一狠心,将DEI1016所有未用到的引脚(其实也就只有/DR2,RXB+,RXB-)全都做了处理——/DR2上拉至高电平,RXB+、RXB-下拉至地;再做收发测试的时候居然成功了,此时鄙人整个人激动的快要盆骨涨裂了

问题原因:应为当时在进行硬件设计时只需要一路收发通道,设计选择DEI1016接收通道1进行数据接受;所以只是将DEI1016的/DR1引脚连接至可编程器件,/DR2未用(悬空);当将DEI1016的/DR2上拉至高电平后,对接收通道1的数据读取动作后,/DR1能正常复位。至于为什么至今未明;

教训:以后用新器件的时候没有使用到的,不明确的的芯片引脚尽量还是做处理,该上拉的上拉,该下拉的下拉;

本文属原创,如引用请注明出处!

DEI1016&BD429使用遇到的问题及解决

时间: 2024-09-30 20:09:33

DEI1016&BD429使用遇到的问题及解决的相关文章

Charles关于Https SSLHandshake解决备忘录

抓包Https时错误提示:SSLHandshake: Received fatal alert: unknown_ca 1.准备工作,下载Charles版本 有情链接,提取码为:ghc6,其中包含了Charles两个版本 a Charles3.9.3 主要针对iphone5手机抓包 b Charles4.1.2 主要针对iphone6及以上抓包 为什么用两个不同版本?实践中发现,某一个版本不能同时解决问题 2.设置允许SSL Proxy Proxy->Proxy Settings->SSL-&

.Net使用163smtp发送邮件时错误:邮箱不可用. has no permission解决方法

C#实现简单邮件发送代码如下 public static void SendAsync(string emailTo, string subject, string mailBody) { var msg = new MailMessage(); msg.To.Add(emailTo); // msg.From = new MailAddress(_userNameForEmail, "显示的发件人名称", System.Text.Encoding.UTF8); msg.Subject

Java TM 已被阻止,因为它已过时需要更新的解决方法

公司的堡垒机需要通过浏览器登陆,且该堡垒机的网站需要Java的支持,最近通过浏览器登陆之后总是提示"java TM 已被阻止,因为它已过时需要更新的解决方法"导致登陆之后不能操作, 但是操作系统中确实已经安装了比较新的JDK,安装的JDK版本是jdk-7u67-windows-i586,因为太烦人,所以决定搞清楚报错的原因,一劳永逸,彻底解决这个问题 准备工作:安装JDK,安装版本jdk-7u67-windows-i586.exe,因为机器的Eclipse还依赖64位的JDK,所以另安

Sqlserver通过链接服务器访问Oracle的解决办法

转自http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 一.创建sqlserver链接服务(sqlserver链接oracle)  首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1.“MSDAORA”访问接口是由Microsoft OLE DB Provider for Oracle提供的,这里建议不使用此接口进行链接.通过该访问接口建立的链接服务器在进行查询orac

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

如何用 Android Studio 导入开源项目以及常见错误的解决办法

声明:这篇文章完全来自这篇文章,感谢大神的相助.这篇文章纯粹是为了备份. 本篇以Github上最热门的MaterialDesign库,MaterialDesignLibrary来介绍怎样使用Android Sudio导入开源项目的,如果你和我一样刚刚从Eclipse转到AS,那本篇文章非常适合你. 如果不引入任何第三方库,不做自动化分渠道打包等操作,那可以在完全不了解Gradle的情况下进行Android项目的开发.但如果要想导入Github上的热门项目,必须首先熟悉Gradle. 1. Gra

解决myeclipse中tomcat启动报错A configuration error occurred during startup. Please verify the preference field whit the prompt:Cannot connect to VM

原因一:可能是tomcat里面文件不小心被删除了.尝试更换tomcat, 解决步骤:重新下载tomcat并解压.点击windows——> preferences——>tomcat重新配置. 原因二:myeclipse系统自带jdk出问题 解决步骤:重新下载tomcat并解压.点击windows——> preferences——>tomcat——>jdk,配置成你自己的jdk 原因三:由于软件冲突导致的错误 解决步骤: 找到myeclipse.ini文件 加上-Djava.ne

微信支付错误两个问题的解决:curl出错,错误码:60

如下是运行微信支付测试代码时出错代码: Warning: curl_setopt() expects parameter 2 to be long, string given in D:\wwwroot\weixinpaytest\pay\WxPay.JsApiPay.php on line 99 Fatal error: Uncaught exception 'WxPayException' with message 'curl出错,错误码:60' in D:\wwwroot\weixinpa

彻底解决_OBJC_CLASS_$_某文件名", referenced from:问题(转)

最近在使用静态库时,总是出现这个问题.下面总结一下我得解决方法: 1. .m文件没有导入   在Build Phases里的Compile Sources 中添加报错的文件 2. .framework文件没有导入静态库编译时往往需要一些库的支持,查看你是否有没有导入的库文件同样是在Build Phases里的Link Binary With Libraries中添加 3. 重复编译,可能你之前复制过两个地方,在这里添加过两次,删除时系统没有默认删除编译引用地址在Build Settings里搜索