線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:6741
推到 Plurk!
推到 Facebook!

RS232轉SPI介面的燒錄器...

 
wjhsu
初階會員


發表:9
回覆:32
積分:48
註冊:2004-06-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-08-21 14:12:04 IP:61.219.xxx.xxx 訂閱
各位好:
附件是我最近做的一個AT89S5X的燒錄器(電路 BCB Source Code), 利用RS232配合一顆HIN232 2顆TTL IC,
對於沒有燒錄器但想玩玩AT89S5X的人應該蠻容易製作的...

先前做了一個類似的電路, 不過需要配合一顆AT89C2051才能使用(for AT89S8252)
, 因為AT89S8252停產了, 又懶得修改AT89C2051的組語, 乾脆試試一直想做的電路
看看... 新的電路彈性應該比較大, 只要燒錄時序(SPI介面)與AT89S5X相同應該都可以,只
是要看實際的燒錄命令重新寫適合的Device Class

P.S.
1.其實可以把這個電路看成是RS232轉SPI介面的電路, 所以最主要的檔案是附件的TSpiInterface.cpp
若是有人把這個電路應用在其它與SPI介面類似的地方, 也歡迎通知一下大家喔!
2.主要程式架構大致為:
操作介面(TMainForm)->燒錄器控制迴圈(TProgLoop)
->Device類別(依不同的IC, 由TDeviceBase繼承燒錄的介面並實作)->SPI介面(TSpiInterface)->Device

3.要載入檔案(Intel Hex檔)的話, 在程式記憶體緩衝區按右鍵會有選單, 要測試的話可以先將緩衝區填滿指
定的值, 燒入IC後, 離開程式, 再讀回看看, 記得不要勾選 Lock Bits
4.現在Lock Bits的寫入好像還有問題, 有時成功有時失敗, 不過不會影響燒入程式的執行, 只是沒有保密的功能而已
5.程式寫的很亂, 請各位不要見笑了..
6.先看看它的外形吧...
<input type="image" alt="RS232轉SPI介面燒錄器" src="46ca81e9e98bf_708180178.jpg" />
編輯記錄
wjhsu 重新編輯於 2007-08-21 19:47:21, 註解 不好意思, 修改一開啟Hex檔時的錯誤‧
wjhsu 重新編輯於 2007-08-21 19:48:39, 註解 無‧
wjhsu 重新編輯於 2007-08-22 15:14:10, 註解 無‧
chjojon
一般會員


發表:7
回覆:26
積分:16
註冊:2006-07-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-08-21 19:29:40 IP:218.169.xxx.xxx 訂閱
我上次發文就是要找這個,因為我都弄不出來...
謝謝您的分享
先來試試看囉~!
問一個問題:
TTL IC 可否用 CMOS IC代替呢?
編輯記錄
chjojon 重新編輯於 2007-08-21 19:31:32, 註解 無‧
wjhsu
初階會員


發表:9
回覆:32
積分:48
註冊:2004-06-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-08-21 19:55:20 IP:61.219.xxx.xxx 訂閱
應該要看HIN232的輸出(CLK,DoutI)及AT89S5X的輸出(MISO)有沒有辨法推動CMOS
如果它是標準TTL的輸出, 可能不行...
如果一定要用CMOS, 可以用HCT系列的..
p.s. TTL應該比較好買吧??

===================引 用 chjojon 文 章===================
我上次發文就是要找這個,因為我都弄不出來...
謝謝您的分享
先來試試看囉~!
問一個問題:
TTL IC 可否用 CMOS IC代替呢?
chjojon
一般會員


發表:7
回覆:26
積分:16
註冊:2006-07-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-08-22 14:30:21 IP:218.164.xxx.xxx 訂閱
今天跑去買零件...
發現TTL比CMOS便宜2元
又看到你說的
所以...就買TTL的了~
還在組裝中~~期待能用!

對了,大大你的圖片顯示不出來耶...
再問個問題
那個金手指有甚麼作用?
wjhsu
初階會員


發表:9
回覆:32
積分:48
註冊:2004-06-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-08-22 15:18:37 IP:61.219.xxx.xxx 訂閱
不好意思, 不太會發表...
我把圖片一起壓縮到附件檔裏了, 請重新下載(含上次說的程式修改部分)
金手指是為了焊排針母座用的(看圖的HD1), 就是要接到你的目標板的信號...
如果不用金手指, 也可以從J1接訊號出去....

===================引 用 chjojon 文 章===================
今天跑去買零件...
發現TTL比CMOS便宜2元
又看到你說的
所以...就買TTL的了~
還在組裝中~~期待能用!

對了,大大你的圖片顯示不出來耶...
再問個問題
那個金手指有甚麼作用?
chjojon
一般會員


發表:7
回覆:26
積分:16
註冊:2006-07-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-08-22 16:07:11 IP:218.164.xxx.xxx 訂閱
問題兒童又來了....
HIN232的電容可以用10uF的代替嗎?
我去的那家零件行1uF剛好沒了...
看了一下其他家的電容...耐壓是50V 所以就沒有買了...
我看過其他相關電路都是用10uF的電容
不知有無甚麼影響呢?

(不好意思...我是初學者,所以問題很多...)

對了!你圖檔連結地址要用這個:http://delphi.ktop.com.tw/download.php?download=upload/46ca81e9e98bf_708180178.jpg
編輯記錄
chjojon 重新編輯於 2007-08-22 16:19:04, 註解 無‧
chjojon 重新編輯於 2007-08-22 16:22:34, 註解 電容‧
wjhsu
初階會員


發表:9
回覆:32
積分:48
註冊:2004-06-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-08-22 17:34:36 IP:61.219.xxx.xxx 訂閱
10uF應該可以吧, 如果是1uF/50V也OK (耐壓大沒關係)

===================引 用 chjojon 文 章===================
問題兒童又來了....
HIN232的電容可以用10uF的代替嗎?
我去的那家零件行1uF剛好沒了...
看了一下其他家的電容...耐壓是50V 所以就沒有買了...
我看過其他相關電路都是用10uF的電容
不知有無甚麼影響呢?

(不好意思...我是初學者,所以問題很多...)

對了!你圖檔連結地址要用這個:http://delphi.ktop.com.tw/download.php?download=upload/46ca81e9e98bf_708180178.jpg
chjojon
一般會員


發表:7
回覆:26
積分:16
註冊:2006-07-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-08-22 17:43:46 IP:218.164.xxx.xxx 訂閱
我試試看好了
不行再花錢錢去買1uF的電容...
謝謝囉~
chjojon
一般會員


發表:7
回覆:26
積分:16
註冊:2006-07-09

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-08-29 09:07:33 IP:218.169.xxx.xxx 訂閱
完成了!
目前有幾個小問題
1.有時候他會抓不到IC AT89S51/52 都會這樣
2.有時候會燒不進去

目前發現這2點,不知道是不是我用麵包板接線燒錄會有訊號不准的情況發生(因為接線會動...)
wjhsu
初階會員


發表:9
回覆:32
積分:48
註冊:2004-06-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-08-29 12:32:23 IP:61.219.xxx.xxx 訂閱
我最近試了幾次, 倒是沒這些問題, 只是在用命令列模式時, 若參數沒設好會出現錯誤,
不過因為我要寫的8051程式已完成, 所以若沒什麼大問題, 暫時就不改了,
....我的觀念是燒不進去, 總比燒錯好...(我是每燒一個page,就會比對一次 )

可能的話, 請你試試不要用麵包板, 看看會不會改善...
或者在參數設定裏把時間設長一點看看...

若要回復參數的預設值, 請用regedit....找HKEY_CURRENT_USER\Software\ISP_V2_0
然後刪除後, 再重新啟動...
chjojon
一般會員


發表:7
回覆:26
積分:16
註冊:2006-07-09

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-08-29 14:33:14 IP:218.169.xxx.xxx 訂閱
還是有問題...
不知道是不是因為我是用RS232 TO USB 線的關係..(用了幾次這條線壞了...5XX多就這樣壞了...)
wjhsu
初階會員


發表:9
回覆:32
積分:48
註冊:2004-06-13

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-08-29 14:49:37 IP:61.219.xxx.xxx 訂閱
不好意思, 忘了說...最好不要用USB->RS232, 相容性較容易出問題
因為這個電路並不是常用的RS232用法(Rx, Tx),

除非電壓不正常, 不然應該不會燒壞89S51吧?
你如何確定89S51已壞掉? 會不會只是程式沒燒進去?
chjojon
一般會員


發表:7
回覆:26
積分:16
註冊:2006-07-09

發送簡訊給我
#13 引用回覆 回覆 發表時間:2007-08-29 15:03:28 IP:218.169.xxx.xxx 訂閱
不是啦~
我是說那條傳輸線壞了...5百多元...不知為甚麼毀了(今年七月還滿可怕的...事故頻傳...)

我用原始的燒錄器(ISP的)測試過那顆IC,正常!
不能用USB -> RS-232用的話...
我想我要用其他電腦來做處理了...(我的電腦沒有RS232...)

謝謝你~
weedmol
一般會員


發表:11
回覆:24
積分:7
註冊:2005-10-09

發送簡訊給我
#14 引用回覆 回覆 發表時間:2007-09-02 21:30:48 IP:219.68.xxx.xxx 訂閱
我有看過你的電路  你怎用xor get  來當not   你直接用7414就好啦

7414除了有not功能外 還有去梳密特 幫忙消除雜訊
wjhsu
初階會員


發表:9
回覆:32
積分:48
註冊:2004-06-13

發送簡訊給我
#15 引用回覆 回覆 發表時間:2007-09-03 12:27:54 IP:61.219.xxx.xxx 訂閱
原因...
1. 我要的輸出信號剛好只有4條,
2. 我希望信號最終輸出的準位 "可以選擇為" H或L

當然, 對AT89S5x的SPI介面而言, 你要用7414也行...

===================引 用 weedmol 文 章===================
我有看過你的電路 你怎用xor get 來當not 你直接用7414就好啦

7414除了有not功能外 還有去梳密特幫忙消除雜訊
系統時間:2016-06-27 8:19:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!