亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        利用STM32F4下載PIC單片機(jī)程序的原理及實(shí)現(xiàn)

        2024-01-08 06:49:54袁三男
        關(guān)鍵詞:時(shí)序命令編程

        袁三男, 王 鵬

        (1.上海電力大學(xué), 上海 200090; 2.國網(wǎng)浙江省電力有限公司寧波供電公司, 浙江 寧波 315000)

        PIC單片機(jī)是美國Microchip公司生產(chǎn)的8位微處理器。它的速度與功能遠(yuǎn)超一些普通的8位51單片機(jī)[1]。相較于傳統(tǒng)單片機(jī),PIC具有指令簡單、尋址方式簡單、代碼壓縮率高、運(yùn)行速度快、功耗低等特點(diǎn)[2]。PIC芯片程序的下載一般需要經(jīng)由Microchip公司官方提供的PICKIT下載器下載,利用官方提供的MPLAB軟件對PICKIT進(jìn)行配置后才能完成[3]。

        在部分項(xiàng)目應(yīng)用中,采用官方推出的ICD調(diào)試工具對系統(tǒng)進(jìn)行調(diào)試[4],雖然該種方式成本較低廉,但其實(shí)現(xiàn)離不開第三方軟件的支持,從而限制了開發(fā)和設(shè)計(jì)過程,在需要大規(guī)模生產(chǎn)應(yīng)用的場合,存在效率低、成本高、自定義空間小等問題。

        本文基于ICSP編程協(xié)議,提出了一種利用STM32F407控制器(以下簡稱“407”)下載PIC程序的方法,程序內(nèi)容經(jīng)過編譯后以HEX文件形式存入407中,PIC與407之間通過數(shù)據(jù)和時(shí)鐘線進(jìn)行通信。程序下載前,由于407需要根據(jù)當(dāng)前時(shí)鐘脈沖向PIC發(fā)送一段特定的序列,使PIC正常進(jìn)入編程模式,因此有效防止了誤操作的出現(xiàn);在下載過程中,每當(dāng)407向PIC寫入數(shù)據(jù)時(shí),需要等待來自PIC的正確回復(fù)以確保數(shù)據(jù)傳輸?shù)恼_性。通過對407引腳的正確配置,可以實(shí)現(xiàn)在407組成的最小系統(tǒng)中對PIC芯片的多路下載,而且不需要依賴任何第三方軟件,有效提高了下載效率。

        1 STM 32F407接線方式

        407與PIC的接線如圖1所示。其中,MCLR、VDD、GND、DAT、CLK分別是PIC對應(yīng)的引腳名,對于407而言,采用通用IO管腳GPIO即可。

        圖1 407與PIC接線

        由圖1可知,407上的通用IO管腳GPIO分別與PIC的MCLR、VDD、GND、DAT、CLK引腳連接。其中,MCLR作為PIC的編程引腳,默認(rèn)情況下不作為普通IO口,因此當(dāng)MCLR引腳作為普通IO口時(shí),可能會出現(xiàn)程序無法正常下載的情況,此時(shí)需要對PIC進(jìn)行相應(yīng)的引腳配置;DAT引腳用于407和PIC間傳輸數(shù)據(jù),該引腳既用于接收來自407端發(fā)送的數(shù)據(jù),同時(shí)也能將自身數(shù)據(jù)返回給407,用于校驗(yàn)數(shù)據(jù)的正確性;CLK為脈沖輸出引腳,用以接收來自407端發(fā)送的一定周期的脈沖,整個(gè)下載過程中數(shù)據(jù)以及命令的收發(fā)都在時(shí)鐘脈沖的控制下完成。在整個(gè)下載過程中,PIC芯片的供電由407的引腳獨(dú)立控制,同時(shí)對供電電壓值及MCLR引腳控制時(shí)序都有一定要求。

        2 低電壓編程模式

        在低電壓編程模式(Low-Voltage Programming Mode,LVP)下進(jìn)行配置(如果需要的話)。當(dāng)DAT引腳上接收到正確的解鎖序列,即可進(jìn)入編程模式。相較于高電壓編程方式,該方法不需要額外的升壓措施,有效降低了器件成本,同時(shí)由于整個(gè)操作過程沒有高電壓的存在,能有效防止誤操作導(dǎo)致芯片損壞現(xiàn)象的出現(xiàn)。

        PIC內(nèi)部有專用的LVP使能位,只有當(dāng)LVP使能的情況下,才允許設(shè)備進(jìn)入低電壓編程模式;否則需要第三方軟件對其配置字進(jìn)行寫入后,才能正常進(jìn)入編程模式。這里僅針對出廠默認(rèn)LVP使能的芯片做出說明。LVP需要在特定電壓時(shí)序下才能正常進(jìn)入,具體做法如下:首先,在保證芯片正常供電的情況下,將MCLR引腳維持在高電平一段時(shí)間TENTS;其次,在開始向PIC發(fā)送解鎖序列的前一段時(shí)間TENTH,將MCLR編程引腳的電平拉低;再次,由407控制引腳輸出一定周期的脈沖,該脈沖的半波周期需要大于100 ns;最后,在上述脈沖的控制下,在DAT上向PIC發(fā)送解鎖序列,該序列用16進(jìn)制,可表示為0x4d434850,遵循低電位先發(fā)的原則逐位發(fā)送給PIC。當(dāng)PIC端接收到正確的解鎖序列后,即可正常進(jìn)入編程模式。

        上述步驟中,TENTS和TENTH需要滿足的條件為

        (1)

        進(jìn)入編程模式的電壓時(shí)序如圖2所示。

        圖2 LVP電壓時(shí)序

        由于PIC芯片內(nèi)部有低電壓復(fù)位功能,當(dāng)電壓過低時(shí)會使芯片進(jìn)入復(fù)位狀態(tài),因此供電電壓應(yīng)高于復(fù)位電壓,才能使芯片正常進(jìn)入編程模式。

        3 程序下載流程

        當(dāng)PIC進(jìn)入編程模式后,可根據(jù)編程命令對PIC采取不同操作。

        在本方案中用到的幾種編程命令及數(shù)據(jù)格式如表1所示。

        表1 PIC單片機(jī)編程命令

        程序下載流程如圖3所示。

        圖3 程序下載流程

        3.1 程序存儲寫入

        程序存儲寫入流程如圖4所示。

        圖4 程序存儲寫入流程

        PIC根據(jù)當(dāng)前收到的編程命令進(jìn)行相應(yīng)操作。當(dāng)收到需要接收(或發(fā)送)數(shù)據(jù)的命令時(shí),在經(jīng)過一個(gè)特定延時(shí)(一般不小于1 μs)后,PIC就要接收來自407的數(shù)據(jù)(或發(fā)送數(shù)據(jù)),該數(shù)據(jù)如表1中的16位數(shù)據(jù),其起始和終止位都為零,遵循低電位先傳的方式進(jìn)行收發(fā)。在編程過程中,PIC的一個(gè)地址空間可以存儲14位有效數(shù)據(jù),數(shù)據(jù)傳輸完畢后執(zhí)行內(nèi)部編程指令,將DAT引腳上的數(shù)據(jù)寫入程序存儲器里,然后再次調(diào)用數(shù)據(jù)回讀命令對寫入PIC的數(shù)據(jù)進(jìn)行回讀。若寫入無誤,則執(zhí)行增加地址命令進(jìn)行下一個(gè)地址的寫入,否則在STM 32內(nèi)部將返回一個(gè)下載失敗的錯(cuò)誤。

        3.2 配置字及用戶ID寫入

        用戶ID一般用以辨別不同設(shè)備。配置字是PIC單片機(jī)內(nèi)部用以控制引腳功能、看門狗定時(shí)器及復(fù)位相關(guān)功能的特殊寄存器,因此需要在下載程序的過程中寫入適當(dāng)?shù)呐渲米旨坝脩鬒D,以保證PIC正常工作。由于配置字在不同芯片內(nèi)部的地址不同,因此對于不同的芯片,首先需要通過增加地址命令或重置地址命令將PIC定位到相應(yīng)地址位,再通過上文中所述方式對配置字進(jìn)行寫入操作。在本方案中,以PIC 12F1572芯片為例,其用戶ID位于8000 H-8004 H,配置字位于8007 H-8008 H。用戶ID及配置字寫入流程如圖5所示。

        圖5 ID及配置字寫入流程

        3.3 退出編程模式

        退出編程的電壓時(shí)序如圖6所示。其中,退出時(shí)間TEXIT不小于1 μs。

        圖6 退出編程電壓時(shí)序

        配置字及ID寫入完成后,即可完成芯片程序的下載。此時(shí),需要將芯片退出編程模式,將MCLR引腳的電平拉低。芯片這時(shí)不允許同時(shí)斷電。一般來講,VDD和MCLR的電壓時(shí)序應(yīng)滿足圖6所示電壓時(shí)序。

        3.4 實(shí)驗(yàn)驗(yàn)證

        本文利用STM32F407核心板,連接若干GPIO管腳到PIC相應(yīng)的引腳進(jìn)行實(shí)驗(yàn)。下載PIC程序的硬件電路如圖7所示。

        圖7 下載PIC程序硬件電路

        分別實(shí)現(xiàn)407和PIC的應(yīng)用程序后,將PIC應(yīng)用程序作為407的數(shù)據(jù)單元,按照以上所述步驟進(jìn)行程序燒錄,結(jié)果完成后,PIC能夠啟動程序執(zhí)行相應(yīng)的功能。

        4 結(jié) 語

        首先,將事先編譯好的HEX文件存入407中,通過PIC內(nèi)部的編程命令對PIC程序存儲進(jìn)行編程;然后,對用戶ID和配置字進(jìn)行了一系列改寫,實(shí)現(xiàn)程序的燒錄下載并運(yùn)行成功。雖然本方案只針對PIC12F1572進(jìn)行了驗(yàn)證,但由于PIC系列芯片內(nèi)部存儲結(jié)構(gòu)的相似性,因此本方案在其他PIC芯片案例中也可以大范圍應(yīng)用。事實(shí)證明,STM32F407能夠在不依賴第三方工具和軟件的前提下完成對PIC芯片的燒寫,同時(shí)擴(kuò)展了多路芯片同時(shí)燒錄功能,大大提高了燒錄效率。

        猜你喜歡
        時(shí)序命令編程
        我家有只編程貓
        時(shí)序坐標(biāo)
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        只聽主人的命令
        基于Sentinel-2時(shí)序NDVI的麥冬識別研究
        移防命令下達(dá)后
        一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
        電子制作(2016年15期)2017-01-15 13:39:08
        這是人民的命令
        国产av夜夜欢一区二区三区| 美女精品国产一区二区三区| 中文字幕偷拍亚洲九色| 老司机在线免费视频亚洲| 大量漂亮人妻被中出中文字幕| 国产精品女同久久久久电影院| 亚洲国产成人影院在线播放| 国产又黄又大又粗视频| 久久精品午夜免费看| 国产高清不卡二区三区在线观看| 久久精品女人av一区二区| 国产一精品一av一免费爽爽| 美女视频黄的全免费视频网站| 中文字幕久无码免费久久| 人妻少妇久久精品一区二区 | av天堂中文亚洲官网| 久久日日躁夜夜躁狠狠躁| 国内成+人 亚洲+欧美+综合在线 | 日本理伦片午夜理伦片| 亚洲乱码一区二区三区成人小说| 亚洲国产色图在线视频| 亚洲av老熟女一区二区三区| 欧美性猛交xxxx免费看蜜桃| 日韩在线一区二区三区免费视频| 在线观看亚洲你懂得| 自拍av免费在线观看| 91精品国产综合久久熟女| 97人妻精品一区二区三区| 日本www一道久久久免费榴莲| 日本人妻av在线观看| 亚洲一区二区三区日韩在线观看| 亚洲欧洲成人精品香蕉网| 少妇人妻偷人精品视频| 玩弄人妻奶水无码AV在线| 亚洲中文字幕一区二区三区多人 | 亚洲日韩久久综合中文字幕| 日韩人妻精品无码一区二区三区| 欧美日韩国产在线人成dvd| 亚洲国产一区二区网站| 无套中出丰满人妻无码| 国产精品va在线观看无码|