我的电流测试板(一)

最近做了块电流板,这是本人第一次独立的负责软件和硬件,本人以前做的产品都是比较大的系统,双层板,类似于万用表,可以测试电流,不过跟万用表不同的是我这块板子可以累加电流,可以测试其他电源。测试精度为16bit SAR采样和24bitΣΔ采样,精度相当高。总体来说还算顺利,不过还是遇到下面的问题:

 1、连接仿真器的JTAG调试口的时钟线和数据线在PCB布板的时候没有画出来,原因是我在用protell 99se设计电路原理图的时候调试端口的时钟线和数据线的网络标号没有放置好,导致没有生成网络表,我是根据网络表来进行PCB布线的,所以自然也没有生成PCB线。在进行PCB检查的时候也没有仔细检查,在PCB加工回来的时候才发现没有布线已经晚了,就只有通过飞线来调试了。

2、用Keil+AK100仿真器来调试,最初由于AK100的驱动不支持MKM系列的芯片,跟广州zlg公司的工程师反馈后他们提供了支持MKM系列的驱动。刚开始调试的时候由于调试口接触不好,总是出现找不到目标表的问题,后来干脆将调试端口直接焊接到板子上,这样调试起来稳定多了。程序可以下载到板子,可以单步调试了。

3、在程序调试差不多的时候,打算将程序烧入flash中运行的时候发现运行不了,但通过仿真器调试的时候程序又能运行。我最初怀疑是程序没有烧入到flash中,通过跟zlg公司的工程师交流发现时因为芯片的WDOG没有关闭,而芯片默认是打开WDOG功能的,导致上电的时候由于WDOG超时而不停的复位芯片,表现出来就是程序象没有运行一样。

4、关于确定程序在flash中的方法:通过keil->Options for Target->Debug将Load Application at Startup前面的复选框去掉,这样keil在Debug的时候就不会下载程序到flash中,而直接去连接flash中的程序,将反汇编窗口打开,执行单步调试,发现程序能够执行。通过这种方式可以证明程序在flash中而且可以运行。

5、发现一个问题是,freescale的MKM33芯片的复位引脚在空片的时候总是低电平,通过上拉电阻怎么也拉不高,刚开始调试的时候还以为是自己电路上有问题。

6、采用SAR16bit采样方式的时候发现电流的测试范围较小,通过采用两个N沟道MOS管(主要是利用N-MOS 管G级不消耗电流,D级和S级间压降小和过电流能力强,开关速度快等优点),在单片机的控制下进行开关在1欧姆电阻和1K欧姆电阻间进行自动切换,将电流的测量范围扩大到1微安~500毫安的范围。

总结一下硬件设计全过程:

原理图设计:
1、准备所需要的元器件的原理图库,各个元器件对应的PCB封装库。
2、进行原理图设计。
3、进行ERC检查,用于测试电路原理图信号的正确性。
6、生成网络表。
PCB设计:
1、电路板规划:设定电路板尺寸、层数(如果是3层以上的板子,需要使能Design->Rules->Routing->Routing Layers)
2、导入网络表
3、元器件布局
4、布线(手动或者自动)
5、DRC检查
6、铺铜(正面、背面)
7、焊盘和过孔补泪滴
8、将PCB文件导出,外发加工厂


 

我的电流测试板调试 - 北极星 - xiebingsuccess的博客

猜你喜欢

转载自blog.csdn.net/xiebingsuccess/article/details/91872512
今日推荐