ISP(InSystemProgrammability)在系統(tǒng)編程,簡稱為串行下載

IAP(InApplication">

国产亚洲不卡一卡2卡三卡4卡网站_中文字乱码在线生成2021_yellow片高清_黄黄的高清无码网站_XXXX9999无码

大學校園網

大學生活網 > 大學生學習 > 電氣工程

有關AVR芯片的ISP介紹

并行編程,最早的編程方法,功能最強大,但需要連接較多的引腳,通常需要12V~24V的高壓

ISP(InSystemProgrammability)在系統(tǒng)編程,簡稱為串行下載

IAP(InApplicationPrograming)在應用編程,BootLoader也是類似的意思

1ISP雖然利用了SPI接口(M64/M128除外),但只在復位時起作用,而且下載完成后合格的下載器會自動斷開端口的連接,對正常工作時沒有影響的(在產品應用中,下載器一定是不會一直粘在上面的)。

2雖然高壓并行下載能修復任何熔絲位,但對于貼片封裝來說是很不現(xiàn)實的,所以ISP接口是最常用的下載方式了

3雖然IAP是一種新的升級方法,但IAP程序本身也是要先用高壓并行下載或ISP來燒進芯片里面才行

所以,產品上一般都留有ISP接口插座,或更省位置的----留6個焊盤就行了

ISP的工作前提

1芯片沒有物理損壞

2芯片的SPIEN熔絲位=0使能ISP功能

3芯片的RSTDISBL熔絲位=1RESET引腳有效(假如芯片有這個熔絲位)

4線路正常---------接錯線?短路?

5下載器正常-------特別要考慮連線的接觸不良問題

6電源

運行時鐘ISP時鐘(必須低于運行時鐘的1/4)

4096Hz<1024Hz//很變態(tài)的用法,外接32.768KHz晶體+CKDIV8,不過AVRISP還是提供了603Hz這個速度了

//另一簡易解決辦法是下載時在32.768KHz晶體并聯(lián)一個1MHz晶體,雙龍的下載線就配有一個8MHz的石英晶體

32768Hz<8192Hz

128KHz<32KHz//內部RC128KHz

1.0MHz<250KHz//默認值(包括8MHz+CKDIV8),所以AVRISP的ISP速度多為230KHz

8.0MHz<2000KHz

16.0MHz<4000KHz

運行時鐘不等于震蕩器的頻率,因為部分AVR芯片有系統(tǒng)時鐘預分頻器,可以對震蕩器進行1~256分頻

CKDIV8熔絲位決定CLKPS位的初始值。

若CKDIV8未編程,CLKPS位復位為“0000”;若CKDIV8已編程,CLKPS位復位為“0011”,給出啟動時分頻因子為8

AVRISP可提供的ISP時鐘921.6KHz,230.4KHz,57.6KHz,28.8KHz,4.0KHz,603Hz

STK500可提供的ISP時鐘1.845MHz,460.8KHz,115.2KHz,57.6KHz,4.0KHz,1206Hz

時鐘設定ISP方案

內部RC選擇合適的ISP速度

外部RC接上合適的電阻和電容,選擇合適的ISP速度。------補救:外部時鐘源接到XTAL1

外部RC根本就沒有什么意義,頻率精度/穩(wěn)定度不高,成本也沒有降低,所以新的AVR芯片已經沒有這個選項了。

各位網友要注意的是錯誤設定后補救方法

外部晶體接上合適的晶體,選擇合適的ISP速度。------補救:外部時鐘源接到XTAL1

外部時鐘接上合適的時鐘源,選擇合適的ISP速度。------補救:外部時鐘源接到XTAL1

外部時鐘源可以是外部(4MHz)有源晶體輸出,其他MCU的XTAL2腳,各種方波振蕩電路(NE555)輸出等

大部分AVR芯片的ISP端口是SCK,MOSI,MISO,RESET

而M64/M128的ISP端口是SCK,PDI,PDO,RESET

在ISP模式下永遠不能訪問(修改)SPIEN位,這是AVR芯片的硬件保護

有獨立RESET腳的M16/M32/M64/M128等,在ISP模式下根本就就不會令ISP無效,無論如何修改熔絲位,都能恢復正常。

M8/M48/M88/M168/Tiny系列有RSTDISBL熔絲位可以令導致RESET失效而令ISP無法工作外,其他情況都能恢復正常。

一般來說,只要滿足ISP的工作前提,再把XTAL1接到一個4MHz有源晶體的輸出,基本是萬試萬靈的。

不要忘記,并行高壓編程的時鐘信號也是從XTAL1導入方波信號的。

如果有源晶振的方法不行(除了ISPEN=0,RSTDISBL=0情況外),恐怕高壓編程也未必能奏效。