大家看看是否能用51單片搞個義隆燒寫器
自制 EM78P156 燒寫器(含源程序)微處理器或微控制器在今日已經(jīng)深入每一個家庭中, 其應(yīng)用范圍從家電、 汽車、 防盜、 電視游樂器、 玩具、 健康器材、計算機外設(shè)、通訊產(chǎn)品…等等。許多產(chǎn)品因應(yīng)用微處理器來控制, 取代了傳統(tǒng)的機械式控制, 不但降低成本, 且增加其附加價值。其應(yīng)用領(lǐng)域不斷的擴大, 不再是工業(yè)控制或昂貴儀器的專利。 這一切都要拜其發(fā)展工具普遍化及IC價格日趨低廉所賜。然而整個產(chǎn)品從研發(fā)到量產(chǎn)過程中, 具有EPROM功能的微控制器, 實扮演著關(guān)鍵性角色。 單次燒寫(One_Time Programming)微控制器, 不管是功能驗證, 或是初期小量生產(chǎn), 均是不錯的選擇。 如果說OTP微控制器是子彈, 那么燒寫器便是槍了。經(jīng)?◤椀臉(即燒寫品質(zhì)不良, 或是成功率過低), 在戰(zhàn)場經(jīng)常喪失制敵先機, 甚而對自己生命造成威脅。 故燒寫器之制作, 不可不謹慎為之。
121118noqxxss77zcjlly8.gif (10.16 KB, 下載次數(shù): 135)
下載附件
2017-11-20 23:17 上傳
多功能燒寫器(Writer)普遍存在的問題:目前市面上有不少可抹式只讀存儲器(EPROM)燒寫器, 亦提供”單次燒寫” IC(簡稱:OTP)之功能。 其功能亦有不錯的表現(xiàn), 燒寫之成功率也不差。 但大多數(shù)的多功能燒寫器仍免不了下列幾項缺點:
操作步驟復雜: 由于必須同時提供多種品質(zhì)燒寫使用,且每一品牌又有多種系列產(chǎn)品。 無可避免的, 操作上勢必多出許多步驟。 如果再對該產(chǎn)品不熟, 要對號入座, 還真得費一番功夫。
會挑個人計算機(PC): 在軟件方面、 時序(Timing)必須由個人計算機(PC)產(chǎn)生,然而新舊計算機之執(zhí)行速度相差數(shù)倍甚至百倍,至使太新或太舊PC的沒法使用。 在硬件方面、由于阻抗的匹配和I/O端口設(shè)定的問題,使得傳輸工作就跟得了癌癥一樣, 回天乏術(shù)。
不能獨立作業(yè)(stand-alone), 攜帶不方便: 一般多功能燒寫器都與PC搭配使用, 本身不具儲存程序代碼的功能。 一位有經(jīng)驗的工程師,在從是客戶服務(wù)時, 多半會自備一臺PC及燒寫器, 以免白跑一趟。 故要干這一行的客戶服務(wù)工程師, 不是重裝步兵出身的, 還真干不來。燒寫時間過長, 不利大量生產(chǎn): 如前項所述, 新舊計算機速度相差甚多。 故設(shè)計者在設(shè)計時序時, 必須抓的很寬, 以便符合所有計算機。內(nèi)存小的須耗十數(shù)秒, 內(nèi)存大的可能要以分鐘為單位了。 要小量生產(chǎn)還可以忍受, 可是遇到趕貨或大量生產(chǎn)時, 真有急驚瘋遇到了慢郎中之嘆。
具有導向功能的高速燒寫器
其實我們對多功能型的燒寫器亦無需多加以苛責, 就好比一位十項全能的選手, 其百米能跑個十秒四或十秒三, 巳是個翹楚, 但如果與百米選手
相比,可能初賽便被淘汰了。 義隆電子發(fā)展的這一型燒寫器, 便是針對了多功能型的燒寫器, 天生無法克服之缺陷, 巧思改良而成, 雖然不具多功能的能力, 但多功能燒寫器的缺失, 都巳不復存在。.如圖a所示, 其特性說明如下:
個人計算機 : 以前的燒寫器, 個人計算機扮演著主動的角色, 完全由計算機發(fā)號司令, 燒寫器只能唯命是從, 其過程幾乎是單向溝通, ,而今天我們將整個溝通方式扭轉(zhuǎn)過來, PC角色變的比較被動, 其間與微控制器采一問一答的方式, 亦即PC只送同步信號,而要不要做資料的傳遞則完全由微制器決定。 個人計算機的另一個功能是將CODE丟到程序代碼儲存區(qū)去。
EM78247微控制器: 該一MC(MicroController)除了與PC溝通外, 更控制了整個燒寫過程。 這是為什幺本燒寫器能夠獨自工作不需依賴PC的主因之一。
程序代碼儲存區(qū):該一buffer使用24c16之EEPROM, 一旦寫入便永久儲存, 資料不會因電源的消失而消失, 在該儲存區(qū)的碼經(jīng)由微處理器燒寫到OTP ROM中。
該一結(jié)構(gòu)可以說完全避開了多功能型的缺點,為什么?請往下看:
簡易的操作:只要將code及option寫入程序代碼儲存區(qū), 按下燒寫器的按鈕,即可執(zhí)燒寫的工作。
不挑食: PC對燒寫器采雙向溝通, 而EM78P247微控制器之傳輸速度(16MHz), 又遠大于印表端口之速度(SPP)模式而言。故處PC只送同步信號及指令, 而OTP ROM的數(shù)據(jù)則由微制器負責傳送。 在硬件上, 印表端口原始設(shè)定之output pin永遠只做輸出,而input pin永遠只做輸入, 即最傳統(tǒng)的方式, 只因為目前仍有許多印表埠之I/O是非雙向設(shè)計的。
可與個人計算機分開獨立操作: 由于所有的資料都放在程序代碼儲存區(qū), 故當download 結(jié)束時, 即可將印表埠聯(lián)機拆除,在燒寫器上的LED會告訴您燒寫成功或失敗。 如前所述整個燒寫過程完全由EM78247微控制器所掌控, 與PC毫無瓜葛, 頂多在燒寫結(jié)束時,告訴PC燒寫的結(jié)果。
快速燒寫:量再大也不擔心: EM78P156/154內(nèi)部OTP燒寫結(jié)構(gòu)采一次燒2個words(26 bits), 故1K ROM只需512次即可完成, 根據(jù)標準規(guī)格做的燒寫器可達0.3秒燒1顆, 但實在太快了, 恐燒寫者沒有注意, 故目前市面上看到的時間,是有意放大了5倍燒寫時間約1.5秒左右。
燒寫成功率高:由于時序完全由EM78P247所控制, 無需考慮PC的快慢。故燒寫之時序乃精心所調(diào)試的最佳化結(jié)果,其過程穩(wěn)定而安全。有記錄證明連續(xù)燒寫5千芯片(排除人為失誤),結(jié)果全數(shù)及格通過。
線路簡單,維修容易:參閱圖三乃燒寫器之電路圖,只有幾只晶體管、電容和電阻,且無高深之電路理論。所有零件取得容易,且價格便宜,如有愛好,不妨自己 DIY。
綜合以上的優(yōu)點,不知是否為有意做類似產(chǎn)品之同好,提供一個另類思考方向。
121118xahzalktarx5xurl.gif (2.7 KB, 下載次數(shù): 145)
下載附件
2017-11-20 23:17 上傳
燒寫的流程:
圖一、 系統(tǒng)結(jié)構(gòu)
首先看看圖一, 為系統(tǒng)之結(jié)構(gòu)。 圖二則為整個系統(tǒng)之燒寫流程, 詳細說明PC如何將程序代碼及option code加載儲存區(qū)中,并將之讀回與原始碼比較, 以確保加載之值無誤。 為防止噪聲改變EEPROM之值, 以24C16為例, 可將第七腳拉至Vcc,將之變成只讀模式。 以上動作完成后, 可以用PC下命令方式或直接按下燒寫器上之按鍵, 當EM78P247接收到燒寫指令時,會先燒寫原始碼再燒寫選擇碼(option code)最后燒寫保護碼。 該三個燒寫的副流程, 容后再詳細討論。 順帶一提的是,一但保護碼被燒low, 其OTP ROM將被死鎖, 再也讀不出來。
121118kcughss7bhcg701y.jpg (22.67 KB, 下載次數(shù): 139)
下載附件
2017-11-20 23:17 上傳
圖二、燒寫器之系統(tǒng)流程
121119bhtahdxx4axh48r4.gif (8.93 KB, 下載次數(shù): 128)
下載附件
2017-11-20 23:17 上傳
1211197rl810xrq81i8ssq.gif (52.02 KB, 下載次數(shù): 126)
下載附件
2017-11-20 23:17 上傳
圖四 燒寫流程
符號 | 參數(shù) | 分 | 最大 | 單位 | Trs | Vpp 到VDD 層次設(shè)定時間 | 2 |
| ms | Tcsu | 模式代號設(shè)定時間 | 2 |
| ms | Tchd | 模式代號持有時間 | 2 |
| ms | Tdsu | 資料設(shè)定時間 | 2 |
| ms | Tdhd | 資料持有時間 | 2 |
| ms | Tip | 程式啟動設(shè)定時間 | 4 |
| ms | Tdb | 資料到位組選擇更改 | 20 |
| ns | Tpwd | 程式pulse 寬度 | 100 |
| ns | Toes | 輸出啟動設(shè)定時間 | 2 |
| ns | Tod | 資料選擇更改由輸出啟動 | 20 |
| ns | Thz | 輸出取消到資料在High-Z |
| 100 | ns | Tph | 位址時鐘pulse 寬度 | 25 |
| ns | Tso | 資料(位組) 選擇到輸出延遲時間 |
| 200 | ns | Tsh | 資料(位組) 選擇到輸出更改 | 50 |
| ns | Toda | 輸出取消到ACLK 設(shè)定時間 | 2 |
| ms | Tadb | ACLK 到資料(位組) 選擇延遲時間 | 2 |
| ms | Tsa | 資料(位組) 選擇到ACLK 設(shè)定時間 | 2 |
| ms | 表一 燒寫時序轉(zhuǎn)換之AC電氣特性 |
表一 燒寫時序轉(zhuǎn)換之AC電氣特性
圖三搭配圖四則詳盡的描述了EM78247如何達成燒寫的任務(wù), 讓讀者更易解讀該二圖, 再提以下幾點說明:
Vpp的范圍從10.5V~12.5V均可, 一但Vpp大于10.5V,即進入燒寫模式。
利用C0~C2來設(shè)定燒寫模式, 實際上有七種模式, 但只有三種是使用者可能用到的, 即一般模式、 選擇(option)模式、與保護模式,請參閱表一。
模式(MODE) | C2(IO2) | C1(IO1) | C0(O0) | 一般(REGULAR) | 0 | 0 | 0 | 選擇(OPTION) | 0 | 1 | 0 | 保護(SECURITY) | 1 | 0 | 0 | 表二 燒寫模式選擇表 |
表二 燒寫模式選擇表
其實在當TCC引腳電壓由Vcc進入Vpp時, 程序計數(shù)器即自動歸零, ACLK引腳產(chǎn)生4個脤沖時,地址即加2。
請注意預載的順序D7~D12(6bits)、 D0~D6(7bits)、D20~D25(1bit) 和D13~D19。 也就是說, 當啟始時或地址加2后, 低地址碼的前(高)6位(bit)先加載,然后再將后(低)7位加載。 同理、 高地址碼亦按此要領(lǐng)。
當加載碼就序后, 進入燒寫階段。 按照設(shè)計人員給的規(guī)格, 至少燒寫100微秒, 如果連續(xù)燒寫16次均沒有成功, 表示該OTP ROM為不良品。個人經(jīng)驗建議, 在燒寫成功后,重復燒寫步驟5次以上, 或可增加OTP ROM之電位穩(wěn)定性,請注意、驗證時讀取的動作順序與寫入時相同。
當燒寫動作完成后, 為保險起見, 將OTP ROM之內(nèi)含值與原始碼,從頭到尾再比較一次, 完全一樣則等大功告成。
圖三為燒寫時序圖, 而表一則標示了每一關(guān)鍵時間的時間需求, 按圖索驥,保證結(jié)果令人滿意。
燒寫器之電路圖解譯:
121119z26p67e8g2ue7886.gif (63.28 KB, 下載次數(shù): 145)
下載附件
2017-11-20 23:17 上傳
圖五為本燒寫器之詳細電路圖, 吾人將其拆解成部分, 并一一加以說明:
1、電源部分(右上角): 7805提供了系統(tǒng)所需的5V電源, 7808加7805則提 供了燒寫時所需的12.5V電壓,何時輸5V出或12.5V則由EM78P247之第10.11腳來控制, 平時整個系統(tǒng)耗電為25mA左右,燒寫時瞬間耗電為75mA左右,請注意7805(右下角)的散熱問題!
2、OTP ROM之燒寫腳座:請參閱圖五之引腳安排, 其與EM78247經(jīng)由一限流電阻(1K)連接。
12111933ma1ume1qrtqmxt.gif (27.46 KB, 下載次數(shù): 126)
下載附件
2017-11-20 23:17 上傳
圖五 EM78P156/4燒寫時之引腳設(shè)定
符號 | 引腳 | 型式 | 功能說明 | Vpp | 3 | 輸入 | 燒寫電壓。 電壓范圍:10.5V到 12.5V。 | ACLK | 15 | 輸入 | 產(chǎn)生時鐘(Clock)給OTP內(nèi)存地址增加之用。 | IO0~IO6 | 6 ~12 | I/O | 七位之數(shù)據(jù)總線。 | C0 ~C2 | 6 ~8 | 輸入 | 燒寫模式(Mode)之選擇 。 | DS | 16 | 輸入 | 字符(Word)選擇。當DS為1時,選擇第一組字符。當DS為0時,則選擇第二組字符。 | BS | 4 | 輸入 | Byte選擇。 當BS為1時,選擇前六個位。當BS為0時,則選擇后七個位。 | /PGM | 2 | 輸入 | 碼燒寫致能, 負邏輯。 | /OE | 1 | 輸入 | 輸出致能, 負邏輯。 | 表三 EM78P156/4之OTP引腳說明 |
表三 EM78P156/4之OTP引腳說明
EM78247之微控制器(中間部分): 為該一燒寫系統(tǒng)的心臟, 其功能在下一章節(jié)將有更詳細的說明, 請注意該一微控制器使用16MHz為其操作頻率。
程序儲存區(qū)/EEPROM(左上角): 本實施列采用24C16之EEPROM, PC將程序代碼加載其中, 而EM78247則將其內(nèi)含值讀出,并寫入OTP ROM中,至于如何將資料寫入或讀出之時序圖, 坊間許多標準范例, 本文不再贅述。
I/O 埠(左中): 當初設(shè)計時,根據(jù)PRINT PORT的規(guī)格, CONTROL PORT,應(yīng)可雙向溝通,可是實際上卻仍有為數(shù)不少的I/O卡,仍采單向, 給打印機時,不會有任何問題。 故為減少使用者的困擾, 吾人決定輸出永遠輸出, 輸入則永遠輸入。 3個IN3904則純做開關(guān), 如此可避開PC與EM78247和EEPROM之阻抗匹配問題。
電源重置(POWER ON RESET)(左下角): CMOS體質(zhì)的微處理器, 普遍存在的一個問題: 就是殘存電壓(Brown-out),因為微處理器無法自身很快的消化這些電壓, 故常要靠外部電路的協(xié)助, 來保證POWER ON RESET的成功來。實施例利用一個2.7V極納二極管, 一旦電位低于2.7V, 則系統(tǒng)會被重置。
燒寫結(jié)果顯示裝置: EM78247之第25引腳扮演兩個角色, 第一、 顯示燒寫結(jié)果, 如成功時恒亮, 失敗時則閃爍; 第二、 偵測按鍵是否被按下。
EM78247微控制器到底做了些什幺?
如圖六所示, 為本微控制器的工作流程。 吾人一共只用了約500個byte, 尚有四分之三的ROM沒有使用, 足見該種微控制指令效率之高。 吾人一開始即強調(diào)它的角色很重要, 它是燒寫器的心臟, 它到底做了什么! 使它如此重要,請看:
開始時:自我測試,其目的將系統(tǒng)之不穩(wěn)態(tài)先行消除。
檢測燒寫指令,來自按鍵或來自PC:如果指令來自PC,則燒寫方式根據(jù)PC告訴的需求來決定燒寫的方式。
讀取程序代碼區(qū)的資料, 將EEPROM之程序代碼及設(shè)定碼option分別讀出。
控制整個燒寫流程,即產(chǎn)生如圖之時序。
將OTP ROM之值與EEPROM值比較或?qū)⒅畟骰豍C中與原始碼連接比對.
將燒寫結(jié)果告訴PC或用綠色的LED來顯示。
圖七為EM78247之引腳圖, 其每一引腳說明表四。
121120dnqcpq7h5dsgn7si.gif (7.08 KB, 下載次數(shù): 128)
下載附件
2017-11-20 23:17 上傳
圖六 EM78247之工作流程
121120iimu3itotpxod0o2.gif (1.19 KB, 下載次數(shù): 118)
下載附件
2017-11-20 23:17 上傳
圖七 EM78247之引腳
1211206vpk5l4lk6v86u8k.gif (9.03 KB, 下載次數(shù): 130)
下載附件
2017-11-20 23:17 上傳
表五 EM78247之引腳功能
符號
| 類型
| 功能
| OSCI
| I
| XTAL 類型: Crystal 輸入終端機或外在時鐘輸入引腳. RC 類型: RC oscillator 輸入引腳.
| OSCO
| I/O
| XTAL 類型: 輸出終端機給crystal oscillator 或外在時鐘 輸入引腳. RC 類型: 時鐘輸出與一段時間之一instruction 循環(huán)是穿戴上這引腳.
| TCC
| I
| 真正的打卡鐘/計數(shù)器, Schmitt 啟動輸入引腳. 必須是tied 到 VDD 或VSS 如果不在用.
| /RESET
| I
| Schmitt 啟動輸入引腳. 如果這引腳. 保持邏輯低的, 這控制器是重置.
| P70~P77
| I/O
| 端口7 是一個8-位bi-directional I/O 端口. P74~P75 能是 pulled-high 在內(nèi)經(jīng)由軟體控制. P76~P77 能有 open-drain 輸出經(jīng)由軟體控制. P70 和P71 也是這 R-option 引腳
| P60~P67
| I/O
| 端口6 是一個8-位bi-directional I/O 端口. 他們能是pulled-high 在內(nèi)經(jīng)由軟體控制.
| P50~P53
| I/O
| 低的命令4 引腳之端口5. 假如EM78P267/467a, 只是低的命令 4 引腳是用在端口5.
| P54~P57
| I/O
| 高的命令4 引腳之端口5. 假如EM78P267/467B, 端口5 是一個 8-位bi-directional I/O 端口.
| /INT
| I
| Falling 邊緣triggered 中斷輸入引腳指示一個中斷如果中斷是能夠.它有內(nèi)部pull-up (50kW ).
| NC
| -
| 沒有連接.
| VDD
| -
| 電源引腳
| VSS
| -
| 接地引腳
| 表五 EM78247之引腳功能
| 更多的功能待您去開發(fā)!
目前該燒寫器所具有的功能,以這種結(jié)構(gòu)而言,真的非常的陽春,仍有許多的功能待您自己去開發(fā),就舉幾個參考例子:
規(guī)定某幾個字符(word) 為加1之用:其目的在于如遙控器密碼的設(shè)定,每燒寫一次其值自動加1,無需整個程序重新編譯, 浪費許多時間。
”假亂碼”的格式:在將程序加載程序代碼區(qū)之前,將碼打亂成某一種格式而可利用微控制器將之反組譯回來,如此可用來保護程序不為外界所盜用,對自己程序多一層保障。
設(shè)定燒寫個數(shù):利用EM78247與EEPROM之讀寫動作,事先設(shè)定燒寫個數(shù),每燒一個設(shè)定個數(shù)便減一,直到減為零,即停止, 不再燒寫。
設(shè)定EEPROM之讀寫密碼: 凡企圖修改EEPROM之值者, 必須先鍵入預先設(shè)定之密碼, 否則修改無效。
以上所列只是冰山一角,更多的功能等待有創(chuàng)意的您自己去開發(fā)!
全部資料51hei下載地址:
e8-ice.rar
(6.02 KB, 下載次數(shù): 66)
2017-11-20 21:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|