新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 從8/16位向32位圖形MCU升級的技巧

從8/16位向32位圖形MCU升級的技巧

作者: 時間:2009-07-06 來源:網(wǎng)絡(luò) 收藏

對于這一點,通常我只需要噼里啪啦地翻開數(shù)據(jù)頁并按我自己的工作方式來查找問題的根源。出現(xiàn)的問題是,PIC32時鐘產(chǎn)生模塊比16位器件一書中所用的PIC24F要更加復(fù)雜一些。實際上,PIC32模塊更像16位系列中最新的PIC24F上的振蕩器模塊。同樣,在PIC32結(jié)構(gòu)中,絕大多數(shù)外設(shè)模塊被連接到工作頻率不同的彼此分離的外設(shè)總線上,這些頻率低于系統(tǒng)時鐘,這有助于功率管理,當然也有助于解決EMI問題。

本文引用地址:http://butianyuan.cn/article/173681.htm


我耐心找出如何使外設(shè)總線工作在與同一項目(16MHz外設(shè)總線)中PIC24F所用相同的頻率。我還找出了可以執(zhí)行的相同指令數(shù),而執(zhí)行頻率僅為PIC24F所要求系統(tǒng)頻率的一半,這是因為PIC32內(nèi)核每個時鐘周期上可以執(zhí)行一個指令。


JTAG默認值設(shè)置為on


在解決了時鐘問題之后,我快速地瀏覽了一下時鐘模塊。有5個時鐘模塊??瓷先ソ^對與PIC24F完全一樣,進一步回溯PIC 的歷史,一直回溯到PIC16C74(大約1994)都是兼容的。我繼續(xù)驗證I/O端口:同樣的結(jié)構(gòu),同樣的引腳數(shù),同樣反映“歷史”的寄存器名稱,發(fā)現(xiàn)一個兼容型的軌跡也許可以一直延伸到最初的PIC16C54(大約1991年)。


最后我對A/D轉(zhuǎn)換模塊進行了一次快速檢查,對于絕大多數(shù)PIC 初學(xué)者來說這是一個最難理解的外設(shè)。其輸入連接到I/O口的上端(絕大多數(shù)16位PIC器件的PORTB),并且先加電,故除非你的配置正確,否則它不會使你的數(shù)字輸入工作。顯然它與PIC24兼容,因此我仍然無法解釋LED行為異常的原因。

更靠近看,我發(fā)現(xiàn)有4個LED,要么從來不亮,要么就恒亮。于是,我又再一次翻開數(shù)據(jù)頁來檢查引腳圖,最后終于發(fā)現(xiàn)了“元兇”:JTAG端口。


四線(E)JTAG接口被稱為在線串行編程接口,是一個非正式的行業(yè)標準,它不僅允許邊界掃描,而且還支持器件完全編程和調(diào)試控制。當然,這在引腳數(shù)很多的32位芯片中是所期望的,PIC32在加電時通過默認的方式將這兩個接口都激活了。如果為了利用一些PORTA I/O而不需要這些JTAG接口,則依賴應(yīng)用程序來將其關(guān)閉。


自從我注意了JTAG接口后,我的第一個PIC32項目開始按期望工作,并發(fā)送出它的首個“Hello”,如圖1所示。

圖1:用PIC32產(chǎn)生字符串。

圖1:用PIC32產(chǎn)生字符串。

至此所學(xué)到的簡單經(jīng)驗(振蕩器配置和JTAG接口)迅速地證明了它們與我16位器件一書中前面各章節(jié)中絕大多數(shù)項目兼容性的關(guān)鍵,在隨后幾天的開發(fā)中移植都比較順利。我利用UART與PC通信,用SPI接口與串行EEPROM通信,而利用Parallel Master Port與LCD模塊通信。我利用A/D先讀取電位器,然后讀取溫度傳感器,演示了PIC32如何與模擬應(yīng)用接口。除了模塊的一些擴展功能以外,所有這些模塊的工作都與我所預(yù)期的完全一致。我發(fā)現(xiàn)我的16位代碼完全可以照用,幾乎不需要任何的改變。



關(guān)鍵詞: 技巧 升級 MCU 圖形 8/16位向

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉