共2条
1/1 1 跳转至页
LPC2210 LPC2210调试成功愿把心得与大家分享
问
我不是最优秀的嵌入式开发人员,但我是优秀的,至少我每天都在不懈努力着……
以前是用51做东西的,虽然没有大的研究成果但自己研究的小产品也在被使用着,谈不上成就但总还有几分欣慰的,毕竟自己在这条路上起步的比较晚。今年因工作的需要(准确的说是项目要提高“产品档次”)才开始用ARM(LPC2210)的,买了个1980¥的开发板就开始了,现在已经有3个月了,书上的配套的很多实验都做完了,自己也做了TCP转双串口等(在开发板上做的程序),自我感觉还是学了点东西;之后自己开始做板子,但在调试的过程中遇到了很多问题,但是最终成功了。
为了让更多的人能走的更快、更稳、更有信心,今天以“真诚”写下自己的心得体会:
ARM系统应该分为4个部分:(1)供电系统(电源的设计)(2)复位与时钟(3)JTAG/ISP调试测试口(4)CPU与存储系统
1、 供电系统为了稳定我用了LM2575、复位用了复位芯片SP708S,如果你是初次做ARM板建议使用这些性能好的芯片,不要为了省钱而用别的便宜器件凑合。这部分电路设计简单,我就不说了
2、 我想具体说一些我“费劲”的地方。首先在做完原理图设计后在认真检查一边。注意几个地方:复位芯片SP708S、SP3232E通信芯片、CPU的的各个管脚(有点废话),我就把CPU的22脚和140脚搞到一起了;232的16脚的VCC连接到和16脚连接的电容的下方等价于连接到2脚上了;把CPU的130脚标注成了P2.16_D15,而把RAM和FLASH上的直接标注为D15了,致使生成的PCB板的“D15”数据线没有连接(其他的注意的几个脚P0.14、P1.20、P2.26、P2.27看是否都设置对了)
3、 PCB做好后先不要急着焊接(我是着急焊接的、呵呵````),先用万用表仔细检查板子是否“本身”就有短路、断路的地方(我的板子有2处、后来有问题后才测试找到的),确认基本没问题后在焊接,起码要确认“重要的线路”没问题再焊接。
4、 焊接的时候要做好准备:PCB检测过了、所有确保最小系统工作的器件都准备好了、最好用好一点的烙铁(恒温的比较好)、焊锡丝尽可能的细一些(我用的是0.5mm)的、准备些松香和A3的白纸深深吸一口气就可以焊接了。
5、 先焊接电源部分(5V、3。3V、1。8V),然后测量确保正常,确保送到每个片子上的电源到位。然后焊接LPC2210、SP708S、SP3232E、74HC125、LED等(最好设计几个LED,调试的时候用),焊接好后就可以准备调试了。
6、 在插几句:首先、焊接的时候我用的是先固定对角,既而4角,然后依次小心焊接;其次、焊接好后再用小块的松香化在管脚上然后把烙铁放成45度加点焊锡再焊一边确保都焊接牢固了;最后用酒精(无水乙醇)把松香洗掉,再用表测量一下连接情况
7、 现在可以开始调试了:JTAG的连接 (1、2管脚接3.3V电源; 3 --- 43(nTRST); 5---140(TDI); 7 ---113(TMS); 9---126(RTCK);11 通过4.7k电阻接地并接2210的52(RTCK)引脚;13 ---144(TDO); 15 (nRST)接SP708S的复位输出引脚; 17,19管脚悬空;其他管脚接地。)
8、 先验证CPU是否工作:1、读取ID(拉低P0.14脚);2、用片内RAM仿真(1、下载2100模板,添加到自己计算机,例如:D:\ARM\ADSv1_2\Stationery\;2、建立2100工程文件即可开始仿真;3、先点亮LED,注意此处程序的延时需要“加大”,否则看不到“高低”变化)
9、 CPU的ID读取成功,说明“最小系统正常”、232芯片工作正常了;使用内部RAM仿真成功说明JTAG正常了;
10、 然后焊接RAM(IS61LV25616AL)开始外部仿真(用2200模板),只要线路连接没问题就会一次成功!如果不成功请仔细检查线路,是否连接、是否短路、断路!!!!
先写这么多,等高手添加丰富内容,让更多的人能有所收获就够了!!!
答 1: 恩,基本是这样的。虽然没什么意外的高招,但仔细的写了个完整流程,帮你顶。^^ 答 2: 说的好啊,基本流程都说出来了看着很罗嗦,不过值得学习!!!!!如果大家都像mahuaqiang 把工作心得写出来,共同分享,那就好了!!! 答 3: 多谢各位帮忙顶只要VCC、GND、UART0、SP3232E连接正常就可以读取ID
只要读取ID后且JIAG没问题就可内部仿真
不能进行外部仿真或下载程序到外部FLASH请先检查:1、P2.27低电压(0.25V左右);2、P2.26高电压(3.30V左右);3、P1.20高电压;4、P0.14高电压 答 4: JTAGJTAG 答 5: 电源设计部分电源 答 6: 辛苦了很多经验是宝贵的,再次表示感谢!希望我们的坛子越来越好... 答 7: 就是需要这样踏踏实实地做下去,耐心和良好的习惯是最重要的! 什么是人才?我认为这就是优秀人才。很多人羡慕别人,不如这样将每一步走好,从积累点滴经验做起。 答 8: 付出必有回报,灌水肯定丰收~~~ 答 9: 谢谢大家!谢谢大家!谢谢大家的支持!我一定会更加努力!! 答 10: 看了楼主的描述,忍不住补充几点我刚调试好2292,遇到的问题没有楼主的多,但也尝到苦头,而要是提前关注以下几点,本来可以不吃这苦头的(有些在周立功的中文手册里讲到,有些没有讲明):
苦头1:P0.14(RTCK)请一定加上拉(10k-20k都行,不要用4.7k,因为JTAG仿真器上用的4.7k,电平不可靠),否则使用JTAG调试没问题,但是脱离JTAG程序无法正常启动运行;
苦头2:SDA、SCL为开漏输出,必须上拉,否则这两个管脚作为IO使用没有问题,作为I2C就不能正常工作;
苦头3:两路SPI,如果需要正确使用SPI主机功能,则SSEL0/SSEL1都必须上拉,且应保持空闲而不能再用作IO口,否则CPU作为SPI通信主机功能无法正常使用;(当然,如果只需要用到一路SPI,则只要对应的SSEL上拉即可,不是说任何时候两个都要同时上拉的;)作为普通IO口使用则没有任何限制;
苦头4:CPU复位信号TRST最好选用专用uP芯片,不要用阻容搭,否则复位脉宽不够CPU什么功能都无法执行,连晶振都不起振;
苦头5:P0口没有内部上拉,而P1-P3口均有内部上拉,所以P0作为信号输入脚时必须外加上拉(20k),确保电路可靠工作;
苦头6:正是因为P0口没有内部上拉,所以EINT0-3作为中断输入时必须上拉,否则极易受干扰;
写了这么多,不要嫌罗嗦,否则下次不写了。我做板之前摸索周立功的开发板好久,还让周立功的技术支持过来参考了一下,结果还是上述地方没有注意导致我要再做一版。特贡献出来与兄弟们共勉,希望大家不要在这些地方被磕到^_^ 答 11: 苦头6理解错误。 答 12: 苦头6应该是对的~~~P0输入应该都上拉~~~ 答 13: 顶一个,学习学习再学习!!!!! 答 14: 对苦头3有疑义~~~SPI不能用SSEL作为从机的CS信号???有点晕~~~ 答 15: 关于苦头6,如果是用一个244或者245去驱动P0,也需要加上拉吗?抗干扰能力弱的原因不在于输入口阻抗高或者没上拉,而在于你提供信号的设备的高电平驱动能力弱 答 16: 我晕倒~~~驱动肯定不必上拉了---图腾柱取代了上拉晕倒了~~~苦头集里都说的是直驱呀~~~ 答 17: 直驱是什么意思呀?总之我认为不能把事物本末倒置了,明明要拉的是输出,却要说成输入上拉,有误导人(尤其是新人)之嫌疑~~~~~~~ 答 18: 今天00晕了~~~转载苦头6原文转载苦头6原文:
苦头6:正是因为P0口没有内部上拉,所以EINT0-3作为中断输入时必须上拉,否则极易受干扰;
答 19: 没有内部上拉,做为中断输入时就一定要接上拉电阻的吗?那我的中断申请源是74HC245,接到P0上,还得要接个上拉电阻上去?岂不多此一举?
我不是最优秀的嵌入式开发人员,但我是优秀的,至少我每天都在不懈努力着……
以前是用51做东西的,虽然没有大的研究成果但自己研究的小产品也在被使用着,谈不上成就但总还有几分欣慰的,毕竟自己在这条路上起步的比较晚。今年因工作的需要(准确的说是项目要提高“产品档次”)才开始用ARM(LPC2210)的,买了个1980¥的开发板就开始了,现在已经有3个月了,书上的配套的很多实验都做完了,自己也做了TCP转双串口等(在开发板上做的程序),自我感觉还是学了点东西;之后自己开始做板子,但在调试的过程中遇到了很多问题,但是最终成功了。
为了让更多的人能走的更快、更稳、更有信心,今天以“真诚”写下自己的心得体会:
ARM系统应该分为4个部分:(1)供电系统(电源的设计)(2)复位与时钟(3)JTAG/ISP调试测试口(4)CPU与存储系统
1、 供电系统为了稳定我用了LM2575、复位用了复位芯片SP708S,如果你是初次做ARM板建议使用这些性能好的芯片,不要为了省钱而用别的便宜器件凑合。这部分电路设计简单,我就不说了
2、 我想具体说一些我“费劲”的地方。首先在做完原理图设计后在认真检查一边。注意几个地方:复位芯片SP708S、SP3232E通信芯片、CPU的的各个管脚(有点废话),我就把CPU的22脚和140脚搞到一起了;232的16脚的VCC连接到和16脚连接的电容的下方等价于连接到2脚上了;把CPU的130脚标注成了P2.16_D15,而把RAM和FLASH上的直接标注为D15了,致使生成的PCB板的“D15”数据线没有连接(其他的注意的几个脚P0.14、P1.20、P2.26、P2.27看是否都设置对了)
3、 PCB做好后先不要急着焊接(我是着急焊接的、呵呵````),先用万用表仔细检查板子是否“本身”就有短路、断路的地方(我的板子有2处、后来有问题后才测试找到的),确认基本没问题后在焊接,起码要确认“重要的线路”没问题再焊接。
4、 焊接的时候要做好准备:PCB检测过了、所有确保最小系统工作的器件都准备好了、最好用好一点的烙铁(恒温的比较好)、焊锡丝尽可能的细一些(我用的是0.5mm)的、准备些松香和A3的白纸深深吸一口气就可以焊接了。
5、 先焊接电源部分(5V、3。3V、1。8V),然后测量确保正常,确保送到每个片子上的电源到位。然后焊接LPC2210、SP708S、SP3232E、74HC125、LED等(最好设计几个LED,调试的时候用),焊接好后就可以准备调试了。
6、 在插几句:首先、焊接的时候我用的是先固定对角,既而4角,然后依次小心焊接;其次、焊接好后再用小块的松香化在管脚上然后把烙铁放成45度加点焊锡再焊一边确保都焊接牢固了;最后用酒精(无水乙醇)把松香洗掉,再用表测量一下连接情况
7、 现在可以开始调试了:JTAG的连接 (1、2管脚接3.3V电源; 3 --- 43(nTRST); 5---140(TDI); 7 ---113(TMS); 9---126(RTCK);11 通过4.7k电阻接地并接2210的52(RTCK)引脚;13 ---144(TDO); 15 (nRST)接SP708S的复位输出引脚; 17,19管脚悬空;其他管脚接地。)
8、 先验证CPU是否工作:1、读取ID(拉低P0.14脚);2、用片内RAM仿真(1、下载2100模板,添加到自己计算机,例如:D:\ARM\ADSv1_2\Stationery\;2、建立2100工程文件即可开始仿真;3、先点亮LED,注意此处程序的延时需要“加大”,否则看不到“高低”变化)
9、 CPU的ID读取成功,说明“最小系统正常”、232芯片工作正常了;使用内部RAM仿真成功说明JTAG正常了;
10、 然后焊接RAM(IS61LV25616AL)开始外部仿真(用2200模板),只要线路连接没问题就会一次成功!如果不成功请仔细检查线路,是否连接、是否短路、断路!!!!
先写这么多,等高手添加丰富内容,让更多的人能有所收获就够了!!!
答 1: 恩,基本是这样的。虽然没什么意外的高招,但仔细的写了个完整流程,帮你顶。^^ 答 2: 说的好啊,基本流程都说出来了看着很罗嗦,不过值得学习!!!!!如果大家都像mahuaqiang 把工作心得写出来,共同分享,那就好了!!! 答 3: 多谢各位帮忙顶只要VCC、GND、UART0、SP3232E连接正常就可以读取ID
只要读取ID后且JIAG没问题就可内部仿真
不能进行外部仿真或下载程序到外部FLASH请先检查:1、P2.27低电压(0.25V左右);2、P2.26高电压(3.30V左右);3、P1.20高电压;4、P0.14高电压 答 4: JTAGJTAG 答 5: 电源设计部分电源 答 6: 辛苦了很多经验是宝贵的,再次表示感谢!希望我们的坛子越来越好... 答 7: 就是需要这样踏踏实实地做下去,耐心和良好的习惯是最重要的! 什么是人才?我认为这就是优秀人才。很多人羡慕别人,不如这样将每一步走好,从积累点滴经验做起。 答 8: 付出必有回报,灌水肯定丰收~~~ 答 9: 谢谢大家!谢谢大家!谢谢大家的支持!我一定会更加努力!! 答 10: 看了楼主的描述,忍不住补充几点我刚调试好2292,遇到的问题没有楼主的多,但也尝到苦头,而要是提前关注以下几点,本来可以不吃这苦头的(有些在周立功的中文手册里讲到,有些没有讲明):
苦头1:P0.14(RTCK)请一定加上拉(10k-20k都行,不要用4.7k,因为JTAG仿真器上用的4.7k,电平不可靠),否则使用JTAG调试没问题,但是脱离JTAG程序无法正常启动运行;
苦头2:SDA、SCL为开漏输出,必须上拉,否则这两个管脚作为IO使用没有问题,作为I2C就不能正常工作;
苦头3:两路SPI,如果需要正确使用SPI主机功能,则SSEL0/SSEL1都必须上拉,且应保持空闲而不能再用作IO口,否则CPU作为SPI通信主机功能无法正常使用;(当然,如果只需要用到一路SPI,则只要对应的SSEL上拉即可,不是说任何时候两个都要同时上拉的;)作为普通IO口使用则没有任何限制;
苦头4:CPU复位信号TRST最好选用专用uP芯片,不要用阻容搭,否则复位脉宽不够CPU什么功能都无法执行,连晶振都不起振;
苦头5:P0口没有内部上拉,而P1-P3口均有内部上拉,所以P0作为信号输入脚时必须外加上拉(20k),确保电路可靠工作;
苦头6:正是因为P0口没有内部上拉,所以EINT0-3作为中断输入时必须上拉,否则极易受干扰;
写了这么多,不要嫌罗嗦,否则下次不写了。我做板之前摸索周立功的开发板好久,还让周立功的技术支持过来参考了一下,结果还是上述地方没有注意导致我要再做一版。特贡献出来与兄弟们共勉,希望大家不要在这些地方被磕到^_^ 答 11: 苦头6理解错误。 答 12: 苦头6应该是对的~~~P0输入应该都上拉~~~ 答 13: 顶一个,学习学习再学习!!!!! 答 14: 对苦头3有疑义~~~SPI不能用SSEL作为从机的CS信号???有点晕~~~ 答 15: 关于苦头6,如果是用一个244或者245去驱动P0,也需要加上拉吗?抗干扰能力弱的原因不在于输入口阻抗高或者没上拉,而在于你提供信号的设备的高电平驱动能力弱 答 16: 我晕倒~~~驱动肯定不必上拉了---图腾柱取代了上拉晕倒了~~~苦头集里都说的是直驱呀~~~ 答 17: 直驱是什么意思呀?总之我认为不能把事物本末倒置了,明明要拉的是输出,却要说成输入上拉,有误导人(尤其是新人)之嫌疑~~~~~~~ 答 18: 今天00晕了~~~转载苦头6原文转载苦头6原文:
苦头6:正是因为P0口没有内部上拉,所以EINT0-3作为中断输入时必须上拉,否则极易受干扰;
答 19: 没有内部上拉,做为中断输入时就一定要接上拉电阻的吗?那我的中断申请源是74HC245,接到P0上,还得要接个上拉电阻上去?岂不多此一举?
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |