原创 与您共同鉴证STM32F103开发板的诞生

2010-12-15 20:38 3479 6 7 分类: MCU/ 嵌入式

STM32开发板调试记录

此记录仅为STM32F103ZE开发板的调试学习。

调试是在进行时...,过程中会遇到各样的问题,愿意与您分享,也愿意聆听您的教诲。

中间关注此开发板的调试的朋友,期间有想了解的,或有什么意见还请随时留言交流。

2010-11-18

昨天下午就已经拿到板子了,可惜物料的购买时间稍微晚了些,昨天下午才发货~~~

还是先传上个PCB的Layout吧,等后续更新。。。。


拿到物料之后就开始进行焊接了。。

首先当然是电源了,5V->3.3V一切正常;

焊主芯片STM32F103ZET6,144pin,虽然引脚数有点多,但是焊接还算顺序,目测没有短路。焊接周围的去耦电容,保证电源的可靠。

然后就是焊接JTAG接口了。几个上拉电阻也焊上,因为有的JTAG仿真器里面没有上拉,不想给自己找麻烦。焊接好后,接通电源,j-link。上电测试,使用的是SEGGER的J-LINK GDB SERVER。上电后就能检测到芯片的ID了,还算顺利。

JTAG测试完成。

继续往下焊接,焊上了个8M的晶振,其实可以不焊接的,因为默认使用的是内部的晶振。又焊了个复位电路,不想测试不焊接的情况。好,焊上一组LED。焊好后交给软件组的同时测试。

稍微有点麻烦,LED刚开始没有工作,还在怀疑是硬件的问题,可是也想找不出问题。程序能够下载但是没有运行。试了下官方的板子,程序能走。算那个同事头脑灵活,很快想到是配置的问题,根据芯片选择103的XL系列配置,其实就是在配置文件里的一个宏改成XL类芯片的宏就好了。

修改完成,JTAG下载运行,LED灯马上就开始运行了。。。感觉一个字“顺”。呵呵。继续努力。

LED测试完成。

焊接1.复位电路,2.用户按键,3.蜂鸣器,4.AD/DA,5.模拟温度传感器LM61。然后拿去有软件组测试。

1.复位测试完成。

2.按键测试完成。

3.1.AD 测试完成。

3.2.DA测试完成。

4.LM61测试完成。

5.蜂鸣器测试完成。

焊接1.JoyStick,2.LCD,3.SD卡,4.CAN,5.RS485,6.红外发射和7.接收。

1.CAN测试完成(只是检测脉冲波形。还没有进行通信测试)。

2.UART测试完成。因为物料的原因,刚刚把UART调试完成。

3.SD卡测试完成。

狼多肉少啊~~上周买的J-IINK被店主发错货了,更是学上加霜啊。没办法只有换货了。。。。

唉,担心项目的进度啊~~目前完成的都是些简单的模块。稍微复杂些的都没有完成呢。

还是加油吧。

今天刚到了3个J-LINK。赶紧测试。。可是板子的数量又成了瓶颈,没办法就再焊接出来一块吧。4快板自己同时调试。。。。。。。sudu

焊接1.EEPROM[AT24C02], 2.USB。

2010-11-24

今天网口测试,检测到芯片DM9000的ID:9000A46。中间因为16位数据宽度而改变地址,造成了不小的麻烦。

不过已经积累经验。

2010-11-25

红外接收电路调试完成。所用芯片是HS3800,电源电压采用3.3V,原来在电源和3800的电源脚之间有120欧姆的电阻,那样在3800的输出会随机产生输出,很不稳定。首先考虑所用电阻太小,就增大到470Ω,结果闪烁【检测到红外后闪烁LED】得更加厉害。分析电源使用太低,之前在51电路中使用的是5V供电。那么就是电源低导致器件工作状态不稳定了。更换电阻为0Ω后调试成功。在示波器中能看到遥控器发送的波形。~~~

2010-11-26

1.红外接收完成测试

2.SRAM完成测试

3.NOR Flash完成测试

4.EEPROM完成测试

5.RS485完成测试

经验总结:STM32的地址总线在数据总线宽度为16位的时候用的是内部地址总线的A[25..1]位对应到外部引脚上的地址是A[24..0],所以编程时程序中出现的使用的地址是实际地址的左移2位之后的地址。

2010-11-29

1.SPI Flash完成测试

2.LCD12864单色屏完成测试,不过有点bug是,没有用read busy,而是用个延时。HCLK分频也用的是4分频,主频74MHz。延时用i = 40; while(i--);

3.能够下载程序到片内Flash,并从片内启动用户程序,使用的是JTAG自带的工具。

2010-12-02

1. 完成USB测试,之前因为成员的程序有问题,所以一直没有搞出来。

另外TFT-LCD是又采购了一块,目前的一块已经证实是有问题的了,首先屏幕左下角已经碎掉。使用触摸屏测试程序进行测试,发现得到的数据是固定的,并且中断输出引脚一直有信号,说明触摸屏上一直有信号,因此可以确定屏有故障。

新买的屏估计今天能收到货。加油~~

目前最大的问题就是,NAND没有调通,LCD-TFT也没有调试通过,网口芯片DM9000也在调试,还有就是音频了。

加油!!项目已经滞后快一个星期了。。。

喜讯啊~~,网口的物理层已经测试好了。

今天下午搞好的,原因很简单,也很让人郁闷。

不是因为别的,晶振的问题。采购时出了点问题,结果物料弄粗了。用的是25MHz的晶振,怎么也不会好了。换了个晶振,结果就能表示链接的绿色灯就开始亮了。

~~教训啊~以后的物料再麻烦我也要检查了。如果有MARK,那么在BOM中也要有MARK了。这样做检查时就简单了。

今天NAND也查出问题的原因了,原理图中设计的是16bits数据宽度的接口,而实际上所用的是8bits的,原来以为是pin-to-pin的,结果不是。这样以来NAND就不能测试了。

2010-12-3

今天实现了12864单色屏的3.3V驱动,原来是增加了电平转换电路的。后来在淘宝上看到能支持3.3V的,那当然是再好不过了。

不过有问题的是,屏的被压电路好像没有正常工作。因为淘宝上说的被压在5V供电的情况下能达到8V才对,而我用5V供电被压只有5.9左右。使用3.3V供电也只有3.9左右。3点几伏的对比度调整电压,在屏上是看不到图像的。

没办法就直接把调整对比度的电位器接到5V电源上去了。结果还真的就正常工作了呢。看来逻辑电路是没有问题的,就是调节对比度的电路有Bug。

悲剧的是今天发现之前测试的CAN电路没有正常工作,在控制芯片输出的引脚上没有检测到波形,只有一些杂波。

还有PCB布局上的缺陷就是电阻电容和CAN总线接口连接器距离太近,第二版要考虑把相关的器件放置到PCB的背面。

包括安装孔边上的连接器等。

2010-12-6

新买的LCD屏已经到货。赶快上电进行测试。

OK~~

看来是屏有故障了。不多说了,一个恨字。

经验以后作开发,买物料只要不是太贵就买成两套了。

LCD测试通过

剩下的还有网口,音频,CAN

CAN总线的TX引脚有波形可是在输出端却没有波形也不知道为什么~~调试中。

2010-12-7

CAN测试通过了,不过是更换了另一款芯片的,之前使用的是MAX3051,一直没有结果。

刚好手边有一块ST的开发板就拿来把上面的芯片给换了过来,结果就好了。使用的芯片是ST的L9616D
,几乎是pin-to-pin的,只是把5号引脚悬空了,是L9616D的Vref是MAX3051的shutdown,之前接地的。另外RS接地。现在是能在H和L上检测到波形了。至于MAX3051为什么不能我还不确定。看芯片手册上说在RS和地之间使用25K~200K的电阻能改变引脚上的电压我试过了,不行一直为0V。这个BUG暂且放下,考虑更换芯片了,因为MAX3051好贵的。

网络的问题才是重中之重啊~~连接的慢,不能确定是硬件还是软件的问题。不过硬件上有BUG是RJ45下面给铺铜了,同事给修改的时候出了点BUG。不管那么多还是线考虑下这个原因吧。

2010-12-8

网口故障解决。

应很快能确定测试通过了。

剩下的就是音频了。

2010-12-10

调试中的bug调试记录:

1. USB,之前只有1块板子是USB是好用的,其他的都不好用。后来把串在信号线上的33欧姆(实际焊接的是22欧姆)电阻改为0欧姆电阻后就好了。只是还有一块不好用。

2. SRAM,NOR在给别人延时的时候,不知道怎么回事就不能进行正常操作了,总是在进行第二次地址操作的 时候会让JTAG复位。后来解决了,采取的方法是把eclipse重新启动,JLINK也重新启动就好了。

3. LCD背光的问题,主要原因是使用的USB线质量不好,导致供电不足。使电路板工作不正常,才使LCD-12864的背光升压不正常。LCD-TFT的背光不亮,使用优质USB线或外置电源后,故障解除。

4. 网口经常会出现连接不上的现象,后来发现是USB供电,如果直接把USB线拔掉就不能正常工作,如果,使用电源开关先关电源就好了。注意:这里是把程序烧写到Flash里的。

5. IIC也出现过无故不能烧写的情况,当时处理的不太好,是把音频的IIC连线给断开今后重新连接后,能烧写的。估计重启下电脑也能解决问题,怀疑是eclipse的bug。因为最近它老是更新。

6. 调试USART时也出现过不能发送的现象,后来重启了eclipse和JLINK后就好了。


后来发现不能使用J-LINK正常连接,烧写操作等的原因是在flash里面烧写有程序的缘故。

板子已经调好,只是网口没有走差分线,所以效果不好,只有一块电路是正常的。

文章评论1条评论)

登录后参与讨论

hbthgs_588794194 2012-5-22 18:25

thank you

用户1395973 2009-5-5 15:13

放在导线中间应该是可以的吧,只是管脚中间不可以吧
相关推荐阅读
用户1460054 2016-05-09 23:19
变压器
在实际电路中,磁场强度是由励磁电流通过变压器初级线圈产生的,所谓的励磁电流,就是让变压器铁芯进 行充磁和消磁的电流。...
用户1460054 2016-05-03 22:15
蓝牙PCB天线
...
用户1460054 2016-04-17 12:58
Zigbee等相关协议内存空间需求
转自:http://www.ti.com.cn/general/cn/docs/gencontent.tsp?contentId=52864 图 6 以 MSP4304618 MCU 和 CC...
用户1460054 2016-04-14 18:23
cc26XX 片上Flash读、写、擦除操作
以CC2650为例: 因为其内部存储结构的特性,如下图 可见VIMS有四中工作模式。 GPRAM CACHE off ...
用户1460054 2016-03-28 22:44
CC2630_CONTIKI RF相关代码分析三
14. 那么如何完成数据发送呢,所有相关函数都在IEEE_MODE.C文件中,系统中采用函数实现。 static int send(const void *payload, unsigned ...
用户1460054 2016-03-28 22:27
CC2630_CONTIKI RF相关代码分析一
1. contiki-master\cpu\cc26xx-cc13xx\rf-core\ieee-mode.c文件为其相关的函数,改文件只有.C文件,没有.h文件 2. 跳过文件前面的内容,直...
我要评论
1
6
关闭 站长推荐上一条 /2 下一条