單片機與DSP結合的dsPIC芯片介紹
2 dsPIC30F與PIC16F87X的比較
dsPIC30F芯片采用16位(數據)改進(jìn)型——非流水線(xiàn)的哈佛RISC結構,芯片具體結構如圖1所示。程序計數器(PC)為24位寬,可以尋址4M×24位的程序存儲器空間。而PIC16F87X系列單片機采用的是8位流水線(xiàn)哈佛結構,有一個(gè)13位寬的程序計數器PC,最大只可尋址8K的程序存儲器空間。
DsPIC30F有16個(gè)16位的工作寄存器(W0~W15)。每個(gè)工作寄存器都可以作為數據、尋址或移位寄存器來(lái)操作。其中,第16個(gè)工作寄存器(即W15)作為中斷和程序調用的堆棧指針。PIC16F87X系列同其它種類(lèi)的PIC機一樣,只含有一個(gè)用于A(yíng)LU的8位W工作寄存器,相當于一般單片機的A累加器,是不可尋址的。
dsPIC30F指令字是24位的,其指令系統有很大的增強,最大特點(diǎn)就是包含了對DSP的支持。因為這種DSP引擎具有1個(gè)高速的16位與 16位相乘的乘法器、1個(gè)40位的ALU、2個(gè)40位的飽和累加器(saturating accumulator)以及1個(gè)40位的雙向移位器,因而能夠明顯提高芯片算法能力和周期。由此,這種芯片的指令系統就分成兩大類(lèi)——單片機類(lèi)和DSP 類(lèi)。這種指令系統基于高效的C編譯器,支持固有尋址(無(wú)操作數)、相對尋址、立刻尋址、存儲器尋址、寄存器直接尋址、間接尋址和移動(dòng)尋址7種方式。每條指令都同預先定義的尋址方式有關(guān),而這些預定義的尋址方式是由特定功能需求決定的,且每條指令都支持這7種尋址方式。對于大多數指令,dsPIC30F芯片在每個(gè)指令周期能夠執行數據(或程序數據)存儲器讀操作、工作寄存器(數據)讀操作、數據存儲器寫(xiě)操作以及程序(指令)存儲器讀操作。因此,它可以支持3 操作數的指令,比如,在一個(gè)周期內可以完成A+B=C的操作。而PIC16F87X系列單片機每條指令長(cháng)14位(其它系列指令字長(cháng)也12位或16位的),整個(gè)指令系統共分成三類(lèi)——字節操作類(lèi)、位操作類(lèi)以及立刻數操作和控制操作類(lèi),支持立即數尋址、寄存器間接尋址、直接尋址和位尋址四種尋址方式,但由于這樣尋址種類(lèi)的劃分依據是操作數的來(lái)源,因此并非每條指令都可以支持這四種尋址方式,例如,位操作類(lèi)的指令就只能采用位尋址方式。對PIC16F87X系列單片機,其指令的操作個(gè)數最多只能是兩個(gè),另外,再加上這種系列單片機不提供對DSP的支持,那么在數字信號處理速度方面,同dsPIC30F相比顯然要慢很多。
dsPIC30F芯片的數據空間被一分為二,分別以X和Y數據存儲器進(jìn)行引用,可以作為32K字(word)或64KB(byte)進(jìn)行尋址。每個(gè)存儲器塊都有自己獨立的地址產(chǎn)生單元(AGU)。單片機類(lèi)的指令僅單獨通過(guò)X存儲器的AGU單元進(jìn)行操作,把整個(gè)存儲器作為一個(gè)線(xiàn)性的數據空間進(jìn)行尋址。而DSP類(lèi)指令的乘法累加器(MAC)是通過(guò)X和Y的AGU共同操作的,這樣就將數據地址空間分成相對獨立的兩部分。不過(guò),這樣的X和Y的數據空間邊界是任意的,且是由芯片自身特性決定的。數據空間存儲器高位的32KB,通過(guò)定義8位程序空間可見(jiàn)頁(yè)面寄存器PSVPAG(Program Space Visibility Page),任意的16位程序字邊界中隨意地被映射到的程序空間低位(用戶(hù)空間),這樣就使得任何指令能夠像訪(fǎng)問(wèn)數據空間一樣訪(fǎng)問(wèn)程序空間。不過(guò),采用這種方式訪(fǎng)問(wèn)的執行時(shí)間比一般的訪(fǎng)問(wèn)方式要多一個(gè)周期。而且,只有每條指令字的低16位才可以使用這種方法訪(fǎng)問(wèn)。PIC16F87X系列單片機的數據存儲器分成多個(gè)存儲區。每個(gè)存儲區由通用寄存器和專(zhuān)用寄存器兩部分組成。存儲區之間的選擇是通過(guò)定義狀態(tài)寄存器STATUS的RP0和RP1位進(jìn)行的,每個(gè)存儲體最多只能達到128字節。
dsPIC芯片不支持多級指令流水線(xiàn),而采用單級指令預取機制,就是在可利用的最大執行時(shí)間前的一個(gè)周期訪(fǎng)問(wèn)指令。因此,dsPIC芯片大多數指令是單周期的。此外,dsPIC30F芯片還有一個(gè)特征,就是含有由61個(gè)區分優(yōu)先級的向量組成的矢量異常處理結構,這些異常情況包括復位(RESET)、6個(gè)捕捉以及54個(gè)中斷。
結語(yǔ)
dsPIC器件的開(kāi)發(fā)有助于緩解16位單片機和低端數字信號處理器(DSP之間的性能差,是傳統16位單片機應用的理想解決方案。與此同時(shí),隨著(zhù)控制技術(shù)日趨復雜化,越來(lái)越多的工業(yè)系統要使用DSP精確控制實(shí)時(shí)響應,以及現有產(chǎn)品要求增加更多功能,以增強I/O易用性和安全接入,dsPIC必將在高性能數字信號控制器市場(chǎng)占據重要一席之地。同時(shí),隨著(zhù)多種dsPIC產(chǎn)品系列的不斷迅速開(kāi)發(fā),以及愈加完善的開(kāi)發(fā)工具、應用系統庫、現場(chǎng)應用工程技術(shù)和綜合技術(shù)等的產(chǎn)品,dsPIC一定會(huì )得到廣大用戶(hù)的青睞。
pic相關(guān)文章:pic是什么
評論