找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4942|回復(fù): 4
收起左側(cè)

dsPIC30F的操作問題

[復(fù)制鏈接]
ID:342505 發(fā)表于 2018-7-14 17:19 | 顯示全部樓層 |閱讀模式
使用MPLAB開發(fā)環(huán)境,使用C30編譯器,PICkit3.5調(diào)試工具,進(jìn)行CANopenNode協(xié)議棧移植。上述的背景,我在修改完時(shí)鐘參數(shù)(開發(fā)板使用外部11.0592Mhz晶振)后,Debugger情況下可以運(yùn)行,也能收發(fā)數(shù)據(jù)。當(dāng)我移除kit3.5后,重新上電,不能收發(fā)數(shù)據(jù),而且芯片溫度升高,請(qǐng)問這是為什么?
這與我使用的鏈接文件,p30f6010a.gld有關(guān)嘛,急需解答。謝謝
回復(fù)

使用道具 舉報(bào)

ID:342505 發(fā)表于 2018-7-14 22:01 | 顯示全部樓層
找到問題了,主要是沒有配置好時(shí)鐘源的問題導(dǎo)致的,下面我詳細(xì)的講述一下。
回復(fù)

使用道具 舉報(bào)

ID:342505 發(fā)表于 2018-7-14 22:18 | 顯示全部樓層
首先,該芯片的時(shí)鐘源(振蕩器)系統(tǒng)如下圖所示

dsPIC30F時(shí)鐘源

dsPIC30F時(shí)鐘源

使用外部晶振時(shí),可選擇倍頻操作以及分頻操作,最后獲得系統(tǒng)時(shí)鐘。
其中對(duì)于不同的外部晶振對(duì)應(yīng)的時(shí)鐘源配置也是不同的,主要分為:
1. XTL,200kHz - 4MHz
2. XT, 4MHz - 10MHz
3. HS, 10MHz - 25MHz
例如目標(biāo)版的外部晶振是8MHz,則在軟件配置時(shí),應(yīng)有如下語句:
  1. _FOSC(CSW_FSCM_ON & XT_PLL8);
復(fù)制代碼

8MHz在4MHz-10MHz之間,故選擇XT參數(shù),PLL8則表示8倍頻
同樣的如果需要分頻,對(duì)OSCCON寄存器的POST位進(jìn)行配置即可。

總結(jié):以上述情況為例,采用8MHz外部晶振,8倍頻,不分頻,則有如下結(jié)果
系統(tǒng)時(shí)鐘頻率Fsysclk = 8Fosc = 64MHz;
指令周期頻率Fcy = Fosc/4 = 2MHz;
回復(fù)

使用道具 舉報(bào)

ID:342505 發(fā)表于 2018-7-14 22:23 | 顯示全部樓層
至于1樓的情況,因?yàn)楸灸繕?biāo)板使用的外部晶振頻率超過10MHz,而在源碼中
  1. _FOSC(CSW_FSCM_ON & XT_PLL8);
復(fù)制代碼

很明顯不符合外部晶振的使用范圍,故在實(shí)際燒寫完后,芯片因?yàn)闊o法正常起振外部晶振而導(dǎo)致死機(jī)
改為HS即可正常運(yùn)行
至于為何在DEBUG模式下可以正常運(yùn)行,個(gè)人猜測可能DEBUG的時(shí)鐘源,即晶振源來自kit3而不是本目標(biāo)板的外部晶振,這只是個(gè)人的猜測,上述如有不對(duì)或謬誤之處還望大牛批評(píng)指正。
回復(fù)

使用道具 舉報(bào)

ID:342505 發(fā)表于 2018-7-14 22:27 | 顯示全部樓層
還有一個(gè)經(jīng)驗(yàn),就是出現(xiàn)本貼的情況,或者其他類似情況,強(qiáng)烈推薦去查看配置位。
在MPLAB v8.92下,是Configure->Configuration Bits
具體參考如下帖子:dsPIC30F 配置位
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表