關于PL2303用于STC單片機下載的討論
USB轉(zhuǎn)串口芯片:PL2303HX(E版或F版)
本文引用地址:http://butianyuan.cn/article/201611/318507.htm測試環(huán)境:win7為主
相信很多人用USB轉(zhuǎn)串口芯片PL2303都會遇到問題,如波特率較低,不能下載之類的,我也是,搞了好久,雖然還是不知其所以然,但是總算可以用了。下面分享下自己的經(jīng)驗吧。不足之處還請大家多多指教。
首先, 我是這么分析的:
1、PL2303電路的發(fā)送接收是否正常?這個很容易,直接用串口調(diào)試程序查了一下,一般照著網(wǎng)上的電路接,都是沒有問題的。
2、PL2303輸出電平和STC的電平是否匹配??戳撕芏噘Y料,PL2303的D版以后的輸出電平都是高電平5V,低電平小于0.5V。所以電平是匹配的。網(wǎng)上有人說電平不匹配,最簡單的方法是接上拉電阻,我試過了,沒有效果。而且低波特率可以下載,說明不是電平問題。
3、串口電路正常了,還不能下載,單片機問題?個人覺得由以下幾個可能,單片機的ISP引導程序沒有運行或者單片機接收到的下載命令流有誤?
所以先看了一下STC下載軟件發(fā)給單片機的命令流,7F7F7F7F……沒有問題。這個命令流還有一個作用,就是給單片機校準波特率的。
那么是ISP的引導程序沒有運行?之所以會懷疑,是因為網(wǎng)上很多帖子說STC需要徹底斷電才能下載。但是我有個同學,換了一下驅(qū)動,就可以下載了。讓我驚訝的是,他雖然斷開了VCC,但PL2303仍然對STC供電,依然可以下載,波特率達到115200!
好吧,STC比我想象中的強大!我估計,其實冷啟動只是給STC一個激勵,相當于中斷觸發(fā)沿觸發(fā),所以其實STC不完全斷電也能夠下載的。后面的測試也驗證了這個問題。
4、既然電路沒問題,單片機沒問題。那就是電腦問題了。兩個方面,下載軟件和驅(qū)動問題。
花了一個晚上實驗了網(wǎng)上比較盛行的幾個驅(qū)動和STC下載軟件的三個版本,結果如下:
驅(qū)動1:ourdev提供,版本日期:2009.11.19,可以下載,波特率小于等于4800;
驅(qū)動2:版本日期:2009.1.14,無法下載,藍屏概率很高,建議不要用;
驅(qū)動3:版本日期:2010.3.12,可以下載,波特率小于等于4800;
驅(qū)動4:版本日期:2011.4.29,高波特率下載成功,但最低波特率需設置為1200;(記得最低波特率要設置為1200,最高波特率設置為115200,才能實現(xiàn)115200波特率下載。如果還不行,換一下USB口試一下)
而STC的各個版本(V4.80,V4.83,V4.86,V4.88)下載沒有太大差異。
網(wǎng)上很多人說要2004以前的版本就可以,可是我沒找到,所以就只能試驗2009以后的版本。為什么會實驗驅(qū)動4,PL2303最新驅(qū)動呢?我覺得Prolific公司肯定察覺得到PL2303命名之亂和驅(qū)動問題,所以一定會盡量使新版本兼容性更好。果然被我碰上了?,F(xiàn)在附上我下到的驅(qū)動,大家如果能看到這篇文章的話,就幫忙試一下咯。我不知道這個驅(qū)動只是個別電腦有用,還是普遍的win7電腦都能用。使用前記得刪除原驅(qū)動!
PS:該驅(qū)動官網(wǎng)聲明是可以用于32位/64位的XP系統(tǒng)以及win7系統(tǒng),但在一臺XP系統(tǒng)的電腦Y450試過,最高波特率只能是4800.
還有一個很重要的問題。
如果是使用pl2303供電,若單片機系統(tǒng)中的電容過大,可能會是冷啟動受到影響,無法實現(xiàn)冷啟動。
如果是使用外部電源,Pl2303單獨供電,這時一定要保證PL2303的地線和單片機系統(tǒng)的地線連在一起。否則還是無法下載。
評論