STC单片机使用串口ISP,不需编程器,只要有串口就可以下载,非常方便。
但是从大量的实际操作中会遇到各种各样下载的问题,影响了用户体验,现整理原因和解决方法如下:
(仅供参考,欢迎指正,Email:[email protected])
首先成功进行ISP烧写的条件非常简单,只要有串口和单片机接成最小系统(带有RS232电路)就可以了(详见数据手册)。某些USB专用下载器(如使用CH340T芯片的),直接输出TTL电平,不需要232电路。
其实下载不成功不外乎单片机本身或下载环境这两方面的问题,我们可使用替换法来检查问题出在何处。
测试平台建议使用台式机的原生串口 + 32位的WINXP(64位可能兼容性不够好)+ 原厂MAX232(SP232)芯片(3.3V系统需要MAX3232) + 单片机最小系统。
(注意:部分用户的精简版WINXP 由于组件不完整,可能导致STC-ISP软件不能正常运行或出错)
1、首先检查最小系统连线是否正常,有否短路或开路、接触不良的现象。(特别注意:烧写点击编程键后,单片机必须断电进行冷启动!)
2、检查电压是否稳定和正确(不可过高或过低,F系列为5.0V,L系列为3.3V,W系列为宽电压3.3-5.0V)。
3、试将STC-ISP的下载波特率调低,并将最低和最高波特率调为一致(例如均选为4800BPS)。
4、检查是下载选项上次是否选择了P1.0/P1.1(15F系列为:P3.2/P3.3)为0才下载,而本次没有将其拉低为低电平。
5、检查STC-ISP下载选项上次是否选择了使用外部晶振,而本次未接入外部晶振或震荡电路不工作。
6、是否有外挂电路的影响(例如外挂了RS485等电路会干扰串口)。
7、STC-ISP的下载选项延时设置是否正确(建议勾选“上电复位使用较长延时”)。
8、232电平转换电路是否良好(3.3V系统需要MAX3232,请使用原厂正品,部分国产芯片不稳定。另强烈建议不要用2个三极管的廉价232电路)(若使用某些输出TTL电平的USB专用下载器(如CH340T芯片的),则不需要232电路)。
9、若使用USB线转串口线,注意USB线的质量问题,推荐使用CH340T芯片的线。(PL2302芯片假冒品很多,需找到合适的驱动,最新的驱动未必最好)。
10、部分USB转串口线会通过RxD/TxD引脚对单片机供电,导致下载时不能彻底断电。试在串口RxD,TxD引脚串入1K电阻或另装一开关,保证单片机可彻底断电冷启动。(注:若USB转串口芯片共板,不要对该芯片断电,否则USB转的串口会消失)
11、检查是否复位不良
12、早期版本(2010-10-18前)的STC15F104E/204E请使用STC-ISP V1.06版下载,后面版本的推荐使用STC-ISP V6.53及以上版本(STCISP V4.83/V4.88建议仅用于早期的脱机下载板)。
13、15系列单片机调节的频率过高,超过标称值(例如40MHZ),导致软件进行频率调整超时等失败(请按芯片型号标示的最高频率内进行调节,有25MHZ和35MHZ等,不要超频使用)。
14、芯片损坏或不良(因过流、过压烧毁或ISP CODE丢失等原因),请更换另一片芯片重试。
--------------------------------------------------------------------------------
ISP烧写故障实际案例
1、现象:客户使用STC-ISP V4.83对ATMEL AT89S52烧写失败。
解决:STC-ISP只能对STC单片机进行烧写,其他牌子的单片机请使用其专用软件或支持的编程器。
2、现象:STC12C5A60S2 下载STC-ISP软件提示“正在检测单片机...”
解决:检查供电电压为4.25V,用户使用USB口供电,线材内阻大导致压降大,更换优质USB线后电压为4.85V,问题解决。
3、现象:使用STC-ISP V4.83+STC官方下载板(V3.0)下载STC12C5A60S2,无任何反应。
解决:经检查,客户将电压跳线选择为3.3V上,单片机供电不足导致下载失败,重新将跳线设置5V,下载成功。
4、现象:用户称所有的几片STC12C5A60S2都只能烧写一次,下次再使用就“坏”了,不能下载!!!
解决:用户所做的最小系统为无晶振的电路,但STC-ISP的下载选项选择了“下次使用外部晶振”,导致单片机因无时钟无法工作而下载失败,增加外部晶振电路即可。
5、现象:用户称所有的几片STC12C5A30S2都只能烧写一次,下次再使用就“坏”了,不能下载!!!
解决:用户STC-ISP的下载选项选择了“下次冷启动P1.0/P1.1为0/0才下载”,而实际下载并未拉低导致下载失败,将该两脚接地即可(注:应留意STC-ISP的下载选项,理解各参数的用法,做出合适的选择)。
6、现象:芯片型号为“STC15F2K61S2”, 但下载时在STC-ISP找不到对应的型号,使用IAP15F2K61S2时提示“型号错误”。
解决:经联系厂家,此为早期芯片,型号印刷有误,应为STC15F2K60S2,选择该型号后下载成功。
7、现象:STC12C5A32S2再某51开发板上下载不稳定,成功率低,有时降低波特率也无法下载,提示“无法找到单片机”
解决:通过替换法排查,发现使用另一块单片机开发板可以正常下载,最后将原开发板上的国产的MAX232芯片(DIP封装,带插座)更改为正品的SP3232芯片后解决(有时外部的电容性能不良也会出现如此故障)。(推荐使用STC官方的下载板作为基准最小系统平台)。
8、现象:某开发板下载传统STC单片机正常,飞线下载IAP15F2K61S2无反应。
解决:经仔细检查,用户犯了低级错误,将RXD,TXD与P3.0/P3.1对调导致下载失败,更正后立即下载成功。
9、现象:CP2102芯片USB转串口线下载,单片机无反应。
解决:经示波器检查,该串口时序及电平性能不良,更换CH340T的串口线后成功。
10、现象:用户一直使用STC15F104E在线下载无问题,后改用另一批次芯片,下载成功率很低,客户一直认为下载环境无改变。
解决:经查,虽然单片机特性均在数据手册范围以内,但部分特性不同,在STC-ISP软件的“下载选项”勾选“上电复位使用较长延时”后下载成功。
11、现象:用户使用USB转串口专用下载器,之前一直正常,某天突然下载STC15F2K61S2失败,STC-ISP提示“调整频率无响应”。
解决:使用替换法检查,使用原生串口+RS232电路可以下载,冷启动电脑,卸载并重新安装USB转串口下载器的驱动后解决。
12、现象:STC12C5A60S2 下载无反应,但之前下载的流水灯测试程序可以正常运行。
解决:经了解,用户上次使用第三方SP300编程器下载过芯片,后来就不能再STC-ISP下载。经查,该编程器已破坏STC芯片的ISPCODE代码,已经不能串口下载(点评:STC单片机建议使用原厂STCISP下载即可,不建议使用其它编程器)。
13、现象:STC12C5A08S2下载无反应
解决:经查,客户在STC-ISP中选择了“下次使用外部晶振”,但实际下载环境晶振使用了插座,检查该插座有一脚与PCB虚焊了,震荡电路不工作。补焊后正常下载。
14、现象:用户手工使用洞洞板搭建最小系统,但是下载不成功。使用芯片:STC89C52RD+。
解决:经查,客户使用劣质开关电源,不稳定,且滤波不良。更换优质电源后解决。
15、现象:IAP15F2K61S2下载,一直停留在“正在调整频率”环节。
解决:经检查,用户的芯片型号为“IAP15F2K61S2-25I-PDIP40”,最高工作频率为25MHZ,但用户手工将工作频率设定为40MHZ(超频)。为稳定,使用标称频率以内即可正常。
16、现象:IAP15F2K61S2(2013年C版),下载设定频率为15MHZ, 但实际为14.2MHZ, 偏移约10%!
解决:经咨询厂家,该芯片只能在常用频点下调整为误差少于0.3%,部分不常用的频点会有较大误差。使用常用频率后正常。
17、现象:IAP15F2K61S2下载若超过30MHZ,以后不论如何设置都不能下载,不是无响应就是长期卡在“调节频率中”上,但放置到次日就可以正常下载(30MHZ以下)。百思不得其解!
解决:后来在单片机正面的型号中发现有“BATEA”字样,表明这是一个样片(应该是当初送样的,估计没有直接销售)。样片A版可能存在各种不稳定的情况,后续的B版、C版已经改正。
18、现象:用户需下载“STC15F104E”芯片,但STC-ISP 软件单片机型号下拉菜单与“打开程序文件”按钮均为灰色,型号固定为“IAP15F2K61S2”且无法读入烧写HEX文件,换过几台电脑,在WINXP和WIN7下均如此。
解决:经咨询,客户使用的STC-ISP左上角的版本号显示为V6.31,其实这是一个被自助发布的版本,被定义为“IAP15F2K61S2”且HEX已内置。原因:该版本的界面正常版与被发布版一样,导致误会。后续版本厂家已经将界面与正常版明显区分,并可自定义标题。换用STC-ISP 最新版软件(例如V6.57)“搞定”!:)
19、现象:(网摘)用户一直使用网购的USB转串口下载器(外形如U盘)下载正常,某日在学校同学的类似的USB下载器却不能下载,提示“正在检测目标单片机”,但该串口自检正常。
解决:经查,用户原下载器型号为HT1032,内置自动冷启动功能,学校的为不带自动冷启动功能导致下载失败。STC单片机烧写须冷启动才能进入ISP状态。后用户手工拨动开关断电一下,烧写下载成功!(注意:STC单片机下载必须冷启动,与ARM等烧写方式不同,习惯后也是非常方便的。)
20、现象:STC12C2051(内部固件版本号:3.6D),使用目前最新版STC-ISP V6.57下载失败,提示“暂不支持烧录该版本单片机”。
解决:改用传统STC-ISP V4.83/V4.88烧写成功。(注:STC-ISP V6.XX不支持部分固件版本低的老型号单片机烧录)
21、现象:PDIP40封装的STC15F12AD烧写找不到对应型号。
解决:该版本为早期样片,仅供测试,未量产,可使用STC-ISP V4.82版烧写。
22、现象:在开发板可以下载STC89C52RC可以,但跳线下载IAP15F2K61S2不成功,显示“正在握手中..”
解决:经检查,发现用户使用的USB线不稳定,更换为台湾力特牌(推荐)的USB线(FT232芯片)并下载安装最新驱动后下载成功(注:因STC-ISP对串口时序和电平要求较严格,故部分低价USB串口线不能满足要求导致下载失败)。
23、现象:STC15F204EA(SKDIP28封装),下载无反应。
解决:发现该批芯片为早期版本(2010-10-18前)版本,在官网下载STC-ISP V1.06版解决(注:新旧版互不兼容,不能混用,这个需要特别注意)。
24、现象:IAP15F2K61S2下载,提示“下载失败”。
解决:发现使用的是STC-ISP V6.39版,试在官网下载最新的STC-ISP V6.53及以上再试,烧写成功(注:部分新芯片的固件版本在7.1.3S及以上也需要新版STC-ISP软件才可烧写)。
25、现象:STC-ISP V4.83 在64位 WIN7 安装不成功,提示“...控件未安装”。
解决:因STC-ISP 新版已支持STC全系列单片机编程,在官网下载新版STC-ISP V6.53后解决。(注:部分老STC单片机型号的内部固件较低或旧版脱机编程器,还是需要使用STC-ISP V4.83,可在STC网站下载控件及控件注册工具)
点评:一般量产的芯片都是经过考验的,研发不得浮躁啊。当不能下载烧录的问题一般先从下载环境和设置方面找找原因,相信一定可以解决。只要细心和有耐心,使用分析和替代法,基本都可以下载成功,同时积累了经验!当你可以烧写STC单片机足够多,摸清其特性,解决起问题就得心应手了。祝使用愉快!:)
地址链接:http://www.stcisp.com/q_and_a_stcisp.html