nuc972项目随记

来源:互联网 发布:java枚举单例模式 编辑:程序博客网 时间:2024/05/01 17:23

本文于2017年8月31日开始记录,记录前两个月开始的新塘nuc972项目;撰写本文的目的主要有以下几点:


1。记录开发消耗的时间,为以后其他新项目的时间节点安排作参考

2.记录开发过程中碰到的问题及注意事项



此次项目确确的开始时间好像是6月下旬,从代理商那儿拿到nuc972的开发板及开发资料

6月21号,项目开始,要到nuc972的评估板及开发资料

6月21 ~ 8月1号创建开发环境,基于原来的已有环境,只是将编译器调整为新的即可。熟悉源码包(uboot, linux 源码),学会下载image方法,项目中用到的硬件外设驱动初始调试(i2c型键盘,usb,网口,音频。。。)由于前期linxu开发项目经验不是很足,原来zlg项目采用人家的核心板,所以bsp包做得比较完善。但是新塘的bsp包比较原始,给到最初的源码包功能很少,甚至连根文件系统都是超级简陋型的。


所以,前期基本上处于边摸索,边了解,边学习的状态,时间进度来说,是比较慢。


7月24号~8月6号中断此项目,弄耀华led屏幕,能让表头输出数字电流环信号直接驱动耀华led屏幕,最终调试成功.


8月6号~8月26号,以原来zlg项目为基础,绘制原理图,结合实际需求,修改原理图,编辑原理图,绘制pcb.

 pcb 参数:

板厚 1.6mm
层数 4
外层铜厚 1oz(0.35mm)
内层铜厚 0.5oz(0.17mm)
PP胶厚 0.2mm
芯板厚 1.1mm
最小线宽线距 8mil
最小过孔 12/24mil


pcb板绘制心得,由于是第二次绘制复杂点的pcb,第一次还是双面板,这次四面板绘制的也是相当纠结,主要原因有如下几点:

1。ad 软件使用不熟练,

2。pcb 经验严重不足

3.对于常规pcb绘制流程步骤没有概念


经验心得:

1.pcb板绘制前确定好大概布局,布局肯定是要满足实际需求,比如,网口位置,串口位置,usb口位置,这些位置是不能随意更改的,一开始固定后就锁定好位置;

2。主芯片在中间位置,其余模块可以根据布线的容易作调整,有必要的话,可以通过修改原理中的管脚来使pcb中走线顺畅

3.多学习ad布线技巧,里机还是有不少的工具可以使用,比如等长布线,差分布线等等,可以加快工作效率

4.先布主要的信号线,例如高速usb差分信息,sdio信号 ,网口差分信号...后画低速信号

5。时钟信号,敏感信号(音频信号)记得包地处理..


8月26号~8月31号:

26号投产,31号收到样板,5天时间

1.pcb制板,华强pcb,买物料,准备焊接样板

2。期间弄了一个rgb转lvds板子,适应产品中需要远距离传输出显示内容的需要.


8月31号:

1.对回来的pcb板进行在家里初步焊接,由于焊接技术水平有限,打算只进行电源模块焊接和测试,先确定电源部分有没有问题,再着手后续主芯片和flash芯片.否则,一开始没有把握的情况下就叫别人贴片会有很大风险.


9月1号:

昨天对回来的板子进行了焊芯片,包括电源芯片,主芯片,背部电阻电容,整整弄了一天,dug口对着电脑,nnd竟然没有任何反应,查看晶振输出脚波形,也没有看到时钟信号输出。这个时候跟demo板原理图对比发现,晶振有一个电容竟然没有画在电路上,嚓,真是日了狗,好不容易在错误解的电路板上把电容补上去了,也是没有任何反应。艾,只好放弃了,等人工焊接的另外两块板回来再看看啦.


9月3号:

今天是星期天,刚好接到rgb转lvds的板子快递电话,于是就来到公司,想试一下原来的板子中的rgb转lvds芯片的板子效果。历经两个半小时,焊接好样板了。通上电,哈哈,竟然可以驱动一块1024*600的lvds的显示屏,有图有真图,哈哈,线接得有点乱,后面融合到一块板子中去,因为原来屏是800*480,所以没有显示完整,等会调整下驱动参数


看到最右上角的图标没有,屏上确实有显示内容的哈,只是手机对焦原因,主板RGB通过牛角转接线输出到lvds板子,lvds板子与原来的lvds屏的背光板相连,这个背光板是可以接两片lvds屏的哦,但是我手上只有一块这种屏,再接一块可以做双屏同步显示了.



调整好参数后,还可以看一下整个系统的消耗功率:


话说,这个显示屏的显示效果是相当好啊。如果想整合到一块板子上去,这块还得整理整理,包括背光板上背光驱动,lvds的匹配电阻,当然,还有屏幕的驱动参数也得细调


9月5号:

今天收到外寄贴片回来的板子,由于是手工贴片,为了节约贴片时间,只叫他贴了我搞不定的芯片和接口,话说,这个手工贴片真是贴得好,不知道是怎么样弄的。怀着忐忑的心情把电源芯片,电源树阻容贴上,2..5mm的配置引脚焊接上。通上电,电流还是跟原来有问题时差不对大小,心里顿时有些不妙..

1.接好debug口,无输出

2.量晶振,无波形输出

3.检查配置引脚,没有错误啊


心里想,这下只能是上电时序的问题了,都怪当初没有仔细看app note,没有注意到这个问题,按上电时序要求,断开core电源输出脚

,打开电源后,再用镊子短接0欧电阻,debug口仍然没有反应.


几乎是快崩溃了,最不想发生的事情发生了,怎么办?打电话给新塘代理,问上电时序,对方说这个不影响晶振呐,想想也是。。怎么办,重新按照料demo板上ldo的控制方式在画一板,可是这个问题原因没有找到,如果新板子也会有这个问题怎么办,艾,还是继续查吧?只有一个笨办法了,对着其它nuc972开发板的电路图,当然不能还对着自己的电路图了,如果自己的本来就是错了怎么办,对需要电压源引脚一个一个测试,还好买了一个超尖的万用表表笔,要不然,还量不出来。一个一个的测量着,突然,神奇的事情发生了..有一个本应该有3.3V电压的引脚竟然没有电压,what,是不是看错了,没错,真没有电压...赶紧查看原理图,有接VDD33呐,看pcb图吧,ctrl+鼠标左键,竟然是个孤立的网络,我靠,这个怎么回事,刚好这个3.3电源左边是dug口,右边是晶振输入输出引脚...,再看原理图,靠,竟然是VDD33,3.3V的电源网络标号是VD33,多打一个D..


啊啊啊....


这个时候,又喜又悲。。。终于找到一个原因了,剩下就是挑战手工活了,用飞线飞一根到3.3V电压到芯片上,再重新焊上一个12M的晶振到板子上,通电,omg,串口中竟然有消息输出。。,原来是还真是这儿的原因

看看我的飞线,


看看晶振的波形(注意,把示波器表笔X10档,这个会使输入阻抗是原来的10倍,对原电路影响小,如果将表笔X1档放在晶振输入/输出端晶振就不起振了)



需要思考的问题:

a.如何在原理图阶段就能借助AD DRC工具发现这个错误,试了一下,当只有一个VDD33网络时,complie project里面info里面没有提示信息,这个是什么原因呢?

b.示波器探头X10档与X1档区别?


9月7号:

1。usb0 OK

2. flash OK

3. LCD显示屏OK

usb口调试时又犯了原理图错误,导致电脑无法发现usb口,原理图设计时候人工check非常有必要,否则,硬件调试要花费相关当多的时间,而且极难排察,两个比较耗时的地方都是因为原理图没有检查而导致的低级错误。

4.RTC OK

  date -s "2017-09-07 18:51:00"    //更新系统时间

  hwclock -w //系统时间写入硬件


5.e.音频模块

修改nuc970-audio.c文件中的codes适配:


static struct snd_soc_dai_link nuc970evb_i2s_dai = {
        .name = "IIS",
        .stream_name = "IIS HiFi",
        .cpu_dai_name = "nuc970-audio-i2s",
        .codec_dai_name = "wm8960-hifi",   
        .codec_name = "wm8960.0-001a", 
        .ops = &nuc970_audio_ops,
.platform_name = "nuc970-audio-pcm.0",
};


此版主板剩下的任务

a.串口驱动验证;

b.称重功能验证

c.iic,按键驱动

d.gprs模块

g.液晶屏背光控制

h.蜂鸣器驱动

由于硬件设计问题,有线网络和wifi无法验证


9月14号:

针对第一版pcb中的问题已成功进行改版优化,发到华强pcb中制版

末验证成功的模块有

a.gprs,ppp拨号时找不到sim卡,不知道是不是焊接问题



原创粉丝点击