久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1869|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

PIC講堂再度開張

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-2-21 19:01 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  呵呵,PIC講堂再度開張。嗯。保持每周一篇,也很不錯(cuò)么。
今次要說的是ICSP。ICSP,全稱In-Circuit Serial Programming,在線串行編程。這行英文和ICSP這四個(gè)字母,一般使用時(shí)都帶有TM標(biāo)記的,也就是說,這是MICROCHIP的商標(biāo)。也是MC獨(dú)有的吧。呵呵。
從名字可以看出來,ICSP是一種編程方法,也就是說是一種燒寫手段。這種手段可以在線燒寫——即不需要將芯片取下就可以在板子上燒寫。而這種燒寫方法使用串行的數(shù)據(jù)。在線燒寫其實(shí)也不是什么新聞了,大家熟悉的TI的DSP,一向可以使用JTAG口進(jìn)行燒寫,那就是標(biāo)準(zhǔn)的在線燒寫。
MC的ICSP,使用起來極為方便,應(yīng)用ICSP進(jìn)行燒寫,只需要使用芯片上的5個(gè)腳就可以,其中包括VDD VSS,這兩個(gè)電源一定要供上。然后就是VPP編程電壓,這個(gè)是肯定的,對(duì)FLASH進(jìn)行燒寫,當(dāng)然需要高一點(diǎn)的電壓。隨后就是輸入的數(shù)據(jù)和時(shí)鐘兩個(gè)腳。一般是PORTB口的RB6和RB7——當(dāng)然,那些不分PORT只有GPIO的芯片請(qǐng)參看DATASHEET找到相應(yīng)的ICSP口——那么也就是說,其實(shí),真正的和燒寫數(shù)據(jù)有關(guān)的就兩個(gè)腳。標(biāo)準(zhǔn)的串行的風(fēng)格呢,呵呵。
其原理,MICROCHIP官方?jīng)]有說的太多,只是對(duì)每一種芯片都給了一個(gè)Programming Specification。上面詳細(xì)給出了通過ICSP方式連接芯片時(shí),對(duì)芯片內(nèi)存儲(chǔ)空間操作的各指令的具體形式。從那些文檔中推斷,我們可以簡(jiǎn)單的認(rèn)為在PIC芯片中,燒寫模式下,F(xiàn)LASHROM和外部接口之間有一個(gè)“處理接口”,該接口從外部通過串行方式接收命令,移位譯碼后進(jìn)行外部設(shè)備需要的操作,隨后如需要結(jié)果的話就把結(jié)果同樣串行輸出。當(dāng)然實(shí)際上這個(gè)所謂的接口可能只是一塊電路。但是可以肯定的是,F(xiàn)LASH并不是暴露在外直接和外界連接的,而是先要連到ICSP模塊,然后才能連上外界。
這就有個(gè)好處,就是加密安全性的問題。因?yàn)镕LASHROM并不是直接和外界相連,所以外界如果要讀取FLASHROM內(nèi)部的內(nèi)容,正常情況下就必須通過ICSP模塊。而ICSP模塊如果檢測(cè)到加密位有設(shè)置的話,那就拒絕執(zhí)行外部的相應(yīng)的讀取命令,返回全0值。但是其實(shí),數(shù)據(jù)在芯片內(nèi)部并沒有被加密,所以正常的程序訪問不會(huì)受到干擾。
呵呵,不過其實(shí),我想現(xiàn)在的芯片應(yīng)該都是這個(gè)原理來加密的吧。要不然讓軟件自己實(shí)現(xiàn)軟解密再執(zhí)行也忒有點(diǎn)難度了。。那么這個(gè)原理加密的芯片就有幾點(diǎn)不好,第一就是數(shù)據(jù)在FLASHROM里面是未加密的。也就是說,數(shù)據(jù)的安全性完全取決于ICSP模塊的安全性。如果ICSP模塊設(shè)計(jì)有任何的考慮不周,那么程序基本就等于沒加密。。事實(shí)上MICROCHIP的某些老產(chǎn)品的ICSP模塊設(shè)計(jì)就有問題。我手里一塊解密的16F73芯片,據(jù)說只是使用了一些很簡(jiǎn)單的手法就繞過了ICSP加密。。。另外,還是因?yàn)閿?shù)據(jù)沒有加密,所以,物理解密仍然是不可防御的。只要?jiǎng)e人能夠到達(dá)你的FLASHROM區(qū)域,那么你的程序就宣告破解了。這一點(diǎn)是沒有辦法的。目前所有的單片機(jī)都會(huì)有這樣的問題。但是貌似TI的DSP在這一塊做的非常好。據(jù)前輩透露:TI的DSP內(nèi)核是兩層,上層是應(yīng)用及處理層,下層才是FLASHROM層。這樣即使物理法拿出了內(nèi)核,也會(huì)因?yàn)閮?nèi)核是兩層,無法較好的去除上一層而露出下一層的FLASHROM。從而大大加強(qiáng)了芯片的安全性。。。當(dāng)然,同時(shí)也大大加強(qiáng)了成本。。
另外要補(bǔ)充一點(diǎn)的是:ICSP這種方式,外部實(shí)現(xiàn)是極為簡(jiǎn)單的,只要能提供完全符合Programming Specification的信號(hào)就行。所以網(wǎng)上可以看見很多種骨灰級(jí)玩家自制的燒寫器。使用起來和原廠的PICSTART+之類沒什么區(qū)別——事實(shí)上,也有自制PICSTART+的。。——并且,在有新芯片出來時(shí),燒寫器可以很方便的升級(jí),只要重寫一下燒寫器內(nèi)部芯片的代碼,加入新芯片的燒寫命令代碼就行了。而燒寫器的內(nèi)部芯片。。一般也是PIC。。。可以ICSP升級(jí)。。嗯。。用ICSP升級(jí)PIC以支持新的PIC的ICSP。。是不是很像繞口令?呵呵。。
那么,ICSP這個(gè)東西具體應(yīng)該怎么使用呢?呵呵,這個(gè)問題問的好。首先我們要解釋一點(diǎn)就是:除了一些很老的產(chǎn)品如16C5X系列之外,基本所有的MICROCHIP芯片均采用ICSP技術(shù)。而且,只要采用了ICSP技術(shù),那么燒寫時(shí)肯定使用ICSP燒寫。也就是說:在燒芯片時(shí),雖然看起來是把芯片的28pin或者40pin全部放在燒寫器的芯片座上的,但是實(shí)際上,起作用的也就那5個(gè)腳。。。很驚訝吧,呵呵。有時(shí)候有的東西就是這么神奇。去看看自制燒寫器的原理圖就明白了~
那么,真正用在板子上的話,就是把我們要用到的5個(gè)腳引出來,就可以使用ICSP了。但是,當(dāng)然也有需要注意的地方:首先,VPP腳,就是芯片的MCLR腳,一般是1腳,在編程時(shí)會(huì)有大約13V的電壓。鑒于一般設(shè)計(jì)時(shí),會(huì)將該腳連接一5V電源電路,所以就需要注意確保,燒寫的13V電壓不會(huì)倒灌回5V電源電路造成損壞。而且,根據(jù)Programming Specification,燒寫時(shí)VDD和VPP加電壓的時(shí)序是需要保證的,所以在VPP上不要有太大的電容負(fù)載,避免造成電壓上升時(shí)間過慢從而影響到燒寫。另一方面,燒寫器會(huì)供給芯片5V的電源,所以一般不需要自己外供電。但是一般的編程器供電能力有限,據(jù)稱也就是幾個(gè)mA的級(jí)別。就算PROMATE II這類自帶專門ICSP口的工業(yè)級(jí)燒寫器,其輸出電流也不過幾十個(gè)mA而已。所以,如果你的板子工作電流較大,那就需要自己供電,或者將芯片的供電電路設(shè)計(jì)成可隔離的,燒寫時(shí)斷開芯片的VDD和外部電源的連接,燒寫器的供電僅供給芯片即可。然后,作為ICSP數(shù)據(jù)的通路,RB6和RB7在燒寫時(shí),最好也和外部電路隔離開,就是要保證其上傳輸?shù)臅r(shí)鐘和數(shù)據(jù)不被外部電路干擾而造成失真。而且,還有一點(diǎn)就是,使用時(shí)要保證,你的ICSP連接線和芯片是直接連接的,其間尤其不能有二極管等單向通路元件,否則會(huì)造成芯片認(rèn)不出等異常現(xiàn)象。
另一方面,燒寫器的連接的話,專業(yè)級(jí)的燒寫器會(huì)提供ICSP接口,應(yīng)該就是一個(gè)5芯的排線,可以接出插到目標(biāo)板上。如果沒有這種昂貴的專業(yè)燒寫器,只有簡(jiǎn)單的燒寫器的話,可以考慮自制一個(gè)轉(zhuǎn)換線,就是一端為28或者40的雙排針接頭(比如一個(gè)28pin或者40pin的芯片座就是一個(gè)很好的選擇),然后將這些針中對(duì)應(yīng)的腳接出來,做成一個(gè)5芯排線使用。這類轉(zhuǎn)接線尤其需要注意的是:第一,使用時(shí)插在燒寫器上的雙排針接頭不要插反。。插反的話,肯定沒有效果。。。第二就是,由于負(fù)載能力有限,建議線長(zhǎng)不要超過20cm。
關(guān)于ICSP線的自制,我過段時(shí)間可能要做幾個(gè)試驗(yàn),因?yàn)楣镜臒龑懫魇荘ICSTART,而準(zhǔn)備使用貼片的PIC,所以ICSP是必要的。所以轉(zhuǎn)換線是必要的。。。如果成功實(shí)現(xiàn)我盡量把制作方法和注意事項(xiàng)寫出來。呵呵
其實(shí),ICSP給人的感覺好像就是一個(gè)集成的BOOTLOADER一樣。只是ICSP在正常使用時(shí)并不需要,而不像BOOTLOADER那樣正常使用時(shí)還需要把外部代碼載入內(nèi)存。。。而且ICSP對(duì)加密還是有一點(diǎn)好處的。不過感覺好像還是有點(diǎn)脆弱。。呵呵。。但是越新的芯片,其ICSP模塊應(yīng)該越安全。各位選型時(shí)也不妨注意一下。
最后順便說一句,如果真的覺得ICSP很脆弱,可能非物理就能破解的話,那么我們可以使用一個(gè)狠招:ICSP的靈魂在于RB6和RB7,那么程序設(shè)計(jì)時(shí),在程序中不要使用這兩個(gè)腳。然后燒寫完成后,對(duì)這兩腳使用加大電流等方法直接使內(nèi)部電路報(bào)廢,就是把這兩個(gè)腳直接燒掉。那么,恭喜你,你的芯片的FLASHROM使用軟件法應(yīng)該再也不能訪問了,包括你自己再想燒也燒不了了。這個(gè)芯片目前就是一塊外界不可訪問,只能自己工作的芯片了~呵呵……
嗯。今次就到這里吧。其實(shí)這些資料很多都是在論壇里看見的別人的經(jīng)驗(yàn),我這里只是總結(jié)了一下而已。感謝那些大蝦~呵呵~~


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久人爽 | 国产精品日韩一区 | 久久久久久高清 | 欧美日韩在线精品 | 中文字幕亚洲视频 | 午夜视频网站 | 国产精品无码久久久久 | 免费午夜剧场 | www.日韩系列 | 请别相信他免费喜剧电影在线观看 | 99精品久久 | 欧美日韩在线一区二区三区 | 国产成人av免费看 | 久久精品一区二区三区四区 | 久久无毛| 精品国产一区二区三区四区在线 | 国产黄色在线观看 | 成人亚洲精品久久久久软件 | 欧美日韩精品一区二区三区视频 | 亚洲成人av | 免费的一级视频 | 亚洲视频国产视频 | 精品视频亚洲 | 免费同性女女aaa免费网站 | 亚洲精品久久久久久国产精华液 | 久久丝袜 | 爱爱无遮挡 | 久久亚洲精品久久国产一区二区 | 日本一区二区不卡视频 | 亚洲精品视频免费 | 日韩高清不卡 | 插插插干干干 | 黑人巨大精品欧美一区二区一视频 | 毛片在线看看 | av片在线观看网站 | 国产精品一二区 | 国产精品久久久久久吹潮日韩动画 | 国产精品自产拍 | 国产福利在线免费观看 | 成人免费在线网 | 黑人巨大精品欧美一区二区免费 |